web-dev-qa-db-fra.com

Comment créer plusieurs paquets Debian en utilisant le même répertoire debian

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?

5
Dig The Code

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:

5
user.dz