BEZEICHNUNG¶
debuild - baut ein Debian-Paket
ÜBERSICHT¶
debuild [
Debuild-Optionen] [
Dpkg-Buildpackage-Optionen] [
--lintian-opts Lintian-Optionen]
debuild [
Debuild-Optionen] --
binary|
binary-arch|
binary-indep|
clean …
BESCHREIBUNG¶
debuild erstellt alle Dateien, die zum Hochladen eines Debian-Pakets
nötig sind. Zuerst führt es
dpkg-buildpackage aus, dann
lintian für die erstellte
.changes-Datei (unter der
Annahme, dass
lintian installiert ist) und signiert schließlich
die
.changes- und/oder gegebenenfalls die
.dsc-Dateien (mittels
debsign(1) anstelle von
dpkg-buildpackage(1) selbst; alle
passenden Schlüsselsignierungsoptionen werden übergeben). An
dpkg-buildpackage und
lintian können Parameter
übergeben werden, wobei letztere mit der Option
--lintian-opts
angegeben werden. Die in diesem Fall erlaubten Optionen sind
--lintian
und
--no-lintian, um den Lintian-Schritt zu erzwingen beziehungsweise
zu überspringen. Standardmäßig wird
lintian
ausgeführt. Außerdem sind verschiedene Optionen für das
Setzen und Erhalten von Umgebungsvariablen verfügbar, wie nachfolgend
im Abschnitt »Umgebungsvariablen« beschrieben. Bei dieser
Methode
debuild auszuführen wird außerdem das
Bauprotokoll
../<Paket>_<Version>_<Architektur>.build
gesichert.
Eine alternative Möglichkeit,
debuild zu benutzen, besteht darin,
einen oder mehrere der Parameter
binary,
binary-arch,
binary-indep und
clean zu verwenden. In diesem Fall wird
debuild versuchen, Root-Rechte zu bekommen und dann
debian/rules
mit den angegebenen Parametern auszuführen. Um Root-Rechte zu bekommen,
kann eine der Optionen
--rootcmd=Befehl_um_Root_zu_werden oder
-rBefehl_um_Root_zu_werden benutzt werden.
Befehl_um_Root_zu_werden ist wahrscheinlich entweder
fakeroot,
sudo oder
super. Eine weitere Erörterung dieses Punkts
finden Sie nachfolgend. Wieder können die Optionen zum Erhalten der
Umgebung verwendet werden. In diesem Fall wird
debuild außerdem
versuchen, zuerst
dpkg-checkbuilddeps auszuführen; dies kann
explizit mittels der Optionen
-D beziehungsweise
-d angefordert
oder abgeschaltet werden. Beachten Sie außerdem, dass wenn entweder
eine dieser beiden oder eine
-r-Option in der Konfigurationsdateioption
DEBUILD_DPKG_BUILDPACKAGE_OPTS angegeben wurde, dies dann sogar in
dieser Aufrufmethode von
debuild erkannt wird.
debuild liest außerdem, wie nachfolgend beschrieben, die
devscripts-Konfigurationsdateien. Dies ermöglicht die Angabe von
Standardoptionen.
Prüfung von Verzeichnisnamen¶
Ebenso wie mehrere andere Skripte im Paket
devscripts wird
debuild
den Verzeichnisbaum emporsteigen, bis es eine
debian/changelog-Datei
findet. Als eine Schutzmaßnahme gegen verirrte Dateien, die potenziell
Probleme bereiten, wird es den Namen des übergeordneten Verzeichnisses
untersuchen, sobald es eine
debian/changelog-Datei findet und
prüfen, ob der Verzeichnisname dem Paketnamen entspricht. Wie dies
genau geschieht, wird durch die beiden Konfigurationsdateivariablen
DEVSCRIPTS_CHECK_DIRNAME_LEVEL und
DEVSCRIPTS_CHECK_DIRNAME_REGEX sowie ihre entsprechenden
Befehlszeilenoptionen
--check-dirname-level und
--check-dirname-regex geregelt.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL kann die folgenden Werte annehmen:
- 0
- prüft den Verzeichnisnamen nie.
- 1
- prüft den Verzeichnisnamen nur, falls in der Suche nach
debian/changelog das Verzeichnis gewechselt werden muss. Dies ist
das Standardverhalten.
- 2
- prüft den Verzeichnisnamen immer.
Der Verzeichnisname wird geprüft, indem getestet wird, ob der aktuelle
Verzeichnisname (wie er durch
pwd(1) bestimmt wurde) zum
regulären Ausdruck passt, der durch die Konfigurationsdateioption
DEVSCRIPTS_CHECK_DIRNAME_REGEX oder die Befehlszeilenoption
--check-dirname-regex regulärer_Ausdruck angegeben wurde.
Hierbei ist
regulärer_Ausdruck ein regulärer
Perl-Ausdruck (siehe
perlre(3perl)), der an den Anfang und das Ende
verankert wird. Falls
regulärer_Ausdruck ein »/«
enthält, muss er auf den vollständigen Verzeichnispfad passen.
Wenn nicht, dann muss er auf den vollständigen Verzeichnisnamen passen.
Falls
regulärer_Ausdruck die Zeichenkette
»PACKAGE« beinhaltet, wird diese durch den Namen des Quellpakets
ersetzt, wie er aus dem
Changelog bestimmt wird. Der vorgegebene Wert
für den regulären Ausdruck ist: »PACKAGE(-.+)?«,
daher entspricht er Verzeichnisnamen wie PACKAGE und PACKAGE-Version.
UMGEBUNGSVARIABLEN¶
As environment variables can affect the building of a package, often
unintentionally,
debuild sanitises the environment by removing all
environment variables except for
TERM,
HOME,
LOGNAME,
GNUPGHOME,
PGPPATH,
GPG_AGENT_INFO,
GPG_TTY,
DBUS_SESSION_BUS_ADDRESS,
FAKEROOTKEY,
DEBEMAIL,
DEB_ *, the (
C,
CPP,
CXX,
LD and
F)
FLAGS variables and their
_APPEND counterparts and the
locale variables
LANG and
LC_*.
TERM is set to
`dumb' if it is unset, and
PATH is set to
"/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11".
Falls erforderlich ist, dass eine bestimmte Umgebungsvariable unverändert
an den Bauprozess durchgeleitet wird, kann dies mittels einer
--preserve-envvar-
Umgebungsvariablen angegeben werden (dies
kann auch als Option
-e Umgebungsvariable geschrieben werden).
Die Umgebung kann mittels der Option
--preserve-env unverändert
belassen werden.
PATH wird jedoch sogar in diesem Fall auf den oben
beschriebenen vernünftigen Wert gesetzt. Die
einzige
Möglichkeit,
PATH vor dem Zurücksetzen zu bewahren,
besteht darin, eine
--preserve-envvar PATH-Option anzugeben. Seien Sie
aber gewarnt, dass die Benutzung von Programmen, die an Nichtstandardorten
liegen, leicht dazu führen kann, dass das Paket beschädigt ist,
da es nicht auf Standardsystemen gebaut werden kann.
Beachten Sie, dass Verzeichnisse mittels der Option
--prepend-path an den
Anfang des zurückgesetzten
PATH hinzugefügt werden
können. Dies ist nützlich, wenn zum Bauen die Verwendung von
Werkzeugen wie
ccache oder
distcc gewünscht wird.
Es ist außerdem möglich, zu verhindern, dass etwas wie
FOO=bar debuild -e FOO durch
Schreiben von
debuild -e FOO=bar oder der Langform
debuild --set-envvar FOO=bar getippt werden muss.
SUPERUSER-ANFORDERUNGEN¶
debuild muss als Superuser ausgeführt werden, um
ordnungsgemäß zu funktionieren. Es gibt grundlegend verschiedene
Arten, dies zu erreichen. Die erste und bevorzugte Methode besteht in der
Benutzung eines Befehls, um Root-Rechte zu erlangen. Es ist wahrscheinlich am
besten,
fakeroot(1) zu verwenden, da es nicht das Gewähren
echter Rechte beinhaltet.
super(1) und
sudo(1) sind weitere
Möglichkeiten. Falls keine
-r-Option (oder
--rootcmd)
angegeben wurde (und erinnern Sie sich daran, dass
dpkg-buildpackage
eine
-r-Option ebenfalls akzeptiert) und keine der folgenden Methoden
benutzt wird, dann wird stillschweigend von
-rfakeroot ausgegangen.
Die zweite Methode besteht darin, etwas wie
su(1) zu verwenden, um Root
zu werden, und dann alles als Root zu tun. Beachten Sie jedoch, dass
lintian abbrechen wird, falls es als Root oder Setuid-Root
ausgeführt wird; dies kann mittels der Option
--allow-root von
lintian verhindert werden, falls Sie wissen, was Sie tun.
Die dritte mögliche Methode ist, dass
debuild als Setuid-Root
installiert wurde. Dies ist nicht die Standardmethode und wird dergestalt vom
Systemadministrator installiert werden müssen. Es muss außerdem
erkannt werden, dass jedermann, der
debuild als Root oder Setuid-Root
ausführt,
vollen Zugriff auf den ganzen Rechner hat. Diese
Methode wird daher nicht empfohlen, wird aber funktionieren.
debuild
könnte mit den Rechten 4754 installiert werden, so dass es nur
Mitglieder der besitzenden Gruppe ausführen können. Ein Nachteil
dieser Methode wäre, dass andere Benutzer nicht in der Lage
wären, dieses Programm zu verwenden. Es gibt viele andere Varianten
dieser Option unter Einbeziehung mehrerer Kopien von
debuild oder der
Verwendung von Programmen wie
sudo oder
super, um
ausgewählten Anwendern Root-Rechte zu gewähren. Falls der
Systemadministrator dies tun möchte, sollte er das Programm
dpkg-statoverride benutzen, um die Rechte von
/usr/bin/debuild
zu ändern. Dies wird sicherstellen, dass diese Rechte über
Upgrades hinweg erhalten werden.
HOOKS¶
debuild supports a number of hooks when running
dpkg-buildpackage.
Note that the hooks
dpkg-buildpackage to
lintian (inclusive) are
passed through to
dpkg-buildpackage using its corresponding
--hook- name option. The available hooks are as follows:
- dpkg-buildpackage-hook
- wird ausgeführt bevor dpkg-buildpackage beginnt, indem
dpkg-checkbuilddeps aufgerufen wird.
- Hook is run inside the unpacked source.
- Corresponds to dpkg's init hook.
- clean-hook
- wird ausgeführt, bevor dpkg-buildpackage debian/rules
clean ausführt, um den Quellverzeichnisbaum zu bereinigen (wird
sogar ausgeführt, falls der Verzeichnisbaum nicht bereinigt wird,
da -nc verwendet wird).
- Hook is run inside the unpacked source.
- Corresponds to dpkg's preclean hook.
- dpkg-source-hook
- wird nach dem Bereinigen des Verzeichnisbaums und vor dem Ausführen
von dpkg-source ausgeführt (wird sogar ausgeführt,
falls dpkg-source nicht aufgerufen wird, da -b, -B
oder -A benutzt wird).
- Hook is run inside the unpacked source.
- Corresponds to dpkg's source hook.
- dpkg-build-hook
- wird nach dpkg-source und vor dem Aufruf von debian/rules
build ausgeführt (wird sogar ausgeführt, falls es sich
um das Bauen eines reinen Quellpakets handelt, wodurch debian/rules
build nicht aufgerufen wird).
- Hook is run inside the unpacked source.
- Corresponds to dpkg's build hook.
- dpkg-binary-hook
- wird zwischen debian/rules build und debian/rules
binary(-arch) ausgeführt. Läuft nur, falls
ein Binärpaket gebaut wird.
- Hook is run inside the unpacked source.
- Corresponds to dpkg's binary hook.
- dpkg-genchanges-hook
- wird nach dem Bau eines Binärpakets und vor dem Aufruf von
dpkg-genchanges ausgeführt.
- Hook is run inside the unpacked source.
- Corresponds to dpkg's changes hook.
- final-clean-hook
- wird nach dpkg-genchanges und vor dem abschließenden
debian/rules clean ausgeführt (wird sogar
ausgeführt, falls der Verzeichnisbaum nach dem Baunicht bereinigt
wird, was Standard ist).
- Hook is run inside the unpacked source.
- Corresponds to dpkg's postclean hook.
- lintian-hook
- wird (einmal) vor dem Aufruf von lintian ausgeführt (wird
sogar dann ausgeführt, wenn lintian nicht aufgerufen
wird).
- Hook is run from parent directory of unpacked source.
- Corresponds to dpkg's check hook.
- signing-hook
- wird nach dem Aufruf von lintian, bevor irgendwelche Signierung
erfolgt, ausgeführt (wird sogar dann ausgeführt, wenn nichts
signiert wird).
- Hook is run from parent directory of unpacked source.
- Corresponds to dpkg's sign hook, but is run by
debuild.
- post-dpkg-buildpackage-hook
- wird ausgeführt, nachdem alles beendet ist.
- Hook is run from parent directory of unpacked source.
- Corresponds to dpkg's done hook, but is run by
debuild.
Ein Hook-Befehl kann entweder in der Konfigurationsdatei angegeben werden, zum
Beispiel DEBUILD_SIGNING_HOOK='foo' (beachten Sie, dass Bindestriche in
Unterstriche geändert werden!) oder als eine
--signing-hook-foo-Befehlszeilenoption. Der Befehl führt
bestimmte Prozentzeichenersetzungen durch:
%% wird durch ein einzelnes
%-Zeichen ersetzt,
%p wird durch den Paketnamen ersetzt,
%v durch die Versionsnummer des Pakets,
%s durch die
Versionsnummer der Quelle und
%u durch die Versionsnummer der
Originalautoren. Weder
%s noch
%u werden eine Epoche enthalten.
%a wird
1 sein, falls die unmittelbar folgende Aktion
ausgeführt wird und
0 falls nicht (zum Beispiel wird
%a
im
dpkg-source-Hook
1 werden, falls
dpkg-source
ausgeführt werden soll und
0 falls nicht). Dann wird es zum
Erledigen an die Shell gereicht, daher kann es Weiterleitungen und
Ähnliches enthalten. Um zum Beispiel nur den
dpkg-source-Hook
auszuführen, falls
dpkg-source ausgeführt wird,
könnte der Hook etwas wie »if [ %a -eq 1 ]; then …;
fi« sein.
Bitte seien Sie mit Hooks vorsichtig, da ihre falsche Verwendung zu
Paketen führen kann, die nicht aus der Quelle gebaut werden
können (FTBFS/fail to build from source). Sie können
nützlich sein, um Momentaufnahmen von Dingen aufzuzeichnen oder
dergleichen.
OPTIONEN¶
Einzelheiten finden Sie oben.
- --no-conf, --noconf
- keine Konfigurationsdateien lesen, Dies kann nur als erste auf der
Befehlszeile angegebene Option benutzt werden.
- --rootcmd=Befehl-zum-Erlangen-von-Root-Rechten,
-rBefehl-zum-Erlangen-von-Root-Rechten
- Befehl zum Erlangen von Root- (oder Fake-Root-)Rechten
- --preserve-env
- bereinigt die Umgebung nicht, ausgenommen PATH.
- --preserve-envvar=Variable, -eVariable
- entfernt die Variable Variable nicht aus der Umgebung.
- Falls Variable mit einem Stern (»*«) endet, dann
werden alle Variablen, deren Namen zum Teil von Variable vor dem
Stern passen, erhalten.
- --set-envvar=Variable=Wert,
-eVariable =Wert
- setzt die Umgebungsvariable Variable auf Wert und entfernt
sie nicht aus der Umgebung.
- --prepend-path=Wert
- Sobald der normalisierte PATH gesetzt ist, wird ihm Wert
vorangestellt.
- --lintian
- führt lintian nach dpkg-buildpackage aus. Dies ist
das Standardverhalten und verkehrt alle Konfigurationsdateidirektiven ins
Gegenteil.
- --no-lintian
- führt lintian nicht nach dpkg-buildpackage aus.
- --no-tgz-check
- prüft nicht einmal, falls dpkg-buildpackage
ausgeführt wird und die Versionsnummer eine Debian-Revision hat, ob
die .orig.tar.gz-Datei oder das .orig-Verzeichnis existiert,
bevor das Bauen gestartet wird.
- --tgz-check
- prüft, falls dpkg-buildpackage ausgeführt wird und
die Versionsnummer eine Debian-Revision hat, ob die
.orig.tar.gz-Datei oder das .orig-Verzeichnis existiert,
bevor das Bauen gestartet wird. Dies ist das Standardverhalten.
- --username Benutzername
- verwendet beim Signieren debrsign anstelle von debsign.
Benutzername gibt die Legitimation an, die verwendet werden
soll.
- --foo-hook=Hook
- setzt einen Hook, wie oben beschrieben. Falls Hook leer ist,
entfernt dies den Hook.
- --clear-hooks
- bereinigt alle Hooks. Sie können später durch
Befehlszeilenoptionen wieder eingesetzt werden.
- --check-dirname-level N
- Die Erklärung dieser Option finden Sie im vorhergehenden Abschnitt
Prüfung von Verzeichnisnamen.
- --check-dirname-regex regulärer_Ausdruck
- Die Erklärung dieser Option finden Sie im vorhergehenden Abschnitt
Prüfung von Verzeichnisnamen.
- -d
- führt nicht dpkg-checkbuilddeps aus, um
Bauabhängigkeiten zu prüfen.
- -D
- führt dpkg-checkbuilddeps aus, um Bauabhängigkeiten
zu prüfen.
KONFIGURATIONSVARIABLEN¶
Die beiden Konfigurationsdateien
/etc/devscripts.conf und
~/.devscripts werden durch eine Shell in dieser Reihenfolge eingelesen,
um Konfigurationsvariablen zu setzen. Befehlszeilenoptionen können
benutzt werden, um einige der Konfigurationsdateieinstellungen außer
Kraft zu setzen, andernfalls kann die Option
--no-conf benutzt werden,
um das Lesen dieser Dateien zu vermeiden. Einstellungen aus Umgebungsvariablen
werden ignoriert, wenn diese Konfigurationsdateien gelesen werden. Die derzeit
erkannten Variablen sind:
- DEBUILD_PRESERVE_ENV
- Falls dies auf yes gesetzt ist, ist es so, als ob der
Befehlszeilenparameter --preserve-env benutzt würde.
- DEBUILD_PRESERVE_ENVVARS
- die Umgebungsvariablen, die erhalten werden sollen. Dies sollte eine durch
Kommas getrennte Variablenliste sein. Dies entspricht der Verwendung
mehrerer --preserve-envvar- oder -e-Optionen.
- DEBUILD_SET_ENVVAR_Variable=Wert
- Dies entspricht
--set-envvar=Variable=Wert.
- DEBUILD_PREPEND_PATH
- Dies entspricht --prepend-path.
- DEBUILD_ROOTCMD
- Diese Variable auf Programm zu setzen ist die Entsprechung von
-r Programm.
- DEBUILD_TGZ_CHECK
- Diese Variable auf no zu setzen ist dasselbe wie die
Befehlszeilenoption --no-tgz-check.
- DEBUILD_SIGNING_USERNAME
- Das Setzen dieser Variable entspricht der Benutzung der
Befehlszeilenoption --username.
- DEBUILD_DPKG_BUILDPACKAGE_OPTS
- Diese Optionen werden an den Aufruf von dpkg-buildpackage
weitergegeben werden. Sie werden vor allen anderen Befehlszeilenoptionen
übergeben. Falls eine Option ein Leerzeichen enthalten soll, muss
durch Verwendung zusätzlicher Anführungszeichen verhindert
werden, dass die Shell die Option in mehrere trennt. Um zum Beispiel
sicherzustellen, dass immer (auch beim Sponsern) Ihr eigener
GPG-Schlüssel verwendet wird, kann die Konfigurationsdatei folgende
Zeile enthalten:
-
DEBUILD_DPKG_BUILDPACKAGE_OPTS="-k'Julian Gilbey <jdg@debian.org>' -sa"
- die genau zwei Optionen angibt. Ohne die zusätzlichen einfachen
Anführungszeichen würde dpkg-buildpackage
berechtigterweise beklagen, dass Gilbey eine unbekannte Option ist
(es beginnt nicht mit einem --Zeichen).
- Falls diese Option eine -r-, -d- oder -D-Option
enthält, wird diese immer durch debuild
mitberücksichtigt. Beachten Sie, dass eine -r-Option in
dieser Variable die Einstellung DEBUILD_ROOTCMD außer Kraft
setzt.
- DEBUILD_FOO_HOOK
- die Hook-Variable für den Hook foo. Weitere Einzelheiten
finden Sie im vorhergehenden Abschnitt über Hooks.
Standardmäßig ist sie leer.
- DEBUILD_LINTIAN
- Soll lintian ausgeführt werden? Falls dies auf no
gesetzt ist, dann wird lintian nicht ausgeführt.
- DEBUILD_LINTIAN_OPTS
- Dies sind Optionen, die an den Aufruf von lintian übergeben
werden sollen. Sie werden vor jeder anderen Befehlszeilenoption angegeben.
Diese Variable wird verwendet, wie bei der Variablen
DEBUILD_DPKG_BUILDPACKAGE_OPTS beschrieben.
- DEVSCRIPTS_CHECK_DIRNAME_LEVEL,
DEVSCRIPTS_CHECK_DIRNAME_REGEX
- Die Erklärung dieser Variablen finden Sie im vorhergehenden
Abschnitt Prüfung von Verzeichnisnamen. Beachten Sie, dass
dies paketweite Konfigurationsvariablen sind und daher alle
devscripts-Skripte beeinflussen, die ihren Wert prüfen. Dies
wird in ihren jeweiligen Handbuchseiten und in devscripts.conf(5)
beschrieben.
BEISPIELE¶
Um Ihr eigenes Paket zu bauen, führen Sie einfach
debuild aus dem
Quellen-Verzeichnis aus.
dpkg-buildpackage(1)-Optionen können
auf der Befehlszeile übergeben werden.
Die typischen Befehlszeilenoptionen, um nur die binären Pakete zu bauen,
ohne die .changes-Datei (oder die nicht existierende .dsc-Datei) zu signieren:
-
debuild -i -us -uc -b
Ändern Sie das
-b in
-S, um nur ein Quellpaket zu bauen.
Ein Beispiel, das
lintian verwendet, um die erzeugten Pakete zu testen,
und diesem eine Option mitgibt:
-
debuild --lintian-opts -i
Beachten Sie hier die Reihenfolge der Optionen: Zuerst kommen die
debuild-Optionen, dann die von
dpkg-buildpackage, dann am Ende
die Prüferoptionen. (Und standardmäßig wird
lintian aufgerufen.) Falls Sie feststellen, dass Sie wiederholt die
selben
dpkg-buildpackage-Optionen benutzen, sollten Sie in Betracht
ziehen, die Konfigurationsdateioption
DEBUILD_DPKG_BUILDPACKAGE_OPTS zu
benutzen, wie oben beschrieben.
Um ein Paket für ein sponserndes Hochladen zu bauen, wobei
foobar_1.0-1.dsc und die jeweilige Quelldatei gegeben sind,
führen Sie Befehle wie die folgenden aus:
-
dpkg-source -x foobar_1.0-1.dsc
cd foobar-1.0
debuild -k0x12345678
wobei 0x12345678 durch Ihre GPG-Schlüsselkennung oder andere
Schlüsselbezeichner wie Ihre E-Mail-Adresse ersetzt wird.
Außerdem können Sie wieder die Konfigurationsdateioption
DEBUILD_DPKG_BUILDPACKAGE_OPTS wie oben beschrieben verwenden, um zu
vermeiden, dass Sie die Option
-k jedes Mal tippen müssen, wenn
Sie ein gesonsortes Hochladen durchführen.
SIEHE AUCH¶
chmod(1),
debsign(1),
dpkg-buildpackage(1),
dpkg-checkbuilddeps(1),
fakeroot(1),
lintian(1),
su(1),
sudo(1),
super(1),
devscripts.conf(5),
dpkg-statoverride(8)
AUTOR¶
Das ursprüngliche
debuild-Programm wurde von Christoph Lameter
<clameter@debian.org> geschrieben. Die aktuelle Version wurde von Julian
Gilbey <jdg@debian.org> verfasst.
ÜBERSETZUNG¶
Diese Übersetzung wurde mit dem Werkzeug
po4a
<
URL:https://po4a.alioth.debian.org/> durch Chris Leick
c.leick@vollbio.de im Juli 2012 erstellt und vom deutschen
Debian-Übersetzer-Team korrekturgelesen. Bitte melden Sie alle Fehler
in der Übersetzung an
debian-l10n-german@lists.debian.org oder
als Fehlerbericht an das Paket
devscripts. Sie können mit dem
folgenden Befehl das englische Original anzeigen »
man -L C
Abschnitt deutsche_Handbuchseite«.