J'emballe une application sur mon PC à des fins d'installation/de distribution. J'ai créé le paquet avec succès en utilisant dpkg
facility dans Ubuntu 12.04. Maintenant, je dois créer plusieurs packages (package binaire (comme xxx.deb), package source (xxx.1.0-1-devel.deb)) en utilisant la même configuration de fichier. Le dossier Debian contient tous les fichiers modifiés requis pour l’emballage à l’aide de dpkg-buildpackage -rfakeroot
. Si j'ai besoin de créer tous les fichiers .deb en utilisant la même configuration de fichier Debian. Que dois-je faire en plus?
de plus, les choses ci-dessous sont également confuses pour moi. que devrait inclure -devel package? Est-ce que ce sont uniquement les fichiers d'en-tête de développement ou les fichiers d'en-tête de développement et les bibliothèques partagées requises ou tous les fichiers binaires, y compris les fichiers d'en-tête?
Je suppose que votre programme cible est un langage c/c ++ ou similaire.
Vous pouvez inclure tous les fichiers dans un seul paquet binaire. Mais toujours le meilleur pour séparer les fichiers de développement dans un autre.
_*-dev
_ (pas _-devel
_) devrait inclure uniquement les en-têtes, les bibliothèques de statistiques, les bibliothèques partagées et même les outils binaires si ces outils ne sont utilisés que pour le développement.
Vous pouvez déclarer plusieurs packages binaires pour une source unique dans _debian/control
_. Le mieux est d'apprendre par exemple, samba
:
Paquet source: http://packages.ubuntu.com/source/trusty/samba , voyez combien de paquets binaires construits à partir de la même source.
Laissons-en choisir un (paquet principal, samba - *. Deb): http://packages.ubuntu.com/trusty/samba , voir à droite *-debian.tar.gz
=. Téléchargez-le puis ouvrez-le. Lisez son fichier control
:
_Source: samba
...
Package: samba
...
Package: samba-libs
...
_
Chaque paquet binaire a son propre fichier _*.install
_ qui répertorie les fichiers à installer et où. Exemple: _samba.install
_, _samba-libs.install
_, ..
Pour les bibliothèques, un élément statique est inclus uniquement dans le package _*-dev
_.
Les versions partagées doivent être incluses dans les deux si vous avez différentes versions pouvant être installées en même temps.
Exemple, samba-dev
, en bas de la page, cliquez sur liste des fichiers et ceci avec des bibliothèques statiques libc6-dev .
Sinon, ne placez les bibliothèques partagées que dans le paquet binaire normal, puis ajoutez-les comme dépendance du paquet de développement.
Références: