cvs commit: de-docproj/books/porters-handbook book.sgml

From: Aron Schlesinger <as(at)doc.bsdgroup.de>
Date: Sun, 5 Aug 2007 21:58:28 GMT

as 2007-08-05 21:58:28 UTC

  FreeBSD ports repository

  Modified files:
    books/porters-handbook book.sgml
  Log:
  Kapitel 9 formatiert.
  
  Revision Changes Path
  1.109 +228 -162 de-docproj/books/porters-handbook/book.sgml
  
  Index: book.sgml
  ===================================================================
  RCS file: /home/cvs/de-docproj/books/porters-handbook/book.sgml,v
  retrieving revision 1.108
  retrieving revision 1.109
  diff -u -I$FreeBSDde.*$ -r1.108 -r1.109
  --- book.sgml 5 Aug 2007 21:28:45 -0000 1.108
  +++ book.sgml 5 Aug 2007 21:58:28 -0000 1.109
  @@ -9742,162 +9742,219 @@
       </sect1>
     </chapter>
   
  -<chapter id="testing">
  -<title>Ihren Port testen</title>
  + <chapter id="testing">
  + <title>Ihren Port testen</title>
   
  - <sect1 id="make-describe">
  - <title><command>make describe</command> ausf&uuml;hren</title>
  + <sect1 id="make-describe">
  + <title><command>make describe</command> ausf&uuml;hren</title>
   
  - <para>Einige der &os;-Werkzeuge zur Pflege von Ports, wie zum
  - Beispiel &man.portupgrade.1;, verwenden eine Datenbank names
  - <filename>/usr/ports/INDEX</filename>, welche
  - Eigenschaften, wie z.B. Port-Abh&auml;ngigkeiten, verfolgt.
  - <filename>INDEX</filename> wird vom Makefile der h&ouml;chsten Ebene,
  - <filename>ports/Makefile</filename>, mittels
  - <command>make index</command> erstellt, welches in das Unterverzeichnis
  - jedes Ports wechselt und dort <command>make describe</command>
  - ausf&uuml;hrt. Wenn also <command>make describe</command> bei
  - einem Port fehlschl&auml;gt, kann <filename>INDEX</filename>
  - nicht generiert werden und schnell werden viele Leute dar&uuml;ber unzufrieden
  - sein.</para>
  + <para>Einige der &os;-Werkzeuge zur Pflege von Ports, wie zum
  + Beispiel &man.portupgrade.1;, verwenden eine Datenbank names
  + <filename>/usr/ports/INDEX</filename>, welche Eigenschaften,
  + wie z.B. Port-Abh&auml;ngigkeiten, verfolgt.
  + <filename>INDEX</filename> wird vom Makefile der h&ouml;chsten
  + Ebene, <filename>ports/Makefile</filename>, mittels
  + <command>make index</command> erstellt, welches in das
  + Unterverzeichnis jedes Ports wechselt und dort <command>make
  + describe</command> ausf&uuml;hrt. Wenn also <command>make
  + describe</command> bei einem Port fehlschl&auml;gt, kann
  + <filename>INDEX</filename> nicht generiert werden und schnell
  + werden viele Leute dar&uuml;ber unzufrieden sein.</para>
   
  - <note>
  - <para>
  - Es ist wichtig diese Datei erzeugen zu k&ouml;nnen,
  - unabh&auml;ngig davon, welche Optionen in <filename>make.conf</filename>
  - vorhanden sind. Bitte vermeiden Sie es daher beispielsweise
  - <literal>.error</literal>-Anweisungen zu benutzen, wenn zum Beispiel eine Abh&auml;ngigkeit
  - nicht erf&uuml;llt wird (Lesen Sie dazu bitte <xref linkend="dads-dot-error">).</para>
  - </note>
  + <note>
  + <para>Es ist wichtig diese Datei erzeugen zu k&ouml;nnen,
  + unabh&auml;ngig davon, welche Optionen in
  + <filename>make.conf</filename> vorhanden sind. Bitte
  + vermeiden Sie es daher beispielsweise
  + <literal>.error</literal>-Anweisungen zu benutzen, wenn zum
  + Beispiel eine Abh&auml;ngigkeit nicht erf&uuml;llt wird
  + (Lesen Sie dazu bitte <xref
  + linkend="dads-dot-error">).</para>
  + </note>
   
  - <para>Wenn <command>make describe</command> eine Zeichenkette anstatt einer Fehlermeldung
  - erzeugt, sind Sie wahrscheinlich auf der sicheren Seite. Vergleichen Sie
  - die erzeugte Zeichenkette mit <filename>bsd.port.mk</filename>, um mehr &uuml;ber
  - deren Bedeutung zu erfahren.</para>
  -
  - <para>Beachten Sie bitte au&szlig;erdem, dass die Benutzung einer aktuellen Version
  - von <command>portlint</command> (wie im n&auml;chsten Abschnitt beschrieben)
  - automatisch <command>make describe</command> startet.</para>
  -</sect1>
  -
  -<sect1 id="testing-portlint">
  -<title>Portlint</title>
  -
  -<para>Bitte &uuml;berpr&uuml;fen Sie Ihre Arbeit stets mit
  -<link linkend="porting-portlint"><command>portlint</command></link>, bevor Sie diese einreichen
  -oder committen. <command>portlint</command> warnt Sie bei h&auml;ufigen Fehlern, sowohl
  -funktionaler als auch stilistischer Natur. F&uuml;r einen neuen (oder repokopierten) Port ist
  -<command>portlint -A</command> die gr&uuml;ndlichste Variante; f&uuml;r einen bereits
  -existierenden Port ist <command>portlint -C</command> ausreichend.</para>
  -
  -<para>Da <command>portlint</command> heuristische Methoden zur Fehlersuche benutzt,
  -kann es vorkommen, dass Warnungen f&uuml;r Fehler erzeugt werden, die keine sind. Gelegentlich
  -kann etwas, das als Problem angezeigt wird, aufgrund von Einschr&auml;nkungen im Port-System nicht
  -anders gel&ouml;st werden. Wenn es Zweifel gibt, fragen Sie am besten auf &a.ports; nach.</para>
  - </sect1>
  -
  - <sect1 id="testing-porttools">
  -<title>Port Tools</title>
  -
  -<para>Das Programm <filename role="package">ports-mgmt/porttools</filename> ist Teil der Ports-Sammlung.</para>
  -
  -<para><command>port</command> ist das Front-End-Skript, das Ihnen dabei behilflich sein kann Ihre
  -Arbeit als Tester zu vereinfachen. Um einen neuen Port zu testen oder einen
  -bereits bestehenden Port zu aktualisieren, k&ouml;nnen Sie <command>port test</command> verwenden, damit die Tests,
  -inklusive der <link linkend="testing-portlint"><command>portlint</command></link>-&Uuml;berpr&uuml;fung,
  -durchgef&uuml;hrt werden. Dieser Befehl sp&uuml;rt ausserdem alle nicht in <filename>pkg-plist</filename> enthaltenen
  -Dateien auf und gibt eine Liste dieser aus.
  -Hier ein Beispiel:</para>
  -<screen>&prompt.root; <userinput>port test /usr/ports/net/csup</userinput></screen>
  -</sect1>
  -
  -
  -<sect1 id="porting-prefix">
  -<title><makevar>PREFIX</makevar> und <makevar>DESTDIR</makevar></title>
  -
  -<para><makevar>PREFIX</makevar> bestimmt, an welche Stelle der Port installiert
  -werden soll. In der Regel ist dies<filename>/usr/local</filename> oder <filename>/opt</filename>.
  -Benutzer k&ouml;nnen <makevar>PREFIX</makevar> setzen, wie sie wollen.
  -Ihr Port muss sich an diese Variable halten.
  -
  -<para><makevar>DESTDIR</makevar>, wenn es vom Benutzer gesetzt wird, bestimmt die
  -alternative Umgebung (in der Regel eine Jail oder ein installiertes System, welches
  -an anderer Stelle als <filename>/</filename> eingeh&auml;ngt ist).
  -Ein Port wird unter <makevar>DESTDIR</makevar>/<makevar>PREFIX</makevar> installiert und
  -registriert sich in der Paket-Datenbank unter <makevar>DESTDIR</makevar>/var/db/pkg.
  -Es ist wichtig Ports zu erstellen, welche sich an das <makevar>DESTDIR</makevar> halten.</para>
  -
  -<para> Der Wert von <makevar>PREFIX</makevar> wird auf <makevar>LOCALBASE_REL</makevar>
  -gesetzt (Standard ist <filename>/usr/local</filename>). Wenn <makevar>USE_X_PREFIX</makevar>
  -oder <makevar>USE_IMAKE</makevar> gesetzt werden, wird <makevar>PREFIX</makevar> <makevar>X11BASE_REL</makevar>
  -annehmen (Standard ist <filename>/usr/X11R6</filename>). Wenn <makevar>USE_LINUX_PREFIX</makevar> gesetzt wird,
  -wird der <makevar>PREFIX</makevar><makevar>LINUXBASE_REL</makevar> annehmen
  -(Standard ist <filename>/compat/linux</filename>).</para>
  -
  -<para>Die Vermeidung der hart kodierten Angaben von <filename>/usr/local</filename>
  -oder <filename>/usr/X11R6</filename> im Quelltext wird den Port viel flexibler machen
  -und erleichtert es die Anforderungen anderer Einsatzorte zu erf&uuml;llen. F&uuml;r X-Ports,
  -die <command>imake</command> benutzen, geschieht dies automatisch; andernfalls kann dies
  -erreicht werden, indem alle Angaben von <filename>/usr/local</filename>
  -(oder <filename>/usr/X11R6</filename> f&uuml;r X-Ports, die nicht imake benutzen) in den
  -verschiedenen <filename>Makefile</filename>s im Port ersetzt werden, um <makevar>${PREFIX}</makevar>
  -zu lesen, da diese Variable automatisch an jede Stufe des Build- und Install-Prozesses
  -&uuml;bergeben wird.</para>
  -
  -<para>Vergewissern Sie sich bitte, dass Ihre Anwendung nichts unter <filename>/usr/local</filename> an Stelle
  -von <makevar>PREFIX</makevar> installiert. Um dies festzustellen, k&ouml;nnen Sie folgendes machen:</para>
  -
  -<screen>&prompt.root; <userinput>make clean; make package PREFIX=/var/tmp/$(make -V PORTNAME)</userinput></screen>
  -
  -<para>Wenn etwas au&szlig;erhalb von <makevar>PREFIX</makevar> installiert wird, so gibt der
  -Prozess der Paketerstellung eine Meldung aus, dass es die Dateien nicht finden kann.</para>
  -
  -<para>Dies pr&uuml;ft nicht das Vorhandensein eines internen Verweises oder die richtige
  -Verwendung von <makevar>LOCALBASE</makevar> f&uuml;r Verweise auf Dateien anderer Ports. Das
  -Testen der Installation in <filename>/var/tmp/$(make -V PORTNAME)</filename> w&uuml;rde dies
  -erledigen.</para>
  -
  -<para>Bitte verzichten Sie auf das Setzen von <makevar>USE_X_PREFIX</makevar>, es sei denn, Ihr Port
  -ben&ouml;tigt dies wirklich (das hei&szlig;t, er muss auf Dateien in <makevar>X11BASE</makevar> verweisen).</para>
  -
  -<para>Die Variable <makevar>PREFIX</makevar> kann in Ihrem <filename>Makefile</filename>
  -oder der Umgebung des Benutzers neu gesetzt werden. Allerdings wird f&uuml;r einzelne Ports
  -dringend davon abgeraten diese Variable in den <filename>Makefile</filename>s direkt zu setzen.</para>
  -
  -<para>Verweisen Sie bitte au&szlig;erdem auf Programme/Dateien von anderen Ports durch die oben
  -erw&auml;hnten Variablen und nicht mit den eindeutigen Pfadnamen. Wenn Ihr Port zum Beispiel vom Makro
  -<literal>PAGER</literal> erwartet, dass es den vollst&auml;ndigen Pfadnamen von <command>less</command>
  -enth&auml;lt, benutzen Sie folgendes Compiler-Flag:
  -
  -<programlisting>-DPAGER=\"&dollar;{LOCALBASE}/bin/less\"</programlisting>
  -
  -anstatt <literal>-DPAGER=\"/usr/local/bin/less\"</literal>. Somit ist die Wahrscheinlichkeit h&ouml;her,
  -dass es auch funktioniert, wenn der Administrator den ganzen <filename>/usr/local</filename>-Baum an eine
  -andere Stelle verschoben hat.</para>
  -
  -<para>Beachten Sie bitte, dass die Variablen <makevar>LOCALBASE</makevar>, <makevar>LINUXBASE</makevar>,
  -<makevar>X11BASE</makevar>, <makevar>DOCSDIR</makevar>, <makevar>EXAMPLESDIR</makevar>,
  -<makevar>DATADIR</makevar>, <makevar>DESKTOPDIR</makevar> <makevar>DESTDIR</makevar> bereits
  -enthalten. Die Verwendung von <makevar>DESTDIR</makevar>&nbsp;<makevar>LOCALBASE</makevar> ist falsch.
  -Benutzen Sie <makevar>LOCALBASE_REL</makevar>, <makevar>LINUXBASE_REL</makevar>, <makevar>X11BASE_REL</makevar>,
  -wenn Sie eine Variable relativ zu <makevar>DESTDIR</makevar> ben&ouml;tigen. Um die &Uuml;bersicht zu
  -behalten kann man <makevar>DESTDIR PREFIX</makevar> durch <makevar>TARGETDIR</makevar> ersetzen.</para>
  + <para>Wenn <command>make describe</command> eine Zeichenkette
  + anstatt einer Fehlermeldung erzeugt, sind Sie wahrscheinlich
  + auf der sicheren Seite. Vergleichen Sie die erzeugte
  + Zeichenkette mit <filename>bsd.port.mk</filename>, um mehr
  + &uuml;ber deren Bedeutung zu erfahren.</para>
  +
  + <para>Beachten Sie bitte au&szlig;erdem, dass die Benutzung
  + einer aktuellen Version von <command>portlint</command> (wie
  + im n&auml;chsten Abschnitt beschrieben) automatisch
  + <command>make describe</command> startet.</para>
  + </sect1>
  +
  + <sect1 id="testing-portlint">
  + <title>Portlint</title>
  +
  + <para>Bitte &uuml;berpr&uuml;fen Sie Ihre Arbeit stets mit
  + <link
  + linkend="porting-portlint"><command>portlint</command></link>,
  + bevor Sie diese einreichen oder committen.
  + <command>portlint</command> warnt Sie bei h&auml;ufigen
  + Fehlern, sowohl funktionaler als auch stilistischer Natur.
  + F&uuml;r einen neuen (oder repokopierten) Port ist

----------------------------------------------
Diff block truncated. (Max lines = 200)
----------------------------------------------

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Sun 05 Aug 2007 - 23:59:53 CEST

search this site