Detlef Graef <
d.g...@spamfence.net> writes:
> Die debian.rules Datei dazu sieht so aus:
>
>>------------------------------
> #!/usr/bin/make all
>
> %:
> dh $@
>>------------------------------
>
> In der Make-Datei des Quellpaketes wird mit dem Ziel "all" das Binary
> gebaut.
>
> Das Log auf dem openSUSE Build Service endet folgendermassen:
>
> [ 330s] Build successfully completed.
> [ 330s] make[2]: Leaving directory '/usr/src/packages/BUILD/src'
> [ 330s] make[1]: Leaving directory '/usr/src/packages/BUILD/src'
> [ 330s] make: Nothing to be done for 'debian/rules'.
> [ 330s] make: *** No rule to make target 'build'. Stop.
> [ 330s] dpkg-buildpackage: error: debian/rules build subprocess
> returned exit status 2
> [ 330s]
>
> Debhelper (dh) ruft wohl "make build" auf. Kann ich das unterbinden?
>
> In der manpage zu dh steht, dass es möglich ist Befehle aus der Sequenz
> zu unterbinden/ersetzen.
Das ist moeglich[*], aber hier unrelevant: Bis auf die vermurkste
Shebang-Zeile ist das ein "standard" debhelper Makefile.
%:
dh $@
ist eine Wildcard-Regel, die jedes beliebige Ziel dadurch zu erzeugen
versucht, dass dh <zielname> ausgefuehrt wird. Eine "No rule to make
..."-Meldung kann deswegen fuer diese Datei nie woertlich Sinn ergeben.
[*] Dafuer muesste man ein sogenanntes override-Ziel definieren. Ein
debhelper-Verarbeitungsschritt korrespondiert mit einem Skript
dh_<schrittname> und den Namen des zugehoeren override-Ziels bekommt man
dadurch, dass man noch ein override_ davorsetzt. Fuer den konkreten Fall
waere das also
override_dh_build:
Wenn die Kommandoliste fuer eine solches Ziel nicht leer ist, werden
diese Kommandos anstelle des dh-Skripts fuer diesen Schritt ausgefuehrt.