logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#26 30-05-2024 22:44:57

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : Comment installer en auto les docs des paquets ?

lol

J'ai encore une autre mise à jour : Simplification du script d'automatisation.


Comme ce script est appelé après chaque dépaquetage d'un paquet,
il ne peut trouver que 2 paquets soit le paquet "doc" soit le paquet "examples".
Donc pas trop besoin de tableau, 2 variables suffisent.


Non ! Il peut y avoir 3 paquets :
   doc-en
   doc-fr
   examples
Donc tableau pour moi plutôt que 3 variables et 3 tests.

Dernière modification par Tawal (30-05-2024 22:58:18)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#27 31-05-2024 22:19:54

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : Comment installer en auto les docs des paquets ?

Je crois aux bonnes nouvelles smile

J'ai consulté cette doc d'apt : json-hooks-protocol
Je fournis un lien mais elle est disponible dans /usr/share/doc/apt  (edit: en format compressé .gz)
Elle est très intéressante.
Il y a peut-être un moyen de s'inscrire dans le fonctionnement d'apt.
À voir …

Edit: Modification du lien - plus officiel tongue

Dernière modification par Tawal (01-06-2024 10:38:26)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#28 01-06-2024 10:35:28

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : Comment installer en auto les docs des paquets ?

Bon j'ai du mal avec JSON.
C'est la 1ère fois que j'y touche.

Mais d'après ce que je comprends de l'exemple en fin de doc citée dans le message précédent,
à chaque fois que l'on "purge" les paquets nommés : petname-...... et lxd......,
on installe le paquet ebtables à la version 2.0.10.4-3.5ubuntu2
Je ne suis pas sûr de la signification du signe - et + après les noms de paquets.

Bref, j'ai aussi un peu regardé la doc de JSON-RPC.
Et il est possible d'exécuter des commandes/script.
Peut-être que par ce biais, je pourrais modifier la liste des paquets à installer.
Mais je vais vraiment avoir besoin d'aide.
   - Comment récupérer la liste des paquets qui vont être installés ?
   - Comment la renvoyer à apt ?

Je pensais utiliser un des deux hooks :
   org.debian.apt.hooks.install.pre-prompt
   org.debian.apt.hooks.install.package-list
Le second paraît plus approprié, car il est indiqué dans la doc que c'est ici que l'on peut ajouter des paquets à liste.

Merci à ceux qui voudront bien se pencher dessus merci.gif

Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#29 01-06-2024 16:48:12

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : Comment installer en auto les docs des paquets ?

Bon je suis revenu sur la mouture décrite dans la "Solution".

Déjà, il y a un bug : en cas si 2 paquets principaux ou plus sont installés (clamav et awesome par exemple),
les docs ne sont pas installées !
Ce sera corrigé après ce post.

Et ça vient de mon incompréhension.
En fait apt envoie toute la liste de paquets à installer qu'il a trouvé à dpkg.
Ensuite dpkg s'occupe vraiment de l'installation de ces paquets (puisqu'apt les a téléchargés).
Donc quand je fais un "hook post-invoke" et que je teste que la "hook_action"  corresponde à "unapck",
alors c'est après le dépaquetage de tous les paquets que le hook intervient vraiment.

J'ai surtout compris comment récupérer la liste des paquets envoyée à dpkg : elle est sur l'entrée standard.
Elle se retrouve aussi sur l'entrée standard du script appelé par un --pre/post-invoke.

Déjà ça évolue smile

Ensuite, je n'aime pas dans la solution proposée que les téléchargements des paquets docs se fassent après l'installation des paquets principaux.
Du coup, j'ai une autre version pour l'automatisation de l'installation des paquets docs.
Elle utilise la même méthode mais en 2 étapes :
   - un hook DPKG::Pre-Install-Pkgs
   - un hook DPKG::Options:: "--post-invoke=.......";
Chacun de ces hooks appelle un script différent.
Le "Pre-Install-Pkgs" ne fait que télécharger les paquets docs.
Cela se passe juste après la pré-configuration des paquets.
Le "--post-invoke" installe les paquets docs téléchargés précédemment.
Cela se passe juste après le dépaquetage de tous les paquets nécessaires à l'installation des paquets de la ligne de commande.

On se retrouve donc avec 2 scripts et un fichier apt.conf.d modifié.
Je les ai nommés ainsi :
   - /etc/apt/apt.conf.d/99_install_auto_docs
   - /usr/local/sbin/apt_preinstall_dl-docs.sh
   - /usr/local/sbin/apt_post_unpack_install_docs.sh

Voici ces trois fichiers :
/etc/apt/apt.conf.d/99_install_auto_docs :

DPKG::Pre-Install-Pkgs:: { "/usr/local/sbin/apt_preinstall_dl-docs.sh"; };
DPKG::Options:: "--post-invoke=/usr/local/sbin/apt_post_unpack_install_docs.sh";



/usr/local/sbin/apt_preinstall_dl-docs.sh :

#!/bin/bash

# DPKG::Pre-Install-Pkgs { "/chemin/absolu/de_ce_script_exécutable"; };

readarray -t aPaq  < <(awk  '{sub(/.*\//, ""); sub(/_.*$/, ""); print}' -)

if ((${#aPaq}))
then
    readarray -t aPaqDocs < <(
            <<<"${aPaq[@]}" xargs env --ignore-environment apt-cache depends | \
                awk '/Suggests:.*-(doc|docs|doc-en|doc-fr|examples)$/ {print $2}' | uniq)

    regex="$(IFS=$'|'; echo "(${aPaq[*]/%/\-examples})$")"

    readarray -tO "
${#aPaqDocs[@]}" aPaqDocs < <(
        <<<"
${aPaq[@]}" xargs env --ignore-environment apt-cache rdepends | \
           grep -Eo "
$regex" | uniq)

    if ((${#aPaqDocs[@]}))
    then
        echo "
Téléchargement des paquets de documentation : ${aPaqDocs[*]}"

        cd /var/cache/apt/archives/partial || exit 1
        apt-get download "
${aPaqDocs[@]}"
        >/dev/null cd - || exit 1
        echo "
Fait."

        dpkg_tmp="
$(mktemp -p /tmp dpkg_tmpXXXXXXX)"
        (IFS=$'\n'; echo "
${aPaqDocs[*]}") > "$dpkg_tmp"
    fi
fi



/usr/local/sbin/apt_post_unpack_install_docs.sh :

#!/bin/bash

# DPKG::Options:: "--post-invoke=/chemin/absolu/de_ce_script_exécutable";

if [[ $DPKG_HOOK_ACTION == unpack ]]
then
    dpkg_tmp="$(find /tmp -type f -name "dpkg_tmp*")"

    if [ -n "$dpkg_tmp" ]
    then
        <"$dpkg_tmp" readarray -t aPaqDocs

        if ((${#aPaqDocs[@]}))
        then
            echo "Installation du(des) paquets documentation : ${aPaqDocs[*]}"

            regex="$(IFS=$'|'; echo ".*\\(${aPaqDocs[*]}\\)_.*$")"
            regex="
${regex//|/\\|}"

            readarray -t aPaqDocsFiles < <(find /var/cache/apt/archives/partial -maxdepth 1 -type f -regex "
$regex")

            dpkg -iG "
${aPaqDocsFiles[@]}"
            apt-mark auto "
${aPaqDocs[@]}"
            rm "
$dpkg_tmp"

            # Comme par défaut
            rm "
${aPaqDocsFiles[@]}"

            # ou Grader les archives des paquets-docs
            #mv -t /var/cache/apt/archives "
${aPaqDocsFiles[@]}"
        fi
    fi
fi



Ça reste toujours un peu cahin-caha …

Edit:
Mise à jour du post "Solution" effectuée, en gardant la version 1 seul "hook".

Edit:
Meilleure mouture de la 2ième version.

Dernière modification par Tawal (01-06-2024 22:43:34)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#30 03-06-2024 21:02:02

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : Comment installer en auto les docs des paquets ?

Bon plutôt que de mettre mille fois à jour le post "Solution" en plein milieu du fil,
je vais proposer ici une solution plus robuste pour tous les scripts (et c'est nécessaire dans ce cas).
Je changerais le lien du 1er message pour qu'il pointe ici.
En plus l'ancienne version ne fonctionne plus !
Celle-ci a été testée "sous pas mal de coutures".


Donc MA solution :

Un script d'installation des paquets documentation manquants.
Il installe tous les paquets de votre système si il existent avec les suffixes :
   -doc
   -docs
   -doc-en
   -doc-fr
   -examples
Il en est de même pour l'automatisation (paquet+suffixe)

Deux scripts accompagnés d'un fichier commun de configuration pour apt.
Le 1er script s'occupe de télécharger les paquets Docs avant l'installation des paquets de la ligne de commande.
Le 2ième script s'occupe d'installer les paquets précédemment téléchargés (avec gestion de l'archivage [en dur dans le script]).


/!\     SEULE CETTE 1ère ÉTAPE EST FONCTIONNELLE    /!\


1ère Étape : Installer les documentations manquantes :

Pour cela, il suffit d'exécuter ce script en utilisateur :

#!/bin/bash

if ! &>/dev/null hash pkexec
then
    >&2 echo "${0##*/} : Requiert 'pkexec' :  sudo apt installl pkexec"
    exit 1
fi

cat <<EOF

            ---   Script d'installation des paquets de Documentation   ---

    Votre mot de passe sera demandé pour l'installation des paquets de documentation.
    Vous aurez la possibilité d'annuler l'installation.


EOF


echo "Recherche des paquets Documentation à installer …"

# Liste des paquets installés
readarray -t aPaqInst < <(dpkg-query --list | awk '/^ii/ {print $2}')

# Liste de tous les paquets Docs relatifs aux paquets installés
readarray -t aListDocs < <(
    env --ignore-environment apt-cache depends "${aPaqInst[@]}" | \
        awk '/Suggests:.*-(doc(|s|-en|-fr))$/ {print $2}')
regex="$(IFS=$'|'; echo "(${aPaqInst[*]/%/\-examples})$")"
readarray -tO "
${#aListDocs[@]}" aListDocs < <(
    env --ignore-environment apt-cache rdepends "
${aPaqInst[@]}" | \
       grep -Eo "
$regex" | uniq)
unset aPaqInst

# Liste des paquets Docs déjà installés
readarray -t aDocsInst < <(dpkg-query --list | \
   awk '/^ii/ && $2 ~ /-(doc(|s|-en|-fr)|examples)$/ {print $2}')

# Liste des paquets Docs à installer
shopt -s extglob
readarray -t aDocsNonInst < <(printf '%s ' "
${aListDocs[@]//@($(IFS='|';echo "${aDocsInst[*]}"))/}")
[ "${aDocsNonInst[0]:0:1}" = " " ] && unset aDocsNonInst
unset aListDocs aDocsInst

if ((${#aDocsNonInst[*]}))
then
    echo -e "\nPaquets Documentation à insatller : ${#aDocsNonInst[@]}"
    (IFS=$'\n'; echo "${aDocsNonInst[*]}" | sort)


    echo -e "\nInstallation des paquets Documentation manquants …"
    # Demande de mot de passe pour installation des paquets (accès aux droits root).
    pkexec <<<"${aDocsNonInst[@]}" xargs -r apt --mark-auto -y install

    # Proposer un enregistrement de la liste des paquets docs ????
    unset aDocsNonInst
else
    echo -e "\nAucun paquet Documentation à installer."
fi

cat <<EOF
            ---   Fin du script d'installation des paquets de Documentaion   ---
EOF

 




2ième Étape : Automatiser l'installation des paquets Docs :

Tout d'abord le fichier de configuration pour apt (appels des scripts).
Il doit se situer dans /etc/apt/apt.conf.d/ et son nom ne doit comporter que des caractères alphanumériques plus l'underscore (et quelques autres).
Mon exemple : /etc/apt/apt.conf.d/99install_auto_docs
Son contenu :

# Scripts d'installation automatique des paquets documentation (-doc, -docs, -doc-en, -doc-fr ,-examples)
DPKG::Pre-Install-Pkgs:: { "/usr/local/sbin/apt_preinstall_dl_docs.sh"; };
DPKG::Options:: "--post-invoke=/usr/local/sbin/apt_post_unpack_install_docs.sh";


Il faut des droits root pour créer ce fichier.

Ensuite, les deux scripts.
Placez-les dans /usr/local/sbin
Et respectez les noms indiqués dans le fichier de configuration pour apt.
Ou adaptez selon votre guise.
Dans tous les cas, ils doivent être exécutables.

apt_preinstall_dl_docs.sh

#!/bin/bash

# DPKG::Pre-Install-Pkgs { "/chemin/absolu/de_ce_script_exécutable"; };


# Liste des paquets à installer envoyé par 'apt' à 'dpkg'
readarray -t aPaq  < <(awk  '{sub(/.*\//, ""); sub(/_.*$/, ""); print}' -)

if ((${#aPaq}))
then
    # Liste des paquets Docs
    readarray -t aPaqDocs < <(
            <<<"${aPaq[@]}" xargs env --ignore-environment apt-cache depends | \
                awk '/Suggests:.*-(doc(|s|-en|-fr))$/ {print $2}' | uniq)
    regex="$(IFS=$'|'; echo "(${aPaq[*]/%/\-examples})$")"
    readarray -tO "
${#aPaqDocs[@]}" aPaqDocs < <(
        <<<"
${aPaq[@]}" xargs env --ignore-environment apt-cache rdepends | \
           grep -Eo "
$regex" | uniq)

    # Liste des paquets Docs à installer (on enlève de la liste ceux déjà installés).
    readarray -t aPaqDocs2Inst < <(
        printf '%s\n' "
${aPaqDocs[@]//@($(IFS='|'; dpkg-query -l "${aPaqDocs[@]}" 2>/dev/null | awk '/^ii/{print $2}'))/}")
    unset aPaq aPaqDocs


    if ((${#aPaqDocs2Inst[@]}))
    then
        echo "Téléchargement des paquets de documentation : ${aPaqDocs2Inst[*]}"

        cd /var/cache/apt/archives/partial || exit 1
        apt-get download "${aPaqDocs2Inst[@]}"
        >/dev/null cd - || exit 1

        # Fichier temporaire (contient la liste des paquets Docs)
        find /tmp -maxdepth 1 -type f -name "dpkg_tmp*" -delete
        dpkg_tmp="$(mktemp -p /tmp dpkg_tmpXXXXXXX)"
        (IFS=$'\n'; echo "${aPaqDocs2Inst[*]}") > "$dpkg_tmp"
    fi
fi
 




apt_post_unpack_install_docs.sh

#!/bin/bash

# DPKG::Options:: "--post-invoke=/chemin/absolu/de_ce_script_exécutable";

apt_arch="/var/cache/apt/archives"

if [[ $DPKG_HOOK_ACTION == unpack ]]
then
    # Recherche du fichier temporaire contenant la liste des paquets Docs
    dpkg_tmp="$(find /tmp -type f -name "dpkg_tmp*")"

    if [ -n "$dpkg_tmp" ]
    then
        # Récupération de la liste des paquets Docs
        <"$dpkg_tmp" readarray -t aPaqDocs

        if ((${#aPaqDocs[@]}))
        then
            echo "Installation du(des) paquets documentation : ${aPaqDocs[*]}"

            # Liste des fichiers paquets_docs téléchargés par 'apt-get' dans /var/cache/apt/archives/partial
            regex="$(IFS=$'|'; echo ".*\\(${aPaqDocs[*]}\\)_.*$")"
            regex="
${regex//|/\\|}"
            readarray -t aPaqDocsFiles < <(find "
$apt_arch"/partial -maxdepth 1 -type f -regex "$regex")

            # Installation des paquets Docs et marquage "
auto"
            dpkg -iG "
${aPaqDocsFiles[@]}"
            apt-mark auto "
${aPaqDocs[@]}"
            rm "
$dpkg_tmp"

            # Comme par défaut : suppression des fichiers (clean).
            rm "
${aPaqDocsFiles[@]}"
            # ou Garder les archives des paquets-docs
            #mv -t "
$apt_arch" "${aPaqDocsFiles[@]}"
        fi
    fi
fi





À partir de là, les paquets Documentation s'installent automatiquement.
Ils se désinstallent aussi automatiquement avec leur paquet associé vu qu'ils ont marqués "auto".

Vli, vla, vlou smile


Edit:
Quant à JSON-RPC, j'ai abandonné, je n'y connais rien de rien.
Et pas envie d'apprendre JavaScript.
Bien qu'il me semble qu'une meilleure solution pourrait en sortir à condition que l'on puisse bien modifier la liste paquets à installer via ce protocole de question-réponse …

Dernière modification par Tawal (05-06-2024 22:47:15)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#31 04-06-2024 19:08:15

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : Comment installer en auto les docs des paquets ?

up.

Mise à jour des scripts : un peu plus costauds.

Et j'en profite pour les futurs lecteurs de partager ici le script de désinstallation de TOUS les paquets Documentation.
À exécuter en utilisateur :

#!/bin/bash

### Suppression des paquets de documentation :
#  -doc
#  -docs
#  -doc-en
#  -doc-fr
#  -doc-examples

readarray -t aPaqDocs < <(dpkg-query --list | \
    awk '{ if (/^ii/ && $2 ~ /-(doc|docs|doc-en|doc-fr|examples)$/) {print $2}}')

pkexec <<<"${aPaqDocs[@]}" xargs -r apt -y remove


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#32 05-06-2024 22:10:49

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : Comment installer en auto les docs des paquets ?

En fait, il y a encore des problèmes.
C'est donc non fonctionnel = Non Résolu

J'attendais le cas de mise à jour et c'est arrivé.

$ sudo apt update
[sudo] Mot de passe de tawal :
Atteint :1 https://deb.debian.org/debian bookworm InRelease                                                
Atteint :2 https://deb.debian.org/debian bookworm-updates InRelease                                        
Réception de :3 https://security.debian.org/debian-security bookworm-security InRelease [48,0 kB]
Atteint :4 https://deb.debian.org/debian bookworm-backports InRelease
Réception de :5 https://security.debian.org/debian-security bookworm-security/main i386 Packages [157 kB]
Réception de :6 https://security.debian.org/debian-security bookworm-security/main amd64 Packages [158 kB]
Réception de :7 https://security.debian.org/debian-security bookworm-security/main Translation-en [95,2 kB]                                      
459 ko réceptionnés en 7s (69,6 ko/s)                                                                                                            
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
4 paquets peuvent être mis à jour. Exécutez « apt list --upgradable » pour les voir.


OK pas de soucis, on y va :

$ sudo apt upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Calcul de la mise à jour... Fait
Les paquets suivants seront mis à jour :
  libarchive13 python-pil-doc python3-pil python3-pil.imagetk
4 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 1669 ko dans les archives.
Après cette opération, 5144 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
Réception de :1 https://security.debian.org/debian-security bookworm-security/main amd64 libarchive13 amd64 3.6.2-1+deb12u1 [343 kB]
Réception de :2 https://security.debian.org/debian-security bookworm-security/main amd64 python-pil-doc all 9.4.0-1.1+deb12u1 [780 kB]
Réception de :3 https://security.debian.org/debian-security bookworm-security/main amd64 python3-pil.imagetk amd64 9.4.0-1.1+deb12u1 [74,2 kB]
Réception de :4 https://security.debian.org/debian-security bookworm-security/main amd64 python3-pil amd64 9.4.0-1.1+deb12u1 [472 kB]
1669 ko réceptionnés en 3s (630 ko/s)
Lecture des fichiers de modifications (« changelog »)... Terminé
Téléchargement des paquets de documentation : python3-doc python-pil-doc
Réception de :1 https://security.debian.org/debian-security bookworm-security/main amd64 python-pil-doc all 9.4.0-1.1+deb12u1 [780 kB]
Réception de :2 https://deb.debian.org/debian bookworm/main amd64 python3-doc all 3.11.2-1 [9208 B]
789 ko réceptionnés en 2s (508 ko/s)                                      
(Lecture de la base de données... 395588 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libarchive13_3.6.2-1+deb12u1_amd64.deb ...
Dépaquetage de libarchive13:amd64 (3.6.2-1+deb12u1) sur (3.6.2-1) ...
Préparation du dépaquetage de .../python-pil-doc_9.4.0-1.1+deb12u1_all.deb ...
Dépaquetage de python-pil-doc (9.4.0-1.1+deb12u1) sur (9.4.0-1.1) ...
Préparation du dépaquetage de .../python3-pil.imagetk_9.4.0-1.1+deb12u1_amd64.deb ...
Dépaquetage de python3-pil.imagetk:amd64 (9.4.0-1.1+deb12u1) sur (9.4.0-1.1+b1) ...
Préparation du dépaquetage de .../python3-pil_9.4.0-1.1+deb12u1_amd64.deb ...
Dépaquetage de python3-pil:amd64 (9.4.0-1.1+deb12u1) sur (9.4.0-1.1+b1) ...
Installation du(des) paquets documentation : python3-doc python-pil-doc
(Lecture de la base de données... 395651 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../python3-doc_3.11.2-1_all.deb ...
Dépaquetage de python3-doc (3.11.2-1) sur (3.11.2-1) ...
Préparation du dépaquetage de .../python-pil-doc_9.4.0-1.1+deb12u1_all.deb ...
Dépaquetage de python-pil-doc (9.4.0-1.1+deb12u1) sur (9.4.0-1.1+deb12u1) ...
Paramétrage de python3-doc (3.11.2-1) ...
Paramétrage de python-pil-doc (9.4.0-1.1+deb12u1) ...
python3-doc était déjà marqué comme installé automatiquement.
python-pil-doc était déjà marqué comme installé automatiquement.
Paramétrage de libarchive13:amd64 (3.6.2-1+deb12u1) ...
Paramétrage de python3-pil:amd64 (9.4.0-1.1+deb12u1) ...
Paramétrage de python3-pil.imagetk:amd64 (9.4.0-1.1+deb12u1) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.36-9+deb12u7) ...
W: APT had planned for dpkg to do more than it reported back (14 vs 17).
   Affected packages: python-pil-doc:amd64


Ah !  apt a détecté qu'il y avait plus de paquets à traiter à la fin qu'au début.
Y a pas à dire, apt est sécurisé, c'est bien mais ça m"embête  smile

Il faut communiquer avec apt dans les 2 sens :
   - prendre la liste des paquets à installer
   - ajouter les docs
   - lui retourner cette nouvelle liste
C'est cette dernière étape que je n'arrive pas à effectuer.
Et le seul le seul moyen possible que je pressens serait cette histoire de JSON-RPC !

Je vais gratter encore un peu (pas js) mais je crois bien être au bout.
J'ai déjà essayé beaucoup de "possibilités non fonctionnelles" de communiquer avec apt.

Donc, quand même une bonne nouvelle, la seule vraie solution est d'appliquer le script d'installation des documentations manquantes de temps à autre …
On peut toujours faire un service, mais je voulais une solution avec apt


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

Pied de page des forums