Das Hinzufügen geänderter oder neuer Textdateien zu meinem PPA-Paket ist einfach genug:
Schritt 1:
apt-get source [foo-package]
cd [foo-package]
Schritt 2: Hinzufügen oder Ändern neuer Textdateien mit den Änderungen
Schritt 3 - Aktualisieren Sie das Änderungsprotokoll:
dch -i
Schritt 4 - Erstellen Sie einen Patch
dpkg-source --commit
Schritt 5 - Erstellen Sie ein Quellpaket
debuild -S
Schritt 6 - Auf Launchpad hochladen
cd ..
dput [myppa]/[foo_source.changes]
Jetzt muss ich jedoch eine neue Symboldatei (eine PNG-Datei) zum vorhandenen Paket hinzufügen.
Also in Schritt 2 - einfach in das [foo-Paket] kopieren
In Schritt 4 erhalte ich folgende Fehler:
dpkg-source: error: cannot represent change to foo-package/foo-icon.png: binary file contents changed
dpkg-source: error: unrepresentable changes to source
Wenn ich versuche, mit Schritt 5 fortzufahren, erhalte ich die folgenden zusätzlichen Fehler:
dpkg-source: error: add foo-package/foo-icon.png in debian/source/include-binaries if you want to store the modified binary in the Debian tar-ball
...
dpkg-buildpackage -rfakeroot -d -us -uc -S failed
Irgendwelche Ideen, wie ich meinem vorhandenen PPA-Paket eine binäre Symboldatei hinzufügen kann?
Mehr Informationen
Durch Ausführen von:
debuild -S --source-option=--include-binaries
Dadurch kann das Quellpaket erstellt werden, und Schritt 6 ist möglich.
Dies ist jedoch nicht wirklich die Antwort - da ich anschließend keine weiteren Codeänderungen vornehmen kann ( Schritt 2 ), da immer noch dieselben Fehler auftreten.
Es sieht nicht so aus, als ob ich es tun könnte, dpkg-source --commit --source-option=--include-binaries
weil dies nur Fehler gibt:
dpkg-source --commit --source-option=--include-binaries
dpkg-source: warning: --source-option=--include-binaries is not a valid option for Dpkg::Source::Package::V3::quilt
dpkg-source: error: cannot represent change to foo-package/foo-icon.png: binary file contents changed
dpkg-source: error: unrepresentable changes to source
quelle
Holen Sie sich einfach dpkg-source --commit , um Binärdateien mit dem
extend-diff-ignore
Schalter zu ignorierenHier ist eine andere einfachere Möglichkeit: Sie weisen dpkg-source an, zu ignorieren, was es nicht verstehen kann (dh Binärdateien), und sich um seine eigenen Angelegenheiten zu kümmern;)
Nach dem erstmaligen Hinzufügen einer oder mehrerer Binärdateien muss der Schlüssel zusammen mit den entsprechenden zu ignorierenden Pfaden / Dateinamen (Perl-Regex-Format)
dpkg-source --commit
mit dem--extend-diff-ignore
Switch verwendet werden.Angenommen, Sie stecken eine Reihe von PNGs in das
llyrics
Verzeichnis und ändern dann einige Textdateien. Der richtige Festschreibungsaufruf lautet:Folgen Sie dem mit:
um Ihren PPA-Upload zu erhalten.
Testen wir dies mit dem
rhythmbox-plugin-llyrics
Paket von fossfreedom's "Spielplatz" PPA:Quelle abrufen:
apt-get source rhythmbox-plugin-llyrics
Ändern Sie eine Textdatei und fügen Sie ein PNG hinzu:
Zum Änderungsprotokoll hinzufügen und Version mit erhöhen
dch -v 0.1-3ubuntu6~izx1
Übernehmen Sie Textänderungen, während Sie das PNG ignorieren mit:
Quelle erstellen / Änderungen:
Und ... voila! ( Launchpad-erstelltes Deb - beachten Sie den Größenunterschied von ~ 200k ... )
quelle
Dies ist etwas schwieriger als nur das Hinzufügen einer Datei.
Zunächst müssten Sie die .orig.tar.gz mit den im neuen Quellpaket enthaltenen Binärdateien neu erstellen und wahrscheinlich die Softwareversion (
package_1.0.0.orig.tar.gz
->package_1.0.1.orig.tar.gz
oder etwas anderes ) sowohl im tar als auch imdebian/changelog
.Nachdem Sie die Datei orig.tar.gz mit den neuen Dateien geändert haben (schließen Sie debian / files NICHT in die Datei orig.tar.gz ein), fügen Sie einen
debian/changelog
Eintrag hinzu und ändern die Version, um sie wie in orig.tar zu erhöhen. gz.Erstellen Sie dann das Quellpaket (
debuild -S
) neu und laden Sie das neue Quellpaket auf die PPA hoch. Dieses neue Quellpaket überschreibt das "ältere" in der PPA.Aus dem Chat:
quelle