Pakete ändern und in PPA schieben
Inhaltsverzeichnis
Pakete ändern und in PPA schieben
Das ganze MUSS auf einem easyvdr-Rechner erfolgen!!!
Ich habe mir zum Paketbau eine VM mit Virtualbox erstellt und dort easyVDR installiert
Entwicklerpaket installieren
sudo apt-get install easyvdr-dev
Am Ende werden Fragen gestellt:
Git-Konfiguration
- Git-Name
- Git-Mailadresse
Damit wird eine valide /home/easyvdr/.gitconfig
erstellt
PPA-Konfiguration
Damit wird eine valide /home/easyvdr/.dput.cf
erstellt, mit der der Upload in alle PPAs von easyVDR möglich ist. Zusätzlich wird in /home/easyvdr/.profile
DEBFULLNAME="easyVDR-Developer" DEBEMAIL="[email protected]"
geschrieben. Das ist nötig um die Änderungen der changelog im jeweiligen Paketordner/debian zu vereinfachen.
Git clonen
git clone ssh://%username%@www.easy-vdr.de:9022/git/%reponame%
Hierzu benötigen wir einen öffentlichen SSH-Key, der an Martin oder Sinai verschickt wird.
Das sollte man in /home/easyvdr/
tun, dann liegt das aktuelle Repo (wenn trusty geclont wurde) in /home/easyvdr/trusty/
Upload-Script
Um Änderungen in unseren Paketen einfacher ins Git zu laden dient folgendes Script – bitte in /home/easyvdr/
erstellen.
#!/bin/bash # Git-Repository updaten echo "Bitte den Committext eingeben:" read committext git pull git add * git commit -a -m "$committext" git pull git push echo "Git completed"
Mailadresse einfügen
Hierzu muss die Mailadresse
easyVDR-Developer <[email protected]>
der registrierten Mailadresse bei Launchpad hinzugefügt werden.
gpg --list-keys pub 1024D/A6B1F26F 2010-06-03 uid Andreas Schott <[email protected]> sub 1024g/CD5F43B3 2010-06-03
A6B1F26F ist beispielsweise meine Key-Id bei Launchpad
Deshalb
gpg --edit-key A6B1F26F gpg> adduid
dann folgender Name und E-Mailadresse eingeben:
- Real name: easyVDR-Developer
- Email adress: [email protected]
gpg> save
Dann sollte
gpg --list-keys
dieses Ergebnis bringen
pub 1024D/A6B1F26F 2010-06-03 uid easyVDR-Developer <[email protected]> uid Andreas Schott <[email protected]> sub 1024g/CD5F43B3 2010-06-03
Pakete ändern
Hier am Beispiel des Paketes easyvdr
cd /home/easyvdr/raring/ git pull cd e/easyvdr/
Nun können wir alle Dateien nach unseren Wünschen ändern, z.B.
easyvdr
– um zusätzliche Pakete zu installiereneasyvdr-runvdr
– um die VDR-Startroutine zu änderndebian/easyvdr-desktop.upstart
– um das Starten des Desktops zu ändern
Achtung!!! Bitte genau überlegen, was man ändern möchte und welche Auswirkungen dies hat!!! Im geringsten Zweifelsfall im Forum-Entwicklerbereich nachfragen!!!
Keinesfalls Änderungen an Paketen direkt nach stable schieben – bitte in Absprache mit Sinai in unstable oder testing!!!'
Alles geändert? Prima – wir bleiben in /home/easyvdr/raring/e/easyvdr/
dch -i --distribution raring --urgency high
erstellt eine neue Zeile in debian/changelog
Durch das Paket easyvdr-dev stehen in der unteren Zeile alle zwingend notwendigen Daten
In die mittlere Zeile nach dem Stern geben wir die Änderung ein z.B. "added depends on easyvdr-softhdd"
Nun wichtig die oberste Zeile:
Neu eingefügt wurde dies:
easyvdr (1.21.0-easyVDR0~raringubuntu1) raring; urgency=high
Versionierung: 1.21.0-easyVDR0
- minimale Änderungen --> 1.21.0-easyVDR1
- fertige bugfreie Änderungen --> 1.21.1-easyVDR0
- fertige bugfreie Änderungen die eine neue Version rechtfertigen--> 1.22.0-easyVDR0
- neue Version --> 2.01.0-easyVDR0
Im Zweifelssfall bei Sinai nachfragen
Es wird hinter unseren Namen immer ubuntu1 angefügt – das muss entfernt werden. Wenn jemand herausfindet, wie dies automatisiert wird, dann bitte mitteilen – vermutlich dch -help
So sollte die erste Zeile aussehen:
easyvdr (1.21.0-easyVDR1~raring) raring; urgency=high
Danach bereiten wir die Source zum Upload ins PPA vor
debuild -S -sa
Auf Errors achten und am Ende der Ausgabe erhalten wir
Finished running lintian. Now signing changes and any dsc files... signfile easyvdr_1.21.0-easyVDR1~raring.dsc easyVDR-Developer <[email protected]> signfile easyvdr_1.21.0-easyVDR1~raring_source.changes easyVDR-Developer <[email protected]> Successfully signed dsc and changes files
Nun können wir die Source ins PPA laden – hier z.B. ins PPA base-testing
cd .. dput base-testing easyvdr_1.21.0-easyVDR1~raring_source.changes
Danach wird das Paket im PPA gebaut.
Nun zum Abschluss noch der Übersichtlichkeit im Git halber:
rm easyvdr_1.21.0-easyVDR0~raring_source.* rm easyvdr_1.21.0-easyVDR0~raring.dsc ../Git-Update
und alles wird ins Git geladen. Bei der Eingabe des Committextes kurz schreiben, was geändert wurde und bitte am Ende immer hinschreiben, ob die Source im PPA ist (z.B. Uploaded2testingPPA oder uploadedstable2PPA). Das ist wichtig, wenn mehrere die Sourcen ins PPA schieben, damit man nicht den Überblick verliert, was hochgeladen wurde und was nicht.
Zum Austesten jetzt am Anfang IMMER ein unstable-PPA nutzen, am Besten other-unstable!!!
Bitte testen und Rückmelden, ob alles so geklappt hat.
Andy