Siduction Forum

Siduction Forum => Software - Support => Topic started by: Tecumseh on 2014/01/19, 18:01:01

Title: Debian-Paket erstellen ohne dh?
Post by: Tecumseh on 2014/01/19, 18:01:01
Hallo, ich versuche gerade das Debian Paketbau-System zu verstehen. Könnt ihr mir Hinweise geben wie eine rules etc. Datei aussehen würde wenn man dh nicht verwendet oder wo ich Infos finde? Mir geht es speziell um das Beispiel mock-1.1.33. Ich baue das selber für Arch-Linux und kenne daher das PKGBUILD-Format sowie rpm-SPECS-Format.

Wie kann man aus folgendem:
----
%:
    dh $@ --with python2,autoreconf

SAVED_FILES = \
    Makefile.in aclocal.m4 build/install-sh build/missing \
    build/py-compile configure

override_dh_autoreconf:
    for file in $(SAVED_FILES); do \
        if [ ! -r $$file-debsaved ]; then \
            cp -a $$file $$file-debsaved; \
        fi; \
    done
    dh_autoreconf
....
----

ableiten, mit welchen Parametern Configure läuft?
Wird usermode bzw. consolehelper in Debian nativ verwendet oder kommt das über Fedora/Red Hat?
Wo wird die Systemgruppe mock, mit welcher gid, angelegt?
Woran sehe ich, mit welchen Rechten die Verzeichnisse unter /var versehen werden?

Oder ganz allgemein:
Wie kann man die Debian-spezifischen Anweisungen verständlich sichtbar machen so dass man sie mit PKGBUILD oder SPECS vergleichen kann?


Title: Re: Debian-Paket erstellen ohne dh?
Post by: melmarker on 2014/01/19, 18:26:53
Nicht so richtig wirklich :) das steht ja im Target drin. Du kannst dir allerdings anschauen, was dh im einzelnen macht, indem Du unter das make ein

DH_VERBOSE= 1

einfügst. So wie ich das lese, werden dann durch die scripts vordefinierte settings geschrieben/aktualisiert und ein autoreconf aufgerufen. Ich hoffe, das hilft ein wenig weiter
Title: Re: Debian-Paket erstellen ohne dh?
Post by: Tecumseh on 2014/01/19, 21:25:11
Quote from: melmarker on 2014/01/19, 18:26:53
Nicht so richtig wirklich :) das steht ja im Target drin. Du kannst dir allerdings anschauen, was dh im einzelnen macht, indem Du unter das make ein

DH_VERBOSE= 1

einfügst. So wie ich das lese, werden dann durch die scripts vordefinierte settings geschrieben/aktualisiert und ein autoreconf aufgerufen. Ich hoffe, das hilft ein wenig weiter
Ich habe jetzt mal dieses mit dem von der bash verglichen. Dort steht

export DH_VERBOSE=1

in der rules-Datei, das wirft dann etwas mehr aus.
Title: Re: Debian-Paket erstellen ohne dh?
Post by: hefee on 2014/01/20, 06:20:33
Dir sollte aber klar sein, dass wenn du einfach das debin/rules ausführst, dass er alle installierten Pakete im Prinzip mitverwenden kann. Es ist damit kein "sauberer build". Gerade wenn du wissen willst, ob ein Programm ein anderes referenziert, kann das problematisch sein.

Ansonsten sollten alle Änderungen am Orginal tarball in debian under debian/patches zu finden sein.
Title: Re: Debian-Paket erstellen ohne dh?
Post by: Tecumseh on 2014/01/20, 08:49:20
Quote from: hefee on 2014/01/20, 06:20:33
Dir sollte aber klar sein, dass wenn du einfach das debin/rules ausführst, dass er alle installierten Pakete im Prinzip mitverwenden kann. Es ist damit kein "sauberer build". Gerade wenn du wissen willst, ob ein Programm ein anderes referenziert, kann das problematisch sein.

Ansonsten sollten alle Änderungen am Orginal tarball in debian under debian/patches zu finden sein.
Ich baue mit
fakeroot debian/rules binary 1>/home/peter/mock_build.txt 2>/home/peter/mock_build2.txt

Ist das so nicht vorgesehen?
Man muss aber wissen was dh intern daraus macht, da hilft DH_VERBOSE schon recht gut.
Title: Re: Debian-Paket erstellen ohne dh?
Post by: agaida on 2014/01/20, 10:13:30
hefee wollte damit sagen, dass es besser ist, in einer build-chroot zu bauen (siehe sbuild oder pbuilder)