Digression projet IDEB

… Perso je trouve que l’inconvénient majeur avec les couteaux suisse, c’est qu’ils font toujours moins bien que chaque outil pris individuellement sur lesquels ils se construisent :wink:

ideb ideb donne quoi ?

Oh, je ne connaissais pas debtree.

C’est très sympa de l’empaqueter et de le mettre directement sur le forum, moi, j’aurais juste proposé le fichier contenant le script bash et il aurait fallu le chercher sur github ou mon dépôt de code.

Tiens, un script que j’ai chopé à l’époque sur la liste de diffusion de Debian, il s’appelle graphepaquet.sh :

#!/bin/sh

maxniv=0
niveau=0
branche="$1"
maxbranche=""
tab=""

ndep() {
   echo "${tab}$1 ($niveau [$branche])"
   tab="  $tab"
   for package in `apt-cache depends $1 | awk '/  Depends: / {print $2}'`; 
do
     cycle="false"
     for i in $branche; do
       if [ "$i" == "$package" ]; then
         echo "${tab}$1 (cycle detected))"
         cycle="true"
         break
       fi
     done
     if [ $cycle = "false" ]; then
       branche="$branche ${package}"
       niveau=$((niveau+1))
       if [ $niveau -gt $maxniv ]; then
         maxniv=$niveau
         maxbranche="$branche"
       fi
       ndep $package
     fi
   done
   tab=`echo "$tab" | cut -c 3-`
   branche=`echo "$branche" | cut -d" " -f-$niveau`
   niveau=$((niveau-1))
}

ndep $1
echo -e "\nn($1)=${maxniv} ($maxbranche)"
exit 0

Si j’ai posté ce script (qui date de 2003) ici, c’est parce que son objet n’est pas étranger au tien (de script).

Celui-ci fonctionnait en 2003 (et après), il ne s’agit pas de n’importe quoi non plus.
S’il n’avait pas fonctionné à l’époque, je ne l’aurait pas posté.

Tu peux téléchoper l’archive et regarder ce qu’il y a dedans avec un ouvre-archives, même avec mc.

Petite suggestion d’ajout : une option qui renvoie quelque chose de similaire à ce que renvoie la commande grep -vr "^#" /etc/apt/sources.list{,.d} afin de lister tous les dépôts utilisés par l’outil apt.

Et qui enlève les lignes vides : la commande m’en renvoie plein.
P.S. : Je parlais de la proposition d’Almtesh ci-dessus bien sûr.

Salut @Verner,
j’ai commencé à utiliser ideb que je trouve bien pratique, merci pour le boulot accompli !

J’ai quelques petites questions:

  • ideb -info (ou ideb -size) liste 2 fois certains paquets, comme ici website-audit et signal-desktop:
$ ideb -info 10
Paquets: 2685 11G   / 74%  20G/28G
⤷ cache:  0          /var/log/   23G

 1   libwine                      637M
 2   website-audit                442M
 3   website-audit                442M
 4   signal-desktop               420M
 5   signal-desktop               420M

Pour website-audit, l’installation a été faite via une archive .deb, qui installe des fichiers sous /opt et crée un lien symbolique de l’exécutable dans /usr/bin. Pour signal-desktop, l’installation a été faite via leur dépôt (prévu pour Ubuntu, mais pour l’instant ça n’a pas l’air de poser de problème). Est-ce que tu sais pourquoi ces paquets sont listés deux fois ?

  • le --help est très bien, mais par réflexe j’utilise encore beaucoup man, est-ce que tu envisages d’inclure des pages man dans ideb ?

  • est-ce que tu envisages de distribuer ideb via un dépôt ? Cela suppose évidemment une petite infra, mais certains services comme Launchpad permettent d’héberger des dépôts personnels, si j’ai bien compris

$ dpkg -l |awk '$2~"website-audit|signal-desktop"{print $1,$2,$3}'
ii signal-desktop 7.0.0
ii website-audit 1.1.2
$ apt-cache policy website-audit signal-desktop
website-audit:
  Installé : 1.1.2
  Candidat : 1.1.2
 Table de version :
 *** 1.1.2 100
        100 /var/lib/dpkg/status
signal-desktop:
  Installé : 7.0.0
  Candidat : 7.0.0
 Table de version :
 *** 7.0.0 500
        500 https://updates.signal.org/desktop/apt xenial/main amd64 Packages
        100 /var/lib/dpkg/status
     6.48.1 500
        500 https://updates.signal.org/desktop/apt xenial/main amd64 Packages
     6.48.0 500
        500 https://updates.signal.org/desktop/apt xenial/main amd64 Packages

(je tronque la sortie du apt policy signal-desktop, parce que toutes les versions sont encore disponibles dans leur dépôt, mais le retour complet est dans le fichier txt)

commandes.txt (13,6 Ko)

OK, oui le processus est assez lourd.

Oui, le principal avantage est surtout côté utilisateur (facilité de mise à jour via apt ^^)

En tout cas si jamais tu veux déléguer cette partie, je suis volontaire pour filer un coup de main (je m’étais occupé de l’empaquetage et de la distribution via dépôt d’un logiciel développé par l’entreprise dans laquelle je travaillais il y a quelques années, j’avais trouvé ça intéressant).

Merci de vos retours.
Les utilisateurs d’ideb 1.6.9-3 ont normalement reçu une notification de disponibilité 1.6.9-4 en lançant ideb.
ideb_notif

Sinon, je donnerais plus de détails sur le mécanisme actuel.

La liste systématique des versions disponibles d’un paquet ne présentant qu’un intérêt pour les utilisateurs multi-versions (minoritaires), seule la mise à jour possible sera affichée par défaut, la liste complète accessible avec l’option « -pol » (ou -policy).

ideb_vlc

La version 1.7 pourrait intégrer une personnalisation (par fichier ~/.ideb) de paramètres comme:

  • désactivation notification de mise à jour
  • périodicité de vérification de maj (en jours)
  • nombre minimum de paquet purgeables pour avertir dans la synthèse (-info)
  • couleur oui/non etc
    Pas de décision définitive, mais m’en informer en MP si souhait particulier.

Concernant l’opération nécessaire gros ménage de ce fil suite à quelques débordements, j’ai déjà supprimé une quinzaine de mes messages qui ne présentent plus d’intérêt.
Les demandes exotiques telles que des paquets commerciaux soit 1 cas sur plusieurs milliers, ou cas particulier de dysfonctionnement potentiel de synchro apt/dpkg d’un usager impossible à reproduire ne peuvent pas occuper des mètres de hauteur d’échanges dans un sujet de présentation et information de mise à jour.
→ me contacter en MP pour signaler un potentiel problème d’intérêt général qui demande toujours une pré-analyse d’environnement, avant de bondir sur une conclusion.
→ Les questions/réponses d’intérêt général échangées en MP seront retranscrites ici.

L’expérience d’autres sujets montre qu’il faut plus de 6 mois pour demander à un usager de faire un effort pour soit masquer ou supprimer un message toujours sans intérêt 9 mois plus tard…

La solution retenue pour ce fil, afin d’éviter toute ‹ négociation › consiste à supprimer tous les messages autres que les miens qui synthétisent réponses à diverses questions générales.
Soit vous supprimez individuellement vos messages, ou quelqu’un qui peut le faire le fait, si pas fait d’ici la fin de la semaine.
Ensuite, selon le taux d’utilisation, nous verrons si un fil ‹ support › est nécessaire ou pas (pas convaincu pour le moment).

Comme demandé/suggérer le fil de digression basé sur l’outil IDEB a été créer avec les posts suivants, je laisse Verne faire ces mises à jour de son fil dédié dans Trucs et Astuces comme il le souhaite :wink: