Pakete ändern und in PPA schieben

Aus easyVDR-Wiki
Zur Navigation springen Zur Suche springen

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:

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 installieren
  • easyvdr-runvdr – um die VDR-Startroutine zu ändern
  • debian/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


Packet changelog.png

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

Links