• [^] # Re: Script de build ?

    Posté par (site web personnel) . En réponse au journal Bref j'ai créé une bibliothèque Rust et un moteur ibus (et je cherche comment les packager). Évalué à 3.

    dh_make peut effectivement faire un peu peur parce qu'il génère plein de fichiers.

    Dans ton cas précis, tu auras principalement besoin de :

    • debian/changelog : descriptif des changements mais aussi définition de la version.
    • debian/compat : probablement '8' ou '9', pas pertinent de passer du temps là-dessus.
    • debian/control : tu auras ici plusieurs « stanzas », la première définissant le paquet source (nom, dépendances de build, mainteneur, etc.), les suivantes définissant les paquets binaires (nom, architecture, dépendances, description, etc.). Tu auras probablement envie d'avoir un -dev pour le .h et un autre paquet pour la bibliothèque. Attention aux changements futurs : en cas d'incompatibilité binaire (changement d'ABI) ton SONAME doit changer et le paquet être renommé en conséquence. On peut imaginer librustpinyin-dev et librustpinyin0 (en imaginant que tu fournisses libpinyinengine0.so) pour commencer.
    • debian/copyright : je ne te fais pas de dessin.
    • debian/rules : cf. ci-dessous.

    Vu les informations données dans le README.md, tu pourrais probablement commencer par ce qui suit (en faisant attention à bien utiliser des tabulations plutôt que des espaces) :

     #!/usr/bin/make -f
     %:
     dh $@

    Cela permet d'avoir plein de choses gérées de façon automatique. Tu peux ainsi te concentrer sur ce qui a besoin d'être spécifique. Comme le système de build est particulier, il te faudra probablement commencer par :

     override_dh_auto_configure:
     # Do nothing
     override_dh_auto_build:
     cargo build

    Concernant la ventilation des fichiers parmi les paquets binaires, le plus simple est probablement de lister les fichiers voulus dans debian/librustpinyin-dev.install et debian/librustpinyin0.install

    Le canal #debian-mentors et la liste de diffusion debian-mentors@ sont les bons endroits pour poser des questions supplémentaires.

    Debian Consultant @ DEBAMAX