Construction de packet encore

Bonsoir,

Je voudrais packadeger pidgin pour etch, plus a titre d’apprentissage de la construction de packet qu’autre chose.

J’ai commencer par faire un
dh_make -e monadressemail
debuild -S -sa
pbuilder create --distribution stable
et pbuilder build *dsc

C’est cette dernière commande qui foire

checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for a BSD-compatible install... /usr/bin/install -c
checking for perl... /usr/bin/perl
checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool
make: *** [config.status] Error 1
pbuilder: Failed autobuilding of package
 -> Aborting with an error
 -> unmounting dev/pts filesystem
 -> unmounting proc filesystem
 -> cleaning the build env
    -> removing directory /var/cache/pbuilder/build//27937 and its subdirectories

Le configure exécuter par pbuilder ne trouve pas une librairie parser xml. Pas grave je l’installe (libxml-parser-perl). Et dans le fichier /debian/control je la rajoute:

Source: pidgin
Section: net
Priority: standard
Maintainer: futex <remchp@wanadoo.fr>
Build-Depends: debhelper (>= 5), autotools-dev
Standards-Version: 3.7.2

Package: pidgin
Architecture: i386
Depends: ${shlibs:Depends}, ${misc:Depends},libxml-parser-perl
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>

Et je reprend:

pbuilder create --distribution stable
pbuilder build *dsc

Mais ca recommence, même erreur. Que faire?

Et sinon j’ai vu depuis le tutorial de fran.d
http://forum.debian-fr.org/viewtopic.php?t=4481&start=0
d’autre facons de faire des packets avec dpkg-buildpackage, je ne saisis pas encore les difference entre ca facon et ma facon de faire (que j’ai vu dans un autre tutorial).

Merci de votre aide.

hello,

Tu l’a installé comment ça “XML::Parser perl module” ?

ben normalement

apt-get install libxml-parser-perl

hello,

Faudrait peut-être l’installer à partir des sources du paquet, aller le chercher sur cpan.org

pbuilder est un frontal permettant d’automatiser beaucoup de choses. Je ne le connais pas.

D’après ce que tu dis, libxml-parser-perl est plutôt dans les Build-Depends. Par contre, c’est bizarre qu’il ne le trouve pas.

[edit: Je viens d’essayer pbuilder, visiblement le paquet n’installe pas tout ce qu’il lui faut… Me parait pas très au point ce truc mais sur un essai de 30s, ça ne veut rien dire…]

J’ai essayer aussi avec ta méthode,

[futex@Etch:~/Documents/Softs/pidgin/pidgin-2.0.0]$ fakeroot dpkg-buildpackage -us -uc
dpkg-buildpackage: source package is pidgin
dpkg-buildpackage: source version is 2.0.0-1
dpkg-buildpackage: source changed by futex <remchp@wanadoo.fr>
dpkg-architecture : échec : dpkg --print-architecture failed : Permission non accordée
dpkg-architecture : échec : dpkg --print-architecture failed : Permission non accordée
dpkg-buildpackage: unable to determine host architecture

J’ai pas été bien loin… Bizarre qu’avec fakeroot ca me jete

Et si je le fait en root (Po bien!!)

#dpkg-buildpackage -us -uc
dpkg-buildpackage: source package is pidgin
dpkg-buildpackage: source version is 2.0.0-1
dpkg-buildpackage: source changed by futex <remchp@wanadoo.fr>
dpkg-buildpackage: host architecture i386
dpkg-buildpackage: source version without epoch 2.0.0-1
 debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
/usr/bin/make distclean
make[1]: entrant dans le répertoire « /home/futex/Documents/Softs/pidgin/pidgin-2.0.0 »
make[1]: *** Pas de règle pour fabriquer la cible « distclean ». Arrêt.
make[1]: quittant le répertoire « /home/futex/Documents/Softs/pidgin/pidgin-2.0.0 »
make: [clean] Erreur 2 (ignorée)
cp -f /usr/share/misc/config.sub config.sub
cp -f /usr/share/misc/config.guess config.guess
dh_clean
 dpkg-source -b pidgin-2.0.0
dpkg-source : construction de pidgin à partir de pidgin_2.0.0.orig.tar.gz
dpkg-source : construction de pidgin dans pidgin_2.0.0-1.diff.gz
dpkg-source : construction de pidgin dans pidgin_2.0.0-1.dsc
 debian/rules build
dh_testdir
# Add here commands to configure the package.
./configure --host=i486-linux-gnu --build=i486-linux-gnu --prefix=/usr --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info CFLAGS="-Wall -g -O2" LDFLAGS="-Wl,-z,defs"
checking build system type... i486-pc-linux-gnu
checking host system type... i486-pc-linux-gnu
checking target system type... i486-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for sed... /bin/sed
checking for i486-linux-gnu-gcc... i486-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
make: *** [config.status] Erreur 1

Bizarre aussi

Personne n’a d’idée? Même pour le fakeroot?

Pour le fakeroot, tu dois avoir des fichiers appartenant à root dans ton répertoire.

Pour l’erreur c’est étonnant. Cela suggère qu’il te manque quelques dépendances (libc6-dev ?). Que dis le config.log?

Je suis reparti depuis zéro, des sources apres le dh_make et quelques modif des fichier controls etc, je refais mon dpkg-buildpackage -rfakeroot

dpkg-buildpackage -rfakeroot
dpkg-buildpackage: source package is pidgin
dpkg-buildpackage: source version is 2.0.0-1
dpkg-buildpackage: source changed by futex <remchp@wanadoo.fr>
dpkg-architecture : échec : dpkg --print-architecture failed : Permission non accordée
dpkg-architecture : échec : dpkg --print-architecture failed : Permission non accordée
dpkg-buildpackage: unable to determine host architecture

J’ai vérifié tous les fichiers sources aucun n’a pas propriétaire de root, tous sont à mon user (futex).

Et si je passe les commandes la:

dpkg --print-architecture
bash: /usr/bin/dpkg: Permission non accordée
[futex@Etch:~/Documents/Softs/pidgin/pidgin-2.0.0]$  dpkg-architecture
dpkg-architecture : échec : dpkg --print-architecture failed : Permission non accordée

Faut être membre d’un groupe particulier pour éxecuté ces commandes??
Ormis ca je vois pas du tous :frowning:.

Bon le binaire n’avait pas les bons droits:

ls -l /usr/bin/dpkg
-rwxr-x--- 1 root root 336456 2007-01-02 00:02 /usr/bin/dpkg

apres un chmod 755 c’est mieux, mais je n’ai jamais toucher au permission de ce fichier. :open_mouth:

J’ai de nouvelles erreur a la construction du packet:

.libs/ssl.o: In function `probe_ssl_plugins':
/home/futex/Documents/Softs/pidgin/pidgin-2.0.0/libpurple/plugins/ssl/ssl.c:40: undefined reference to `purple_plugins_get_all'
/home/futex/Documents/Softs/pidgin/pidgin-2.0.0/libpurple/plugins/ssl/ssl.c:50: undefined reference to `purple_plugin_is_loaded'
/home/futex/Documents/Softs/pidgin/pidgin-2.0.0/libpurple/plugins/ssl/ssl.c:50: undefined reference to `purple_plugin_load'
collect2: ld returned 1 exit status
make[6]: *** [ssl.la] Erreur 1
make[6]: quittant le répertoire « /home/futex/Documents/Softs/pidgin/pidgin-2.0.0/libpurple/plugins/ssl »
make[5]: *** [all-recursive] Erreur 1
make[5]: quittant le répertoire « /home/futex/Documents/Softs/pidgin/pidgin-2.0.0/libpurple/plugins »
make[4]: *** [all-recursive] Erreur 1
make[4]: quittant le répertoire « /home/futex/Documents/Softs/pidgin/pidgin-2.0.0/libpurple »
make[3]: *** [all] Erreur 2
make[3]: quittant le répertoire « /home/futex/Documents/Softs/pidgin/pidgin-2.0.0/libpurple »
make[2]: *** [all-recursive] Erreur 1
make[2]: quittant le répertoire « /home/futex/Documents/Softs/pidgin/pidgin-2.0.0 »
make[1]: *** [all] Erreur 2
make[1]: quittant le répertoire « /home/futex/Documents/Softs/pidgin/pidgin-2.0.0 »
make: *** [build-stamp] Erreur 2

Mais je peux au moins avancé…

Là, il te manque un -dev…

Bizarre pourtant avec le make normal il se compile bien :open_mouth: .

Je remarque pourtant que dans les sources, il y a un dossier purple dans lequel il y a un makefile.

Mais bon, je débute avec la construction des packets, je plane un peu lol.

Comment connaitre exactement quel est ce packet dev qui manque?

Je viuens de lire ton message (je croule sous le boulot), c’est vrai que c’est étonnant que ça marche normalement avec le make et pas avec le make du debian. Peux tu déposer les sources de ton paquets (le .dsc et le tar.gz) sur l’adresse que je te donne en MP, je vais regarder ça, je ne comprends pas cette différence.

Ok, je t’envois ca.
C’est super sympa de ta part de consacrer du temps a mon problème, merci :smt023

Arf, j’ai oublié de te dire de mettre le fichier diff.gz, il y a 3 fichiers lorsque le paquet est conçu à partir des sources originaux, le diff contient tousles scripts que tu as fait…
Dsl du contretemps…

Pas grave, je viens de te l’envoyer.

Dans ton fichier debian/rules, supprime les flags «-z,defs» envoyés à ld. (La librairie libpurple n’est pas encore compilée)

j’ai fais comme tu m’a dis,

./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS=""

Ca marche :slightly_smiling:, il pas aussi propre que celui de sid ou il génére deux paquet séparer, mais bon ca s’installe et ca fonctionne.

Je vais essayer de compiler la derniere version d’nmap, j’ai déjà réussi mais en un seul paquet, j’aimerai le faire en 2 nmap et nmapfe. Connaitrais-tu des tutos la dessus? Ou sur la création de paquets qui pourrai m’aider?

Encore merci :slightly_smiling:

Le plus simple est de s’inspirer de paquets existants. Tu peux regarder comment est fait par exemple le paquet source de clamav sur mon site, tu verras que l’ensemble est assez intuitif et suffit poiur faire ses paquets. http://boisson.homeip.net/source