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

Re: Installation de lib<package> en lieu et place de <package>...



        Salut,

On dim, oct 16, 2005, Raphaël 'SurcouF' Bordet wrote:
> >  DH_OPTIONS=-plibperfparse-*, ça me paraît très bizarre et je pense que
> >  le problème vient de là.
> Ne voyant pas où ajouter ces variables pour les paquets libperfparse-*,
> j'ai commenté les variables actuelles mais sans plus de résultats.

   En fait dh_make prépare un rules avec "DH_OPTIONS=-i" lors de l'appel
 de la target binary-indep, et "DH_OPTIONS=-a" pour binary-arch, c'est
 ce qui fait qu'ensuite chaque appel à dh_* agit sur tous les paquets
 Arch: all et Arch: any (respectivement).  Les DH_OPTIONS que tu passais
 forceaient le fonctionnement sur un paquet particulier.

   Si j'ai bien compris l'objectif, tu veux faire trois compilations
 avec ./configure, make, make install, et t'en servir pour générer une
 lib et un paquet client pour 1/ postgres 2/ mysql 3/ rien.
   (Je ne sais pas pourquoi il n'y a pas de libperfparse-none, mais je
 suppose que c'est -common à la place.)
   Ce que tu peux faire dans ce cas c'est appeler les dh_* une fois pour
 chaque paquet et ce pour chaque build et ce une fois pour arch-indep et
 une fois pour arch.

   Le schéma dh_make standard c'est d'appeler les dh_* une seule fois
 pour la partie arch-indep du build et une seule fois pour la partie
 arch du dep, par exemple ainsi pour arch-indep :
build-indep:
    (objectif : compiler la partie arch-indep)
binary-indep: build-indep
    (objectif : construire les paquets arch-indep)
    -$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
    (=> appelle binary-common, et chaque appel à dh_* s'appliquera sur
    tous les paquets arch-indeps)
binary-common:
    (objectif : appeler les dh_*)
    dh_testdir
    ...

   Je ne sais pas si ce schéma standard peut encore être appliqué dans
 le cas où on installe les paquets trois fois dans 3 répertoires
 différents ou si certains outils dh_* ne vont plus fonctionner. Cela
 pourrait fonctionner en passant -P pour chaque build (postgres, mysql,
 none), mais sans -i ou -a, par exemple :

binary-indep: build-indep
    for flavor in postgresql mysql none; do \
        for p in perfparse libperfparse; do \
            -$(MAKE) -f debian/rules DH_OPTIONS="-p${p}-${flavor} -Pdebian/install-perfparse-${flavor}-tmp" binary-common \
        done \
    done

 => cela appellerait les dh_* de binary-common avec -p<nom-de-paquet> et
 -P<répertoire-d'installation>

> >   D'autre part, il faudra ajouter des shlibs à ces libs et les utiliser.
> Que veux-tu dire ? À partir du moment où dh_makeshlibs fait partie du
> processus, je pensais que dh s'en chargerait automatiquement.

   En fait je n'ai pas vu l'appel à dh_makeshlibdeps en browsant le
 diff.gz en http, j'ai du le louper.

> >   (Attention : il y a une espace insécable dans le control après
> >   "perl-base |".)
> À quelle ligne, plus précisément ?

   Aux lignes 22, 34, et 46.

   A+,

-- 
Loïc Minier <lool@dooz.org>



Reply to: