Si j'ai un projet c ++/gtkmm créé avec NetBean, comment puis-je créer un package pour PPA à partir de cela?
J'ai créé une structure de fichiers cible (* .desktop, iconfile, fichiers glade ui).
Le binaire va à /opt/extras.ubuntu.com/myagenda/bin/myagenda
.
Il y a aussi un dossier de fichiers glade, qui doit aller à /opt/extras.ubuntu.com/myagenda/bin/myagenda/ui
.
Le fichier de bureau passe à /usr/share/applications/myagenda.desktop
. Icône va à /usr/share/icons/hicolor/scalable/apps/myagenda.svg
Comme vous le voyez, il n'y a qu'un petit nombre de fichiers.
Maintenant, comment gérer tout ça, créer un paquet sur PPA, qui sait où et comment mettre ces fichiers à leurs cibles?
├── opt
│ └── extras.ubuntu.com
│ └── myagenda
│ ├── bin
│ │ └── myagenda
│ └── ui
│ ├── item_btn_delete.png
│ ├── item_btn_edit.png
│ ├── myagenda.png
│ ├── myagenda.svg
│ ├── reminder.png
│ └── ui.glade
└── usr
└── share
├── applications
│ └── myagenda.desktop
└── icons
└── hicolor
└── scalable
└── apps
└── myagenda.svg
Mise à jour:
Créé le fichier install
dans le répertoire debian
avec les cibles suivantes:
data/myagenda /opt/extras.ubuntu/com/myagenda/bin
data/ui/* /opt/extras.ubuntu/com/myagenda/ui
data/myagenda.desktop /usr/share/applications
data/myagenda.svg /usr/share/icons/hicolor/scalable/apps
Après dpkg-buildpackage
, il est construit, mais pour l’architecture AMD64. Maintenant, en essayant de changer cela en i386.
La création de PPA est un processus très simple et en même temps assez complexe dépendant de la complexité du paquet (binaire simple, binaire multiple, etc.). Mais pour une application simple comme votre MyAgenda, créer un PPA est très simple.
Installez d'abord les paquets nécessaires.
Sudo apt-get install build-essential devscripts ubuntu-dev-tools debhelper dh-make diff patch cdbs quilt gnupg fakeroot lintian pbuilder piuparts
. La plupart d'entre eux sont probablement déjà installés par défaut.
Maintenant, configurez votre clé gpg et votre clé ssh. Suivez les instructions de ici & ici .
Maintenant, allez dans le dossier source de votre application. Voici la présentation de votre paquet source de base:
MyAgenda-1.0/
-- data/
-- myagenda
-- myagenda.desktop
-- myagenda.svg
--ui
-- myagenda.glade
-- otherfiles
-- debian/
-- changelog
-- copyright
-- compat
-- rules
-- control
-- install
Première exécution:
gpg --list-keys
. Cela vous donnera une sortie comme celle-ci:
pub: YOURGPG-KEY
uid: YOURUSERNAME <YOURMAIL-ID> #note your username & email.
sub: --------
Pour créer le dossier debian et tous les autres fichiers nécessaires lors de l'exécution du dossier debian (, utilisez le même nom d'utilisateur et le même email-id que ci-dessus ):
DEBFULLNAME="YOURUSERNAME" dh_make -n -s -e YOUREMAIL-ID
. Cela aidera à signer le paquet avec la clé gpg.
Cependant, cela ne créera pas le fichier "install" dans le dossier debian. Créez le fichier manuellement et enregistrez-le avec les données suivantes:
data/myagenda /opt/extras.ubuntu/com/myagenda/bin
data/ui/* /opt/extras.ubuntu/com/myagenda/ui
data/myagenda.desktop /usr/share/applications
data/myagenda.svg /usr/share/icons/hicolor/scalable/apps
Pour mettre à jour le journal des modifications, exécutez:
dch -i
Voici un exemple de journal des modifications:
package (version) distribution; urgency=urgency
* change details
more change details
* even more change details
-- maintainer name <email address>[two spaces] Sun, 8 July 2012 18:14:08 +0530
Assurez-vous que le format ci-dessus est préservé. Une fois l’édition terminée, appuyez sur CTRL + O pour écrire. Supprimer
. dch part & écraser le fichier changelog.Appuyez sur CTRL + X pour quitter.
Vous voudrez peut-être supprimer des fichiers .ex supplémentaires sous debian.Entrez dans le dossier debian et supprimez les fichiers .ex et .EX.
cd debian
rm *.ex *.EX
Ensuite, pour créer le paquet deb, exécutez:
debuild --no-tgz-check
# Optional.it ne vérifiera pas l'archive tar source.
Pour télécharger le paquet source sur un PPA, vous devez exécuter:
debuild -S
L’indicateur -S indique à debuild de créer un paquet source en utilisant un autre script, dpkg-buildpackage, associé à fakeroot, qui nous accorde de faux privilèges root lors de la création du paquet. Il prendra le fichier .orig.tar.gz et produira un fichier .diff.gz (la différence entre l'archive d'origine de l'auteur et le répertoire créé, debian/et son contenu) et un fichier .dsc contenant la description. et md5sums pour le paquet source. Les fichiers .dsc et * _source.changes (utilisés pour le téléchargement du package source) sont signés à l'aide de votre clé GPG.
debuild -S
créera un fichier source.changes en dehors de votre répertoire source. Allez dans le tableau de bord et créez un PPA. Téléchargez maintenant les modifications source.change sur ce PPA (( changez le nom du fichier en conséquence ):
dput ppa:YOUR-LAUNCHPAD-USERNAME/myagenda myagenda-1.0-ubuntu1.changes
TERMINÉ!
Remarques:
Si vous souhaitez télécharger un package pour plusieurs versions d'ubuntu, obtenez l'aide de ici .
Sources: Wiki Guide d'emballage complet.