[Résolu] Mise à jour d'une dépendance d'un slackbuild
[Résolu] Mise à jour d'une dépendance d'un slackbuild
Bonjour,
La question est dans le sujet… mais je ne suis pas sûr que ce soit très clair !
En utilisant sbopkg pour gérer les slackbuilds, il y a une possibilité d’identifier et de mettre en œuvre les mises à jour.
Mais on peut potentiellement tout casser, si un autre slackbuild ne bénéficiant pas d’une mise à jour dépend de celui mis à jour ; il y a probablement lieu de le recompiler aussi… encore faut-il en avoir conscience!
Comment donc retrouver les dépendants d'un slackbuild ?
J'avais commencé de tenir une carte heuristique listant tous les slackbuilds que j'installais avec leurs dépendances, mais c'est un peu fastidieux.
Merci de vos avis.
Cordialement,
Sébastien N.
La question est dans le sujet… mais je ne suis pas sûr que ce soit très clair !
En utilisant sbopkg pour gérer les slackbuilds, il y a une possibilité d’identifier et de mettre en œuvre les mises à jour.
Mais on peut potentiellement tout casser, si un autre slackbuild ne bénéficiant pas d’une mise à jour dépend de celui mis à jour ; il y a probablement lieu de le recompiler aussi… encore faut-il en avoir conscience!
Comment donc retrouver les dépendants d'un slackbuild ?
J'avais commencé de tenir une carte heuristique listant tous les slackbuilds que j'installais avec leurs dépendances, mais c'est un peu fastidieux.
Merci de vos avis.
Cordialement,
Sébastien N.
Dernière modification par seb_62 le 18 janvier 2018, 09:23, modifié 1 fois.
- Thomas
- Administrateur
- Messages : 446
- Inscription : 08 janvier 2017, 07:14
- Localisation : Anizy-le-Grand
- Contact :
Re: Mise à jour d'une dépendance d'un slackbuild
Salut,
N'utilisant pas sbopkg, je ne sais pas si on peut connaître cette info avec cet outil. Pour ma part, lorsque je compile une MAJ d'une lib, je regarde si la version du fichier libtruc.so est la même qu'avant. Si c'est la même version c'est que l'api est (normalement) resté la même donc il n'y a pas besoin de recompiler les paquets qui en dépendent. Sinon j'arrive tout simplement à me souvenir pour quel paquet j'avais installé la lib en question et le recompile s'il ne fonctionne plus.
La commande "ldd" peut t'être d'un grand secours.
N'utilisant pas sbopkg, je ne sais pas si on peut connaître cette info avec cet outil. Pour ma part, lorsque je compile une MAJ d'une lib, je regarde si la version du fichier libtruc.so est la même qu'avant. Si c'est la même version c'est que l'api est (normalement) resté la même donc il n'y a pas besoin de recompiler les paquets qui en dépendent. Sinon j'arrive tout simplement à me souvenir pour quel paquet j'avais installé la lib en question et le recompile s'il ne fonctionne plus.
La commande "ldd" peut t'être d'un grand secours.
Thomas Bourdon
https://www.bee-home.fr/
https://www.bee-home.fr/
-
- Messages : 135
- Inscription : 29 janvier 2017, 21:07
Re: Mise à jour d'une dépendance d'un slackbuild
Salut,
Exemple:
Ensuite tu "greppes" les queues pour trouver les dépendants.
Exemple
Bon, maintenant je vais enlever sbopkg dont je ne me sers pas
PS Tu n'as pas forcément besoin de reconstruire tous les dépendants, la nouvelle version de la dépendance peut ou non avoir une interface binaire modifiée.
D'autre part, dans une période récente il semble que pas mal de SlackBuilds soient mis à jour juste parce qu'une nouvelle version de l'archive source est disponible. Personnellement je n'en vois pas l'intérêt, et je ne mets à jour mes quelques SlackBuilds @ SBo que pour combler une faille de sécurité ou fournir une amélioration majeure et dans le dernier cas uniquement pour les paquets "feuilles" (dont aucun autre paquet ne dépend).
EDIT commande corrigée (j'avais écrit spkg au lieu de sqg).
To crées une queue pour chaque paquet que tu installes.
Exemple:
Code : Tout sélectionner
sqg -p gnucash
Exemple
Code : Tout sélectionner
(cd /var/lib/sbopkg/queues; grep -r libwebp|sed "s/:.*//;s/.sqf//")
gnucash
PS Tu n'as pas forcément besoin de reconstruire tous les dépendants, la nouvelle version de la dépendance peut ou non avoir une interface binaire modifiée.
D'autre part, dans une période récente il semble que pas mal de SlackBuilds soient mis à jour juste parce qu'une nouvelle version de l'archive source est disponible. Personnellement je n'en vois pas l'intérêt, et je ne mets à jour mes quelques SlackBuilds @ SBo que pour combler une faille de sécurité ou fournir une amélioration majeure et dans le dernier cas uniquement pour les paquets "feuilles" (dont aucun autre paquet ne dépend).
EDIT commande corrigée (j'avais écrit spkg au lieu de sqg).
Dernière modification par Didier Spaier le 14 novembre 2017, 17:44, modifié 1 fois.
Re: Mise à jour d'une dépendance d'un slackbuild
Bonjour,
Merci beaucoup de vos réponses, elles me montrent que j'ai encore beaucoup à apprendre !
Thomas, qu'entends-tu par "api" ? (j'ai trouvé "alcoolisation ponctuelle importante" dans wikipedia, mais ça, c'est ce à quoi conduit la gestion de trop de slackbuilds ). Blague à part, je ne trouve pas de ficher lib*.so dans SBO (consulté les dépendances de gnucash).
Didier, je vais tâcher de vérifier que j'ai tout bien compris et de mettre en œuvre (mon niveau en bash est très limité) je te dirai si je bloque.
Cordialement,
Sébastien N.
Merci beaucoup de vos réponses, elles me montrent que j'ai encore beaucoup à apprendre !
Thomas, qu'entends-tu par "api" ? (j'ai trouvé "alcoolisation ponctuelle importante" dans wikipedia, mais ça, c'est ce à quoi conduit la gestion de trop de slackbuilds ). Blague à part, je ne trouve pas de ficher lib*.so dans SBO (consulté les dépendances de gnucash).
Didier, je vais tâcher de vérifier que j'ai tout bien compris et de mettre en œuvre (mon niveau en bash est très limité) je te dirai si je bloque.
Cordialement,
Sébastien N.
- Thomas
- Administrateur
- Messages : 446
- Inscription : 08 janvier 2017, 07:14
- Localisation : Anizy-le-Grand
- Contact :
Re: Mise à jour d'une dépendance d'un slackbuild
Salut,
Bon courage !
Une API permet à différentes application de communiquer entres elles. Par exemple un lecteur de musique est capable de lire des fichiers MP3, FLAC, OGG… en utilisant les lib externes au lecteur installées sur l'OS (lame, flac, libogg…). Si la MAJ d'une lib contient une évolution de l'interface que le lecteur de musique ne saura utiliser, il faudra donc recompiler ce lecteur pour qu'il prenne en compte la MAJ de la lib avec cette nouvelle interface.
J'ai moi-même installé gnucash (sur le PC de mon père) et, à ma connaissance, la seule dépendance, et pas des moindres, qui peut poser souci si tu la mets à jour est webkitgtk.
Bon courage !
Thomas Bourdon
https://www.bee-home.fr/
https://www.bee-home.fr/
Re: Mise à jour d'une dépendance d'un slackbuild
Après vérification, la commande est en fait sqg -p gnucash.Didier Spaier a écrit : ↑12 novembre 2017, 21:08
To crées une queue pour chaque paquet que tu installes.
Exemple:Code : Tout sélectionner
spkg -p gnucash
Je confirme, ça fonctionne ; ça a un caractère un peu magique car je ne connais pas la syntaxe de la commande sed (qui a l'air bien compliquée), mais ça donne envie d'apprendre !Didier Spaier a écrit : Ensuite tu "greppes" les queues pour trouver les dépendants.
ExempleCode : Tout sélectionner
(cd /var/lib/sbopkg/queues; grep -r libwebp|sed "s/:.*//;s/.sqf//") gnucash
Un grand merci.
Cordialement,
Sébastien N.
Re: Mise à jour d'une dépendance d'un slackbuild
Merci beaucoup !Thomas a écrit : ↑14 novembre 2017, 15:26
Une API permet à différentes application de communiquer entres elles. Par exemple un lecteur de musique est capable de lire des fichiers MP3, FLAC, OGG… en utilisant les lib externes au lecteur installées sur l'OS (lame, flac, libogg…). Si la MAJ d'une lib contient une évolution de l'interface que le lecteur de musique ne saura utiliser, il faudra donc recompiler ce lecteur pour qu'il prenne en compte la MAJ de la lib avec cette nouvelle interface.
Cordialement,
Sébastien N.
-
- Messages : 135
- Inscription : 29 janvier 2017, 21:07
Re: Mise à jour d'une dépendance d'un slackbuild
Tout est là: http://pubs.opengroup.org/onlinepubs/96 ... s/sed.html
Ensuite tu pourras écrire des scripts comme convtags:
https://github.com/DidierSpaier/convtags
PS merci pour "sed s/spkg/sqg/", c'est corrigé.
Re: Mise à jour d'une dépendance d'un slackbuild
Didier, définitivement, tu es un grand malade (je me suis égaré dans convtags).
Cela dit, pour débuter, je conseillerais plutôt awk que sed. Les regex sont les mêmes, mais awk est plus proche des langages usuels (structures de contrôle if/while/for, alors qu'avec sed il faut jouer des branchements) et plus puissant (tableaux/hashes, variables et possibilité de faire des compteurs). La vraie force de sed me semble tenir dans sa concision, et surtout ses parenthèses capturantes (LA grosse galère en awk, où il faut faire ça à coups de match()/substr()/sub()).
Cela dit, pour débuter, je conseillerais plutôt awk que sed. Les regex sont les mêmes, mais awk est plus proche des langages usuels (structures de contrôle if/while/for, alors qu'avec sed il faut jouer des branchements) et plus puissant (tableaux/hashes, variables et possibilité de faire des compteurs). La vraie force de sed me semble tenir dans sa concision, et surtout ses parenthèses capturantes (LA grosse galère en awk, où il faut faire ça à coups de match()/substr()/sub()).
Re: Mise à jour d'une dépendance d'un slackbuild
Bonjour,
Pour information : j'ai découvert l'application sboui (disponible en tant que slackbuild sous SBo) qui gère les dépendances inverses : problème résolu !
Cordialement,
Sébastien
Pour information : j'ai découvert l'application sboui (disponible en tant que slackbuild sous SBo) qui gère les dépendances inverses : problème résolu !
Cordialement,
Sébastien