Bug 21476 - Verwendung von debhelper
Verwendung von debhelper
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: General
UCS 3.0
Other Linux
: P5 enhancement (vote)
: UCS 3.0 - MS2
Assigned To: Stefan Gohmann
Moritz Muehlenhoff
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-02-03 16:58 CET by Stefan Gohmann
Modified: 2011-12-13 15:50 CET (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
Angepasstes test-pkg (1.87 KB, text/plain)
2011-02-10 10:11 CET, Philipp Hahn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-02-03 16:58:24 CET
Wir sollten in den UCS Paketen ab UCS 3.0 cdbs verwenden. Ich denke das erleichtert das Erstellen von Univention Paketen deutlich.

Im Idealfall importieren wir eine cdbs-Datei und dort werden die notwendigen Tools aufgerufen, bspw.:

kdeutils-4.4.5/debian/rules 
#!/usr/bin/make -f

DEB_CMAKE_CUSTOM_FLAGS += -DINSTALL_PRINTER_APPLET:BOOL=TRUE

include /usr/share/pkg-kde-tools/qt-kde-team/1/debian-qt-kde.mk

binary-install/printer-applet::
        dh_pysupport -pprinter-applet
Comment 1 Moritz Muehlenhoff univentionstaff 2011-02-04 08:35:09 CET
cdbs ist wenn es Probleme gibt oder man Abweichungen vom Standard hat aufwendig zu debuggen. 

Für die UCS-Pakete wäre es IMO sinnvoller bei debhelper zu bleiben und stattdessen die dh-Erweiterung einzusetzen, dazu haben wir auch schon einen Bug: https://forge.univention.org/bugzilla3/show_bug.cgi?id=17975
Comment 2 Philipp Hahn univentionstaff 2011-02-04 10:26:48 CET
(In reply to comment #1)
> cdbs ist wenn es Probleme gibt oder man Abweichungen vom Standard hat aufwendig
> zu debuggen. 

+1

> Für die UCS-Pakete wäre es IMO sinnvoller bei debhelper zu bleiben und
> stattdessen die dh-Erweiterung einzusetzen, dazu haben wir auch schon einen
> Bug #17975

Statt cdbs sollte dann eher das neue d(eb)h(elper) [78] <http://kitenet.net/~joey/code/debhelper/> verwenden, was ähnlich einfache Makefiles ermöglicht und auch gut erweitert werden kann.

 debian/rules:
  #!/usr/bin/make -f
  %:; dh $@
Comment 3 Stefan Gohmann univentionstaff 2011-02-05 09:58:45 CET
OK, gerne auch die neueren debhelper Optionen. Im SVN gibt es jetzt ein Beispiel-Paket:
 dev/branches/ucs-3.0/ucs/packaging/univention-package-template

Die rules-Datei:

#!/usr/bin/make -f

override_dh_auto_install:
        univention-install-config-registry
        dh_auto_install
        # make ucslint happy
        # 76univention-package-template.inst univention-install-config-registry-info

override_dh_auto_build:
        ucslint
        dh_auto_build
%:
        dh $@
Comment 4 Philipp Hahn univentionstaff 2011-02-09 17:50:53 CET
univention-config-registry-dev sollte nach Möglichkeit dann noch folgende Debhelper-Erweiterung in <file:/usr/lib/perl5/Debian/Debhelper/Sequence/univention_config_registry.pm> mitliefert, damit man sich den expliziten Aufruf der u-i-* Tools sparen kann:

#!/usr/bin/perl
# debhelper sequence file for univention specific extensions

use warnings;
use strict;
use Debian::Debhelper::Dh_Lib;

insert_before("dh_link", "univention-install-config-registry");
insert_before("dh_link", "univention-install-config-registry-info");
insert_before("dh_link", "univention-install-service-info");

1


Dann reicht folgende debian/rules-Datei:
#!/usr/bin/make -f
%:
	dh --with univention-config-registry $*

Bitte davor unbedingt Bug #18924 und Bug #16644 Comment 3 beachten.
Comment 5 Philipp Hahn univentionstaff 2011-02-10 10:11:10 CET
Created attachment 3025 [details]
Angepasstes test-pkg

Folgendes Fehlverhalten von "test-pkg" ist mir gerade mit einem debhlper7 Projekt aufgefallen:

DH_VERBOSE=1 test-pkg -h xen5
dh --with python-central,univention-config-registry binary
tar: Anlegen eines leeren Archivs wird feige verweigert.
„tar --help“ oder „tar --usage“ gibt weitere Informationen.
tar: Das sieht nicht wie ein „tar“-Archiv aus.
tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.

dh hat hier erkannt, das nichts zu tun ist (das Projekt hatte ich gerade schon mal lokal gebaut und es gab keine Änderungen). text-pkg ist hier aber auf die Ausgabe von dem alten debian/rules angewiesen, weil es daraus die Namen der Debian Paket Dateien extrahiert, um diese auf den Zielhost zu kopieren.
Das müsste dann auch bis dahin korrigiert werden, kann aber auch schon jetzt unabhängig davon gefixt werden.
(test-pkg sollte einfach ./debian/files auswerten, da stehen nach einem Build alle Pakete drin)
Comment 6 Stefan Gohmann univentionstaff 2011-06-07 09:06:24 CEST
Die Pakete werden über eigene Bugs übernommen. Changelog bzgl. debhelper und neuen Template Paketen wurde hinzugefügt.
Comment 7 Moritz Muehlenhoff univentionstaff 2011-09-27 10:22:16 CEST
Die dh-Templates funktionieren und wurden für 3.0 für die Paketübernahme eingesetzt. Ich habe den Changelog-Eintrag noch ergänzt, so dass auch dh erwähnt wird (Revision 1072)

Zur Aktualisierung der Entwickler-Dokumentation habe ich Bug 23822 angelegt.
Comment 8 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:50:53 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"