Und das Drittel ist voll, nun folgt Teil zwölf von dreiunddreißig. VIele Grüße, Erik
#. type: textblock #: dh:107 msgid "" "Note that L</Completely empty targets> will be omitted in the listing " "above. This makes it a bit harder to spot as you are looking for the " "omission of a command name. But otherwise, the principle remains the same." msgstr "" "Beachten Sie, dass L</Komplett leere Ziele> im oberen Listing weggelassen " "wurde. Damit wird es etwas schwieriger zu finden, weil Sie nach der " "Weglassung eines Befehlsnamens suchen. Aber andererseits bleibt das Prinzip " "dasselbe."
#. type: =head2 #: dh:111 msgid "Caveats with hook targets and makefile conditionals" msgstr "Vorbehalte bei Hook-Zielen und Makefile-Bedingungen (conditionals)" #. type: textblock #: dh:113 msgid "" "If you choose to wrap a hook target in makefile conditionals, please be " "aware that B<dh> computes all the hook targets a head of time and caches the " "result for that run. Furthermore, the conditionals will be invoked again " "when B<dh> calls the hook target later and will assume the answer did not " "change." msgstr "" "Wenn Sie sich entscheiden, ein Hook-Target in Makefile-Bedingungen einzubetten, " "seien Sie sich bitte bewusst, dass B<dh> alle Hook-Targets im Voraus berechnet " "und die Rechenergebnisse zwischenspeichert. Darüber hinaus werden die " "Bedingungen später wieder ausgelöst, wenn B<dh> das Hook-Target aufruft, " "und es wird dabei davon ausgehen, dass sich die Ergebnisse nicht geändert haben." #. type: textblock #: dh:119 msgid "" "The parsing and caching I<often> happens before B<dh> knows whether it will " "build arch:any (-a) or/and arch:all (-i) packages, which can produce " "confusing results - especially when L<dh_listpackages(1)> is part of the " "conditional." msgstr "" "Die Auswertung und das Zwischenspeichern passieren I<oft> schon, bevor B<dh> " "weiß, ob es Pakete für arch:any (-a) und/oder arch:all (-i) bauen wird, und " "kann deswegen verwirrende Resultate erzielen – vor allem, wenn " "L<dh_listpackages(1)> Teil der Bedingung ist." #. type: textblock #: dh:124 msgid "" "Most of the problems can be avoided by making the hook target unconditional " "and then have the \"body\" be partially or completely conditional. As an " "example:" msgstr "" "Die meisten Probleme lassen sich vermeiden, indem das Hook-Ziel von " "Bedingungen befreit wird und danach der »body«-Teil teilweise oder komplett " "konditional gemacht wird. Beispielsweise:" #. type: verbatim #: dh:128 #, no-wrap msgid "" " # SIMPLE: It is well-defined what happens. The hook target\n" " # is always considered. The \"maybe run this\" bit is\n" " # conditional but dh_foo is definitely skipped.\n" " #\n" " # Note: The conditional is evaluated \"twice\" where its\n" " # influences what happens. Once when dh check which hook\n" " # targets exist and once when the override_dh_foo hook target\n" " # is run. If *either* times return false, \"maybe run this\"\n" " # is skipped.\n" " override_dh_foo:\n" " ifneq (...)\n" " maybe run this\n" " endif\n" "\n" msgstr "" " # EINFACH: Es ist durchdefiniert, was passieren wird. Das Hook-Ziel \n" " # wird immer berücksichtigt. Der »vielleicht ausführen«-Teil hat eine \n" " # Bedingung, aber dh_foo wird mit Sicherheit übersprungen.\n" " #\n" " # Hinweis: Der Bedingungsteil wird »zweimal« untersucht, bevor er \n" " # beeinflusst, was passiert. Einmal, wenn dh nachsieht, welche \n" " # Hook-Ziele vorkommen und das zweite Mal, wenn das Hook-Ziel override_dh_foo \n" " # ausgeführt wird. Falls *eines* davon FALSE zurückliefert, wird »vielleicht \n" " # ausführen« übersprungen.\n" " override_dh_foo:\n" " ifneq (…)\n" " vielleicht ausführen\n" " endif\n" "\n" #. type: verbatim #: dh:142 #, no-wrap msgid "" " # SIMPLE: This is also well-defined. The hook target is always\n" " # run and dh_bar is skipped. The \"maybe run this\" bit is\n" " # conditional as one might expect.\n" " #\n" " # Note: The conditional is still evaluated multiple times (in\n" " # different process each time). However, only the evaluation\n" " # that happens when the hook target is run influences what\n" " # happens.\n" " override_dh_bar:\n" " : # Dummy command to force the target to always be run\n" " ifneq (...)\n" " maybe run this\n" " endif\n" "\n" msgstr "" " # EINFACH: Dies hier ist genaus durchdefiniert. Das Hook-Ziel wird immer \n" " # ausgeführt und dh_bar wird übersprungen. Der »vielleicht ausführen«-Teil ist \n" " # bedingt, so wie man es erwarten würde.\n" " #\n" " # Hinweis: Die Bedingung wird trotzdem mehrmals überprüft (jedes \n" " # Mal in einem anderen Prozess). Nur die Untersuchung während des \n" " # Laufs des Hook-Ziels beeinflusst, was passiert.\n" " override_dh_bar:\n" " : # Scheinbefehl, der erzwingt, dass das Ziel immer ausgeführt wird\n" " ifneq (…)\n" " vielleicht ausführen\n" " endif\n" "\n" #. type: verbatim #: dh:157 #, no-wrap msgid "" " # COMPLICATED: This case can be non-trivial and have sharp edges.\n" " # Use at your own peril if dh_listpackages in the conditional.\n" " #\n" " # Here, either dh_baz is run normally OR \"maybe run this\" is run\n" " # instead.\n" " #\n" " # And it gets even more complicated to reason about if dh needs to\n" " # recurse into debian/rules because you have an \"explicit\"\n" " # standard target (e.g. a \"build-arch:\" target separate from \"%:\").\n" " ifneq (...)\n" " override_dh_baz:\n" " maybe run this\n" " endif\n" "\n" msgstr "" " # KOMPLIZIERT: Dieser Fall ist ggf. nicht trivial und hat seine Haken.\n" " # Benutzen Sie es auf eigene Verantwortung, wenn dh_listpackages in der Bedingung steckt.\n" " #\n" " # Hier wird entweder dh_baz normal ODER stattdessen »vielleicht ausführen« ausgeführt.\n" " #\n" " # Es wird noch komplizierter, wenn die Frage aufkommt, ob dh in \n" " # debian/rules rekursiv arbeiten muss, weil Sie ein »explicit« Standardziel \n" " # (z. B. ein »build-arch:«-Ziel, das von »%:« getrennt ist) haben.\n" " ifneq (…)\n" " override_dh_baz:\n" " vielleicht ausführen\n" " endif\n" "\n" #. type: textblock #: dh:171 msgid "" "These recipes are also relevant for conditional dependency targets, which " "are often seen in a variant of the following example:" msgstr "" "Diese Rezepte funktionieren auch bei bedingten Abhängigkeitszielen, die " "oft in einer Abwandlung des folgenden Beispiels anzutreffen sind:" #. type: verbatim #: dh:174 #, no-wrap msgid "" " COND_TASKS =\n" " ifneq (...)\n" " COND_TASKS += maybe-run-this\n" " endif\n" " ...\n" "\n" msgstr "" " COND_TASKS =\n" " ifneq (…)\n" " COND_TASKS += vielleicht-ausführen\n" " endif\n" " …\n" "\n" #. type: verbatim #: dh:180 #, no-wrap msgid "" " maybe-run-this:\n" " ...\n" "\n" msgstr "" " vielleicht-ausführen:\n" " …\n" "\n" #. type: verbatim #: dh:183 #, no-wrap msgid "" " # SIMPLE: It is well-defined what happens. Either the\n" " # $(COND_TASKS) are skipped or run.\n" " #\n" " # Note: The conditional is evaluated \"twice\" where its\n" " # influences what happens. Once when dh check which hook\n" " # targets exist and once when the override_dh_foo hook target\n" " # is run. If *either* times return false, $(COND_TASKS)\n" " # is skipped.\n" " override_dh_foo: $(COND_TASKS)\n" "\n" msgstr "" " # EINFACH: Es ist durchdefiniert, was passiert. Die \n" " # $(COND_TASKS) werden entweder übersprungen oder nicht.\n" " #\n" " # Hinweis: Die Bedingung wird »zweimal« überprüft und beeinflusst immer, \n" " # was passiert. Einmal, wenn dh nachsieht, welche Hook-Ziele \n" " # vorhanden sind, und einmal, wenn das Hook-Ziel override_dh_foo \n" " # ausgeführt wird. Wenn bei *einem* der beiden Male ein FALSE " " # zurückgeliefert wird, wird $(COND_TASKS) übersprungen\n" " override_dh_foo: $(COND_TASKS)\n" "\n" #. type: verbatim #: dh:194 #, no-wrap msgid "" " # SIMPLE: This is also well-defined. The hook target is always\n" " # run and dh_bar is skipped. The $(COND_TASKS) bit is\n" " # conditional as one might expect.\n" " #\n" " # Note: The conditional is still evaluated multiple times (in\n" " # different process each time). However, only the evaluation\n" " # that happens when the hook target is run influences what\n" " # happens.\n" " override_dh_bar: $(COND_TASKS)\n" " : # Dummy command to force the target to always be run\n" "\n" msgstr "" " # EINFACH: Dieses hier ist genauso durchdefiniert. Das Hook-Ziel \n" " # wird ausgeführt und dh_bar wird übersprungen. Der $(COND_TASKS)-Teil \n" " # ist so bedingt wie man erwarten würde.\n" " #\n" " # Hinweis: Die Bedingung wird trotzdem mehrmals überprüft (jedes " " # Mal in einem anderen Prozess. Nur die Überprüfung während des Laufs des \n" " # Hook-Ziels beeinflusst, was passiert.\n" " override_dh_bar: $(COND_TASKS)\n" " : # Scheinbefehl, der das Ziel zwingt, immer ausgeführt zu werden\n" "\n" #. type: verbatim #: dh:205 #, no-wrap msgid "" " # COMPLICATED: This case can be non-trivial and have sharp edges.\n" " # Use at your own peril if dh_listpackages in the conditional.\n" " #\n" " ifneq (...)\n" " override_dh_baz: $(COND_TASKS)\n" " endif\n" "\n" msgstr "" " # KOMPLIZIERT: Dieser Fall kann kompliziert sein und seine Haken haben.\n" " # Verwenden Sie es auf Ihre eigene Verantwortung, wenn dh_listpackages in der Bedingung vorkommt.\n" " #\n" " ifneq (…)\n" " override_dh_baz: $(COND_TASKS)\n" " endif\n" "\n" #. type: textblock #: dh:213 msgid "" "When in doubt, pick the relevant B<SIMPLE> case in the examples above that " "match your need." msgstr "" "Im Zweifelsfall suchen Sie sich eins der B<EINFACHEN> Fallbeispiele aus, " "welches zu Ihrem Bedarf passt." #. type: =head1 #: dh:216 dh_auto_build:32 dh_auto_clean:33 dh_auto_configure:35 #: dh_auto_install:46 dh_auto_test:34 dh_bugfiles:53 dh_builddeb:34 dh_clean:49 #: dh_compress:52 dh_dwz:26 dh_fixperms:40 dh_gconf:42 dh_gencontrol:38 #: dh_icons:33 dh_install:69 dh_installcatalogs:56 dh_installchangelogs:71 #: dh_installcron:43 dh_installdeb:100 dh_installdebconf:64 dh_installdirs:45 #: dh_installdocs:93 dh_installemacsen:56 dh_installexamples:44 #: dh_installifupdown:42 dh_installinfo:41 dh_installinit:78 #: dh_installinitramfs:43 dh_installlogcheck:45 dh_installlogrotate:25 #: dh_installman:86 dh_installmanpages:43 dh_installmenu:44 #: dh_installmodules:41 dh_installpam:34 dh_installppp:38 dh_installudev:34 #: dh_installwm:41 dh_link:69 dh_makeshlibs:67 dh_md5sums:31 dh_movefiles:41 #: dh_perl:34 dh_prep:29 dh_shlibdeps:30 dh_strip:38 dh_testdir:26 #: dh_usrlocal:50 dh_systemd_enable:83 dh_systemd_start:33 msgid "OPTIONS" msgstr "OPTIONEN" #. type: =item #: dh:220 msgid "B<--with> I<addon>[B<,>I<addon> ...]" msgstr "B<--with> I<Erweiterung>[B<,>I<Erweiterung> …]" #. type: textblock #: dh:222 msgid "" "Add the debhelper commands specified by the given addon to appropriate " "places in the sequence of commands that is run. This option can be repeated " "more than once, or multiple addons can be listed, separated by commas. This " "is used when there is a third-party package that provides debhelper " "commands. See the F<PROGRAMMING> file for documentation about the sequence " "addon interface." msgstr "" "fügt die Debhelper-Befehle, die durch die genannte Erweiterung angegeben wurden " "an geeigneten Stellen der ausgeführten Befehlssequenz hinzu. Diese " "Option kann mehr als einmal wiederholt werden oder es können mehrere Erweiterungen " "durch Kommas getrennt aufgeführt werden. Dies wird benutzt, wenn es ein " "Fremdpaket gibt, das Debhelper-Befehle bereitstellt. Dokumentation über die " "Sequenz-Erweiterungsschnittstelle finden Sie in der Datei F<PROGRAMMING>." #. type: textblock #: dh:229 msgid "" "A B<Build-Depends> relation on the package B<dh-sequence->I<addon> implies a " "B<--with> I<addon>. This avoids the need for an explicit B<--with> in " "F<debian/rules> that only duplicates what is already declared via the build " "dependencies in F<debian/control>. The relation can (since 12.5) be made " "optional via e.g. build-profiles. This enables you to easily disable an " "addon that is only useful with certain profiles (e.g. to facilitate " "bootstrapping)." msgstr "" "Eine B<Build-Depends>-Beziehung zum Paket B<dh-sequence->I<Erweiterung> " "setzt eine B<--with>-I<Erweiterung> voraus. Das vermeidet, dass ein " "explizites B<--with> in F<debian/rules> benötigt wird, das nur " "dupliziert, was bereits über die Bauabhängigkeiten in F<debian/control> " "erklärt wurde. Die Beziehung kann (seit 12.5) optional gemacht werden, z. B. " "über Bauprofile. Dies versetzt Sie in die Lage, einfach eine Erweiterung zu " "deaktivieren, die nur zu einem bestimmten Profil passt (z. B. um " "Bootstrapping zu erleichtern)." #. type: textblock #: dh:238 msgid "" "Since debhelper 12.5, addons can also be activated in B<indep>-only mode " "(via B<Build-Depends-Indep>) or B<arch>-only mode (via B<Build-Depends-" "Arch>). Such addons are only active in the particular sequence (e.g. " "B<binary-indep>) which simplifies dependency management for cross-builds." msgstr "" "Ab Debhelper 12.5 können Erweiterungen auch im reinen B<indep>-Modus (über " "B<Build-Depends-Indep>) oder reinen B<arch>-Modus (über B<Build-Depends-" "Arch>) aktiviert werden. Derartige Erweiterungen sind nur in der bestimmten " "Sequenz aktiv (z. B. B<binary-indep>), die Abhängigkeitsverwaltung für Cross-" "Bauen vereinfachen." #. type: textblock #: dh:244 msgid "" "Please note that addons activated via B<Build-Depends-Indep> or B<Build-" "Depends-Arch> are subject to additional limitations to ensure the result is " "deterministic even when the addon is unavailable (e.g. during clean). This " "implies that some addons are incompatible with these restrictions and can " "only be used via B<Build-Depends> (or manually via F<debian/rules>). " "Currently, such addons can only add commands to sequences." msgstr "" "Bitte beachten Sie, dass Erweiterungen, die über B<Build-Depends-Indep> oder " "B<Build-Depends-Arch> aktiviert wurden, zusätzlichen Beschränkungen unterliegen, " "die sicherzustellen, dass das Ergebnis sogar dann deterministisch ist, wenn die " "Erweiterung nicht verfügbar ist (z. B. während des Aufräumens). Dies " "impliziert, dass einige Erweiterungen mit diesen Beschränkungen inkompatibel " "sind und nur über B<Build-Depends> (oder manuell ber F<debian/rules>) " "benutzt werden können. Derzeit können derartige Erweiterungen nur Befehle " "zu Sequenzen hinzufügen." #. type: =item #: dh:252 msgid "B<--without> I<addon>" msgstr "B<--without> I<Erweiterung>" #. type: textblock #: dh:254 msgid "" "The inverse of B<--with>, disables using the given addon. This option can be " "repeated more than once, or multiple addons to disable can be listed, " "separated by commas." msgstr "" "das Gegenteil von B<--with>, deaktiviert die Benutzung der angegebenen Erweiterung. " "Diese Option kann mehrfach wiederholt werden oder es können mehrere Erweiterungen " "zum Deaktivieren durch Kommas getrennt aufgelistet werden." #. type: textblock #: dh:260 msgid "List all available addons." msgstr "listet alle verfügbaren Erweiterungen auf." #. type: textblock #: dh:262 msgid "" "When called only with this option, B<dh> can be called from any directory (i." "e. it does not need access to files from a source package)." msgstr "" "Wenn es nur mit dieser Option aufgerufen wird, kann B<dh> aus jedem " "Verzeichnis aufgerufen werden (d.h. es benötigt keinen Zugriff auf Dateien " "aus einem Quellpaket)." #. type: textblock #: dh:268 msgid "" "Prints commands that would run for a given sequence, but does not run them." msgstr "" "gibt Befehle aus, die für eine angegebene Sequenz ausgeführt würden, führt " "sie aber nicht aus" #. type: textblock #: dh:270 msgid "" "Note that dh normally skips running commands that it knows will do nothing. " "With --no-act, the full list of commands in a sequence is printed." msgstr "" "Beachten Sie, dass dh normalerweise die Ausführung von Befehlen, von denen " "es weiß, dass sie nichts tun, überspringt. Mit »--no-act« wird die " "vollständige Liste der Befehle der Reihe nach ausgegeben." #. type: textblock #: dh:275 msgid "" "Other options passed to B<dh> are passed on to each command it runs. This " "can be used to set an option like B<-v> or B<-X> or B<-N>, as well as for " "more specialised options." msgstr "" "Andere an B<dh> übergebene Optionen werden an jeden Befehl, den es ausführt, " "weitergereicht. Damit kann eine Option wie B<-v>, B<-X> oder B<-N> sowie " "spezialisiertere Optionen gesetzt werden." #. type: =head1 #: dh:279 dh_install:332 dh_installdocs:184 dh_installman:117 dh_link:91 #: dh_makeshlibs:185 dh_shlibdeps:78 msgid "EXAMPLES" msgstr "BEISPIELE" #. type: textblock #: dh:281 msgid "" "To see what commands are included in a sequence, without actually doing " "anything:" msgstr "" "Um zu sehen, welche Befehle in einer Sequenz enthalten sind, ohne " "tatsächlich etwas zu tun, geben Sie Folgendes ein:" #. type: verbatim #: dh:284 #, no-wrap msgid "" "\tdh binary-arch --no-act\n" "\n" msgstr "" "\tdh binary-arch --no-act\n" "\n" #. type: textblock #: dh:286 msgid "" "This is a very simple rules file, for packages where the default sequences " "of commands work with no additional options." msgstr "" "Dies ist eine sehr einfache »rules«-Datei für Pakete, bei denen die vorgegebenen " "Befehlssequenzen ohne zusätzliche Optionen arbeiten." #. type: verbatim #: dh:289 dh:296 dh:310 dh:323 dh:334 dh:392 dh:403 #, no-wrap msgid "" "\t#!/usr/bin/make -f\n" "\t%:\n" "\t\tdh $@\n" "\n" msgstr "" "\t#!/usr/bin/make -f\n" "\t%:\n" "\t\tdh $@\n" "\n" #. type: textblock #: dh:293 msgid "" "Often you'll want to pass an option to a specific debhelper command. The " "easy way to do with is by adding an override target for that command." msgstr "" "Oft möchten Sie eine Option an einen speziellen Debhelper-Befehl übergeben. " "Der einfachste Weg, dies zu tun, besteht darin, ein Aufhebungsziel für " "diesen Befehl hinzuzufügen." #. type: verbatim #: dh:300 #, no-wrap msgid "" "\toverride_dh_strip:\n" "\t\tdh_strip -Xfoo\n" "\n" msgstr "" "\toverride_dh_strip:\n" "\t\tdh_strip -Xfoo\n" "\n" #. type: verbatim #: dh:303 #, no-wrap msgid "" "\toverride_dh_auto_configure:\n" "\t\tdh_auto_configure -- --with-foo --disable-bar\n" "\n" msgstr "" "\toverride_dh_auto_configure:\n" "\t\tdh_auto_configure -- --with-foo --disable-bar\n" "\n" #. type: textblock #: dh:306 msgid "" "Sometimes the automated L<dh_auto_configure(1)> and L<dh_auto_build(1)> " "can't guess what to do for a strange package. Here's how to avoid running " "either and instead run your own commands." msgstr "" "Manchmal ist ein Paket den L<dh_auto_configure(1)> und " "L<dh_auto_build(1)> so fremd, dass sie nicht automaitsch einschätzen " "können, was daran zu machen ist. Um ihre Ausführung zu verhindern " "und stattdessen Ihre eigenen Befehle einzusetzen, schreiben Sie Folgendes: " #. type: verbatim #: dh:314 #, no-wrap msgid "" "\toverride_dh_auto_configure:\n" "\t\t./mondoconfig\n" "\n" msgstr "" "\toverride_dh_auto_configure:\n" "\t\t./mondoconfig\n" "\n" #. type: verbatim #: dh:317 #, no-wrap msgid "" "\toverride_dh_auto_build:\n" "\t\tmake universe-explode-in-delight\n" "\n" msgstr "" "\toverride_dh_auto_build:\n" "\t\tmach-dass-sich-das-Universum-in-Wohlgefallen-auflöst\n" "\n" #. type: textblock #: dh:320 msgid "" "Another common case is wanting to do something manually before or after a " "particular debhelper command is run." msgstr "" "Ein weiterer häufiger Fall ist, dass Sie vor oder nach der Ausführung eines " "besonderen Debhelper-Befehls manuell etwas tun möchten." #. type: verbatim #: dh:327 #, no-wrap msgid "" "\t# Example assumes debhelper/12.8 and compat 10+\n" "\texecute_after_dh_fixperms:\n" "\t\tchmod 4755 debian/foo/usr/bin/foo\n" "\n" msgstr "" "\t# Beispiel geht von Debhelper/12.8 und Kompatibilitätsstufe 10+ aus\n" "\texecute_after_dh_fixperms:\n" "\t\tchmod 4755 debian/foo/usr/bin/foo\n" "\n" #. type: textblock #: dh:331 msgid "" "If you are on an older debhelper or compatibility level, the above example " "would have to be written as." msgstr "" "Falls Sie auf einer älteren Debhelper-Kompatibilitätsstufe sind, würde das " "Beispiel wie folgt aussehen:" #. type: verbatim #: dh:338 #, no-wrap msgid "" "\t# Older debhelper versions or using compat 9 or lower.\n" "\toverride_dh_fixperms:\n" "\t\tdh_fixperms\n" "\t\tchmod 4755 debian/foo/usr/bin/foo\n" "\n" msgstr "" "\t# ältere Debhelper-Versionen oder Verwendung von Kompatibilitätsstufe 9\n" "\t#und niedriger\n" "\toverride_dh_fixperms:\n" "\t\tdh_fixperms\n" "\t\tchmod 4755 debian/foo/usr/bin/foo\n" "\n"