// Datei: ./werkzeuge/paketoperationen/paket-nach-maintainer-finden.adoc

// Baustelle: Fertig

[[paket-nach-maintainer-finden]]
=== Paket nach Maintainer finden ===

// Stichworte für den Index
(((Paketsuche, anhand des Maintainers)))
Als 'Debian Maintainer' versteht sich diejenige Einzelperson oder das
Team, welche(s) eine Software betreut und für das entsprechende
Debian-Paket verantwortlich zeichnet. Maintainer kümmern sich darum, dass
das Paket gepflegt wird, d.h. Änderungen und Verbesserungen aus dem
Upstream in das Paket unter Berücksichtigung der Debian-Spezifika
einfließen, dieses dabei weiterhin den Debian-Richtlinien entspricht und
in möglichst stabiler Form verfügbar bleibt <<Debian-Wiki-Maintainer>>.

==== Welche Pakete betreut ein Debian-Maintainer ====

// Stichworte für den Index
(((aptitude, search ~m)))
(((aptitude, Format Strings)))
(((ara)))
(((grep-dctrl)))
(((Paketsuche, mittels aptitude)))
(((Synaptic)))
Diese Information liefern Ihnen mehrere Werkzeuge – `aptitude`,
`grep-dctrl` und Synaptic. Die Unterschiede liegen im Aufruf und den
Parametern.

`aptitude` kennt den Schalter `~m` gefolgt von der Emailadresse des
Maintainers. Damit finden Sie die 'Binärpakete', in denen dieser
Maintainer als Verantwortlicher eingetragen ist. Für Axel Beckert und
seine Emailadresse `abe@debian.org` lautet der komplette Aufruf
`aptitude search '~m abe@debian.org'`. In der Schreibweise ist
`aptitude` sehr tolerant – es gestattet den Aufruf mit und auch ohne
Leerzeichen zwischen der Option und der Emailadresse.

.Paketfilterung nach der Emailadresse des Maintainers mittels `aptitude`
----
$ aptitude search '~m abe@debian.org'
p   aha                               - Konvertiert ANSI-Farben nach HTML
p   amora-applet                      - use a bluetooth device as X remote control (
p   amora-cli                         - use a bluetooth device as X remote control (
p   autossh                           - SSH-Sitzungen und -Tunnel automatisch neu st
p   conkeror                          - Tastaturbedienbarer Webbrowser mit Emacs-ähn
p   conkeror-spawn-process-helper     - spawn external processes in Conkeror
p   dillo                             - Kleiner und schneller Webbrowser
p   dphys-config                      - Werkzeug zum Verteilen von Konfigurationsdat
p   dphys-swapfile                    - Automatisches Generieren und Nutzen einer Au
p   libapache2-mod-macro              - Create macros inside Apache config files
p   links                             - Textmodus-Webbrowser
i   links2                            - Webbrowser für den graphischen und den Textmo
...
$
----

Obige Ausgabe basiert auf dem Formatstring `-F '%c%a%M %p - %d'`. Die
einzelnen Buchstaben stehen für den aktuellen Paketstatus (`%c`), die
Aktion des Pakets (`%a`), automatische Installation (`%M`), den
Paketnamen (`%p`) und die Paketbeschreibung (`%d`). Eine detaillierte
Übersicht zu allen zulässigen Formatoptionen erklären wir Ihnen unter
```aptitude` Format Strings'' in <<aptitude-format-strings>>. Eine
Alternative bietet zudem das Aptitude Handbuch
<<aptitude-dokumentation-paketdarstellung>>.

Möchten Sie in der Ausgabe stattdesen nur den Paketnamen, die
Paketbeschreibung und den Paketmaintainer ausgeben, helfen Ihnen dabei
die drei Optionen `%p`, `%d` und `%m` weiter. Letztgenanntes steht als
Abkürzung für 'maintainer'.

.Paketsuche nach Paketnamen, Paketbeschreibung und Paketmaintainer
----
$ aptitude search -F '%p - %d - %m' '~mabe@debian.org' 
aha            - Konvertiert ANSI-Farben nach HTML  - Axel Beckert <abe@debian.org>
amora-applet   - use a bluetooth device as X remote - Axel Beckert <abe@debian.org>
amora-cli      - use a bluetooth device as X remote - Axel Beckert <abe@debian.org>
autossh        - SSH-Sitzungen und -Tunnel automati - Axel Beckert <abe@debian.org>
...
$
----

// Stichworte für den Index
(((Debianpaket, dctrl-tools)))
(((grep-dctrl, -F)))
(((grep-dctrl, -s)))
(((Paketsuche, anhand des Maintainers)))
(((Paketsuche, anhand des Uploaders)))
(((Paketsuche, mittels grep-dctrl)))
Das Programm `grep-dctrl` aus dem Paket 'dctrl-tools'
<<Debian-Paket-dctrl-tools>> sucht alle Pakete heraus, bei dem als
Maintainer oder Uploader die angefragte Person hinterlegt ist und gibt
diese zum gefundenen Paketnamen aus. Als weiteren Parameter benötigt es
noch die lokal gespeicherte Paketliste, die es durchsuchen soll. Im
nachfolgenden Beispiel ist das die Paketliste für den Paketmirror
`ftp.de.debian.org` für die Distribution Debian 7 _Wheezy_ sowie daraus
der Bereich _main_ und die Architektur _i386_.

.Suche nach Maintainer und Uploader in der lokalen Paketliste (Ausschnitt)
----
$ grep-dctrl -F Maintainer,Uploaders abe@debian.org -s Package,Maintainer,Uploaders /var/lib/apt/lists/ftp.de.debian.org_debian_dists_wheezy_main_binary-i386_Packages 
Package: aha
Maintainer: Axel Beckert <abe@debian.org>

Package: amora-applet
Maintainer: Axel Beckert <abe@debian.org>

Package: amora-cli
Maintainer: Axel Beckert <abe@debian.org>

Package: autossh
Maintainer: Axel Beckert <abe@debian.org>

...
$
----

// Stichworte für den Index
(((Synaptic)))
(((Paketsuche, mittels Synaptic)))
Das graphische Programm Synaptic (<<gui-synaptic>>) handhabt das ganze
etwas anders und bietet Ihnen einen passenden Menüeintrag an. Unter dem
Eintrag menu:Bearbeiten[Suchen] bzw. mit der Tastenkombination
kbd:[Ctrl,F] erreichen Sie den Suchdialog. Im Auswahlfeld selektieren
Sie den Eintrag menu:Betreuer[] und tragen im Eingabefeld dessen
Namen ein. Daraufhin liefert Ihnen Synaptic ein Ergebnis wie in
<<fig.synaptic-suche-nach-maintainer>>. In der linken Spalte der
Paketauswahl erscheint zudem ein zusätzlicher Eintrag mit dem Namen des
Paketmaintainers.

.Ergebnis der Suche nach dem Paketmaintainer in Synaptic
image::werkzeuge/paketoperationen/synaptic-suche-nach-maintainer.png[id="fig.synaptic-suche-nach-maintainer", width="50%"]

==== Rückrichtung: Wer betreut ein bestimmtes Paket ====

// Stichworte für den Index
(((dd-list)))
(((Debianpaket, devscripts)))
(((Paketsuche, anhand des Maintainers)))
(((Paketsuche, anhand des Co-Maintainers)))
(((Paketsuche, mittels dd-list)))
Interessant ist natürlich auch die Rückrichtung: das Ausgeben aller
Maintainer und Co-Maintainer zu einer Liste von Source- und
Binärpaketen. Das gelingt Ihnen mit dem Kommando `dd-list` aus dem Paket
'devscripts' <<Debian-Paket-devscripts>>. Als Parameter geben Sie die
Namen der Pakete an, die Sie interessieren. Leider werden in der Ausgabe
die Co-Maintainer irreführend als Uploader mit einem großen `U` benannt.

.Ausgabe der Maintainer und Co-Maintainer mittels `dd-list`
----
$ dd-list screen xymon fping ack
Antti Järvinen <antti.jarvinen@katiska.org>
   screen (U)

Axel Beckert <abe@debian.org>
   ack (U)
   fping
   screen
   xymon (U)

Christoph Berg <myon@debian.org>
   xymon

Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
   ack
$
----

Viele Entwickler mögen dieses Kommando sehr. Sie verwenden es, um Listen
von einem bestimmten Problem oder einer Migration betroffenen Pakete zu
erhalten. Darin suchen sie nach ihrem eigenen Namen und wenn dieser
nicht mehr darin auftaucht, haben sie keine Arbeit mehr damit ;-)

// Datei (Ende): ./werkzeuge/paketoperationen/paket-nach-maintainer-finden.adoc
