[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: construire une série de paquets interdépendants



On 03/11/2015 10:50 AM, Sébastien NOBILI wrote:
Bonjour,

Le mardi 10 mars 2015 à 21:08, Gaëtan PERRIER a écrit :
Je voudrais construire les paquets xfce 4.12 sur une stable+backports.
Le problème c'est que rapidement on se retrouve avec des paquets qui pour être
construit ont des dépendances sur des paquets que l'on vient de construire.
Je me retrouve donc bloqué.
Comment résoudre ce problème ?

Suite à une discussion ici-même (il y a quelques années), j'ai découvert
« apt-src ».

Excellent cet apt-src, je l'avais jamais utilisé (d'ailleurs y'en a des masses des outils apt!)

Il permet justement (entre autres) de répondre à ce genre de problème.

Voilà comment je l'ai configuré :
     - création d'un chroot sur la branche stable (pour éviter de pourrir mon
       système) dans lequel je rentre avec l'excellent « schroot »;
     - installation de « apt-src » (évidemment);
     - ajout des « deb-src » de testing et unstable dans le sources.list;
     - « installation » des sources du paquet qui m'intéresse avec apt-src dans
       un dossier personnel :
         apt-src install xfce4
         (note, dans ton cas, tu n'auras pas la 4.12 mais la 4.10 à moins
         d'ajouter de « deb-src » de experimental).

À « l'installation » d'un paquet source, apt-src se charge automatiquement de
rapatrier les dépendances quand elles sont disponibles.

Si une dépendance n'est pas disponible, je récupère le paquet source (toujours
avec apt-src), je le compile et je l'installe (cette étape peut nécessiter de se
créer une liste de dépendances pour éviter de s'y perdre).

Tu parles de paquets « interdépendants ». Dans la pratique ce n'est jamais le
cas (problème de poule et d'œuf), il y a forcément un point de départ qui te
permettra de générer toute la chaîne.

Je dirais que dans le cas d'une dépendance circulaire (A dépend de B dépend de C dépend de A), on a bel et bien un souci. Dans la pratique (par exemple), on installe A en le forçant un peu (en gros on lui dit d'ignorer qu'il dépend de B ce qui fait qu'il est un peu cassé après installation), puis (si tout va bien, c'est là qu'il peut éventuellement y avoir un casse-tête, il ne faudrait pas que le fait qu'il ait été installé cassé se "propage") C puis B. Là, 2 possibilités, soit A est toujours cassé et on le réinstalle, soit soit A marche nickel et on est tout bon.

Pour les tâches de maintenance courante :
     apt-src update
     apt-src upgrade

apt-scr, c'est bien pour travailler à partir des sources, on pourrait pas tout simplement lancer un:
apt-get build-dep (ou aptitude)?
(Tout ça (apt-src, apt-get) implique que l'OP ait spécifié et créé son .deb)

Ce qui permet de récupérer les mises-à-jour lorsque le paquet source bouge.

Sébastien


Pour ajouter un petit commentaire au thread précédent, si ton paquet est accepté dans debian, je crois que tu devras te taper toute la procédure "expérimental -> sid -> testing pour finir dans une prochaine version stable (ce ne sera bien sûr pas wheezy, ni même lenny qui arrive bientôt en stable), et ce même si tu considère ton programme extrêmement stable et bien écrit. Enfin, je dirais que ça vaut le coup, être (officiellement) dans Debian, c'est une belle pub, et ça permet moyennant de petites modifications (ou non même) d'aller dans les dérivés Ubuntu etc.

EDIT: je viens de lire un peu à propos d'apt-src, c'est vrai qu'il semble bien indiqué dans ce cas!

--
mrr


Reply to: