Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 tongue

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

hmm Non pas encore, je regarde cette après midi hmm


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. roll

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. sad


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

http://packages.debian.org/etch/farpd

Hors ligne

#13 Le 10/05/2008, à 16:31

WW

Re : [Résolu]depaqueter un .deb

Apparemment c'est pas ça non plus hmm.


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 wink

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