[Resolu]Bidouiller un .deb

Bonjour,

Je cherche un moyen pour supprimer les dépendances que requiert un package .deb
Quand j’essaie de l’installer, il veut supprimer et rajouter d’autres packages, ce qui gacherai les beaux bidouillages que j’ai fait sur mon système.

Alors je voudrais que le package s’installe sans demander de dépendances.
La méthode que je vois, c’est extraire le .deb, trouver le fichier qui contient la liste des dépendances, le modifier, puis recompresser le tout en .deb mais je n’ai pas trouvé comment faire.

Salut,

Et tu ne penses pas que le créateur du paquet à pu mettre ces paquets parcequ’ils étaient indispensables au fonctionnement du logiciel ?

Salut
Les paquets deb sont des archives ar pour plus d’info consulte les manpages :wink:

Peut-être que c’est possible avec aptitude :
http://nivalis.free.fr/aptitude/20060204/

En fait le package qui coince c’est lib32asound2. J’ai fait une bidouille assez complexe, et si je l’installe ça casse tout.

Alors j’ai téléchargé le deb de lib32asound, l’ai décompressé, et j’ai copié moi meme ses librairies sur mon système. Du coup le package est installé mais non pris en compte par apt-get.

Oui, j’ai utilisé

ar x package.deb

Pour décompresser, mais je n’arrive pas à le recompresser.

ar r package.deb fichiers
Me créé un .deb, mais il n’est pas installable

pour te creer un .deb à partir d’un binaire, il te faut utiliser la commande dpkg-deb --build dossier_contenant_le_binaire
le dossier en question doit avoir une arborescence bien defini.
A l’interieur tu dois avoir un sous dossier nommé DEBIAN
Et à l’interieur du dossier DEBIAN, tu dois avoir au minimum un fichier nommé: control contenantPackage: thunderbird2 Version: 2.0 Section: unknown Priority: optional Architecture: all Depends: libstdc++5 Maintainer: Moi <blabla@gmail.com> Description: le soft de messagerie electronique par exellence ceci est un exemple realisé pour thunderbird2. Si ton paquet doit etre associé à une ou des dependances, tu les listes en face de Depends le reste est assez explicite.

De retour dans notre dossier DEBIAN : il faut imaginer que l’interieur de ce dossier represente la racine de ton systeme. Donc si tu veux que ton paquet soit installé dans /usr/bin il faut creer un dossier usr puis à l’interieur du dossier DEBIAN puis un sous dossier bin dans le dossier user puis y coller le binaire. Tu peux aussi mettre un sous dossier lib à la meme hauteur que le dossier bin et te contenter de mettre un lien symbolique dans le urs/bin.

Une fois ton deb realisé, tu l’installes avec dpkg -i nom_paquet

Super, merci :wink:

Le package que je veux bidouiller c’est wine. J’ai pris le package amd64 de Ubuntu, et je l’ai extrait avec file-roller.

Il m’en tire “control.tar.gz”, “debian-rules”, et “data.tar.gz”

J’ai créé un dossier “wine” dans lequel j’ai mis un sous dossier DEBIAN.
Dans ce dossier j’ai mis le contenu de “data.tar.gz” (c’est en fait les fichiers de l’archive, le répertoire décompressé s’appelle “usr”).
J’ai ensuite copié le fichier “control” contenu dans “contro.tar.gz” et j’ai viré la dépendance qui m’emmerdait.

J’ai ensuite créé le package avec dpkg, tout a fonctionné.

Mais en l’installant j’ai ce problème :

Et ensuite je ne peux pas le supprimer avec dpkg -r, il me dit ‘essayez de le reinstaller avant de le supprimer’

EDIT : Nan c’est bon, c’est parce que j’avais placé mon dossier “usr” dans “DEBIAN”.