dpkg-buildpackage schlägt nach entfernen eines Patches fehl

  • Hallo,


    ich möchte gerade den aktuellen permashift patch in yavdr integrieren.
    Ich starte mit einem
    apt-get source vdr
    cd vdr-2.0.6
    dpkg-buildpackage -uc -us


    --> klappt


    Dann entferne ich aus ./debian/patches/series den alten permashift patch.


    Wenn ich jetzt den dpkg-buildpackage -uc -us starte, schlägt dies fehl:


    Das verstehe ich nicht. Wenn jetzt nach dem permashift-patch folgende patches fehlschlagen würden, ok. Aber dies verstehe ich nicht.


    Hier mal der Beginn der genannten Datei:


    Woran liegt das?


    Gruß,
    Hendrik

  • Erklärung:
    "apt-get source" lädt die Sourcen herunter und wendet alle Patches an (quilt push -a). Ändert man dann die series-Datei, versucht dpkg-buildpackage anhand der neuen series-Datei alle Patches wieder zu entfernen, damit der Originalzustand hergestellt ist. Da es aber zu dem Zeitpunkt nichts mehr über den Permashift-Patch weiß, wird der nicht entfernt und somit hast du eine Abweichung zum Original-Tarball.


    Deshalb muss man vor dem Ändern/Entfernen von Patches immer zuerst auf den Originalzustand mit "quilt pop -a".


    Lars.

  • Vielen Dank für die ausführliche Erklärung, Lars.
    Wieder was gelernt. Das hat geholfen!


    Es gibt jetzt natürlich Rejects. Gibt es zum Auflösen der Rejects eine Halb-Automatisierung (ich habe jetzt einige fälle manuell gecheckt und da sind einfach ein paar Zeilen von einem anderen Patch eingefügt worden), oder ist das einfach Handarbeit?


    Gruß,
    Hendrik

  • Handarbeit. Keine Ahnung, wie deine Programmierkenntnisse aussehen, aber man sollte schon einen guten Überblick über die vdr-Quellen haben.


    Ohne Programmierkenntnisse ist das Mergen von verschiedenen Patches ein Ding der Unmöglichkeit. Man muss erst mal die Patches einzeln verstehen, was die an der Stelle wollen, und dann muss man diese Stelle quasi neu programmieren und das Verhalten der beteiligten Patches kombinieren. Deshalb bin auch dabei, immer mehr Patches aus unserem vdr zu entfernen, weil es eine Menge Arbeit ist, bei neuen vdr-Versionen die Patches immer wieder anzupassen.
    Dazu kommt, dass es manchmal gar keine Originalquellen der Patches mehr gibt und sie im Laufe der Zeit durch automatisches Auflösen nicht mehr das tun, wozu sie mal gedacht waren.


    Und wenn man selbst dann die meisten Patches gar nicht braucht, sinkt die Motivation noch mal ein wenig. :)


    Lars

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!