MFbed:  Update the German documentation set.

doc/de_DE.ISO8859-1/articles/Makefile                           hook up the new article
doc/de_DE.ISO8859-1/articles/contributing-ports/Makefile        new file
doc/de_DE.ISO8859-1/articles/contributing-ports/article.sgml    new translation [XX]

Obtained from:  The FreeBSD German Documentation Project.

[XX]:
Translated by:  miwi@
Reviewed by:    lme@, ds@ (and helper)
Trimmed by:     jkois@  ;-)
This commit is contained in:
Johann Kois 2007-07-11 19:03:56 +00:00
parent 8300f35264
commit 4227197839
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=30470
3 changed files with 961 additions and 1 deletions
de_DE.ISO8859-1/articles

View file

@ -3,10 +3,11 @@
# The FreeBSD German Documentation Project
#
# $FreeBSD$
# $FreeBSDde: de-docproj/articles/Makefile,v 1.4 2005/08/26 19:42:43 jkois Exp $
# $FreeBSDde: de-docproj/articles/Makefile,v 1.5 2007/07/11 18:41:07 jkois Exp $
# basiert auf: 1.42
SUBDIR = contributing
SUBDIR+= contributing-ports
SUBDIR+= explaining-bsd
SUBDIR+= laptop
SUBDIR+= new-users

View file

@ -0,0 +1,24 @@
#
# The FreeBSD Documentation Project
# The FreeBSD German Documentation Project
#
# $FreeBSD$
# $FreeBSDde: de-docproj/articles/contributing-ports/Makefile,v 1.1 2007/07/11 08:21:55 jkois Exp $
# basiert auf: 1.1
#
# Article: Zu den Ports beitragen
DOC?= article
FORMATS?= html html-split
WITH_ARTICLE_TOC?= YES
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.sgml
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,935 @@
<!-- The FreeBSD Documentation Project
The FreeBSD German Documentation Project
$FreeBSD$
$FreeBSDde: de-docproj/articles/contributing-ports/article.sgml,v 1.4 2007/07/11 18:44:52 jkois Exp $
basiert auf: 1.4
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//DE">
%articles.ent;
<!ENTITY % not.published "IGNORE">
]>
<article lang="de">
<articleinfo>
<title>Zur FreeBSD Ports-Sammlung beitragen</title>
<pubdate>$FreeBSD$</pubdate>
<abstract>
<para>Dieser Artikel beschreibt, wie man zur FreeBSD Ports-Sammlung
beitragen kann.</para>
<para><emphasis>&Uuml;bersetzt von Martin Wilke</emphasis>.</para>
</abstract>
<authorgroup>
<author>
<firstname>Sam</firstname>
<surname>Lawrance</surname>
</author>
<author>
<firstname>Mark</firstname>
<surname>Linimon</surname>
</author>
</authorgroup>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.general;
</legalnotice>
</articleinfo>
<indexterm><primary>Ports, beitragen</primary></indexterm>
<sect1>
<title>Einleitung</title>
<para>Die Ports-Sammlung ist st&auml;ndig in Bearbeitung. Wir
wollen unseren Benutzern eine einfach zu verwendende,
aktuelle und qualitativ hochwertige Quelle f&uuml;r Software
von Drittanbietern bereitstellen. Deshalb suchen wir immer
Personen, die etwas von ihrer Zeit aufwenden k&ouml;nnen,
um uns dabei zu helfen.</para>
<para>An der Ports-Sammlung zu arbeiten,
ist ein hervorragender Weg, um zu helfen und dem Projekt
etwas zur&uuml;ck zu geben. Egal, ob Sie eine dauerhafte
Funktion oder eine kleine Aufgabe f&uuml;r einen
regnerischen Tag suchen - wir w&uuml;rden uns &uuml;ber
Ihre Hilfe freuen!</para>
<para>Als Freiwillige/r setzen Sie sich selbst Grenzen.
Sie sollten sich aber immer bewusst sein, dass andere
Mitglieder der &os; Community m&ouml;glicherweise auch
etwas von Ihnen erwarten. Sie sollten dies auf jeden
Fall in Ihre Entscheidung mit einbeziehen.</para>
</sect1>
<sect1 id="what-contribute">
<title>Was Sie tun k&ouml;nnen, um uns zu helfen</title>
<para>Um die Ports-Sammlung aktuell und in einem sauberen Zustand
zu halten, sind viele Dinge zu erledigen:</para>
<itemizedlist>
<listitem>
<para>Finden Sie eine begehrte oder n&uuml;tzliche
Software und <link
linkend="create-port">erstellen Sie einen Port</link>.</para>
</listitem>
<listitem>
<para>Es gibt eine gro&szlig;e Anzahl von Ports, die keinen
Maintainer haben. Werden Sie Maintainer und <link
linkend="adopt-port">betreuen Sie einen Port</link>.</para>
</listitem>
<listitem>
<para>Wenn Sie einen Port erstellt haben oder betreuen,
vergessen Sie nicht, <link
linkend="maintain-port">welche Aufgaben ein Maintainer
hat</link>.</para>
</listitem>
<listitem>
<para>Wenn Sie nur eine kleine Aufgabe suchen,
k&ouml;nnten Sie beispielsweise <link
linkend="fix-broken">einen Bug oder kaputten
Port fixen</link>.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="create-port">
<title> Erstellen Sie einen neuen Port</title>
<para>Es gibt ein eigenes Handbuch, das beim Erstellen
(und Aktualisieren) von Ports hilft. Es hei&szlig;t <ulink
url="&url.books.porters-handbook.en;">Porter's Handbook</ulink>.
Das Porter's Handbook ist die beste Referenz, um mit
dem Ports-System zu arbeiten. Es enth&auml;lt Details
dar&uuml;ber, wie das Ports-System funktioniert und wie
man mit/an den Ports arbeitet.</para>
</sect1>
<sect1 id="adopt-port">
<title>&Uuml;bernahme eines nicht betreuten Ports</title>
<sect2>
<title>Einen nicht betreuten Port aussuchen</title>
<para>Die Betreuung eines Ports ist ein guter Weg zu helfen.
Nicht betreute Ports bleiben nur aktuell und stabil, wenn ein
Freiwilliger daf&uuml;r sorgt. Es gibt eine grosse Anzahl
nicht betreuter Ports, daher ist es eine gute Idee f&uuml;r
den Einstieg, einen verwaisten Port zu &uuml;bernehmen, den
Sie auch regelm&auml;ssig selbst verwenden.</para>
<para>Nicht betreute Ports haben als <makevar>MAINTAINER</makevar>
den Wert <literal>ports@FreeBSD.org</literal>. Eine Liste
der derzeit nicht betreuten Ports sowie Informationen zu deren
aktuellen Fehlern und Problemen k&ouml;nnen Sie unter <ulink
url="http://portsmon.FreeBSD.org/portsconcordanceformaintainer.py?maintainer=ports%40FreeBSD.org">
&os; Ports Monitoring System</ulink> einsehen.</para>
<para>Einige Ports beeinflussen durch Abh&auml;ngigkeiten
und <quote>Slave-Port-Beziehungen</quote> eine grosse
Anzahl anderer Ports. Generell ist es ratsam, dass
Maintainer &uuml;ber ein Mindestma&szlig; an Erfahrung
verf&uuml;gen, bevor Sie derartige Ports betreuen.</para>
<para>Um herauszufinden, ob ein Port Abh&auml;ngigkeiten
oder Slave-Ports hat, k&ouml;nnen Sie im
<quote>Master-Port-Index</quote>
<filename>/usr/ports/INDEX</filename> nachsehen. (Der Name der
Datei kann bei den einzelnen Releases von FreeBSD variieren,
z.B. <filename>INDEX-6</filename>.) Einige Ports haben
bedingte Abh&auml;ngigkeiten, die nicht im Standard-Index
<filename>INDEX</filename> zu finden sind. Wir erwarten, dass
Sie in der Lage sind, solche Ports zu erkennen, indem Sie sich
die <filename>Makefile</filename>s anderer Ports ansehen.</para>
</sect2>
<sect2>
<title>Wie man einen Port &uuml;bernimmt</title>
<para>Bitte vergewissern Sie sich, dass Sie die
<link linkend="maintain-port">Aufgaben eines Maintainers</link>
verstanden haben. Lesen Sie bitte auch das
<ulink url="&url.books.porters-handbook.en;">Porter's Handbook</ulink>.
<emphasis>&Uuml;bernehmen Sie nicht mehr Aufgaben, als Sie
bew&auml;ltigen k&ouml;nnen.</emphasis></para>
<para>Sie k&ouml;nnen einen nicht reservierten Port jederzeit
&uuml;bernehmen, die Entscheidung liegt bei Ihnen. Wenn
Sie dazu bereit sind, setzen Sie <makevar>MAINTAINER</makevar>
auf Ihre E-Mail-Adresse und reichen einen Problembericht (PR)
mit den von Ihnen vorgenommenen &Auml;nderungen ein. Wenn beim
Kompilieren des Ports Fehler auftreten oder eine Aktualisierung
notwendig ist, k&ouml;nnen Sie derartige &Auml;nderungen dem
selben PR beif&uuml;gen. Das ist sehr hilfreich, weil sich viele
Committer weigern, die Wartung eines Ports zu &uuml;bergeben,
wenn jemand nicht die n&ouml;tige Erfahrung mit &os; aufweisen
kann. Das Einreichen von PRs, die Kompilierfehler beheben oder
Ports aktualisieren, ist der beste Weg, um Erfahrung zu
sammeln.</para>
<para>Erstellen Sie Ihren PR mit der
<foreignphrase>category</foreignphrase> <literal>ports</literal>
und der <foreignphrase>class</foreignphrase>
<literal>change-request</literal>. Ein Committer wird
Ihren PR analysieren, die &Auml;nderungen committen und danach
den PR abschlie&szlig;en. Manchmal kann dieser Prozess eine
Weile dauern (auch Committer sind "nur" freiwillige
Helfer!).</para>
</sect2>
</sect1>
<sect1 id="maintain-port">
<title>Die Herausforderung als Ports-Maintainer</title>
<para> Dieser Abschnitt erkl&auml;rt, warum Ports betreut werden
m&uuml;ssen, und beschreibt die Pflichten eines
Ports-Maintainers.</para>
<sect2 id="why-maintenance">
<title>Warum m&uuml;ssen Ports betreut werden?</title>
<para>Einen Port zu erstellen, ist eine einmalige Sache.
Sicherzustellen, dass ein Port aktuell ist und auch in Zukunft
funktioniert, erfordert hingegen eine laufende Betreuung
und einen nicht zu untersch&auml;tzenden Arbeitsaufwand.
Maintainer sind Personen, die einen Teil ihrer Zeit dazu
verwenden, einen Port f&uuml;r andere FreeBSD-Anwender aktuell
und einfach installierbar zu halten.</para>
<para>Der wichtigste Grund f&uuml;r die Betreuung von Ports
ist der Wunsch, der &os;-Community die neueste und beste
Drittanbieter-Software zur Verf&uuml;gung zu stellen. Eine
zus&auml;tzliche Herausforderung ist die Aufrechterhaltung
der Funktionalit&auml;t einzelner Ports innerhalb der
sich ver&auml;ndernden Ports-Sammlung.</para>
<para>Als Ports-Maintainer werden Sie folgende
Herausforderungen meistern:</para>
<itemizedlist>
<listitem>
<formalpara>
<title>Neue Software-Versionen und Aktualisierungen</title>
<para>Neue Versionen und Aktualisierung von bereits
portierter Software werden kontinuierlich
ver&ouml;ffentlicht und m&uuml;ssen in die Ports-Sammlung
integriert werden, um aktuelle Software ausliefern zu
k&ouml;nnen.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>&Auml;nderungen an Abh&auml;ngigkeiten ihres
Ports</title>
<para>Wenn bedeutende &Auml;nderungen an den
Abh&auml;ngigkeiten Ihres Ports gemacht wurden,
kann es vonn&ouml;ten sein, diesen zu aktualisieren,
damit er weiterhin korrekt funktioniert.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>&Auml;nderungen an abh&auml;ngigen Ports</title>
<para>Wenn andere Ports von einem Ihrer betreuten
Ports abh&auml;ngig sind, m&uuml;ssen &Auml;nderungen
eventuell mit anderen Maintainern abgesprochen
werden.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Zusammenwirken von anderen Benutzern,
Maintainern und Entwicklern</title>
<para>Ein Teil der Aufgabe eines Maintainers ist es,
Support zu leisten. Damit ist kein Hauptsupport
f&uuml;r die Software gemeint (wir haben allerdings nichts
dagegen, wenn Sie sich dennoch entscheiden, dies zu tun).
Ihre Aufgabe ist aber, sich um &os;-spezifische
Fragen zu Ihren Ports zu k&uuml;mmern.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>Bugs finden</title>
<para>Eine Portierung k&ouml;nnte vielleicht von
&os;-spezifischen Bugs beeinflusst werden. In einem solchen
Fall ist es Ihre Aufgabe, den Fehler zu finden und zu
beheben. Daher sollten Sie Ihren Port umfassend testen,
um derartige Probleme zu entdecken, bevor Sie einen
Port in die Ports-Sammlung aufnehmen.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>&Auml;nderungen an Ports, Infrastruktur und
Lizenzen</title>
<para>Gelegentlich werden die Tools für das Bauen von Ports
erneuert oder es wird ein neuer Vorschlag zur
Infrastruktur der Ports-Sammlung gemacht. Sie sollten von
diesen &Auml;nderungen wissen, falls Ihre Ports betroffen
sind und aktualisiert werden m&uuml;ssen.</para>
</formalpara>
</listitem>
<listitem>
<formalpara>
<title>&Auml;nderungen am Basissystem</title>
<para>&os; ist in st&auml;ndiger Entwicklung.
&Auml;nderungen an Software, Bibliotheken, dem Kernel
oder sogar Lizenz&auml;nderungen k&ouml;nnen
&Auml;nderungsbedarf an den Ports ausl&ouml;sen.</para>
</formalpara>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Aufgaben eines Maintainers</title>
<sect3>
<title>Halten Sie Ihre Ports aktuell</title>
<para>Dieser Abschnitt bietet einen kurzen &Uuml;berblick zu
diesem Thema. Ausf&uuml;hrliche Informationen zur
Aktualisierung von Ports finden Sie im <ulink
url="&url.books.porters-handbook.en;">Porter's
Handbook</ulink>.</para>
<procedure>
<step>
<title>Achten Sie auf Aktualisierungen</title>
<para>&Uuml;berwachen Sie Ihr Programm auf neue Versionen
der Software, Aktualisierungen und Security-Fixes.
Ank&uuml;ndigungen in Mailinglisten oder auf
Nachrichtenseiten im Internet sind dabei sehr
hilfreich. Manchmal werden Sie von Benutzern gefragt
werden, wann Ihr Port eine Aktualisierung bekommt.
Wenn Sie mit anderen Dingen besch&auml;ftigt sind oder aus
sonstigen Gr&uuml;nden keine Aktualisierung
bereitstellen k&ouml;nnen, fragen Sie den Benutzer
doch einfach, ob er Ihnen bei der Aktualisierung
helfen m&ouml;chte.</para>
<para>Es kann auch vorkommen, dass Sie eine automatisch
generierte E-Mail vom
<literal>&os; Ports Version Check</literal>
bekommen, die Sie dar&uuml;ber informiert, dass eine
aktuellere Version des Distfiles Ihres Ports
verf&uuml;gbar ist. Weitere Informationen &uuml;ber
dieses System (inklusive einer Erkl&auml;rung, wie Sie
derartige E-Mails in Zukunft vermeiden k&ouml;nnen) finden
Sie ebenfalls in einer solchen Nachricht.</para>
</step>
<step>
<title>Aufnehmen von &Auml;nderungen</title>
<para>Wenn verf&uuml;gbar, integrieren Sie die
Ver&auml;nderungen in den Port. Sie m&uuml;ssen in der
Lage sein, einen Patch zwischen dem alten und dem neuen
Port zu generieren.</para>
</step>
<step>
<title>Nachpr&uuml;fung und Test</title>
<para>&Uuml;berpr&uuml;fen und testen Sie
ihre &Auml;nderungen gr&uuml;ndlich:</para>
<itemizedlist>
<listitem>
<para>Kompilieren, installieren und testen Sie
ihren Port auf so vielen Plattformen und
Architekturen, wie Sie k&ouml;nnen. Es kommt sehr
h&auml;ufig vor, dass ein Port auf einem
Entwicklungszweig oder einer Plattform
funktioniert, auf einer anderen Plattform aber Fehler
erzeugt.</para>
</listitem>
<listitem>
<para>Stellen Sie sicher, dass die
Abh&auml;ngigkeiten ihres Ports vollst&auml;ndig
sind. Die empfohlene Vorgehensweise daf&uuml;r
ist, dass Sie ihre eigenen Ports in einer
<application>Tinderbox</application> kompilieren.
Weitere Informationen zu diesem Thema finden Sie im
Abschnitt <link linkend="resources">Ressourcen</link>
dieses Artikels.</para>
</listitem>
<listitem>
<para>Stellen Sie sicher, dass die Liste der zu
installierenden Dateien und Verzeichnisse aktuell
ist.</para>
</listitem>
<listitem>
<para>&Uuml;berpr&uuml;fen Sie ihren Port mit
&man.portlint.1;. Sehen Sie sich dazu den Abschnitt
<link linkend="resources">Ressourcen</link> an.
Dieser enth&auml;lt wichtige Informationen zum
Einsatz von <application>portlint</application>.</para>
<listitem>
<para>Achten Sie darauf, dass &Auml;nderungen an Ihrem
Port nicht den Bau eines anderen Ports verhindern.
Ist dies der Fall, besprechen Sie die von Ihnen
durchgef&uuml;hrten &Auml;nderungen mit den
Maintainern der betroffenen Ports. Dies ist besonders
dann wichtig, wenn Ihre Aktualisierung die
<quote>Shared Library</quote>-Version &auml;ndert;
in diesem Fall werden Sie f&uuml;r die abh&auml;ngigen
Ports einen <makevar>PORTREVISION</makevar>-Bump
ben&ouml;tigen, damit diese von automatisierten Tools
wie &man.portupgrade.1; auf dem neuesten Stand gehalten
werden.</para>
</listitem>
</itemizedlist>
</step>
<step>
<title>&Auml;nderungen einreichen</title>
<para>Reichen Sie ihre Aktualisierungen mit einem PR ein,
welcher die &Auml;nderungen erkl&auml;rt und einen Patch
enth&auml;lt, der die &Auml;nderungen zwischen dem
Original und Ihrer aktualisierten Version enth&auml;lt.
Lesen Sie bitte zuerst den Artikel <ulink
url="&url.articles.problem-reports.en;">Writing FreeBSD
Problem Reports</ulink>, der das korrekte Einreichen
von Problemberichten beschreibt.</para>
<note>
<para>Bitte schicken Sie kein &man.shar.1;-Archiv
des gesamten Ports. Benutzen Sie stattdessen
&man.diff.1; <literal>-r</literal>. Auf diese Art und
Weise k&ouml;nnen Committer viel einfacher erkennen,
welche &Auml;nderungen vorgenommen wurden. Das
Porter's Handbook enth&auml;lt viele n&uuml;tzliche
Informationen zum <ulink
url="&url.books.porters-handbook.en;/port-upgrading.html">Upgrading</ulink>
eines Ports.</para>
</note>
</step>
<step>
<title>Warten</title>
<para>Bis sich ein Committer mit Ihrem PR befasst, kann nur
sehr wenig Zeit vergehen. Es kann aber auch mehrere Wochen
dauern, bis eine Reaktion erfolgt - haben Sie bitte
Geduld.</para>
</step>
<step>
<title>Feedback geben</title>
<para>Wenn ein Committer Probleme in Ihren &Auml;nderungen
entdeckt, wird er Sie dar&uuml;ber informieren. Eine
schnelle Reaktion Ihrerseits ist hilfreich, um Ihren PR
rasch bearbeiten zu k&ouml;nnen. Au&szlig;erdem hilft
es Ihnen, den Faden nicht zu verlieren, wenn Sie
versuchen, aufgetretene Probleme zu l&ouml;sen.</para>
</step>
<step>
<title>Und zuletzt...</title>
<para>Ihre &Auml;nderungen werden &uuml;bermittelt und im
Anschluss daran wird Ihr Port aktualisiert. Der
betreffende PR wird danach vom Committer geschlossen.
Herzlichen Gl&uuml;ckwunsch, Sie haben es geschafft!</para>
</step>
</procedure>
</sect3>
<sect3>
<title>Stellen Sie sicher, dass Ihre Ports den Buildprozess
weiterhin erfolgreich durchlaufen</title>
<para>Dieser Abschnitt beschreibt, wie Sie Probleme entdecken und
beheben, die ihre Ports daran hindern, den Buildprozess
erfolgreich zu durchlaufen.</para>
<para>&os; garantiert nur f&uuml;r die
<literal>-STABLE</literal> Zweige, dass die
Ports-Sammlung korrekt funktioniert. Sie sollten
<literal>5-STABLE</literal> oder
<literal>6-STABLE</literal> benutzen, wobei der letztere
Zweig bevorzugt wird. Theoretisch sollte es ausreichen, das
aktuelle <quote>Stable Release</quote> des jeweiligen
<literal>STABLE</literal>-Zweigs einzusetzen (da die ABIs
in der Regel nicht ge&auml;ndert werden), es empfiehlt sich
aber, dem jeweiligen STABLE-Zweig zu folgen.</para>
<para>Seit die Mehrheit von &os;-Installationen auf
PC-kompatiblen Maschinen arbeitet
(<literal>i386</literal>-Architektur) erwarten wir, dass Ihr
Port auf dieser Architektur funktioniert. Da allerdings
immer mehr Leute die <literal>amd64</literal>-Architektur
nutzen, wird es immer wichtiger, dass Ports auch dort
korrekt funktionieren. Es ist durchaus in Ordnung, um Hilfe
zu fragen, wenn Sie keine solche Maschine besitzen.</para>
<note>
<para>H&auml;ufige Fehler beim Umgang mit
nicht-<literal>i386</literal> Maschinen entstehen,
weil Programmierer &uuml;r Instanzen und Pointer
<literal>int</literal>s verwendeten, oder weil der
relativ simple
<application>gcc</application>&nbsp;2.95-Compiler
genutzt wird. Immer mehr Programmautoren
&uuml;berarbeiten ihren Code, um diese Fehler zu
beseitigen &mdash; wenn der Programmautor seinen Code
allerdings nicht aktiv betreut, m&uuml;ssen Sie dies
eventuell selbst in die Hand nehmen.</para>
</note>
<para>Sie sollten die folgende Liste durchgehen, um
sicherzustellen, dass Ihr Port gebaut werden kann:</para>
<procedure>
<step>
<title>Achten Sie auf Build-Fehler</title>
<para>&Uuml;berpr&uuml;fen Sie regelm&auml;&szlig;ig den Ports
Building Cluster <ulink
url="http://pointyhat.FreeBSD.org">pointyhat</ulink>,
und den <ulink
url="http://people.FreeBSD.org/~fenner/portsurvey/">
Distfiles Survey</ulink>,
um festzustellen, ob einer Ihrer Ports nicht gebaut oder
die Distfiles nicht geladen werden k&ouml;nnen (lesen Sie
den Abschnitt <link linkend="resources">Ressourcen</link>
dieses Artikels f&uuml;r weitere Informationen zu diesen
Systemen). Fehlerberichte kommen eventuell auch
von anderen Benutzern oder als automatisierte Meldungen
per E-Mail.</para>
</step>
<step>
<title>Sammeln Sie Informationen</title>
<para>Wenn Sie ein Problem entdecken, ben&ouml;tigen Sie
als Erstes Informationen, die Ihnen dabei helfen, dieses
Problem zu beheben. Build-Fehler, die von
<literal>pointyhat</literal> gemeinsam mit Logdateien
verschickt werden, zeigen Ihnen, an welcher Stelle
der Fehler auftritt. Wenn Ihnen ein Fehler von
einem anderen Benutzer mitgeteilt wird, fragen
Sie nach, ob er bereit ist, ihnen Informationen
zukommen zu lassen, die eventuell bei der Diagnose
des Problems helfen k&ouml;nnen, wie z.B.:</para>
<itemizedlist>
<listitem>
<para>Build-Logs.</para>
</listitem>
<listitem>
<para>Die Tools und Optionen, mit denen ein Port
gebaut wurde (inklusive der Optionen in
<filename>/etc/make.conf</filename>).</para>
</listitem>
<listitem>
<para>Eine Liste installierter Pakete auf dem
System kann mit &man.pkg.info.1; erstellt
werden.</para>
</listitem>
<listitem>
<para>Die &os;-Version, welche benutzt wird, kann
mit &man.uname.1;<command> -a</command>
ermittelt werden.</para>
</listitem>
<listitem>
<para>Wann die Ports-Sammlung das letzte Mal
aktualisiert wurde.</para>
</listitem>
<listitem>
<para>Wann die <filename>INDEX</filename>-Datei
zuletzt aktualisiert wurde.</para>
</listitem>
</itemizedlist>
</step>
<step>
<title>Suchen und finden Sie eine L&ouml;sung</title>
<para>Leider gibt es keinen allgemein g&uuml;ltigen
Weg, dies zu tun. Denken Sie daran: Wenn Probleme
auftauchen, bitten Sie einfach jemanden um Hilfe!
Ein guter Anfang ist die Mailingliste &a.ports;.
Auch die Entwickler der Software selbst sind oft sehr
hilfreich.</para>
</step>
<step>
<title>&Auml;nderungen &uuml;bermitteln</title>
<para>Genau wie beim Aktualisieren eines Ports
sollten &Auml;nderungen integriert, gepr&uuml;ft
und getestet werden. Reichen Sie Ihre Arbeit als
PR ein und geben Sie Feedback, falls dies notwendig
ist.</para>
</step>
<step>
<title>Patches an Programmautoren senden</title>
<para>Manchmal m&uuml;ssen Sie Patches erstellen, um
einen Port unter FreeBSD zum Laufen zu bekommen.
Einige (aber nicht alle) Programmautoren nehmen
diese Patches in Ihren Code f&uuml;r das n&auml;chste
Release auf. Dies kann den Benutzern anderer BSD-Systeme
helfen und einiges an unn&ouml;tiger Mehrarbeit ersparen.
Bitte betrachten Sie das Versenden von verwertbaren
Patches an die Autoren als ein Gebot der
H&ouml;flichkeit.</para>
</step>
</procedure>
</sect3>
<sect3>
<title>Ermitteln Sie Bug-Reports und PRs, die Ihre Ports
betreffen</title>
<para>&os;-spezifische Bugs werden meistens durch falsche
Annahmen &uuml;ber Build- und Laufzeitumgebungen, die
nicht zu &os; passen, verursacht. Derartige Probleme zu
entdecken, ist oft sehr schwierig, gl&uuml;cklicherweise
sind derartige Probleme aber nicht sehr h&auml;ufig.</para>
<para>Folgende Schritte sind notwendig, um sicherzustellen, dass
ihr Port weiterhin wie gew&uuml;nscht funktioniert:</para>
<procedure>
<step>
<title>Antworten Sie auf Bug-Reports</title>
<para>Bugs k&ouml;nnen Ihnen als E-Mail durch die <ulink
url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">
GNATS Problem Report database</ulink> zugestellt
werden, Sie k&ouml;nnen Ihnen aber auch direkt von
Benutzern gemeldet werden.</para>
<para>Sie sollten innerhalb von 14 Tagen auf PRs und andere
Berichte antworten. Versuchen Sie schnellstm&ouml;glich
zu antworten, selbst wenn Sie nur mitteilen k&ouml;nnen,
dass Sie noch etwas Zeit brauchen, bevor Sie den PR
bearbeiten k&ouml;nnen.</para>
</step>
<step>
<title>Sammeln Sie Informationen</title>
<para>Wenn mit dem Bug-Report nicht auch gleichzeitig eine
L&ouml;sung &uuml;bermittelt wird, m&uuml;ssen Sie zuerst
die zum Beheben des Problems n&ouml;tigen Informationen
sammeln.</para>
<para>Wenn der Fehler reproduzierbar ist, k&ouml;nnen Sie
die meisten Informationen selbst sammeln. Wenn nicht,
bitten Sie die Person, die den Fehler gefunden hat,
diese Informationen f&uuml;r Sie zu sammeln:</para>
<itemizedlist>
<listitem>
<para>Eine genaue Beschreibung dessen, was Er/Sie getan
hat, den erwarteten Programmverlauf und den
tats&auml;chlichen Ablauf.</para>
</listitem>
<listitem>
<para>Eine Kopie der Eingabedaten, die den Fehler
ausl&ouml;sen.</para>
</listitem>
<listitem>
<para>Informationen &uuml;ber das System, auf dem der
Port gebaut und ausgef&uuml;hrt wird, etwa die Liste
der installierten Pakete sowie die Ausgabe von
&man.env.1;.</para>
</listitem>
<listitem>
<para>Core dumps.</para>
</listitem>
<listitem>
<para>Stack traces.</para>
</listitem>
</itemizedlist>
</step>
<step>
<title>Schlie&szlig;en Sie falsche Reports aus</title>
<para>Einige Fehlerberichte sind eventuell falsch. Es kommt
vor, dass ein Programm falsch benutzt wird. Weiters
k&ouml;nnen installierten Pakete veraltet sein und
m&uuml;ssten einfach nur aktualisiert werden. Manchmal
ist ein gemeldeter Fehler auch nicht &os;-spezifisch. In
diesem Fall melden Sie den Fehler den derzeitigen
Entwicklern der Software. Wenn Sie in der Lage sind, den
Fehler zu beheben, k&ouml;nnen Sie dies nat&uuml;rlich
trotzdem tun und den Entwicklern Ihren Patch zukommen
lassen.</para>
</step>
<step>
<title>L&ouml;sungen finden</title>
<para>Bei Build-Fehlern werden Sie eine L&ouml;sung finden
m&uuml;ssen. Denken Sie daran zu fragen, wenn Sie nicht
weiterkommen!</para>
</step>
<step>
<title>&Auml;nderungen einreichen oder annehmen</title>
<para>Genau so wie bei der Aktualisierung eines Ports
sollten Sie alle &Auml;nderungen zuvor analysieren und
testen, um Sie danach als neuen PR (oder als
Folgebericht (<foreignphrase>follow-up</foreignphrase>),
falls ein PR zu diesem Problem bereits existiert)
einzureichen. Falls ein anderer Anwender &Auml;nderungen
f&uuml;r einen PR eingereicht hat, k&ouml;nnen Sie einen
Folgebericht erstellen, mit dem Sie die vorgeschlagenen
&Auml;nderungen akzeptieren oder (mit einer
Begr&uuml;ndung) ablehnen.</para>
</step>
</procedure>
</sect3>
<sect3>
<title>Support leisten</title>
<para>Teilaufgabe eines Maintainers ist es, Support zu leisten
&mdash; nicht den Hauptsupport f&uuml;r die Software &mdash;
aber f&uuml;r seine Ports und &os;-spezifische Schlampereien
und Probleme. Benutzer kontaktieren Sie vielleicht wegen
Fragen, Anregungen, Problemen und Patches. Die meiste Zeit
werden sich derartige Mitteilungen spezifisch auf &os;
beziehen.</para>
<para>Manchmal m&uuml;ssen Sie eventuell ihre diplomatischen
F&auml;higkeiten auffrischen und Benutzer freundlich an die
korrekten Anlaufstellen f&uuml;r den Hauptsupport verweisen.
Nur selten werden Sie auf eine Person treffen, die Sie fragt,
warum die <literal>RPM</literal>s nicht aktuell sind oder wie
Sie die Software unter <literal>Foo Linux</literal> zum Laufen
bringen. Ergreifen Sie die Gelegenheit und berichten Sie,
dass Ihr Port aktuell ist (nat&uuml;rlich nur, wenn er es auch
tats&auml;chlich ist) und schlagen Sie vor, einmal &os;
auszuprobieren.</para>
<para>Wenn Sie Gl&uuml;ck haben, werden Benutzer und Entwickler
gelegentlich daran denken, dass Sie eine sehr
besch&auml;ftigte Person sind, deren Zeit nicht
unersch&ouml;pflich, sondern kostbar ist und werden vielleicht
ein Teil Ihrer Arbeit f&uuml;r Sie &uuml;bernehmen.
Beispielsweise k&ouml;nnten sie:</para>
<itemizedlist>
<listitem>
<para>Einen PR einreichen oder Ihnen Patches schicken.</para>
</listitem>
<listitem>
<para>Einen vorhandenen PR untersuchen und eventuell einen
Patch dazu erstellen.</para>
</listitem>
<listitem>
<para>Ihnen &Auml;nderungen f&uuml;r Ihre Ports zusenden.</para>
</listitem>
</itemizedlist>
<para>In diesem Fall ist ihre Hauptaufgabe zeitnahes
Antworten. Der Timeout f&uuml;r nicht ansprechbare Maintainer
betr&auml;gt 14 Tage. Nach dieser Periode k&ouml;nnen
&Auml;nderungen ohne ihre Pr&uuml;fung eingereicht werden.
Diese Personen haben sich die Arbeit gemacht, etwas f&uuml;r
Sie zu &uuml;bernehmen, versuchen Sie daher, m&ouml;glichst
rasch zu antworten. Danach &uuml;berpr&uuml;fen, akzeptieren,
ver&auml;ndern oder diskutieren Sie diese &Auml;nderungen mit
den betroffenen Personen so schnell wie m&ouml;glich.</para>
<para>Wenn Sie vermitteln k&ouml;nnen, dass Sie deren Arbeit
zu sch&auml;tzen wissen (und das sollten Sie), dann werden Sie
eine bessere Chance haben, dass diese Personen ihnen auch in
Zukunft etwas Arbeit abnehmen. <!-- smiley -->:-).</para>
</sect3>
</sect2>
</sect1>
<sect1 id="fix-broken">
<title>Defekte Ports finden und reparieren</title>
<para>Es gibt zwei wirklich gute Anlaufstellen, um Ports
zu finden, die ihre Aufmerksamkeit ben&ouml;tigen.</para>
<para>Sie k&ouml;nnen das <ulink
url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">Web
Interface der Problem Reports-Datenbank</ulink> nutzen, um nach
ungel&ouml;sten Problemen zu suchen. Die Mehrheit der PRs, die
zu Ports eingereicht werden, betreffen Aktualisierungsprobleme,
aber mit ein bi&szlig;chen Recherche in den &Uuml;bersichten
und Zusammenfassungen sollten Sie das eine oder andere
Interessante finden. (Die Kategorie <literal>sw-bug</literal>
ist ein guter Platz, um mit der Arbeit zu beginnen.)</para>
<para>Die zweite Anlaufstelle ist das <ulink
url="http://portsmon.FreeBSD.org/">&os; Ports Monitoring
System</ulink>. Hier k&ouml;nnen Sie nicht betreute Ports mit
Build-Fehlern und Ports, die als <makevar>BROKEN</makevar>
gekennzeichnet sind, finden. Nat&uuml;rlich ist es auch in
Ordnung, &Auml;nderungen an betreuten Ports zu machen. Denken
Sie aber bitte daran, den Maintainer zuvor davon zu
informieren, da dieser m&ouml;glicherweise bereits an diesem
Problem arbeitet.</para>
<para>Sobald Sie einen Fehler oder ein Problem gefunden haben,
sammeln Sie dazu Informationen und versuchen Sie, den Fehler
zu analysieren und zu beheben! Wenn sich bereits ein PR mit
diesem Problem befasst, kn&uuml;pfen Sie dort an. Ansonsten
reichen Sie einen neuen PR ein. Die von Ihnen vorgeschlagenen
&Auml;nderungen werden danach gepr&uuml;ft. Sind diese in
Ordnung, werden Sie danach committed.</para>
</sect1>
<sect1 id="mortal-coil">
<title>Sagen Sie Bescheid, wenn Sie einen Port nicht mehr
betreuen m&ouml;chten</title>
<para>So wie Ihre Interessen sich &auml;ndern, haben Sie
vielleicht irgendwann auch nicht mehr die Zeit, weiterhin
einige (oder alle) Ihrer Ports zu betreuen. Das ist
verst&auml;ndlich. Bitte lassen Sie es uns wissen, wenn Sie
keine Zeit oder kein Interesse mehr daran haben, Maintainer zu
sein oder einen Port selbst nicht mehr benutzen und deshalb
gerne abgeben wollen. Nur auf diese Art und Weise k&ouml;nnen
wir vorankommen und anderen anbieten, an diesen Ports zu
arbeiten, ohne dass diese auf Ihre Antworten warten m&uuml;ssen.
Denken Sie daran: &os; ist ein Freiwilligen-Projekt. Wenn Ihnen
eine Aufgabe keinen Spa&szlig; mehr macht, ist es wahrscheinlich
an der Zeit, jemand anderen an Ihre Ports zu lassen.</para>
<para>In jedem Fall beh&auml;lt sich das Ports Management
Team (<literal>portmgr</literal>) das Recht vor, Ihnen den
Maintainer-Status abzuerkennen, wenn Sie f&uuml;r l&auml;ngere
Zeit nicht aktiv sind (derzeit liegt diese Grenze bei 3 Monaten).
Damit ist gemeint, dass ungel&ouml;ste Probleme oder ausstehende
Aktualisierungen in diesem Zeitraum nicht bearbeitet wurden.</para>
</sect1>
<sect1 id="resources">
<title>Ressourcen f&uuml;r Ports-Maintainer und Committer</title>
<para>Das <ulink
url="&url.books.porters-handbook.en;">Porter's Handbook</ulink>
ist Ihr <quote>Ratgeber zum Ports-System</quote> und sollte stets
in Ihrer Reichweite sein!</para>
<para>Der Artikel <ulink
url="&url.articles.problem-reports.en;">Writing FreeBSD Problem
Reports</ulink> beschreibt, wie PRs formuliert und einreicht
werden sollen. Allein im Jahr 2005 wurden mehr als 11.000 PRs
zu verschiedenen Ports eingereicht! Wenn Sie die Anweisungen
dieses Artikels befolgen, werden wir weniger Zeit ben&ouml;tigen,
um Ihre PRs zu bearbeiten.</para>
<para>Die <ulink
url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">
Problem Report Database</ulink>.</para>
<para><ulink url="http://pointyhat.FreeBSD.org/">Pointyhat</ulink>
ist der Ports Build Cluster. Sie k&ouml;nnen Pointyhat nutzen,
um nach Port-Buildlogs &uuml;ber alle Architekturen und
Haupt-Releases zu suchen.</para>
<para>Das <ulink
url="http://portsmon.FreeBSD.org/">FreeBSD Ports Monitoring
System </ulink> kann verschiedene Informationen &uuml;ber Ports
enthalten, beispielsweise Build-Fehler und Problemberichte.
Als Ports-Maintainer k&ouml;nnen Sie hier den Buildstatus Ihres
Ports in Erfahrung bringen. Als Committer k&ouml;nnen Sie dort
defekte und unbetreute Ports finden, die gefixt werden
m&uuml;ssten.</para>
<para>Bill Fenners <ulink
url="http://people.FreeBSD.org/~fenner/portsurvey/">Distfile
Survey</ulink> kann Ihnen die Ports anzeigen, deren Distfiles
nicht erreichbar sind. Sie k&ouml;nnen damit Ihre eigenen
Ports pr&uuml;fen oder auch herauszufinden, ob die
<makevar>MASTER_SITES</makevar>-Eintr&auml;ge bestimmter Ports
nicht mehr aktuell sind.</para>
<para>Der <application>tinderbox</application>-Port ist die
gr&uuml;ndlichste L&ouml;sung, um den Port w&auml;hrend des ganzen
Prozesses der Installation, Paketerstellung und Deinstallation
zu testen. Das Programm bietet sowohl eine Kommandozeilen- als
auch eine Web-Schnittstelle. Weitere Informationen zu diesem
Port finden Sie im Verzeichnis
<filename>ports/ports-mgmt/tinderbox</filename> sowie auf der
<ulink url="http://tinderbox.marcuscom.com/">Tinderbox
Homepage</ulink>.</para>
<para>Mit &man.portlint.1; k&ouml;nnen Sie einen Port auf die
Einhaltung von stilistischen und funktionellen Richtlinien hin
&uuml;berpr&uuml;fen. Da es sich bei
<application>portlint</application> um eine heuristische
Anwendung handelt, sollten Sie dessen Ausgaben <emphasis>nur als
einen Ratgeber verwenden</emphasis>. Wenn
<application>portlint</application> zu umfangreiche &Auml;nderungen
vorschl&auml;gt, lesen Sie nochmal das <ulink
url="&url.books.porters-handbook.en;">Porter's Handbook</ulink>
oder bitten Sie jemanden um Rat.</para>
<para>Die Mailingliste &a.ports; ist f&uuml;r allgemeine Diskussionen
&uuml;ber Ports vorgesehen. Wenn Sie Hilfe ben&ouml;tigen,
k&ouml;nnen Sie dort nachfragen. Sie k&ouml;nnen einzelne
Mailinglisten <ulink
url="http://lists.freebsd.org/mailman/listinfo">
auch abonnieren oder in deren Archiven suchen und lesen</ulink>.
Die Mailinglisten &a.ports-bugs; und &a.cvs-ports; k&ouml;nnten
f&uuml;r Sie ebenfalls von Interesse sein.</para>
</sect1>
</article>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
End:
-->