Pages : 1
#1 Le 09/05/2008, à 15:29
- aurelien79
[Résolu]depaqueter un .deb
Bonjour
je souhaiterai savoir quel outils vous me conseillerai pour depaqueter un paquet .deb
J'ai essayé apt-build mais il ne prends pas en compte les modifications des fichiers.
Je souhaiterai prendre un paquet.deb, le decompresser, modifier 1 fichier et reformer le paquet.deb pour l'installer avec dpkg -i
seriez vous comment faire ?
merci d'avance
Dernière modification par aurelien79 (Le 10/05/2008, à 16:35)
Hors ligne
#2 Le 09/05/2008, à 15:39
- pipou24
Re : [Résolu]depaqueter un .deb
normalement, c'est dpkg --build.
voir man dpkg et man dpkg-deb
Non geek et fier de l'être. ㋡
Hors ligne
#3 Le 09/05/2008, à 15:52
- WW
Re : [Résolu]depaqueter un .deb
Salut,
Créer un dossier du même nom que le .deb
Dans ce dossier tu créer un sous dossier DEBIAN.
Puis ouvre le .deb avec ton gestionnaire d'archive, tu trouvera deux archives control.tar.gz et data.tar.gz.
Dans control.tar.gz, il y a un dossier . tu copie son contenu dans le dossier DEBIAN créer au préalable.
Dans data.tar.gz, il y a aussi un dossier . tu copie son contenu dans le dossier portant le nom du .deb.
Ensuite tu modifie le(s) fichier(s), puis tu reconstruis avec
dpkg-deb -b DOSSIER_PORTANT_LE_NOM_DU_DEB LE_NOM_DU_DEB.deb
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#4 Le 09/05/2008, à 17:11
- aurelien79
Re : [Résolu]depaqueter un .deb
Quand je decompresse mon .deb avec dpkg-deb -x paquet_amd64.deb, j'obitens 2 repertoires (/etc et /usr) mais pas de fichier control.targz ni de data.tar.gz
(quand je tente de le decompressé avec dpkg -x il me dit que le fichier control n'est pas correct)
du coup j'ai telechargé paquet.diff.gz, paquet.dsc, paquet.orig.tar.gz et bien sur mon amd64.deb
mais je n'arrive pas a refaire un paquet ... avec dpkg-builpackage j'ai :
dpkg-genchanges
dpkg-genchanges: pas d'inclusion du code source original dans l'envoi (« upload »)
dpkg-buildpackage: binary and diff upload (original source NOT included)
(WARNING: Failed to sign .dsc and .changes file)
avec dpkg --build j'ai
dpkg-deb: erreur d'analyse syntaxique, dans le fichier « farp/DEBIAN/control » près de la ligne 7:
package name manque
Dernière modification par aurelien79 (Le 09/05/2008, à 17:12)
Hors ligne
#5 Le 09/05/2008, à 18:23
- WW
Re : [Résolu]depaqueter un .deb
Hum, je voulais t'éviter d'utiliser dpkg-deb -x car si tu fais un dpkg-deb -h, il t'indique dans les dernières lignes : "Les paquets dépaquetés en utilisant « dpkg-deb --extract » seront
incorrectement installés." (identique à -x)
C'est pourquoi je te conseille d'utiliser le gestionnaire d'archive (file-roller sous Ubuntu) qui te montre la data et control .tar.gz dont je te parler.
Sinon, tu peux regarder dans DEBIAN/control et ajouter Package: NOM_DU_PAQUET à la première ligne.
Sinon, sinon tu peux me dire de quel paquet il s'agit et quelle modif tu veux faire, je peux essayer (c'est sûr cette solution est moins formatrices).
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#6 Le 09/05/2008, à 18:33
- aurelien79
Re : [Résolu]depaqueter un .deb
Je suis sous Debian etch sur archi amd64.
Je cherche à modifier le fichier arpd.c du paquet Farpd et a refaire un farpd.deb et pour cela j'ai besoin d'acceder au source.
Ce que je souhaite modifier
--- arpd/arpd.c 2007-07-10 23:19:35.000000000 +0000
+++ arpd.new/arpd.c 2007-07-10 23:44:04.000000000 +0000
@@ -329,3 +329,3 @@
- if (req->cnt < 2) {
+ if (req->cnt < 1) {
arpd_send(arpd_eth, ARP_OP_REQUEST,
@@ -362,3 +362,3 @@
addr_pack(&src.arp_ha, ADDR_TYPE_ETH, ETH_ADDR_BITS,
- ETH_ADDR_BROADCAST, ETH_ADDR_LEN);
+ ethip->ar_sha, ETH_ADDR_LEN);
addr_pack(&src.arp_pa, ADDR_TYPE_IP, IP_ADDR_BITS,
@@ -406,3 +406,3 @@
- if (req->cnt >= 3) {
+ if (req->cnt >= 1) {
arpd_send(arpd_eth, ARP_OP_REPLY,
Peux tu me dire comment tu fais car j'aurais d'autre paquet à modifier et puis çà sert toujours
PS : je suis en mode ligne de commande car c'est un serveur
Dernière modification par aurelien79 (Le 09/05/2008, à 18:38)
Hors ligne
#7 Le 09/05/2008, à 18:44
- WW
Re : [Résolu]depaqueter un .deb
Ok, je regarde ça plus tard.
C'est l'heure de manger
Bon appétit à tous.
Dernière modification par WW (Le 09/05/2008, à 18:44)
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#8 Le 10/05/2008, à 09:53
- aurelien79
Re : [Résolu]depaqueter un .deb
as tu eu le tps de regarder ? :$
Hors ligne
#9 Le 10/05/2008, à 10:51
- WW
Re : [Résolu]depaqueter un .deb
Non pas encore, je regarde cette après midi
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#10 Le 10/05/2008, à 11:02
- cep
Re : [Résolu]depaqueter un .deb
Tu as quelques explications ici :
http://www.debian-administration.org/articles/20
et l'utilisation de debuild -us -uc
debuild est dans le paquet devscripts
Si ce ne sont pas des sources, voir man dpkg pour l'extraction. Ou l'utilitaire unp, ou autre du même genre.
Hors ligne
#11 Le 10/05/2008, à 16:00
- WW
Re : [Résolu]depaqueter un .deb
Un problème en amène un autre.
Sais-tu quelle version de la librairie libdnet utilisent-ils ??
(J'ai essayer avec la 2.39.2)
Car ce que je voulais essayer c'était modifier le code source de arpd.c selon tes besoins puis faire le classique : configure make
afin que make créer les exécutables du paquets. Puis réempaqueter le tout (c'est sur cette partie que je pouvais t'être le plus utile ayant déjà créer quelque petit paquet debian).
Le soucis, c'est lors du ./configure, il donne indique les dépendances manquantes et après avoir installer "autoconf automake texinfo build-essential" (on remarque que l'installation est fraiche j'avais même pas build-essential), je tombe sur un os : libdnet.
Je regarde dans Synaptic, qui me propose 4 paquets : det-common libdnet libdnet-dev et libdumbnet1.
J'installe donc libdnet-dev, le problème persite. J'installe les trois autres et toujours le problème : checking for libdnet... no
configure: error: libdnet not found
Désolé, de ne pas avoir réussi.
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#12 Le 10/05/2008, à 16:17
- aurelien79
Re : [Résolu]depaqueter un .deb
Pas de problème.
J'ai verifié je n'ai pas de librairie libdnet d'installer quand j'installe le paquet farp fournit par Debian.
Je pense que cet librairie est remplacé par libdumbnet1
Hors ligne
#13 Le 10/05/2008, à 16:31
- WW
Re : [Résolu]depaqueter un .deb
Apparemment c'est pas ça non plus .
Quand on sait c'est facile, mais qui n'a jamais été débutant.
Hors ligne
#14 Le 10/05/2008, à 16:33
- aurelien79
Re : [Résolu]depaqueter un .deb
Bon j'ai essayé avec le lien que m'a donné cep et çà fonctionne, il a bien prit mes modifications.
Merci a vous 2
J'espère maintenant que mes modifications corrigerons le bugs
Hors ligne
#15 Le 10/05/2008, à 17:30
- aurelien79
Re : [Résolu]depaqueter un .deb
j'ai testé le paquet fraichement que j'ai modifié. Il fonctionne et a parfaitement prit en compte mes modifications!
dc encore merci
Hors ligne
Pages : 1