packaging-tutorial 0.27 - en to de translation catalogue (556 entries)

note: Translators: change debiantutorial to debiantutorial.$lang to use translated file, and append to this string all commands to load localisation packages, e.g.: \\usepackage{debiantutorial.fr} \\usepackage[french]{babel} \\frenchsetup{...} type: Plain text
en: \usepackage{debiantutorial}
de: \usepackage{debiantutorial.de} \usepackage[german]{babel}

note: type: title{#2}
en: Debian Packaging Tutorial
de: Debian-Paketier-Anleitung

note: type: frame{#2}
en: About this tutorial
de: Über diese Anleitung

note: type: itemize
en: Goal: \textbf{tell you what you really need to know about Debian packaging}
de: Ziel: \textbf{Ihnen mitzuteilen, was Sie wirklich über das Paketieren für Debian wissen müssen}

note: type: itemize
en: Modify existing packages
de: Bestehende Pakete verändern

note: type: itemize
en: Create your own packages
de: Eigene Pakete erstellen

note: type: itemize
en: Interact with the Debian community
de: Mit der Debian-Gemeinschaft arbeiten

note: type: itemize
en: Become a Debian power-user
de: Werden Sie ein versierter Debian-Benutzer

note: type: itemize
en: Covers the most important points, but is not complete
de: Die wichtigsten Punkte werden abgedeckt, es ist aber nicht vollständig

note: type: itemize
en: You will need to read more documentation
de: Sie werden weitere Dokumentation lesen müssen

note: type: itemize
en: Most of the content also applies to Debian derivative distributions
de: Die meisten Inhalte passen auch auf von Debian abgeleitete Distributionen

note: type: itemize
en: That includes Ubuntu
de: Dazu gehört Ubuntu

note: type: frame{#2}
en: Outline
de: Gliederung

note: type: section{#2}
en: Introduction
de: Einleitung

note: type: textbf{#1}
en: GNU/Linux distribution
de: GNU/Linux-Distribution

note: type: itemize
en: 1st major distro developed ``openly in the spirit of GNU''
de: 1. größere Distribution, die »offen im Geiste von GNU« entwickelt wurde

note: type: itemize
en: \textbf{Non-commercial}, built collaboratively by over 1,000 volunteers
de: \textbf{Nicht kommerziell}, gemeinsam von über 1000 Freiwilligen gebaut

note: type: itemize
en: 3 main features:
de: 3 Hauptfunktionalitäten:

note: type: itemize
en: \textbf{Quality} -- culture of technical excellence\\ {\small\sl We release when it's ready}
de: \textbf{Qualität} -- Kultur der technischen Exzellenz\\ {\small\sl Wir veröffentlichen, wenn es fertig ist}

note: type: itemize
en: \textbf{Freedom} -- devs and users bound by the \textsl{Social Contract}\\ Promoting the culture of Free Software since 1993
de: \textbf{Freiheit} -- Entwickler und Benutzer sind durch den \textsl{Gesellschaftsvertrag} gebunden\\ Fördern der Kultur der Freien Software seit 1993

note: type: itemize
en: \textbf{Independence} -- no (single) company babysitting Debian\\ And open decision-making process (\textsl{do-ocracy} + \textsl{democracy})
de: \textbf{Unabhängigkeit} -- keine (einzelne) Firma beaufsichtigt Debian\\ Und offener Entscheidungsfindungsprozess (\textsl{do-ocracy} + \textsl{Demokratie})

note: type: itemize
en: \textbf{Amateur} in the best sense: done for the love of it
de: \textbf{Amateur} im besten Sinne: Mit Liebe erstellt

note: type: frame{#2}
en: Debian packages
de: Debian-Pakete

note: type: itemize
en: \textbf{.deb} files (binary packages)
de: \textbf{.deb}-Dateien (Binärpakete)

note: type: itemize
en: A very powerful and convenient way to distribute software to users
de: Ein sehr mächtiger und bequemer Weg, Software an Benutzer zu verteilen

note: type: itemize
en: One of the two most common package formats (with RPM)
de: Eines der beiden häufigsten Paketformate (mit RPM)

note: type: itemize
en: Universal:
de: Universell:

note: type: itemize
en: 30,000 binary packages in Debian\\ $\rightarrow$ most of the available free software is packaged in Debian!
de: 30.000 Binärpakete in Debian\\ $\rightarrow$ die meiste verfügbare freie Software ist für Debian paketiert!

note: type: itemize
en: For 12 ports (architectures), including 2 non-Linux (Hurd; KFreeBSD)
de: Für 12 Portierungen (Architekturen), darunter 2 neben Linux (Hurd; KFreeBSD)

note: type: itemize
en: Also used by 120 Debian derivative distributions
de: Wird auch von 120 von Debian abgeleiteten Distributionen verwandt

note: type: frame{#2}
en: The Deb package format
de: Das Deb-Paketformat

note: type: itemize
en: \texttt{.deb} file: an \texttt{ar} archive
de: \texttt{.deb}-Dateien: ein \texttt{ar}-Archiv

note: $ type: itemize
en: \texttt{debian-binary}: version of the deb file format, \texttt{"2.0\textbackslash{}n"}
de: \texttt{debian-binary}: Version des deb-Dateiformates, \texttt{"2.0\textbackslash{}n"}

note: type: itemize
en: \texttt{control.tar.gz}: metadata about the package\\ {\small \texttt{\textbf{control}, md5sums, (pre|post)(rm|inst), triggers, shlibs}, \ldots}
de: \texttt{control.tar.gz}: Metadaten über das Paket \\ {\small \texttt{\textbf{control}, md5sums, (pre|post)(rm|inst), triggers, shlibs}, \ldots}

note: type: itemize
en: \texttt{data.tar.gz}: data files of the package
de: \texttt{data.tar.gz}: Datendateien des Pakets

note: type: itemize
en: You could create your \texttt{.deb} files manually\\ {\footnotesize \url{http://tldp.org/HOWTO/html\_single/Debian-Binary-Package-Building-HOWTO/}}
de: Sie könnten Ihre \texttt{.deb}-Dateien manuell erstellen\\ {\footnotesize \url{http://tldp.org/HOWTO/html\_single/Debian-Binary-Package-Building-HOWTO/}}

note: type: itemize
en: But most people don't do it that way
de: Die meisten Leute machen das aber nicht so

note: type: textbf{#1}
en: This tutorial: create Debian packages, the Debian way
de: Diese Anleitung: Erstellen von Debian-Paketen, auf die Debian-Art

note: type: frame{#2}
en: Tools you will need
de: Folgende Werkzeuge benötigen Sie

note: type: itemize
en: A Debian (or Ubuntu) system (with root access)
de: Ein Debian- (oder Ubuntu-)System (mit root-Zugang)

note: type: itemize
en: Some packages:
de: Einige Pakete:

note: type: itemize
en: \textbf{build-essential}: has dependencies on the packages that will be assumed to be available on the developer's machine (no need to specify them in the \texttt{Build-Depends:} control field of your package)
de: \textbf{build-essential}: hat Abhängigkeiten auf Pakete, von denen angenommen wird, dass sie auf der Maschine eines Entwicklers vorhanden sind (sie müssen nicht im Steuerfeld \texttt{Build-Depends:} Ihres Paketes aufgeführt werden)

note: type: itemize
en: includes a dependency on \textbf{dpkg-dev}, which contains basic Debian-specific tools to create packages
de: enthält eine Abhängigkeit von \textbf{dpkg-dev}, das einige grundlegende Debian-spezifische Werkzeuge zum Erstellen von Paketen enthält

note: type: itemize
en: \textbf{devscripts}: contains many useful scripts for Debian maintainers
de: \textbf{devscripts}: Enthält viele nützliche Skripte für Debian-Betreuer

note: type: frame
en: Many other tools will also be mentioned later, such as \textbf{debhelper}, \textbf{cdbs}, \textbf{quilt}, \textbf{pbuilder}, \textbf{sbuild}, \textbf{lintian}, \textbf{svn-buildpackage}, \textbf{git-buildpackage}, \ldots\\ Install them when you need them.
de: Viele weitere Werkzeuge werden später erwähnt, wie \textbf{debhelper}, \textbf{cdbs}, \textbf{quilt}, \textbf{pbuilder}, \textbf{sbuild}, \textbf{lintian}, \textbf{svn-buildpackage}, \textbf{git-buildpackage}, \ldots\\ Installieren Sie diese, wenn Sie sie benötigen.

note: type: frame{#2}
en: General packaging workflow
de: Allgemeiner Paketierungsablauf

note: \draw[arr,->] (bin) -- (-1,-6) node[pos=0.5,left] {upload (\textttc{dput})}; hack hack hack type: tikzpicture
en: \node[node1] (www) at (0, 0) {Web}; \node[node1] (us) at (2.5, 0) {upstream source}; \node[node1] (da) at (-2.5, 0) {Debian mirror}; \node[node1] (sp) at (0, -2) {source package}; \draw[arr,<-,dashed,thick] (sp) -- (2.5,-2) node[right=0cm,text width=2.98cm,text centered,font=\small\sl] {where most of the manual work is done}; \node[node1] (bin) at (0, -4) {one or several binary packages}; \draw[arr,<-,dashed,thick] (bin) -- (3.5,-4) node[right,text centered,font=\small\ttfamily\sl] {.deb\normalfont}; \draw[arr,->] (us) -- (sp) node[pos=0.5,right,command] {dh\_make}; \draw[arr,->] (da) -- (sp) node[pos=0.5,left,command] {apt-get source}; \draw[arr,->] (www) -- (sp) node[pos=0.5,left,command] {dget}; \draw[arr,->] (sp) -- (bin) node[pos=0.5,right,text width=6cm] {\textttc{debuild} (build and test with \textttc{lintian}) or \textttc{dpkg-buildpackage}}; \draw[arr,->] (bin) -- (1,-6) node[pos=0.5,right] {install (\textttc{debi})}; \draw[transparent] (bin) -- (-1,-6) node[pos=0.5,left,opaque] {upload (\textttc{dput})}; \draw[arr,->,rounded corners] (bin) -- (-1,-6) -- (-4.5,-6) -- (-4.5,0) -- (da); \useasboundingbox (-4,-6) rectangle (6,0);
de: \node[node1] (www) at (0, 0) {Web}; \node[node1] (us) at (2.5, 0) {Originalquellen}; \node[node1] (da) at (-2.5, 0) {Debian-Spiegel}; \node[node1] (sp) at (0, -2) {Quellpaket}; \draw[arr,<-,dashed,thick] (sp) -- (2.5,-2) node[right=0cm,text width=2.98cm,text centered,font=\small\sl] {hier passiert die meiste manuelle Arbeit}; \node[node1] (bin) at (0, -4) {eins oder mehrere Binärpakete}; \draw[arr,<-,dashed,thick] (bin) -- (3.5,-4) node[right,text centered,font=\small\ttfamily\sl] {.deb\normalfont}; \draw[arr,->] (us) -- (sp) node[pos=0.5,right,command] {dh\_make}; \draw[arr,->] (da) -- (sp) node[pos=0.5,left,command] {apt-get source}; \draw[arr,->] (www) -- (sp) node[pos=0.5,left,command] {dget}; \draw[arr,->] (sp) -- (bin) node[pos=0.5,right,text width=6cm] {\textttc{debuild} (bauen und testen mit \textttc{lintian}) oder \textttc{dpkg-buildpackage}}; \draw[arr,->] (bin) -- (1,-6) node[pos=0.5,right] {install (\textttc{debi})}; \draw[transparent] (bin) -- (-1,-6) node[pos=0.5,left,opaque] {Hochladen (\textttc{dput})}; \draw[arr,->,rounded corners] (bin) -- (-1,-6) -- (-4.5,-6) -- (-4.5,0) -- (da); \useasboundingbox (-4,-6) rectangle (6,0);

note: type: subsection{#2}
en: Rebuilding dash
de: Dash neu bauen

note: type: frame{#2}
en: Example: rebuilding dash
de: Beispiel: Dash neu bauen

note: type: enumerate
en: Install packages needed to build dash, and devscripts\\ {\texttt{sudo apt-get build-dep dash}\\ (requires \texttt{deb-src} lines in \texttt{/etc/apt/sources.list})}\\ {\texttt{sudo apt-get install -{}-no-install-recommends devscripts fakeroot}}
de: Installieren Sie die zum Bau von Dash benötigten Pakete und Devscripts \\ {\texttt{sudo apt-get build-dep dash}\\ (benötigt \texttt{deb-src}-Zeilen in \texttt{/etc/apt/sources.list})}\\ {\texttt{sudo apt-get install -{}-no-install-recommends devscripts fakeroot}}

note: type: enumerate
en: Create a working directory, and get in it:\\ \texttt{mkdir /tmp/debian-tutorial ; cd /tmp/debian-tutorial}
de: Erstellen Sie ein Arbeitsverzeichnis und holen sie es:\\ \texttt{mkdir /tmp/debian-tutorial ; cd /tmp/debian-tutorial}

note: type: enumerate
en: Grab the \texttt{dash} source package\\ \texttt{apt-get source dash}\\ {\small (This needs you to have \texttt{deb-src} lines in your \texttt{/etc/apt/sources.list})}
de: Holen Sie das \texttt{dash}-Quellpaket\\ \texttt{apt-get source dash}\\ {\small (Dies setzt voraus, dass Sie \texttt{deb-src}-Zeilen in Ihrer \texttt{/etc/apt/sources.list} haben)}

note: type: enumerate
en: Build the package\\ {\texttt{cd dash-*\\ debuild -us -uc}} ~~~(\texttt{-us -uc} disables signing the package with GPG)
de: Bauen Sie das Paket\\ {\texttt{cd dash-*\\ debuild -us -uc}} ~~~(\texttt{-us -uc} deaktiviert die Paketsignatur mit GPG)

note: type: enumerate
en: Check that it worked
de: Überprüfen Sie, dass es funktioniert hat

note: type: itemize
en: There are some new \texttt{.deb} files in the parent directory
de: Im übergeordneten Verzeichnis sind einige neue \texttt{.deb}-Dateien

note: type: enumerate
en: Look at the \texttt{debian/} directory
de: Schauen Sie auf das \texttt{debian/}-Verzeichnis

note: type: itemize
en: That's where the packaging work is done
de: Hier passiert die Paketierungsarbeit

note: type: section{#2}
en: Creating source packages
de: Ein Quellpaket erstellen

note: type: subsection{#2}
en: Source packages basics
de: Grundlagen für Quellpakete

note: type: frame{#2}
en: Source package
de: Quellpaket

note: type: itemize
en: One source package can generate several binary packages\\ {\small e.g. the \texttt{\bfseries libtar} source generates the \texttt{\bfseries libtar0} and \texttt{\bfseries libtar-dev} binary packages}
de: Ein Quellpaket kann mehrere Binärpakete erstellen\\ {\small z.B. erstellen die Quellen \texttt{\bfseries libtar} die Binärpakete \texttt{\bfseries libtar0} und \texttt{\bfseries libtar-dev}.}

note: type: itemize
en: Two kinds of packages: (if unsure, use non-native)
de: Zwei Arten von Paketen: (falls unsicher, verwenden Sie \textsl{nicht} native)

note: type: itemize
en: Native packages: normally for Debian specific software (\textsl{dpkg}, \textsl{apt})
de: Native Pakete: Normalerweise für Debian-spezifische Software (\textsl{dpkg}, \textsl{apt})

note: type: itemize
en: Non-native packages: software developed outside Debian
de: Nicht native Pakete: Software, die außerhalb von Debian entwickelt wird

note: type: itemize
en: Main file: \texttt{.dsc} (meta-data)
de: Hauptdatei: \texttt{.dsc} (Metadaten)

note: type: itemize
en: Other files depending on the version of the source format
de: Andere Dateien, abhängig von der Version des Quellformats

note: type: itemize
en: 1.0 or 3.0 (native): \texttt{package\_version.tar.gz}
de: 1.0 oder 3.0 (nativ): \texttt{Paket\_version.tar.gz}

note: type: itemize
en: 1.0 (non-native):
de: 1.0 (nicht nativ):

note: type: itemize
en: \texttt{pkg\_ver.orig.tar.gz}: upstream source
de: \texttt{pkg\_ver.orig.tar.gz}: Originalquellen

note: type: itemize
en: \texttt{pkg\_debver.diff.gz}: patch to add Debian-specific changes
de: \texttt{Pkt\_Debver.diff.gz}: Patch, um Debian-spezifische Änderungen hinzuzufügen

note: type: itemize
en: \texttt{pkg\_debver.debian.tar.gz}: tarball with the Debian changes
de: \texttt{pkg\_debver.debian.tar.gz}: Tarball mit den Debian-Änderungen

note: type: frame
en: (See \texttt{dpkg-source(1)} for exact details)
de: (siehe \texttt{dpkg-source(1)} für exakte Details)

note: type: frame{#2}
en: Source package example (wget\_1.12-2.1.dsc)
de: Quellpaketbeispiel (wget\_1.12-2.1.dsc)

note: type: subsection{#2}
en: Retrieving source packages
de: Quellpakete holen

note: type: frame{#2}
en: Retrieving an existing source package
de: Ein existierendes Quellpaket holen

note: type: itemize
en: From the Debian archive:
de: Aus dem Debian-Archiv:

note: type: itemize
en: \texttt{apt-get source \textsl{package}}
de: \texttt{apt-get source \textsl{Paket}}

note: type: itemize
en: \texttt{apt-get source \textsl{package=version}}
de: \texttt{apt-get source \textsl{Paket=Version}}

note: type: itemize
en: \texttt{apt-get source \textsl{package/release}}
de: \texttt{apt-get source \textsl{Paket/Veröffentlichung}}

note: type: itemize
en: (You need \texttt{deb-src} lines in \texttt{sources.list})
de: (Sie benötigen \texttt{deb-src}-Zeilen in der \texttt{sources.list})

note: type: itemize
en: From the Internet:
de: Aus dem Internet:

note: type: itemize
en: \texttt{dget \textsl{url-to.dsc}}
de: \texttt{dget \textsl{url-zu.dsc}

note: type: itemize
en: \texttt{dget http://snapshot.debian.org/archive/debian-archive/\\20090802T004153Z/debian/dists/bo/main/source/web/\\ wget\_1.4.4-6.dsc}\\ (\href{http://snapshot.debian.org/}{\ttfamily snapshot.d.o} provides all packages from Debian since 2005)
de: \texttt{dget http://snapshot.debian.org/archive/debian-archive/\\20090802T004153Z/debian/dists/bo/main/source/web/\\ wget\_1.4.4-6.dsc}\\ (\href{http://snapshot.debian.org/}{\ttfamily snapshot.d.o} stellt alle Pakete aus Debian seit 2005 bereit)}

note: type: itemize
en: From the (declared) version control system:
de: Aus dem (angegebenen) Versionskontrollsystem:

note: type: itemize
en: \texttt{debcheckout \textsl{package}}
de: \texttt{debcheckout \textsl{Paket}}

note: type: itemize
en: Once downloaded, extract with \texttt{dpkg-source -x \textsl{file.dsc}}
de: Sobald es heruntergeladen ist, mittels \texttt{dpkg-source -x \textsl{Datei.dsc}} extrahieren

note: type: frame{#2}
en: Creating a basic source package
de: Ein einfaches Quellpaket erstellen

note: type: itemize
en: Download the upstream source\\ (\textsl{upstream source} = the one from the software's original developers)
de: Laden Sie die Originalquellen herunter\\ (\textsl{Originalquellen} = die Quellen von den ursprünglichen Entwicklern der Software)

note: type: itemize
en: Rename to \texttt{<\textsl{source\_package}>\_<\textsl{upstream\_version}>.orig.tar.gz}\\ (example: \texttt{simgrid\_3.6.orig.tar.gz})
de: Bennen Sie sie in \texttt{<\textsl{Quellpaket}>\_<\textsl{Originalversion}>.orig.tar.gz} um\\ (Beispiel: \texttt{simgrid\_3.6.orig.tar.gz})

note: type: itemize
en: Untar it
de: Entpacken Sie sie

note: type: itemize
en: Rename the directory to \texttt{<\textsl{source\_package}>-<\textsl{upstream\_version}>}\\ (example: \texttt{simgrid-3.6})
de: Bennen Sie das Verzeichnis in \texttt{<\textsl{Quellpaket}>-<\textsl{Originalversion}>} um\\ (Beispiel: \texttt{simgrid-3.6})

note: type: itemize
en: \texttt{cd \texttt{<\textsl{source\_package}>-<\textsl{upstream\_version}>} \&\& dh\_make}\\ (from the \textbf{dh-make} package)
de: \texttt{cd \texttt{<\textsl{Quellpaket}>-<\textsl{Originalversion}>} \&\& dh\_make}\\ (aus dem Paket \textbf{dh-make})

note: type: itemize
en: There are some alternatives to \texttt{dh\_make} for specific sets of packages: \textbf{dh-make-perl}, \textbf{dh-make-php}, \ldots
de: Es gibt einige Alternativen zu \texttt{dh\_make} für bestimmte Mengen von Paketen: \textbf{dh-make-perl}, \textbf{dh-make-php}, \ldots

note: type: itemize
en: \texttt{debian/} directory created, with a lot of files in it
de: \texttt{debian/}-Verzeichnis wird erstellt, mit vielen Dateien darin

note: type: frame{#2}
en: Files in debian/
de: Dateien in debian/

note: type: frame
en: All the packaging work should be made by modifying files in \texttt{debian/}
de: Die gesamte Paketierungsarbeit sollte darin bestehen, Dateien unter \texttt{debian/} zu verändern

note: type: itemize
en: Main files:
de: Hauptdateien:

note: type: itemize
en: \textbf{control} -- meta-data about the package (dependencies, etc.)
de: \textbf{control} -- Metadaten über das Paket (Abhängigkeiten, usw.)

note: type: itemize
en: \textbf{rules} -- specifies how to build the package
de: \textbf{rules} -- gibt an, wie das Paket gebaut wird

note: type: itemize
en: \textbf{copyright} -- copyright information for the package
de: \textbf{copyright} -- Copyright-Informationen für das Paket

note: type: itemize
en: \textbf{changelog} -- history of the Debian package
de: \textbf{changelog} -- Änderungsverlauf des Debian-Pakets

note: type: itemize
en: Other files:
de: Andere Dateien

note: type: itemize
en: dh\_install* targets\\ {\small *.dirs, *.docs, *.manpages, \ldots}
de: dh\_install*-Ziele\\ {\small *.dirs, *.docs, *.manpages, \ldots}

note: type: itemize
en: maintainer scripts\\ {\small *.postinst, *.prerm, \ldots}
de: Betreuer-Skripte\\ {\small *.postinst, *.prerm, \ldots}

note: type: itemize
en: patches/ -- if you need to modify the upstream sources
de: patches/ -- falls Sie die Originalquellen verändern müssen

note: type: itemize
en: Several files use a format based on RFC 822 (mail headers)
de: Verschiedene Dateien verwenden ein auf RFC 822 (E-Mail-Kopfzeilen) basierendes Format

note: type: itemize
en: Lists the Debian packaging changes
de: Führt die Debian-Paketierungsänderungen auf

note: type: itemize
en: Gives the current version of the package
de: Stellt die aktuelle Version des Pakets bereit

note: type: tikzpicture
en: \draw (0,0) node[above right] {\large 1.2.1.1-5}; \draw [decorate,decoration={brace}] (2,0) -- (1.45,0) node[at start,below,text width=1.6cm,text centered] {\small Debian revision}; \draw [decorate,decoration={brace}] (1.4,0) -- (0,0) node[midway,below,text width=1.6cm,text centered] { \small Upstream version};
de: \draw (0,0) node[above right] {\large 1.2.1.1-5}; \draw [decorate,decoration={brace}] (2,0) -- (1.45,0) node[at start,below,text width=1.6cm,text centered] {\small Debian-Revision}; \draw [decorate,decoration={brace}] (1.4,0) -- (0,0) node[midway,below,text width=1.6cm,text centered] { \small Original\-version};

note: % type: itemize
en: Edited manually or with \textttc{dch}
de: Manuell oder mit \textttc{dch} bearbeiten

note: type: itemize
en: Create a changelog entry for a new release: \textttc{dch -i}
de: Changelog-Eintrag für die neue Veröffentlichung erzeugen: \textttc{dch -i}

note: type: itemize
en: Special format to automatically close Debian or Ubuntu bugs\\ Debian: \texttt{Closes:~\#595268}; Ubuntu: \texttt{LP:~\#616929}
de: Spezielles Format, um automatisch Debian- oder Ubuntu-Fehler zu schließen:\\ Debian: \texttt{Closes:~\#595268}; Ubuntu: \texttt{LP:~\#616929}

note: type: itemize
en: Installed as \texttt{/usr/share/doc/\textit{package}/changelog.Debian.gz}
de: Installiert als \texttt{/usr/share/doc/\textit{Paket}/changelog.Debian.gz}

note: type: itemize
en: Package metadata
de: Paketmetadaten

note: type: itemize
en: For the source package itself
de: für das Quellpaket selbst

note: type: itemize
en: For each binary package built from this source
de: für jedes von diesen Quellen gebaute Binärpaket

note: type: itemize
en: Package name, section, priority, maintainer, uploaders, build-dependencies, dependencies, description, homepage, \ldots
de: Paketname, Abschnitt, Priorität, Betreuer, Uploaders, Bauabhängigkeiten, Abhängigkeiten, Beschreibung, Homepage, \ldots

note: type: itemize
en: Documentation: Debian Policy chapter 5\\ \url{https://www.debian.org/doc/debian-policy/ch-controlfields}
de: Dokumentation: Debian-Richtlinien Kapitel 5\\ \url{https://www.debian.org/doc/debian-policy/ch-controlfields}

note: type: frame{#2}
en: Architecture: all or any
de: Architecture: all oder any

note: type: frame
en: Two kinds of binary packages:
de: Es gibt zwei Arten von Binärpaketen:

note: type: itemize
en: Packages with different contents on each Debian architecture
de: Pakete, mit Inhalten, die für jede Architektur anders sind

note: type: itemize
en: Example: C program
de: Beispiel: C-Programm

note: type: itemize
en: Or, if it only works on a subset of architectures:\\ \texttt{Architecture:\ amd64 i386 ia64 hurd-i386}
de: Oder, falls es nur auf gewissen Architekturen funktioniert\\ \texttt{Architecture:\ amd64 i386 ia64 hurd-i386}

note: type: itemize
en: buildd.debian.org: builds all the other architectures for you on upload
de: buildd.debian.org: Baut alle anderen Architekturen für Sie nach einem Upload

note: type: itemize
en: Named \texttt{\textsl{package}\_\textsl{version}\_\textsl{architecture}.deb}
de: Benannt \texttt{\textsl{Paket}\_\textsl{Version}\_\textsl{Architektur}.deb}

note: type: itemize
en: Packages with the same content on all architectures
de: Pakete mit den gleichen Inhalten auf allen Architekturen

note: type: itemize
en: Example: Perl library
de: Beispiel: Perl-Bibliothek

note: type: itemize
en: Named \texttt{\textsl{package}\_\textsl{version}\_\textbf{all}.deb}
de: Benannt \texttt{\textsl{Paket}\_\textsl{Version}\_\textbf{all}.deb}

note: type: frame
en: A source package can generate a mix of \texttt{Architecture:\ any} and \texttt{Architecture:\ all} binary packages
de: Ein Quellpaket kann eine Mischung aus \texttt{Architecture:\ any}- und \texttt{Architecture:\ all}-Binärpaketen erstellen

note: type: itemize
en: Interface used to build Debian packages
de: Schnittstelle zum Bau von Debian-Paketen

note: type: itemize
en: Documented in Debian Policy, chapter 4.8\\ {\small \url{https://www.debian.org/doc/debian-policy/ch-source\#s-debianrules}}
de: Dokumentiert in den Debian-Richtlinien, Kapitel 4.8\\ {\small \url{https://www.debian.org/doc/debian-policy/ch-source\#s-debianrules}}

note: type: itemize
en: Required targets:
de: Benötigte Ziele:

note: type: itemize
en: \texttt{build, build-arch, build-indep}: should perform all the configuration and compilation
de: \texttt{build, build-arch, build-indep}: Sollte die gesamte Konfiguration und Übersetzung durchführen

note: type: itemize
en: \texttt{binary, binary-arch, binary-indep}: build the binary packages
de: \texttt{binary, binary-arch, binary-indep}: baut das Binärpaket

note: type: itemize
en: \texttt{dpkg-buildpackage} will call \texttt{binary} to build all the packages, or \texttt{binary-arch} to build only the \texttt{Architecture:~any} packages
de: \texttt{dpkg-buildpackage} wird \texttt{binary} aufrufen, um alle Pakete zu bauen oder \texttt{binary-arch}, um nur die \texttt{Architecture:~any}-Pakete zu bauen

note: type: itemize
en: \texttt{clean}: clean up the source directory
de: \texttt{clean}: bereinigt das Quellverzeichnis

note: type: subsection{#2}
en: Packaging helpers
de: Paketierungshelfer

note: type: frame{#2}
en: Packaging helpers -- debhelper
de: Paketierungshelfer -- Debhelper

note: type: itemize
en: You could write shell code in \texttt{debian/rules} directly
de: Sie könnten in \texttt{debian/rules} direkt Shell-Code schreiben

note: type: itemize
en: Better practice (used by most packages): use a \textsl{Packaging helper}
de: Besseres Vorgehen (wird von den meisten Paketen verwandt): verwenden Sie einen \textsl{Paketierungshelfer}

note: type: itemize
en: Most popular one: \textbf{debhelper} (used by 98\% of packages)
de: Beliebtester: \textbf{Debhelper} (von 98\% der Pakete verwandt)

note: type: itemize
en: Goals:
de: Ziele:

note: type: itemize
en: Factor the common tasks in standard tools used by all packages
de: Die häufigen Aufgaben in Standardwerkzeuge, die von allen Paketen verwandt werden, zusammenfassen

note: type: itemize
en: Fix some packaging bugs once for all packages
de: Einige Paketierungsfehler einmal für alle Pakete beheben

note: type: itemize
en: Called from \texttt{debian/rules}
de: Aus \texttt{debian/rules} heraus aufgerufen

note: type: itemize
en: Configurable using command parameters or files in \texttt{debian/}
de: Mittels Parametern oder Dateien in \texttt{debian/} konfigurierbar

note: type: itemize
en: {\footnotesize \ttfamily \textsl{package}.docs, \textsl{package}.examples, \textsl{package}.install, \textsl{package}.manpages, \ldots}
de: {\footnotesize \ttfamily \textsl{Paket}.docs, \textsl{Paket}.examples, \textsl{Paket}.install, \textsl{Paket}.manpages, \ldots}

note: type: itemize
en: Third-party helpers for sets of packages: \textbf{python-support}, \textbf{dh\_ocaml}, \ldots
de: Hilfsprogramme Dritter für Gruppen von Paketen: \textbf{python-support}, \textbf{dh\_ocaml}, \ldots

note: type: itemize
en: \texttt{debian/compat}: Debhelper compatibility version
de: \texttt{debian/compat}: Debhelper-Kompatibilitätsversion

note: type: itemize
en: Defines precise behaviour of dh\_*
de: Definiert das genaue Verhalten von dh\_*

note: type: itemize
en: New syntax: \texttt{Build-Depends: debhelper-compat (= 13)}
de: Neue Syntax: \texttt{Build-Depends: debhelper-compat (= 13)}

note: type: frame{#2}
en: debian/rules using debhelper (1/2)
de: debian/rules mittels debhelper (1/2)

note: type: lstlisting
en: build: 
            $(MAKE)
            #docbook-to-man debian/packagename.sgml > packagename.1
de: build: 
            $(MAKE)
            #docbook-to-man debian/Paketename.sgml > Paketname.1

note: type: frame{#2}
en: debian/rules using debhelper (2/2)
de: debian/rules mittels debhelper (2/2)

note: type: itemize
en: With debhelper, still a lot of redundancy between packages
de: Mit Debhelper, immer noch eine Menge an Redundanz zwischen Paketen

note: type: itemize
en: Second-level helpers that factor common functionality
de: Nachrangige Hilfsprogramme, die gemeinsam genutzte Funktionalität aufnehmen

note: type: itemize
en: E.g. building with \texttt{./configure \&\& make \&\& make install} or CMake
de: Z.B. Bauen mit \texttt{./configure \&\& make \&\& make install} oder CMake

note: type: itemize
en: Introduced in 2005, based on advanced \textsl{GNU make} magic
de: 2005 eingeführt, basierend auf fortgeschrittener \textsl{GNU make}-Magie

note: type: itemize
en: Documentation: \texttt{/usr/share/doc/cdbs/}
de: Dokumentation: \texttt{/usr/share/doc/cdbs/}

note: type: itemize
en: Support for Perl, Python, Ruby, GNOME, KDE, Java, Haskell, \ldots
de: Unterstützung für Perl, Python, Ruby, GNOME, KDE, Java, Haskell, \ldots

note: type: itemize
en: But some people hate it:
de: Aber manche Leute hassen es:

note: type: itemize
en: Sometimes difficult to customize package builds:\\ "\textsl{twisty maze of makefiles and environment variables}"
de: Manchmal schwer, Paketbau anzupassen:\\ "\textsl{Verzwicktes Labyrinth von Makefiles und Umgebungsvariablen}"

note: type: itemize
en: Slower than plain debhelper (many useless calls to \texttt{dh\_*})
de: Langsamer als einfacher Debhelper (viele unnütze Aufrufe von \texttt{dh\_*})

note: type: frame{#2}
en: Dh (aka Debhelper 7, or dh7)
de: Dh (lang Debhelper 7 oder dh7)

note: type: itemize
en: Introduced in 2008 as a \textsl{CDBS killer}
de: Eingeführt in 2008 als ein \textsl{CDBS-Mörder}

note: type: itemize
en: \textbf{dh} command that calls \texttt{dh\_*}
de: \textbf{dh}-Befehl, der \texttt{dh\_*} aufruft

note: type: itemize
en: Simple \textsl{debian/rules}, listing only overrides
de: Einfache \textsl{debian/rules}, enthält nur Aufhebungen

note: type: itemize
en: Easier to customize than CDBS
de: Einfacher als CDBS anzupassen

note: type: itemize
en: Doc: manpages (\texttt{debhelper(7)}, \texttt{dh(1)}) + slides from DebConf9 talk\\ \url{http://kitenet.net/~joey/talks/debhelper/debhelper-slides.pdf}
de: Dokumentation: Handbuchseiten (\texttt{debhelper(7)}, \texttt{dh(1)}) + Folien vom DebConf9-Vortrag\\ \url{http://kitenet.net/~joey/talks/debhelper/debhelper-slides.pdf}

note: source for stats: https://anonscm.debian.org/cgit/collab-qa/dhistory.git/ type: frame{#2}
en: Classic debhelper vs CDBS vs dh
de: Klassischer Debhelper vs. CDBS vs. dh

note: type: itemize
en: Mind shares:\\ Classic debhelper: 15\% \hskip 1em CDBS: 15\% \hskip 1em dh: 68\%
de: Marktanteil:\\ Klassischer Debhelper: 15\% \hskip 1em CDBS: 15\% \hskip 1em Dh: 68\%

note: type: itemize
en: Which one should I learn?
de: Welchen soll ich lernen?

note: type: itemize
en: Probably a bit of all of them
de: Wahrscheinlich ein bisschen von allen

note: type: itemize
en: You need to know debhelper to use dh and CDBS
de: Sie müssen Debhelper kennen, um Dh und CDBS zu benutzen

note: type: itemize
en: You might have to modify CDBS packages
de: Es könnte sein, dass Sie CDBS-Pakete ändern müssen

note: type: itemize
en: Which one should I use for a new package?
de: Welches sollte ich für ein neues Paket verwenden?

note: type: itemize
en: \textbf{dh} (only solution with an increasing mind share)
de: \textbf{dh} (einzige Lösung mit zunehmenden Marktanteil)

note: type: itemize
en: See \url{https://trends.debian.net/\#build-systems}
de: Siehe \url{https://trends.debian.net/\#build-systems}

note: type: section{#2}
en: Building and testing packages
de: Pakete bauen und testen

note: type: frame{#2}
en: Building packages
de: Pakete bauen

note: type: itemize
en: \textttc{apt-get build-dep mypackage}\\ Installs the \textsl{build-dependencies} (for a package already in Debian)\\ Or \textttc{mk-build-deps -ir} (for a package not uploaded yet)
de: \textttc{apt-get build-dep MeinPaket}\\ Installiert die \textsl{Bauabhängigkeiten} (für ein Paket, das bereits im Debian-Archiv ist)\\ Oder \textttc{mk-build-deps -ir} (für ein noch nicht hochgeladenes Paket)

note: type: itemize
en: \textttc{debuild}: build, test with \texttt{lintian}, sign with GPG
de: \textttc{debuild}: bauen, testen mit \texttt{lintian}, unterschreiben mit GPG

note: type: itemize
en: Also possible to call \textttc{dpkg-buildpackage} directly
de: Es ist auch möglich, \textttc{dpkg-buildpackage} direkt aufzurufen

note: type: itemize
en: Usually with \texttt{dpkg-buildpackage -us -uc}
de: Normalerweise mittels \texttt{dpkg-buildpackage -us -uc}

note: type: itemize
en: It is better to build packages in a clean \& minimal environment
de: Besser: Pakete in einer sauberen und minimalen Umgebung bauen

note: type: itemize
en: \textttc{pbuilder} -- helper to build packages in a \textsl{chroot}\\ Good documentation: \url{https://wiki.ubuntu.com/PbuilderHowto}\\ (optimization: \textttc{cowbuilder} \textttc{ccache} \textttc{distcc})
de: \textttc{pbuilder} -- Helfer, um Pakete in einer \textsl{Chroot} zu bauen\\ Gute Dokumentation: \url{https://wiki.ubuntu.com/PbuilderHowto}\\ (Optimierung: \textttc{cowbuilder} \textttc{ccache} \textttc{distcc})

note: type: itemize
en: \textttc{schroot} and \textttc{sbuild}: used on the Debian build daemons\\ (not as simple as \texttt{pbuilder}, but allows LVM snapshots\\ see: \url{https://help.ubuntu.com/community/SbuildLVMHowto} )
de: \textttc{schroot} und \textttc{sbuild}: von den Debian-Build-Daemons verwandt\\ (nicht so einfach wie \texttt{pbuilder}, erlaubt aber LVM-Schnappschüsse\\ siehe: \url{https://help.ubuntu.com/community/SbuildLVMHowto} )

note: type: itemize
en: Generates \texttt{.deb} files and a \texttt{.changes} file
de: Erstellt \texttt{.deb}-Dateien und eine \texttt{.changes}-Datei

note: type: itemize
en: \texttt{.changes}: describes what was built; used to upload the package
de: \texttt{.changes}: beschreibt, was gebaut wurde; beim Hochladen verwandt

note: type: frame{#2}
en: Installing and testing packages
de: Installieren und Testen von Paketen

note: type: itemize
en: Install the package locally: \textttc{debi} (will use \texttt{.changes} to know what to install)
de: Installieren Sie das Paket lokal: \textttc{debi} (wird \texttt{.changes} verwenden, um zu wissen, was installiert werden soll)

note: type: itemize
en: List the content of the package: \texttt{{\color{rouge}debc} ../mypackage<TAB>.changes}
de: Zeigen Sie den Inhalt des Pakets: \texttt{{\color{rouge}debc} ../meinPaket<TAB>.changes}

note: type: itemize
en: Compare the package with a previous version:\\ \texttt{{\color{rouge}debdiff} ../mypackage\_1\_*.changes ../mypackage\_2\_*.changes}\\ or to compare the sources:\\ \texttt{{\color{rouge}debdiff} ../mypackage\_1\_*.dsc ../mypackage\_2\_*.dsc}\\
de: Vergleichen Sie das Paket mit der vorherigen Version:\\ \texttt{{\color{rouge}debdiff} ../meinPaket\_1\_*.changes ../meinPaket\_2\_*.changes}\\ oder vergleichen Sie die Quellen:\\ \texttt{{\color{rouge}debdiff} ../meinPaket\_1\_*.dsc ../meinPaket\_2\_*.dsc}\\

note: type: itemize
en: Check the package with \texttt{lintian} (static analyzer):\\ \texttt{{\color{rouge}lintian} ../mypackage<TAB>.changes}\\ \texttt{lintian -i}: gives more information about the errors \\ \texttt{lintian -EviIL +pedantic}: shows more problems
de: Überprüfen Sie das Paket mit \texttt{lintian} (statische Analyse):\\ \texttt{{\color{rouge}lintian} ../meinPaket<TAB>.changes}\\ \texttt{lintian -i}: gibt weitere Informationen über die Fehler\\ \texttt{lintian -EviIL +pedantic}: zeigt weitere Probleme

note: type: itemize
en: Upload the package to Debian (\textttc{dput}) (needs configuration)
de: Laden Sie das Paket nach Debian hoch (\textttc{dput}) (benötigt Konfiguration)

note: type: itemize
en: Manage a private Debian archive with \textttc{reprepro} or \textttc{aptly}\\ Documentation: \url{https://wiki.debian.org/HowToSetupADebianRepository}
de: Betreiben Sie ein privates Debian-Archiv mit \textttc{reprepro} oder \textttc{aptly}\\ Dokumentation: \url{https://wiki.debian.org/HowToSetupADebianRepository}

note: type: frame{#2}
en: Practical session 1: modifying the grep package
de: Praktische Sitzung 1: Anpassen des Grep-Pakets

note: type: enumerate
en: Go to \url{http://ftp.debian.org/debian/pool/main/g/grep/} and download version 2.12-2 of the package
de: Laden Sie Version 2.12-2 des Pakets von \url{http://ftp.debian.org/debian/pool/main/g/grep/} herunter.

note: type: itemize
en: If the source package is not unpacked automatically, unpack it with \texttt{dpkg-source~-x~grep\_*.dsc}
de: Falls das Quellpaket nicht automatisch entpackt wird, entpacken Sie es mit \texttt{dpkg-source~-x~grep\_*.dsc}

note: type: enumerate
en: Look at the files in \texttt{debian/}.
de: Schauen Sie sich die Dateien in \texttt{debian/} an.

note: type: itemize
en: How many binary packages are generated by this source package?
de: Wie viele Binärpakete werden aus diesem Quellpaket erstellt?

note: type: itemize
en: Which packaging helper does this package use?
de: Welche Paketierungshelfer verwendet dieses Paket?

note: type: itemize
en: Build the package
de: Bauen Sie das Paket

note: type: enumerate
en: We are now going to modify the package. Add a changelog entry and increase the version number.
de: Wir werden das Paket jetzt anpassen. Fügen Sie einen Changelog-Eintrag hinzu und erhöhen Sie die Versionsnummer.

note: type: enumerate
en: Now disable perl-regexp support (it is a \texttt{./configure} option)
de: Deaktivieren Sie jetzt die Perl-Regexp-Unterstützung (dies ist eine \texttt{./configure}-Option)

note: type: enumerate
en: Rebuild the package
de: Bauen Sie das Paket erneut

note: type: enumerate
en: Compare the original and the new package with debdiff
de: Vergleichen Sie das ursprüngliche und das neue Paket mit Debdiff

note: type: enumerate
en: Install the newly built package
de: Installieren Sie das neu gebaute Paket

note: type: section{#2}
en: Advanced packaging topics
de: Fortgeschrittene Paketierungsthemen

note: type: itemize
en: Copyright and license information for the source and the packaging
de: Urheberrecht- und Lizenzinformationen für diese Quellen und die Paketierung

note: type: itemize
en: Traditionally written as a text file
de: Traditionell als Textdatei geschrieben

note: type: itemize
en: New machine-readable format: {\small\url{https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/}}
de: Neues, maschinenlesbares Format: {\small\url{https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/}}

note: type: lstlisting
en: Files: *
    Copyright: Copyright 1998 John Doe <jdoe@example.com>
    License: GPL-2+
     This program is free software; you can redistribute it
     [...]
     .
     On Debian systems, the full text of the GNU General Public
     License version 2 can be found in the file
     `/usr/share/common-licenses/GPL-2'.
de: Files: *
    Copyright: Copyright 1998 Max Mustermann <max.mustermann@example.com>
    License: GPL-2+
     This program is free software; you can redistribute it
     [...]
     .
     On Debian systems, the full text of the GNU General Public
     License version 2 can be found in the file
     `/usr/share/common-licenses/GPL-2'.

note: type: lstlisting
en: Files: debian/*
    Copyright: Copyright 1998 Jane Smith <jsmith@example.net>
    License:
     [LICENSE TEXT]
de: Files: debian/*
    Copyright: Copyright 1998 Jana Meier <jmeierh@example.net>
    License:
     [LIZENZTEXT]

note: type: frame{#2}
en: Modifying the upstream source
de: Ändern der Originalquellen

note: type: frame
en: Often needed:
de: Oft benötigt:

note: type: itemize
en: Fix bugs or add customizations that are specific to Debian
de: Fehler beheben oder Debian-spezifische Anpassungen vornehmen

note: type: itemize
en: Backport fixes from a newer upstream release
de: Korrekturen aus einer neueren Veröffentlichung der Originalautoren rückportieren

note: type: frame
en: Several methods to do it:
de: Es gibt mehrere Methoden, dies durchzuführen:

note: type: itemize
en: Modifying the files directly
de: Die Dateien direkt anpassen

note: type: itemize
en: Simple
de: Einfach

note: type: itemize
en: But no way to track and document the changes
de: Allerdings gibt es keine Möglichkeit, die Änderungen zu dokumentieren und nachzuvollziehen

note: type: itemize
en: Using patch systems
de: Verwendung von Patch-Systemen

note: type: itemize
en: Eases contributing your changes to upstream
de: Erleichtert die Weitergabe der Änderungen an die Originalautoren

note: type: itemize
en: Helps sharing the fixes with derivatives
de: Hilft beim gemeinsamen Nutzen der Korrekturen mit abgeleiteten Distributionen

note: type: itemize
en: Gives more exposure to the changes\\ \url{http://patch-tracker.debian.org/} (down currently)
de: Gibt den Änderungen mehr Aufmerksamkeit\\ \url{http://patch-tracker.debian.org/} (derzeit nicht erreichbar)

note: type: frame{#2}
en: Patch systems
de: Patch-Systeme

note: type: itemize
en: Principle: changes are stored as patches in \texttt{debian/patches/}
de: Prinzip: Änderungen werden als Patches in \texttt{debian/patches/} gespeichert

note: type: itemize
en: Applied and unapplied during build
de: Sie werden während des Baus angewandt und entfernt

note: type: itemize
en: Past: several implementations -- \textsl{simple-patchsys} (\textsl{cdbs}), \textsl{dpatch}, \textbf{\textsl{quilt}}
de: Früher gab es mehrere Implementierungen -- \textsl{simple-patchsys} (\textsl{cdbs}), \textsl{dpatch}, \textbf{\textsl{quilt}}

note: type: itemize
en: Each supports two \texttt{debian/rules} targets:
de: Alle unterstützen zwei Ziele in \texttt{debian/rules}:

note: type: itemize
en: \texttt{debian/rules patch}: apply all patches
de: \texttt{debian/rules patch}: alle Patches anwenden

note: type: itemize
en: \texttt{debian/rules unpatch}: de-apply all patches
de: \texttt{debian/rules unpatch}: alle Patches entfernen

note: type: itemize
en: More documentation: \url{https://wiki.debian.org/debian/patches}
de: Weitere Dokumentation: \url{https://wiki.debian.org/debian/patches}

note: type: textbf{#1}
en: New source package format with built-in patch system: 3.0 (quilt)
de: Neues Quellformat mit eingebautem Patch-System: 3.0 (quilt)

note: type: itemize
en: Recommended solution
de: Empfohlene Lösung

note: type: itemize
en: You need to learn \textsl{quilt}\\ \url{https://perl-team.pages.debian.net/howto/quilt.html}
de: Sie müssen \textsl{quilt} lernen\\ \url{https://perl-team.pages.debian.net/howto/quilt.html}

note: type: itemize
en: Patch-system-agnostic tool in \texttt{devscripts}: \texttt{edit-patch}
de: Patch-System-unabhängiges Werkzeug in \texttt{devscripts}: \texttt{edit-patch}

note: type: frame{#2}
en: Documentation of patches
de: Dokumentation der Patches

note: type: itemize
en: Standard headers at the beginning of the patch
de: Standardkopfzeilen am Anfang des Patches

note: type: itemize
en: Documented in DEP-3 - Patch Tagging Guidelines\\ \url{http://dep.debian.net/deps/dep3/}
de: Dokumentiert in DEP-3 - Patch Tagging Guidelines\\ \url{http://dep.debian.net/deps/dep3/}

note: type: lstlisting
en: [basicstyle=\ttfamily\footnotesize]
    Description: Fix widget frobnication speeds
     Frobnicating widgets too quickly tended to cause explosions.
    Forwarded: http://lists.example.com/2010/03/1234.html
    Author: John Doe <johndoe-guest@users.alioth.debian.org>
    Applied-Upstream: 1.2, http://bzr.foo.com/frobnicator/revision/123
    Last-Update: 2010-03-29
de: [basicstyle=\ttfamily\footnotesize]
    Description: Fix widget frobnication speeds
     Frobnicating widgets too quickly tended to cause explosions.
    Forwarded: http://lists.example.com/2010/03/1234.html
    Author: Max Mustermann <mmustermann-guest@users.alioth.debian.org>
    Applied-Upstream: 1.2, http://bzr.foo.com/frobnicator/revision/123
    Last-Update: 2010-03-29

note: type: frame{#2}
en: Doing things during installation and removal
de: Beim Installieren und Entfernen etwas machen

note: type: itemize
en: Decompressing the package is sometimes not enough
de: Entpacken des Pakets ist manchmal nicht genug

note: type: itemize
en: Create/remove system users, start/stop services, manage \textsl{alternatives}
de: Benutzer erstellen/entfernen, Dienste starten/stoppen, \textsl{alternatives} verwalten

note: type: itemize
en: Done in \textsl{maintainer scripts}\\ \texttt{preinst, postinst, prerm, postrm}
de: Wird in \textsl{Betreuerskripten} erledigt\\ \texttt{preinst, postinst, prerm, postrm}

note: type: itemize
en: Snippets for common actions can be generated by debhelper
de: Schnipsel für häufige Aktionen können durch Debhelper erstellt werden

note: type: itemize
en: Documentation:
de: Dokumentation:

note: type: itemize
en: Debian Policy Manual, chapter 6\\ {\footnotesize \url{https://www.debian.org/doc/debian-policy/ch-maintainerscripts}}
de: Debian-Richtlinien-Handbuch, Kapitel 6\\ {\footnotesize \url{https://www.debian.org/doc/debian-policy/ch-maintainerscripts}}

note: type: itemize
en: Debian Developer's Reference, chapter 6.4\\ {\scriptsize \url{https://www.debian.org/doc/developers-reference/best-pkging-practices.html}}
de: Debian-Entwicklerreferenz, Kapitel 6.4\\ {\scriptsize \url{https://www.debian.org/doc/developers-reference/best-pkging-practices.html}}

note: type: itemize
en: Prompting the user
de: Benutzer um Eingaben bitten:

note: type: itemize
en: Must be done with \textbf{debconf}
de: Muss mit \textbf{debconf} erfolgen

note: type: itemize
en: Documentation: \texttt{debconf-devel(7)} (\texttt{debconf-doc} package)
de: Dokumentation: \texttt{debconf-devel(7)} (\texttt{debconf-doc}-Paket)

note: type: frame{#2}
en: Monitoring upstream versions
de: Version der Originalautoren überwachen

note: type: itemize
en: Specify where to look in \texttt{debian/watch} (see \texttt{uscan(1)})
de: Geben Sie in \texttt{debian/watch} (siehe \texttt{uscan(1)}) an, wo geschaut werden soll

note: type: itemize
en: There are automated trackers of new upstream versions, that notify the maintainer on various dashboards including \url{https://tracker.debian.org/} and \url{https://udd.debian.org/dmd/}
de: Es gibt automatische Nachverfolgungssysteme für neue Versionen der Originalautoren, die den Betreuer auf verschiedenen Armaturenbrettern, darunter \url{https://tracker.debian.org/} und \url{https://udd.debian.org/dmd/}, informieren

note: type: itemize
en: \texttt{uscan}: run a manual check
de: \texttt{uscan}: eine manuelle Überprüfung durchführen

note: type: itemize
en: \texttt{uupdate}: try to update your package to the latest upstream version
de: \texttt{uupdate}: versucht, Ihr Paket auf den neusten Stand der Originalautoren zu aktualisieren

note: type: subsection{#2}
en: Packaging with a Version Control System (SVN, Git)
de: Mit einem Versionskontrollsystem (SVN, Git) paketieren

note: type: frame{#2}
en: Packaging with a Version Control System
de: Mit einem Versionskontrollsystem paketieren

note: type: itemize
en: Several tools to help manage branches and tags for your packaging work:\\ \texttt{svn-buildpackage}, \texttt{git-buildpackage}
de: Werkzeuge zur Verwaltung von Zweigen und Markierungen für Ihre Pa\-ke\-tierungsarbeit: \texttt{svn-buildpackage}, \texttt{git-buildpackage}

note: type: itemize
en: Example: \texttt{git-buildpackage}
de: Beispiel: \texttt{git-buildpackage}

note: type: itemize
en: \texttt{upstream} branch to track upstream with \texttt{upstream/\textsl{version}} tags
de: \texttt{upstream}-Zweig: die Arbeit der Originalautoren nachvollziehen mit \texttt{upstream/\textsl{Version}}-Markierungen

note: type: itemize
en: \texttt{master} branch tracks the Debian package
de: \texttt{master}-Zweig folgt dem Debian-Paket

note: type: itemize
en: \texttt{debian/\textsl{version}} tags for each upload
de: \texttt{debian/\textsl{Version}}-Markierungen für jedes Hochladen

note: type: itemize
en: \texttt{pristine-tar} branch to be able to rebuild the upstream tarball
de: \texttt{pristine-tar}-Zweig, ermöglicht Neubau des Originalautoren-Tarballs

note: type: itemize
en: Doc: \url{http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html}
de: Dokumentation: \url{http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html}

note: type: itemize
en: \texttt{Vcs-*} fields in \texttt{debian/control} to locate the repository
de: \texttt{Vcs-*}-Felder in \texttt{debian/control}, um das Depot anzugeben

note: type: itemize
en: VCS-agnostic interface: \texttt{debcheckout}, \texttt{debcommit}, \texttt{debrelease}\\
de: VCS-unabhängige Schnittstelle: \texttt{debcheckout}, \texttt{debcommit}, \texttt{debrelease}\\

note: type: itemize
en: \texttt{debcheckout grep} $\rightarrow$ checks out the source package from Git
de: \texttt{debcheckout grep} $\rightarrow$ checkt das Quellpaket aus Git aus

note: type: frame{#2}
en: Backporting packages
de: Pakete rückportierern

note: type: itemize
en: Goal: use a newer version of a package on an older system\\ e.g. use \textsl{mutt} from Debian \textsl{unstable} on Debian \textsl{stable}
de: Ziel: Eine neuere Version eines Paketes auf einem älteren System verwenden\\ z.B. \textsl{mutt} aus Debian-\textsl{Unstable} auf Debian-\textsl{Stable} verwenden

note: type: itemize
en: General idea:
de: Prinzipielle Idee:

note: type: itemize
en: Take the source package from Debian unstable
de: Nehmen Sie das Quellpaket aus Debian Unstable

note: type: itemize
en: Modify it so that it builds and works fine on Debian stable
de: Passen Sie es an, so dass es auf Debian-Stable baut und gut funktioniert

note: type: itemize
en: Sometimes trivial (no changes needed)
de: Manchmal trivial (keine Änderungen notwendig)

note: type: itemize
en: Sometimes difficult
de: Manchmal schwierig

note: type: itemize
en: Sometimes impossible (many unavailable dependencies)
de: Manchmal unmöglich (viele nicht verfügbare Abhängigkeiten)

note: type: itemize
en: Some backports are provided and supported by the Debian project\\ \url{http://backports.debian.org/}
de: Einige Rückportierungen werden von Debian bereitgestellt und unterstützt\\ \url{http://backports.debian.org/}

note: type: section{#2}
en: Maintaining packages in Debian
de: Pakete in Debian betreuen

note: type: frame{#2}
en: Debian archive and suites
de: Debian-Archiv und -Suites

note: type: tikzpicture
en: \draw node[suite,prod] (sec) {security}; \draw node[suite,prod,right=of sec] (su) {stable-updates}; \draw node[suite,prod,right=of su] (st) {stable}; \draw node[suite,old,node distance=0.3cm,below=of st] (os) {oldstable}; \draw node[suite,veryold,node distance=0.3cm,below=of os] (ar) {archive.d.o}; \draw node[suite,prod,right=of st] (bp) {backports}; \draw node[suite,test] (spu) at ($(su) + (-0.6,2.5)$) {stable-proposed-updates}; \draw node[suite,internal] (sn) at ($(st) + (-1.8,1.4)$) {stable-new}; \draw node[suite,test,node distance=1.5cm,above=of st] (te) {testing}; \draw node[suite,devel,above=of te] (sid) {unstable}; \draw node[suite,devel] (exp) at ($(sid) + (2.5,0.5)$) {experimental}; \draw node[suite,devel] (tpu) at ($(te)!0.5!(sid) + (2.5,0)$) {testing-proposed-updates}; \draw node[people,above=of sid] (dd) {developer}; \draw node[people,node distance=3cm,left=of dd] (secteam) {security team}; \draw[arr,uploads,->] (dd) -- (sid); \draw[arr,uploads,->] (dd) -- (exp); \draw[arr,uploads,->,bend right=8] (dd) to (tpu); \draw[arr,uploads,->] (secteam) -- (sid); \draw[arr,uploads,->] (secteam) -- (sec); \draw[arr,uploads,->] (dd) to (spu); \draw[arr,uploads,->] plot [smooth, tension=0.75] coordinates { (dd.east) ($(exp.north east)+(0.1,0.1)$) ($(tpu.east)+(0.2,0)$)  ($(bp.north east) + (-0.4,0)$) }; \draw[arr,migrations,->] (tpu) -- (te); \draw[arr,migrations,->] (sid) -- (te); \draw[arr,migrations,->] (te) -- (st) node [midway,align=left,midway,right,font=\footnotesize] {stable\\ release}; \draw[arr,migrations,->] (sec) -- (sn); \draw[arr,migrations,->] (sn) to node [pos=0.2] (spulabel) {} (st); \draw node[font=\footnotesize,align=right] at ($(spulabel) + (-0.4,-0.45)$) {stable \\ point \\ release}; \draw[arr,migrations,->] (spu) to (sn); \draw[arr,migrations,->] (spu) -- (su); \draw[arr,migrations,->] (st) -- (os); \draw[arr,migrations,->] (os) -- (ar); \coordinate (legend) at (-2,-1); \draw[arr,uploads,->] (legend) -- ($(legend) + (0.7,0)$) node [right,legend] {package uploads}; \coordinate[node distance=1.1em,below=of legend] (legend2); \draw[arr,migrations,->] (legend2) -- ($(legend2) + (0.7,0)$) node [right,legend] {package migrations between suites}; \coordinate[node distance=1.5em,below=of legend2] (legend3); \draw node[right,suite,devel,legend] (ldev) at (legend3) {development}; \draw node[node distance=0.1cm,right=of ldev,suite,test,legend] (ltest) {test}; \draw node[node distance=0.1cm,right=of ltest,suite,internal,legend] (lint) {internal}; \draw node[node distance=0.1cm,right=of lint,suite,prod,legend] (lprod) {production}; \draw ($(legend.north west) + (-0.1,0.25)$) rectangle ($(lprod.south east) + (0.1,-0.1)$); \draw node[font=\bf,red!70!white,align=center] (tnext) at ($(te.east) + (2,-0.1)$) {preparation of \\ next release}; \draw node[font=\bf,green!70!black,align=center] (tsrm) at ($(sec.north east) + (1,1)$) {stable\\release\\management}; \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,main,foreground}
de: \draw node[suite,prod] (sec) {Security}; \draw node[suite,prod,right=of sec] (su) {Stable-updates}; \draw node[suite,prod,right=of su] (st) {Stable}; \draw node[suite,old,node distance=0.3cm,below=of st] (os) {Oldstable}; \draw node[suite,veryold,node distance=0.3cm,below=of os] (ar) {archive.d.o}; \draw node[suite,prod,right=of st] (bp) {Backports}; \draw node[suite,test] (spu) at ($(su) + (-0.6,2.5)$) {Stable-proposed-updates}; \draw node[suite,internal] (sn) at ($(st) + (-1.8,1.4)$) {Stable-new}; \draw node[suite,test,node distance=1.5cm,above=of st] (te) {Testing}; \draw node[suite,devel,above=of te] (sid) {Unstable}; \draw node[suite,devel] (exp) at ($(sid) + (2.5,0.5)$) {Experimental}; \draw node[suite,devel] (tpu) at ($(te)!0.5!(sid) + (2.5,0)$) {Testing-proposed-updates}; \draw node[people,above=of sid] (dd) {Entwickler}; \draw node[people,node distance=3cm,left=of dd] (secteam) {Sicherheitsteam}; \draw[arr,uploads,->] (dd) -- (sid); \draw[arr,uploads,->] (dd) -- (exp); \draw[arr,uploads,->,bend right=8] (dd) to (tpu); \draw[arr,uploads,->] (secteam) -- (sid); \draw[arr,uploads,->] (secteam) -- (sec); \draw[arr,uploads,->] (dd) to (spu); \draw[arr,uploads,->] plot [smooth, tension=0.75] coordinates { (dd.east) ($(exp.north east)+(0.1,0.1)$) ($(tpu.east)+(0.2,0)$)  ($(bp.north east) + (-0.4,0)$) }; \draw[arr,migrations,->] (tpu) -- (te); \draw[arr,migrations,->] (sid) -- (te); \draw[arr,migrations,->] (te) -- (st) node [midway,align=left,midway,right,font=\footnotesize] {Veröffentlichung\\ von Stable}; \draw[arr,migrations,->] (sec) -- (sn); \draw[arr,migrations,->] (sn) to node [pos=0.2] (spulabel) {} (st); \draw node[font=\footnotesize,align=right] at ($(spulabel) + (-0.4,-0.45)$) {Zwischen-\\veröffentlichung \\ für Stable}; \draw[arr,migrations,->] (spu) to (sn); \draw[arr,migrations,->] (spu) -- (su); \draw[arr,migrations,->] (st) -- (os); \draw[arr,migrations,->] (os) -- (ar); \coordinate (legend) at (-2,-1); \draw[arr,uploads,->] (legend) -- ($(legend) + (0.7,0)$) node [right,legend] {Hochladen von Paketen}; \coordinate[node distance=1.1em,below=of legend] (legend2); \draw[arr,migrations,->] (legend2) -- ($(legend2) + (0.7,0)$) node [right,legend] {Paketmigrationen zwischen Suites}; \coordinate[node distance=1.5em,below=of legend2] (legend3); \draw node[right,suite,devel,legend] (ldev) at (legend3) {Entwicklung}; \draw node[node distance=0.1cm,right=of ldev,suite,test,legend] (ltest) {Test}; \draw node[node distance=0.1cm,right=of ltest,suite,internal,legend] (lint) {intern}; \draw node[node distance=0.1cm,right=of lint,suite,prod,legend] (lprod) {Produktion}; \draw ($(legend.north west) + (-0.1,0.25)$) rectangle ($(lprod.south east) + (0.1,-0.1)$); \draw node[font=\bf,red!70!white,align=center] (tnext) at ($(te.east) + (2,-0.1)$) {Vorbereitung der \\ nächsten Veröffentlichung}; \draw node[font=\bf,green!70!black,align=center] (tsrm) at ($(sec.north east) + (1,1)$) {Veröffentlichungs-\\verwaltung\\für Stable}; \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,main,foreground}

note: type: flushright
en: \tiny Based on graph by Antoine Beaupr\'e. \url{https://salsa.debian.org/debian/package-cycle}~~~~~~~~~~~~
de: \tiny Basierend auf einer Darstellung von Antoine Beaupr\'e. \url{https://salsa.debian.org/debian/package-cycle}~~~~~~~~~~~~

note: type: frame{#2}
en: Suites for development
de: Suites für die Entwicklung

note: type: itemize
en: New versions of packages are uploaded to \textbf{unstable} (\textbf{sid})
de: Neue Versionen von Paketen werden nach \textbf{Unstable} (\textbf{Sid}) hochgeladen

note: type: itemize
en: Packages migrate from \textbf{unstable} to \textbf{testing} based on several criterias (e.g. has been in unstable for 10 days, and no regressions)
de: Pakete migrieren basierend auf einigen Kriterien von \textbf{Unstable} nach \textbf{Testing} (z.B. dass sie seit 10 Tagen in Unstable waren und keine Regressionen auftraten)

note: type: itemize
en: New packages can also be uploaded to:
de: Neue Pakete können auch in folgende Suites hochgeladen werden:

note: type: itemize
en: \textbf{experimental} (for more \textsl{experimental} packages, such as when the new version is not ready to replace the one currently in unstable)
de: \textbf{Experimental} (für \textsl{experimentellere} Pakete, wie neue Versionen, die noch nicht geeignet sind, die Version aus Unstable zu ersetzen)

note: type: itemize
en: \textbf{testing-proposed-updates}, to update the version in \textbf{testing} without going through \textbf{unstable} (this is rarely used)
de: \textbf{Testing-proposed-updates}, um die Version in \textbf{Testing} zu aktualisieren, ohne durch \textbf{Unstable} zu gehen (dies wird selten benutzt)

note: type: frame{#2}
en: Freezing and releasing
de: Einfrieren und Veröffentlichen

note: type: itemize
en: At some point during the release cycle, the release team decides to \textsl{freeze} testing: automatic migrations from \textbf{unstable} to \textbf{testing} are stopped, and replaced by manual review
de: Zu einem Zeitpunkt während des Veröffentlichungszyklus entscheidet das Veröffentlichungsteam, Testing \textsl{einzufrieren}; automatische Migrationen von \textbf{Unstable} nach \textbf{Testing} werden gestoppt und durch manuelle Begutachtung ersetzt

note: type: itemize
en: When the release team considers \textbf{testing} to be ready for release:
de: Wenn das Veröffentlichungsteam \textbf{Testing} für die Veröffentlichung als bereit betrachtet:

note: type: itemize
en: The \textbf{testing} suite becomes the new \textbf{stable} suite
de: Die Suite \textbf{Testing} wird die neue Suite \textbf{Stable}

note: type: itemize
en: Similarly, the old \textbf{stable} becomes \textbf{oldstable}
de: Ähnlich wird \textbf{Stable} \textbf{Oldstable}

note: type: itemize
en: Unsupported releases are moved to \texttt{archive.debian.org}
de: Nicht mehr unterstützte Veröffentlichungen werden nach \texttt{archive.debian.org} verschoben

note: type: itemize
en: See \url{https://release.debian.org/}
de: Siehe \url{https://release.debian.org/}

note: type: frame{#2}
en: Stable release suites and management
de: Verwaltung stabiler Suites und Veröffentlichungen

note: type: itemize
en: Several suites are used to provide stable release packages:
de: Mehrere Suites stellen Pakete der stabilen Veröffentlichungen bereit

note: type: itemize
en: \textbf{stable}: the main suite
de: \textbf{Stable}: die Haupt-Suite

note: type: itemize
en: \textbf{security} updates suite provided on \texttt{security.debian.org}, used by the security team. Updates are announced on the \texttt{debian-security-announce} mailing list
de: \textbf{Security}: Aktualisierungs-Suite, auf \texttt{security.debian.org} bereitgestellt, verwandt vom Sicherheitsteam. Aktualisierungen werden auf der Mailingliste \texttt{debian-security-announce} bekanntgegeben

note: type: itemize
en: \textbf{stable-updates}: updates that are not security related, but that should urgently be installed (without waiting for the next point release): antivirus databases, timezone-related packages, etc. Announced on the \texttt{debian-stable-announce} mailing list
de: \textbf{Stable-updates}: Aktualisierungen, die nicht sicherheitsbezogen sind, aber die dringend installiert werden sollten (ohne auf die nächste Zwischenveröffentlichung zu warten): Antivierendatenbanken, Zeitzonen-bezogene Pakete usw. Ankündigungen auf der Mailingliste \texttt{debian-stable-announce}

note: type: itemize
en: \textbf{backports}: new upstream versions, based on the version in \textbf{testing}
de: \textbf{Backports}: neue Versionen der Originalautoren, basierend auf der Version in \textbf{Testing}

note: type: itemize
en: The \textbf{stable} suite is updated every few months by \textsl{stable point releases} (that include only bug fixes)
de: Die Suite \textbf{Stable} wird alle paar Monate durch \textsl{Zwischenveröffentlichungen für Stable} (die nur Fehlerkorrekturen enthält) aktualisiert

note: type: itemize
en: Packages targetting the next stable point release are uploaded to \textbf{stable-proposed-updates} and reviewed by the release team
de: Pakete, die für die nächste Zwischenveröffentlichung gedacht sind, werden nach \textbf{Stable-proposed-updates} hochgeladen und durch das Veröffentlichungsteam begutachtet

note: type: itemize
en: The \textbf{oldstable} release has the same set of suites
de: Die Veröffentlichung \textbf{Oldstable} hat die gleiche Gruppe an Suits

note: type: frame{#2}
en: Several ways to contribute to Debian
de: Es gibt viele Möglichkeiten, zu Debian beizutragen

note: type: itemize
en: \textbf{Worst} way to contribute:
de: \textbf{Schlechteste} Art, beizutragen:

note: type: enumerate
en: Package your own application
de: Paketieren Sie Ihre eigene Anwendung

note: type: enumerate
en: Get it into Debian
de: Schaffen Sie diese nach Debian

note: type: enumerate
en: Disappear
de: Verschwinden Sie

note: type: itemize
en: \textbf{Better} ways to contribute:
de: \textbf{Bessere} Art, beizutragen:

note: type: itemize
en: Get involved in packaging teams
de: Machen Sie bei einem Paketier-Team mit

note: type: itemize
en: Many teams that focus on set of packages, and need help
de: Viele Teams konzentrieren sich auf eine Gruppe von Paketen und benötigen Hilfe

note: type: itemize
en: List available at \url{https://wiki.debian.org/Teams}
de: Liste verfügbar unter \url{https://wiki.debian.org/Teams}

note: type: itemize
en: An excellent way to learn from more experienced contributors
de: Dies ist eine exzellente Art, um von erfahreneren Beitragenden zu lernen

note: type: itemize
en: Adopt existing unmaintained packages (\textsl{orphaned packages})
de: Adoptieren Sie existierende, nicht betreute Pakete (\textsl{verwaiste Pakete})

note: type: itemize
en: Bring new software to Debian
de: Bringen Sie neue Software in Debian

note: type: itemize
en: Only if it's interesting/useful enough, please
de: Bitte nur, falls diese interessant / nützlich genug ist

note: type: itemize
en: Are there alternatives already packaged in Debian?
de: Sind die Alternativen bereits für Debian paketiert?

note: type: frame{#2}
en: Adopting orphaned packages
de: Verwaiste Pakete adoptieren

note: type: itemize
en: Many unmaintained packages in Debian
de: Es gibt viele nicht betreute Pakete in Debian

note: type: itemize
en: Full list + process: \url{https://www.debian.org/devel/wnpp/}
de: Komplette Liste und Prozess: \url{https://www.debian.org/devel/wnpp/}

note: type: itemize
en: Installed on your machine: \texttt{wnpp-alert}\\ Or better: \texttt{how-can-i-help}
de: Installiert auf Ihrer Maschine: \texttt{wnpp-alert}\\ Oder besser: \texttt{how-can-i-help}

note: type: itemize
en: Different states:
de: Verschiedene Zustände:

note: type: itemize
en: \textbf{O}rphaned: the package is unmaintained\\ Feel free to adopt it
de: \textbf{O}rphaned: das Paket ist verwaist (es wird nicht mehr betreut)\\ Adoptieren Sie es ruhig

note: type: itemize
en: \textbf{RFA}: \textbf{R}equest \textbf{F}or \textbf{A}dopter\\ Maintainer looking for adopter, but continues work in the meantime\\ Feel free to adopt it. A mail to the current maintainer is polite
de: \textbf{RFA}: \textbf{R}equest \textbf{F}or \textbf{A}dopter\\ Der Betreuer sucht nach einem Adoptierer, arbeitet aber zwischenzeitlich weiter dran\\ Adoptieren Sie es einfach. Eine E-Mail an den aktuellen Betreuer wäre nett

note: type: itemize
en: \textbf{ITA}: \textbf{I}ntent \textbf{T}o \textbf{A}dopt\\ Someone intends to adopt the package\\ You could propose your help!
de: \textbf{ITA}: \textbf{I}ntent \textbf{T}o \textbf{A}dopt\\ Jemand plant, das Pakete zu adoptieren -- Sie könnten Hilfe anbieten!

note: type: itemize
en: \textbf{RFH}: \textbf{R}equest \textbf{F}or \textbf{H}elp\\ The maintainer is looking for help
de: \textbf{RFH}: \textbf{R}equest \textbf{F}or \textbf{H}elp\\ Der Paketbetreuer sucht Hilfe

note: type: itemize
en: Some unmaintained packages not detected \arr not orphaned yet
de: Einige nicht betreute Pakete werden nicht erkannt \arr noch nicht verwaist

note: type: itemize
en: When in doubt, ask \texttt{debian-qa@lists.debian.org} \\ or \texttt{\#debian-qa} on \texttt{irc.debian.org}
de: Im Zweifelsfall fragen Sie auf \texttt{debian-qa@lists.debian.org} \\ oder \texttt{\#debian-qa} auf \texttt{irc.debian.org}

note: type: frame{#2}
en: Adopting a package: example
de: Ein Paket adoptieren: Beispiel

note: type: lstlisting
en: [basicstyle=\ttfamily\footnotesize,escapeinside=\{\}]
    From: You <you@yourdomain>
    To: 640454@bugs.debian.org, control@bugs.debian.org
    Cc: Francois Marier <francois@debian.org>
    Subject: ITA: verbiste -- French conjugator
de: [basicstyle=\ttfamily\footnotesize,escapeinside=\{\}]
    Von: Sie <Sie@IhreDomain>
    An: 640454@bugs.debian.org, control@bugs.debian.org
    Cc: Francois Marier <francois@debian.org>
    Betreff: ITA: verbiste -- French conjugator

note: type: lstlisting
en: You
de: Sie

note: type: itemize
en: Polite to contact the previous maintainer (especially if the package was RFAed, not orphaned)
de: Es ist höflich, den vorhergehenden Betreuer zu kontaktieren (insbesondere wenn das Paket RFAt und nicht verwaist war)

note: type: itemize
en: Very good idea to contact the upstream project
de: Es ist eine sehr gute Idee, die Originalautoren zu kontaktieren

note: type: frame{#2}
en: Getting your package in Debian
de: Schaffen Sie Ihr Paket nach Debian

note: type: itemize
en: You do not need any official status to get your package into Debian
de: Sie benötigen keinen offiziellen Status, um Ihr Paket in Debian zu bekommen

note: type: enumerate
en: Submit an \textbf{ITP} bug (\textbf{I}ntent \textbf{T}o \textbf{P}ackage) using \texttt{reportbug wnpp}
de: Reichen Sie mit \texttt{reportbug wnpp} einen \textbf{ITP}-Fehler (\textbf{I}ntent \textbf{T}o \textbf{P}ackage) ein

note: type: enumerate
en: Prepare a source package
de: Bereiten Sie ein Quellpaket vor

note: type: enumerate
en: Find a Debian Developer that will sponsor your package
de: Finden Sie einen Debian-Entwickler, der Ihr Paket sponsern wird

note: type: itemize
en: Official status (when you are an experienced package maintainer):
de: Offizieller Status (wenn Sie ein erfahrener Paketbetreuer sind):

note: type: itemize
en: \textbf{Debian Maintainer (DM):}\\ Permission to upload your own packages\\ See \url{https://wiki.debian.org/DebianMaintainer}
de: \textbf{Debian-Betreuer (DM):}\\ Recht, Ihre eigenen Pakete hochzuladen\\ Siehe \url{https://wiki.debian.org/DebianMaintainer}

note: type: itemize
en: \textbf{Debian Developer (DD):}\\ Debian project member; can vote and upload any package
de: \textbf{Debian-Entwickler (DD):}\\ Debian-Projektmitglied; darf abstimmen und jedes Paket hochladen

note: type: frame{#2}
en: Things to check before asking for sponsorship
de: Zu Prüfendes, bevor Sie nach Sponsoren fragen:

note: type: itemize
en: Debian puts \textbf{a lot of focus on quality}
de: Debian legt \textbf{viel Wert auf Qualität}

note: type: itemize
en: Generally, \textbf{sponsors are hard to find and busy}
de: Typischerweise sind \textbf{Sponsoren schwer zu finden und beschäftigt}

note: type: itemize
en: Make sure your package is ready before asking for sponsorship
de: Stellen Sie sicher, dass Ihr Paket bereit ist, bevor Sie Sponsoren fragen

note: type: itemize
en: Things to check:
de: Dinge, die geprüft werden sollten:

note: type: itemize
en: Avoid missing build-dependencies: make sure that your package build fine in a clean \textsl{sid} \textsl{chroot}
de: Vermeiden Sie fehlende build-dependencies: Stellen Sie sicher, dass Ihr Paket problemlos in einer sauberen \textsl{sid} \textsl{chroot} baut

note: type: itemize
en: Using \texttt{pbuilder} is recommended
de: Verwendung von \texttt{pbuilder} wird empfohlen

note: type: itemize
en: Run \texttt{lintian -EviIL +pedantic} on your package
de: Führen Sie für Ihr Paket \texttt{lintian -EviIL +pedantic} aus

note: type: itemize
en: Errors must be fixed, all other problems should be fixed
de: Fehler müssen, alle anderen Probleme sollten behoben werden

note: type: itemize
en: Do extensive testing of your package, of course
de: Testen Sie natürlich Ihr Paket ausführlich

note: type: itemize
en: In doubt, ask for help
de: Im Zweifelsfall fragen Sie nach Hilfe

note: type: frame{#2}
en: Where to find help?
de: Wo können Sie Hilfe finden?

note: type: frame
en: Help you will need:
de: Folgende Hilfe benötigen Sie:

note: type: itemize
en: Advice and answers to your questions, code reviews
de: Ratschläge und Antworten auf Ihre Fragen, Code-Begutachtungen

note: type: itemize
en: Sponsorship for your uploads, once your package is ready
de: Unterstützung für Ihr Paket, sobald Ihr Paket fertig ist

note: type: frame
en: You can get help from:
de: Sie können Hilfe bekommen von:

note: type: textbf{#1}
en: Other members of a packaging team
de: Anderen Mitgliedern eines Paketierungsteams

note: type: itemize
en: List of teams: \url{https://wiki.debian.org/Teams}
de: Liste von Teams: \url{https://wiki.debian.org/Teams}

note: type: itemize
en: The \textbf{Debian Mentors group} (if your package does not fit in a team)
de: Der \textbf{Debian-Mentors-Gruppe} (falls Ihr Paket in kein Team passt)

note: type: itemize
en: Mailing list: \url{debian-mentors@lists.debian.org}\\ {\small (also a good way to learn by accident)}
de: Mailingliste: \url{debian-mentors@lists.debian.org}\\ {\small (auch eine gute Art, nebenbei was zu lernen)}

note: type: itemize
en: IRC: \texttt{\#debian-mentors} on \texttt{irc.debian.org}
de: IRC: \texttt{\#debian-mentors} auf \texttt{irc.debian.org}

note: type: itemize
en: Documentation: \url{http://mentors.debian.net/intro-maintainers}
de: Dokumentation: \url{http://mentors.debian.net/intro-maintainers}

note: type: itemize
en: \textbf{Localized mailing lists} (get help in your language)
de: \textbf{Lokalisierte Mailinglisten} (Hilfe in Ihrer Sprache erhalten)

note: type: itemize
en: Full list: \url{https://lists.debian.org/devel.html}
de: Komplette Liste: \url{https://lists.debian.org/devel.html}

note: type: itemize
en: Or users lists: \url{https://lists.debian.org/users.html}
de: Unsere Benutzerlisten: \url{https://lists.debian.org/users.html}

note: type: frame{#2}
en: More documentation
de: Weitere Dokumentation

note: type: itemize
en: Debian Developers' Corner\\ \url{https://www.debian.org/devel/}\\ {\small Links to many resources about Debian development}
de: Debians Entwickler-Ecke\\ \url{https://www.debian.org/devel/}\\ {\small Links auf viele Ressourcen über Debian-Entwicklung}

note: type: itemize
en: Guide for Debian Maintainers\\ \url{https://www.debian.org/doc/manuals/debmake-doc/}
de: Leitfaden für Debian-Betreuer\\ \url{https://www.debian.org/doc/manuals/debmake-doc/}

note: type: itemize
en: Debian Developer's Reference\\ \url{https://www.debian.org/doc/developers-reference/}\\ {\small Mostly about Debian procedures, but also some best packaging practices (part 6)}
de: Debian-Entwicklerreferenz\\ \url{https://www.debian.org/doc/developers-reference/}\\ {\small Hauptsächlich über Debian-Prozeduren, aber auch einige goldene Regeln der Paketierung (Teil 6)}

note: type: itemize
en: Debian Policy\\ \url{https://www.debian.org/doc/debian-policy/}\\
de: Debian-Richtlinien\\ \url{https://www.debian.org/doc/debian-policy/}\\

note: type: itemize
en: {\small \begin{itemize} \item \small All the requirements that every package must satisfy \item \small Specific policies for Perl, Java, Python, \ldots \end{itemize}}
de: {\small \begin{itemize} \item \small Alle Anforderungen, die jedes Paket erfüllen muss \item \small Spezielle Richtlinen für Perl, Java, Python, \ldots \end{itemize}}

note: type: itemize
en: Ubuntu Packaging Guide\\ \url{https://packaging.ubuntu.com/html/}
de: Ubuntu-Paketierungsleitfaden\\ \url{https://packaging.ubuntu.com/html/}

note: type: frame{#2}
en: Debian dashboards for maintainers
de: Debian-Armaturenbrett für Betreuer

note: type: itemize
en: \textbf{Source package centric}:\\ \url{https://tracker.debian.org/dpkg}
de: \textbf{Quellpaket zentriert}:\\ \url{https://tracker.debian.org/dpkg}

note: type: itemize
en: \textbf{Maintainer/team centric}: Developer's Packages Overview (DDPO)\\ \url{https://qa.debian.org/developer.php?login=pkg-ruby-extras-maintainers@lists.alioth.debian.org}
de: \textbf{Betreuer/Team zentriert}: Paketüberblick für Entwickler (DDPO)\\ \url{https://qa.debian.org/developer.php?login=pkg-ruby-extras-maintainers@lists.alioth.debian.org}

note: type: itemize
en: \textbf{TODO-list oriented}: Debian Maintainer Dashboard (DMD)\\ \url{https://udd.debian.org/dmd/}
de: \textbf{TODO-Listen-orientiert}: Debian Maintainer Dashboard (DMD)\\ \url{https://udd.debian.org/dmd/}

note: type: frame{#2}
en: Using the Debian Bug Tracking System (BTS)
de: Die Fehlerdatenbank (BTS) benutzen

note: type: itemize
en: A quite unique way to manage bugs
de: Eine recht einzigartige Art, mit Fehlern umzugehen

note: type: itemize
en: Web interface to view bugs
de: Web-Oberfläche zum Betrachten von Fehlern

note: type: itemize
en: Email interface to make changes to bugs
de: E-Mail-Schnittstelle, um Fehler zu verändern

note: type: itemize
en: Adding information to bugs:
de: Informationen zu Fehlern hinzufügen:

note: type: itemize
en: Write to \texttt{123456@bugs.debian.org} (does not include the submitter, you need to add \texttt{123456-submitter@bugs.debian.org})
de: Schreiben Sie an \texttt{123456@bugs.debian.org} (geht nicht an Einreichenden, Sie müssen \texttt{123456-submitter@bugs.debian.org} hinzufügen)

note: type: itemize
en: Changing bug status:
de: Fehlerstatus ändern:

note: type: itemize
en: Send commands to \texttt{control@bugs.debian.org}
de: Schicken Sie Befehle an \texttt{control@bugs.debian.org}

note: type: itemize
en: Command-line interface: \texttt{bts} command in \texttt{devscripts}
de: Befehlszeilen-Schnittstelle: \texttt{bts}-Befehl in \texttt{devscripts}

note: type: itemize
en: Documentation: \url{https://www.debian.org/Bugs/server-control}
de: Dokumentation: \url{https://www.debian.org/Bugs/server-control}

note: type: itemize
en: Reporting bugs: use \texttt{reportbug}
de: Fehler berichten: verwenden Sie \texttt{reportbug}

note: type: itemize
en: Normally used with a local mail server: install \texttt{ssmtp} or \texttt{nullmailer}
de: Normalerweise mit lokalem E-Mail-Server verwandt: installieren Sie \texttt{ssmtp} oder \texttt{nullmailer}

note: type: itemize
en: Or use \texttt{reportbug -\@-template}, then send (manually) to \texttt{submit@bugs.debian.org}
de: Alternativ verwenden Sie \texttt{reportbug -\@-template}, schicken Sie dann (manuell) an \texttt{submit@bugs.debian.org}

note: type: frame{#2}
en: Using the BTS: examples
de: Das BTS verwenden: Beispiele

note: type: itemize
en: Sending an email to the bug and the submitter:\\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#10}
de: Eine E-Mail an den Fehler und den Einreichenden senden:\\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#10}

note: type: itemize
en: Tagging and changing the severity:\\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680227\#10}
de: Markieren und Schweregrad ändern:\\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680227\#10}

note: type: itemize
en: Reassigning, changing the severity, retitling \ldots: \\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#93}
de: Neuzuweisen, Schweregrad ändern, umbenennen \ldots: \\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#93}

note: type: itemize
en: \texttt{notfound}, \texttt{found}, \texttt{notfixed}, \texttt{fixed} are for \textbf{version-tracking} \\ See \url{https://wiki.debian.org/HowtoUseBTS\#Version\_tracking}
de: \texttt{notfound}, \texttt{found}, \texttt{notfixed}, \texttt{fixed} sind für \textbf{Version-Nachverfolgung} \\ Siehe \url{https://wiki.debian.org/HowtoUseBTS\#Version\_tracking}

note: type: itemize
en: Using usertags: \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=42;bug=642267}\\ See \url{https://wiki.debian.org/bugs.debian.org/usertags}
de: Usertags verwenden: \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=42;bug=642267}\\ Siehe \url{https://wiki.debian.org/bugs.debian.org/usertags}

note: type: itemize
en: BTS Documentation:
de: BTS-Dokumentation:

note: type: frame{#2}
en: More interested in Ubuntu?
de: Mehr an Ubuntu interessiert?

note: type: itemize
en: Ubuntu mainly manages the divergence with Debian
de: Ubuntu verwaltet hauptsächlich die Abweichungen von Debian

note: type: itemize
en: No real focus on specific packages\\ Instead, collaboration with Debian teams
de: Kein echter Fokus auf spezielle Pakete\\ stattdessen Kollaboration mit Debian-Teams

note: type: itemize
en: Usually recommend uploading new packages to Debian first\\ \url{https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages}
de: Normalerweise wird empfohlen, neue Pakete zuerst nach Debian hochzuladen\\ \url{https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages}

note: type: itemize
en: Possibly a better plan:
de: Eventuell ein besserer Plan:

note: type: itemize
en: Get involved in a Debian team and act as a bridge with Ubuntu
de: Machen Sie bei einem Debian-Team mit und agieren Sie als Brücke zu Ubuntu

note: type: itemize
en: Help reduce divergence, triage bugs in Launchpad
de: Helfen Sie bei der Reduktion der Unterschiede, sichten Sie Fehler in Launchpad

note: type: itemize
en: Many Debian tools can help:
de: Viele Debian-Werkzeuge können helfen:

note: type: itemize
en: Ubuntu column on the Developer's packages overview
de: Ubuntu-Spalte auf dem Entwickler-Paketüberblick

note: type: itemize
en: Ubuntu box on the Package Tracking System
de: Ubuntu-Kasten in der Paketdatenbank

note: type: itemize
en: Receive launchpad bugmail via the PTS
de: Erhalten Sie Launchpad-Fehler-E-Mails über das PTS

note: type: frame{#2}
en: Conclusions
de: Fazit

note: type: itemize
en: You now have a full overview of Debian packaging
de: Sie haben jetzt einen kompletten Überblick über die Debian-Paketierung

note: type: itemize
en: But you will need to read more documentation
de: Sie werden aber weitere Dokumentation lesen müssen

note: type: itemize
en: Best practices have evolved over the years
de: Goldene Regeln entwickelten sich im Laufe der Jahre

note: type: itemize
en: If not sure, use the \textbf{dh} packaging helper, and the \textbf{3.0 (quilt)} format
de: Falls Sie sich unsicher sind, verwenden Sie die \textbf{dh}-Paketierungshelfer und das Format \textbf{3.0 (quilt)}

note: type: centerline{#1}
en: \large Feedback: \textbf{packaging-tutorial@packages.debian.org}
de: \large Rückmeldungen: \textbf{packaging-tutorial@packages.debian.org}

note: type: frame{#2}
en: Legal stuff
de: Rechtliches Zeug

note: type: frame
en: {\small \textbf{This document is free software}: you can redistribute it and/or modify it under either (at your option): \hbr \begin{itemize} \item The terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\\ \url{http://www.gnu.org/licenses/gpl.html} \br \item The terms of the Creative Commons Attribution-ShareAlike 3.0 Unported License.\\ \url{http://creativecommons.org/licenses/by-sa/3.0/} \end{itemize} }
de: {\small \textbf{Dieses Dokument ist freie Software}; Sie können es unter einer der folgenden Optionen (Ihrer Wahl) vertreiben und/oder verändern: \hbr \begin{itemize} \item Den Bedingungen der GNU General Public License, wie sie von der Free Software Foundation in Version 3 (oder nach Ihrer Wahl) einer neueren Version veröffentlicht wurden\\ \url{http://www.gnu.org/licenses/gpl.html} \br \item Den Bedingungen der Creative Commons Attribution-ShareAlike 3.0 Unported License.\\ \url{http://creativecommons.org/licenses/by-sa/3.0/} \end {itemize} }

note: type: frame{#2}
en: Contribute to this tutorial
de: Zur Anleitung beitragen

note: type: itemize
en: Contribute:
de: Beitragen:

note: type: itemize
en: {\small Open bugs: \url{bugs.debian.org/src:packaging-tutorial}}
de: {\small Offene Fehler: \url{bugs.debian.org/src:packaging-tutorial}}

note: type: itemize
en: Provide feedback:
de: Rückmeldung geben:

note: type: itemize
en: {\small What should be added to this tutorial?}
de: {\small Was sollte zu dieser Anleitung hinzugefügt werden?}

note: type: itemize
en: {\small What should be improved?}
de: {\small Was sollte verbessert werden?}

note: type: section{#2}
en: Additional practical sessions
de: Zusätzliche praktische Sitzungen

note: type: frame{#2}
en: Practical session 2: packaging GNUjump
de: Praktische Sitzung 2: GNUjump paketieren

note: type: enumerate
en: Download GNUjump 1.0.8 from \url{http://ftp.gnu.org/gnu/gnujump/gnujump-1.0.8.tar.gz}
de: Laden Sie GNUjump 1.0.8 von \url{http://ftp.gnu.org/gnu/gnujump/gnujump-1.0.8.tar.gz} herunter

note: type: enumerate
en: Create a Debian package for it
de: Erstellen Sie ein Debian-Paket dafür

note: type: itemize
en: Install build-dependencies so that you can build the package
de: Installieren Sie die Bauabhängigkeiten, so dass Sie das Paket bauen können

note: type: itemize
en: Fix bugs
de: Korrigieren Sie Fehler

note: type: itemize
en: Get a basic working package
de: Erstellen Sie ein grundlegendes, funktionierendes Paket

note: type: itemize
en: Finish filling \texttt{debian/control} and other files
de: Zum Schluss füllen Sie \texttt{debian/control} und andere Dateien aus

note: type: enumerate
en: Enjoy
de: Viel Spaß

note: type: frame{#2}
en: Practical session 2: packaging GNUjump (tips)
de: Praktische Sitzung 2: GNUjump paketieren (Tipps)

note: type: itemize
en: To get a basic working package, use \texttt{dh\_make}
de: Um ein grundlegendes, funktionierendes Quellpaket zu erhalten, verwenden Sie: \texttt{dh\_make}

note: type: itemize
en: To start with, creating a \textsl{1.0} source package is easier than \textsl{3.0 (quilt)} (change that in \texttt{debian/source/format})
de: Am Anfang ist ein Quellpaket \textsl{1.0} einfacher als ein \textsl{3.0 (quilt)} (ändern Sie das in \texttt{debian/source/format})

note: type: itemize
en: To search for missing build-dependencies, find a missing file, and use \texttt{apt-file} to find the missing package
de: Um nach fehlenden Bauabhängigkeiten zu suchen, finden Sie eine fehlende Datei und verwenden Sie \texttt{apt-file}, um das fehlende Paket zu finden

note: type: itemize
en: If you encounter that error:
de: Falls Sie auf den folgenden Fehler stoßen:

note: type: lstlisting
en: [basicstyle=\ttfamily\tiny]
    /usr/bin/ld: SDL_rotozoom.o: undefined reference to symbol 'ceil@@GLIBC_2.2.5'
    //lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    Makefile:376: recipe for target 'gnujump' failed
de: [basicstyle=\ttfamily\tiny,literate={ü}{{\"u}}1]
    /usr/bin/ld: SDL_rotozoom.o: undefined reference to symbol 'ceil@@GLIBC_2.2.5'
    //lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    Makefile:376: die Regel für Ziel "gnujump" scheiterte

note: type: itemize
en: You need to add \texttt{-lm} to the linker command line:\\ Edit \texttt{src/Makefile.am} and replace
de: Müssen Sie \texttt{-lm} zur Linker-Befehlszeile hinzufügen:\\ Bearbeiten Sie \texttt{src/Makefile.am} und ersetzen Sie

note: type: itemize
en: by
de: durch

note: type: itemize
en: Then run \texttt{autoreconf -i}
de: Führen Sie dann \texttt{autoreconf -i} aus

note: type: frame{#2}
en: Practical session 3: packaging a Java library
de: Praktische Sitzung 3: Eine Java-Bibliothek paketieren

note: type: enumerate
en: Take a quick look at some documentation about Java packaging:\\
de: Schauen Sie kurz mal auf die Dokumentation zur Java-Paketierung:\\

note: type: enumerate
en: Download IRClib from \url{http://moepii.sourceforge.net/}
de: Laden Sie IRClib von \url{http://moepii.sourceforge.net/} herunter

note: type: enumerate
en: Package it
de: Paketieren Sie es

note: type: frame{#2}
en: Practical session 4: packaging a Ruby gem
de: Praktische Sitzung 4: Ein Ruby-Gem paketieren

note: type: enumerate
en: Take a quick look at some documentation about Ruby packaging:\\
de: Schauen Sie kurz auf einige Dokumentation über Ruby-Paketierung:\\

note: type: itemize
en: \texttt{gem2deb(1)}, \texttt{dh\_ruby(1)} (in the \texttt{gem2deb} package)
de: \texttt{gem2deb(1)}, \texttt{dh\_ruby(1)} (im Paket \texttt{gem2deb})

note: type: enumerate
en: Create a basic Debian source package from the \texttt{peach} gem:\\ \texttt{gem2deb peach}
de: Erstellen Sie ein grundlegendes Debian-Quellpaket aus dem \texttt{peach}-Gem:\\ \texttt{gem2deb peach}

note: type: enumerate
en: Improve it so that it becomes a proper Debian package
de: Verbessern Sie es, so dass es ein richtiges Debian-Paket wird

note: type: frame{#2}
en: Practical session 5: packaging a Perl module
de: Praktische Sitzung 5: Ein Perl-Modul paketieren

note: type: enumerate
en: Take a quick look at some documentation about Perl packaging:\\
de: Schauen Sie kurz mal auf die Dokumentation zur Perl-Paketierung:\\

note: type: itemize
en: \texttt{dh-make-perl(1)}, \texttt{dpt(1)} (in the \texttt{pkg-perl-tools} package)
de: \texttt{dh-make-perl(1)}, \texttt{dpt(1)} (im Paket \texttt{pkg-perl-tools} )

note: type: enumerate
en: Create a basic Debian source package from the \texttt{Acme} CPAN distribution:\\ \verb|dh-make-perl --cpan Acme|
de: Erstellen Sie ein grundlegendes Debian-Quellpaket aus der \texttt{Acme}-CPAN-Distribution:\\ \verb|dh-make-perl --cpan Acme|

note: type: section{#2}
en: Answers to practical sessions
de: Antworten zu den praktischen Sitzungen

note: type: center
en: \LARGE Answers to
de: \LARGE Antworten zu den

note: type: center
en: [0.5em] practical sessions
de: [0.5em] praktische Sitzungen

note: type: frame{#2}
en: Fetching the source
de: Holen der Quellen

note: type: itemize
en: Use dget to download the \texttt{.dsc} file:\\ {\small \texttt{dget http://cdn.debian.net/debian/pool/main/g/grep/grep\_2.12-2.dsc}}
de: Verwenden Sie dget, um die Datei \texttt{.dsc} herunterzuladen:\\ {\small \texttt{dget http://cdn.debian.net/debian/pool/main/g/grep/grep\_2.12-2.dsc}}

note: type: itemize
en: If you have \texttt{deb-src} for a Debian release that has \texttt{grep} version 2.12-2 (find out on \url{https://tracker.debian.org/grep}), you can use: \texttt{apt-get source grep=2.12-2}\\ or \texttt{apt-get source grep/release} (e.g. \texttt{grep/stable})\\ or, if you feel lucky: \texttt{apt-get source grep}
de: Falls Sie \texttt{deb-src} für eine Debian-Veröffentlichung, die \texttt{grep} Version 2.12-2 hat, haben (schauen Sie auf \url{https://tracker.debian.org/grep}), können Sie folgendes verwenden: \texttt{apt-get source grep=2.12-2}\\ oder \texttt{apt-get source grep/release} (z.B. \texttt{grep/stable}) \\ oder, falls Sie es auf Gut Glück versuchen wollen: \texttt{apt-get source grep}

note: type: itemize
en: The \texttt{grep} source package is composed of three files:
de: Das Quellpaket \texttt{grep} besteht aus drei Dateien:

note: type: itemize
en: This is typical of the "3.0 (quilt)" format.
de: Dies ist für das Format »3.0 (quilt)« typisch.

note: type: itemize
en: If needed, uncompress the source with\\ \texttt{dpkg-source -x grep\_2.12-2.dsc}
de: Falls notwendig, dekomprimieren Sie die Quellen mit\\ \texttt{dpkg-source -x grep\_2.12-2.dsc}

note: type: frame{#2}
en: Looking around and building the package
de: Rumschauen und Paket bauen

note: type: enumerate
en: Look at the files in \texttt{debian/}
de: Schauen Sie sich die Dateien in \texttt{debian/} an.

note: type: itemize
en: According to \texttt{debian/control}, this package only generates one binary package, named \texttt{grep}.
de: Laut \texttt{debian/control} erstellt dieses Paket nur ein Binärpaket namens \texttt{grep}.

note: type: itemize
en: According to \texttt{debian/rules}, this package is typical of \textsl{classic} debhelper packaging, without using \textsl{CDBS} or \textsl{dh}. One can see the various calls to \texttt{dh\_*} commands in \texttt{debian/rules}.
de: Laut \texttt{debian/rules} verwendet dieses Paket typisches \textsl{klassisches} Debhelper, ohne \textsl{CDBS} oder \textsl{dh}. Die verschiedenen Aufrufe an die \texttt{dh\_*}-Befehle können in \texttt{debian/rules} gesehen werden.

note: type: itemize
en: Use \texttt{apt-get build-dep grep} to fetch the build-dependencies
de: Verwenden Sie \texttt{apt-get build-dep grep}, um die Bauabhängigkeiten zu holen

note: type: itemize
en: Then \texttt{debuild} or \texttt{dpkg-buildpackage -us -uc} (Takes about 1 min)
de: Dann \texttt{debuild} oder \texttt{dpkg-buildpackage -us -uc} (benötigt rund eine Minute)

note: type: frame{#2}
en: Editing the changelog
de: Das Änderungsprotokoll (Changelog) bearbeiten

note: type: itemize
en: \texttt{debian/changelog} is a text file. You could edit it and add a new entry manually.
de: \texttt{debian/changelog} ist eine Textdatei. Sie könnten sie manuell bearbeiten und einen Eintrag hinzufügen.

note: type: itemize
en: Or you can use \texttt{dch -i}, which will add an entry and open the editor
de: Oder Sie können \texttt{dch -i} verwenden, das einen Eintrag hinzufügen und einen Editor öffnen wird.

note: type: itemize
en: The name and email can be defined using the \texttt{DEBFULLNAME} and \texttt{DEBEMAIL} environment variables
de: Der Name und die E-Mail kann mittels der Umgebungsvariablen \texttt{DEBFULLNAME} und \texttt{DEBEMAIL} definiert werden.

note: type: itemize
en: After that, rebuild the package: a new version of the package is built
de: Danach bauen Sie das Paket neu; eine neue Version des Paketes ist gebaut

note: type: itemize
en: Package versioning is detailed in section 5.6.12 of the Debian policy\\ \url{https://www.debian.org/doc/debian-policy/ch-controlfields}
de: Paket-Versionierung wird im Detail in Abschnitt 5.6.12 der Debian-Richtlinien dargestellt\\ \url{https://www.debian.org/doc/debian-policy/ch-controlfields}

note: type: frame{#2}
en: Disabling Perl regexp support and rebuilding
de: Perl-Regex-Unterstützung deaktivieren und neu bauen

note: type: itemize
en: Check with \texttt{./configure -{}-help}: the option to disable Perl regexp is \texttt{-{}-disable-perl-regexp}
de: Prüfen Sie mit \texttt{./configure -{}-help}: Die Option, um reguläre Perl-Ausdrücke zu deaktivieren, ist \texttt{-{}-disable-perl-regexp}

note: type: itemize
en: Edit \texttt{debian/rules} and find the \texttt{./configure} line
de: Bearbeiten Sie \texttt{debian/rules} und suchen Sie die Zeile mit \texttt{./configure}

note: type: itemize
en: Add \texttt{-{}-disable-perl-regexp}
de: Fügen Sie \texttt{-{}-disable-perl-regexp} hinzu

note: type: itemize
en: Rebuild with \texttt{debuild} or \texttt{dpkg-buildpackage -us -uc}
de: Bauen Sie mit \texttt{debuild} oder \texttt{dpkg-buildpackage -us -uc} neu

note: type: frame{#2}
en: Comparing and testing the packages
de: Vergleichen und Testen des Pakets

note: type: itemize
en: Compare the binary packages: \texttt{debdiff ../*changes}
de: Vergleichen der Binärpakete: \texttt{debdiff ../*changes}

note: type: itemize
en: Compare the source packages: \texttt{debdiff ../*dsc}
de: Vergleichen der Quellpakete: \texttt{debdiff ../*dsc}

note: type: itemize
en: Install the newly built package: \texttt{debi}\\ Or \texttt{dpkg -i ../grep\_<TAB>}
de: Installieren Sie das neu gebaute Paket: \texttt{debi}\\ Oder \texttt{dpkg -i ../grep\_<TAB>}

note: type: itemize
en: \texttt{grep -P foo} no longer works!
de: \texttt{grep -P foo} funktioniert nicht mehr!

note: type: frame
en: Reinstall the previous version of the package:
de: Installieren Sie wieder die vorherige Version des Pakets:

note: type: itemize
en: \texttt{apt-get install -{}-reinstall grep=2.6.3-3} \textit{(= previous version)}
de: \texttt{apt-get install -{}-reinstall grep=2.6.3-3} \textit{(= vorherige Version)}

note: type: frame{#2}
en: Step by step\ldots
de: Schritt für Schritt\ldots

note: type: itemize
en: Type of package: single binary (for now)
de: Pakettyp: Einzelnes Programm (derzeit)

note: type: frame{#2}
en: Step by step\ldots (2)
de: Schritt für Schritt\ldots (2)

note: type: itemize
en: Look at \texttt{debian/changelog}, \texttt{debian/rules}, \texttt{debian/control}\\ (auto-filled by \textbf{dh\_make})
de: Schauen Sie in \texttt{debian/changelog}, \texttt{debian/rules}, \texttt{debian/control}\\ (durch \textbf{dh\_make} automatisch ausgefüllt)

note: type: itemize
en: In \texttt{debian/control}:\\ \texttt{Build-Depends: debhelper (>= 7.0.50~), autotools-dev}\\ Lists the \textsl{build-dependencies} = packages needed to build the package
de: In \texttt{debian/control}:\\ \texttt{Build-Depends: debhelper (>= 7.0.50~), autotools-dev}\\ Führt die \textsl{build-dependencies} auf = Pakete, die zum Bau des Pakets benötigt werden

note: type: itemize
en: Try to build the package as-is with \texttt{debuild} (thanks to \textbf{dh} magic)
de: Versuchen Sie, das Paket so mit \texttt{debuild} zu bauen (dank der \textbf{dh}-Magie)

note: type: itemize
en: And add build-dependencies, until it builds
de: Fügen Sie Bauabhängigkeiten hinzu, bis das Paket baut

note: type: itemize
en: Hint: use \texttt{apt-cache search} and \texttt{apt-file} to find the packages
de: Tipp: Verwenden Sie \texttt{apt-cache search} und \texttt{apt-file}, um die Pakete zu finden

note: type: itemize
en: Example:
de: Beispiel:

note: type: itemize
en: $\rightarrow$ Add \textbf{libsdl1.2-dev} to Build-Depends and install it.
de: $\rightarrow$ \textbf{libsdl1.2-dev} zu den Build-Depends hinzufügen und installieren.

note: type: itemize
en: Better: use \textbf{pbuilder} to build in a clean environment
de: Besser: \textbf{pbuilder} verwenden, um in einer sauberen Umgebung zu bauen

note: type: frame{#2}
en: Step by step\ldots (3)
de: Schritt für Schritt\ldots (3)

note: type: itemize
en: Required build-dependencies are \texttt{libsdl1.2-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev}
de: Benötigte Bauabhängigkeiten sind \texttt{libsdl1.2-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev}

note: type: itemize
en: Then, you will probably run into another error:
de: Wahrscheinlich tritt danach ein anderer Fehler auf:

note: type: lstlisting
en: [basicstyle=\ttfamily\tiny]
    	/usr/bin/ld: SDL_rotozoom.o: undefined reference to symbol 'ceil@@GLIBC_2.2.5'
    	//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
    	collect2: error: ld returned 1 exit status
    	Makefile:376: recipe for target 'gnujump' failed
de: [basicstyle=\ttfamily\tiny,literate={ü}{{\"u}}1]
    	/usr/bin/ld: SDL_rotozoom.o: undefined reference to symbol 'ceil@@GLIBC_2.2.5'
    	//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
    	collect2: error: ld returned 1 exit status
    	Makefile:376: die Regel für Ziel "gnujump" scheiterte

note: type: itemize
en: This problem is caused by bitrot: gnujump has not been adjusted following linker changes.
de: Diese Problem entsteht durch vernachlässigte Software: Gnujump wurde nicht auf die Änderungen beim Linker angepasst.

note: type: itemize
en: If you are using source format version \textbf{1.0}, you can directly change upstream sources.
de: Falls Sie das Quellformat Version \textbf{1.0} verwenden, können Sie direkt die Quellen der Originalautoren ändern.

note: type: itemize
en: Edit \texttt{src/Makefile.am} and replace
de: Bearbeiten Sie \texttt{src/Makefile.am} und ersetzen Sie

note: type: frame{#2}
en: Step by step\ldots (4)
de: Schritt für Schritt\ldots (4)

note: type: itemize
en: If you are using source format version \textbf{3.0 (quilt)}, use \texttt{quilt} to prepare a patch. (see \url{https://wiki.debian.org/UsingQuilt})
de: Falls Sie das Quellformat Version \textbf{3.0 (quilt)} verwenden, verwenden Sie \texttt{quilt}, um einen Patch zu erstellen. (siehe \url{https://wiki.debian.org/UsingQuilt})

note: type: itemize
en: Since \texttt{src/Makefile.am} was changed, autoreconf must be called during the build. To do that automatically with \texttt{dh}, change the \texttt{dh} call in \texttt{debian/rules} from: \texttt{dh \$\@ -{}-with autotools-dev}\\ to: \texttt{dh \$\@ -{}-with autotools-dev -{}-with autoreconf}
de: Da \texttt{src/Makefile.am} geändert wurde, muss während des Baus Autoreconf aufgerufen werden. Um das mit \texttt{dh} automatisch durchzuführen, ändern Sie den Aufruf von \texttt{dh} in \texttt{debian/rules} von \texttt{dh \$\@ -{}-with autotools-dev} in \\ \texttt{dh \$\@ -{}-with autotools-dev -{}-with autoreconf}

note: type: frame{#2}
en: Step by step\ldots (5)
de: Schritt für Schritt\ldots (5)

note: type: itemize
en: The package should now build fine.
de: Das Paket sollte jetzt korrekt bauen.

note: type: itemize
en: Use \texttt{debc} to list the content of the generated package, and \texttt{debi} to install it and test it.
de: Verwenden Sie \texttt{debc}, um den Inhalt des erstellten Pakets aufzulisten und \texttt{debi}, um es zu installieren und zu testen

note: type: itemize
en: Test the package with \texttt{lintian}
de: Testen Sie das Pakets mit \texttt{lintian}

note: type: itemize
en: While not a strict requirement, it is recommended that packages uploaded to Debian are \textsl{lintian-clean}
de: Nicht zwingend gefordert, aber für nach Debian hochgeladene Pakete wird \textsl{lintian-clean} empfohlen

note: type: itemize
en: More problems can be listed using \texttt{lintian -EviIL +pedantic}
de: Weitere Probleme können mit \texttt{lintian -EviIL +pedantic} aufgelistet werden

note: type: itemize
en: Some hints:
de: Einige Tipps:

note: type: itemize
en: Remove the files that you don't need in \texttt{debian/}
de: Entfernen Sie nicht benötigte Dateien aus \texttt{debian/}

note: type: itemize
en: Fill in \texttt{debian/control}
de: Ausfüllen von \texttt{debian/control}

note: type: itemize
en: Install the executable to \texttt{/usr/games} by overriding \texttt{dh\_auto\_configure}
de: Installation des Programms nach \texttt{/usr/games}, außer Kraft setzen von \texttt{dh\_auto\_configure}

note: type: itemize
en: Use \textsl{hardening} compiler flags to increase security.\\ See \url{https://wiki.debian.org/Hardening}
de: Verwendung von \textsl{Härtungs}-Compiler-Schalter für bessere Sicherheit. Siehe \url{https://wiki.debian.org/Hardening}

note: type: frame{#2}
en: Step by step\ldots (6)
de: Schritt für Schritt\ldots (6)

note: type: itemize
en: Compare your package with the one already packaged in Debian:
de: Vergleichen Sie Ihr Paket mit dem bereits in Debian paketierten:

note: type: itemize
en: It splits the data files to a second package, that is the same across all architectures ($\rightarrow$ saves space in the Debian archive)
de: Es verschiebt die Datendateien in ein zweites Paket, das über alle Architekturen hinweg identisch ist ($\rightarrow$ spart Platz im Debian-Archiv)

note: type: itemize
en: It installs a .desktop file (for the GNOME/KDE menus) and also integrates into the Debian menu
de: Es installiert eine .desktop-Datei (für die GNOME-/KDE-Menüs) und integriert sich auch in das Debian-Menü

note: type: itemize
en: It fixes a few minor problems using patches
de: Es korrigiert ein paar kleinere Probleme mit Patches

note: type: itemize
en: Create a basic source package: \texttt{jh\_makepkg}
de: Ein grundlegendes Quellpaket erstellen: \texttt{jh\_makepkg}

note: type: itemize
en: Library
de: Bibliothek

note: type: itemize
en: None
de: Keine

note: type: itemize
en: Default Free compiler/runtime
de: Standard Freier Compiler/Laufzeitumgebung

note: type: itemize
en: Look at and fix \texttt{debian/*}
de: \texttt{debian/*} anschauen und korrigieren

note: type: itemize
en: \texttt{dpkg-buildpackage -us -uc} or \texttt{debuild}
de: \texttt{dpkg-buildpackage -us -uc} oder \texttt{debuild}

note: type: itemize
en: \texttt{lintian}, \texttt{debc}, etc.
de: \texttt{lintian}, \texttt{debc}, usw.

note: type: itemize
en: Compare your result with the \texttt{libirclib-java} source package
de: Vergleichen Sie Ihr Ergebnis mit dem Quellpaket \texttt{libirclib-java}

note: type: itemize
en: Downloads the gem from rubygems.org
de: Lädt Gem von rubygems.org herunter

note: type: itemize
en: Creates a suitable .orig.tar.gz archive, and untar it
de: Erstellt ein geeignetes .orig.tar.gz-Archiv und entpackt es

note: type: itemize
en: Initializes a Debian source package based on the gem's metadata
de: Initialisiert ein Debian-Quellpaket, basierend auf den Gem-Metadaten.

note: type: itemize
en: Named \texttt{ruby-\textsl{gemname}}
de: Namens \texttt{ruby-\textsl{Gem-Name}}

note: type: itemize
en: Tries to build the Debian binary package (this might fail)
de: Versucht, das Debian-Paket zu bauen (kann fehlschlagen)

note: type: frame
en: \texttt{dh\_ruby} (included in \textsl{gem2deb}) does the Ruby-specific tasks:
de: \texttt{dh\_ruby} (Teil von \textsl{gem2deb}) erledigt die Ruby-spezfischen Aufgaben:

note: type: itemize
en: Build C extensions for each Ruby version
de: C-Erweiterungen für jede Ruby-Version bauen

note: type: itemize
en: Copy files to their destination directory
de: Dateien in ihr Zielverzeichnis kopieren

note: type: itemize
en: Update shebangs in executable scripts
de: Shebangs in ausführbaren Skripten aktualisieren

note: type: itemize
en: Run tests defined in \texttt{debian/ruby-tests.rb}, \texttt{debian/ruby-tests.rake}, or \texttt{debian/ruby-test-files.yaml}, as well as various other checks
de: Die in \texttt{debian/ruby-tests.rb}, \texttt{debian/ruby-tests.rake} oder \texttt{debian/ruby-test-files.yaml} definierten Tests ausführen sowie weitere Prüfungen

note: type: frame
en: Improve the generated package:
de: Verbessern des erstellten Paketes:

note: type: itemize
en: Run \texttt{debclean} to clean the source tree. Look at \texttt{debian/}.
de: \texttt{debclean} ausführen, um den Quellbaum zu bereinigen. Schauen Sie in \texttt{debian/}.

note: type: itemize
en: \texttt{changelog} and \texttt{compat} should be correct
de: \texttt{changelog} und \texttt{compat} sollten korrekt sein

note: type: itemize
en: Edit \texttt{debian/control}: improve \texttt{Description}
de: Bearbeiten Sie \texttt{debian/control}: verbessern Sie \texttt{Description}

note: type: itemize
en: Write a proper \texttt{copyright} file based on the upstream files
de: Schreiben Sie eine vernünftige \texttt{copyright}-Datei, basierend auf den Dateien der Originalautoren

note: type: itemize
en: Compare your package with the \texttt{ruby-peach} package in the Debian archive
de: Vergleichen Sie Ihr Paket mit dem Paket \texttt{ruby-peach} im Debian-Archiv

note: type: itemize
en: Downloads the tarball from the CPAN
de: Lädt den Tarball von CPAN herunter

note: type: itemize
en: Creates a suitable .orig.tar.gz archive, and untars it
de: Erstellt ein geeignetes .orig.tar.gz-Archiv und entpackt es

note: type: itemize
en: Initializes a Debian source package based on the distribution's metadata
de: Initialisiert ein Debian-Quellpaket, basierend auf den Metadaten der Distribution.

note: type: itemize
en: Named \texttt{lib\textsl{distname}-perl}
de: Namens \texttt{lib\textsl{Distname}-perl}

note: type: itemize
en: \texttt{debian/changelog}, \texttt{debian/compat}, \texttt{debian/libacme-perl.docs}, and \texttt{debian/watch} should be correct
de: \texttt{debian/changelog}, \texttt{debian/compat}, \texttt{debian/libacme-perl.docs} und \texttt{debian/watch} sollten korrekt sein

note: type: itemize
en: Edit \texttt{debian/control}: improve \texttt{Description}, and remove boilerplate at the bottom
de: Bearbeiten Sie \texttt{debian/control}: Verbessern Sie \texttt{Description} und entfernen Sie den Textbaustein am Ende

note: type: itemize
en: Edit \texttt{debian/copyright}: remove boilerplate paragraph at the top, add years of copyright to the \texttt{Files:\hspace{0.3em}*} stanza
de: Bearbeiten Sie \texttt{debian/copyright}: Entfernen Sie den Textbaustein am Anfang und fügen Sie Copyright-Jahre zum Block \texttt{Files:\hspace{0.3em}*} hinzu
