jkois 2010-09-25 11:13:12 UTC
FreeBSD German Documentation Repository
Modified files:
books/porters-handbook book.sgml
Log:
MFen 1.1069
Basierend auf einem Patch von Fabian Ruch.
Revision Changes Path
1.215 +45 -2 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.214
retrieving revision 1.215
diff -u -I$FreeBSDde.*$ -r1.214 -r1.215
--- book.sgml 25 Sep 2010 11:09:31 -0000 1.214
+++ book.sgml 25 Sep 2010 11:13:11 -0000 1.215
@@ -3,8 +3,8 @@
The FreeBSD German Documentation Project
$FreeBSD$
- $FreeBSDde: de-docproj/books/porters-handbook/book.sgml,v 1.214 2010/09/25 11:09:31 jkois Exp $
- basiert auf: 1.1068
+ $FreeBSDde: de-docproj/books/porters-handbook/book.sgml,v 1.215 2010/09/25 11:13:11 jkois Exp $
+ basiert auf: 1.1069
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@@ -3604,7 +3604,13 @@
<title>Abhängigkeiten (dependencies)</title>
<para>Viele Ports hängen von anderen Ports ab.
- Es gibt sieben Variablen, welche Sie benutzen können,
+ Dies ist ein sehr praktisches und nettes Feature der meisten
+ Unix-ähnlichen Betriebssysteme, &os; nicht
+ ausgeschlossen. Es erlaubt, dass häufig vorkommende
+ Abhängigkeiten nicht mit jedem Port oder Paket zusammen
+ ausgeliefert werden müssen, da viele Ports diese
+ gemeinsam benutzen.
+ Es gibt sieben Variablen, die benutzt werden können,
um sicherzustellen, dass alle benötigten Teile auf dem
Rechner des Nutzers sind. Zusätzlich gibt es einige
vordefinierte Variablen für Abhängigkeiten in
@@ -3719,6 +3725,43 @@
Der <replaceable>target</replaceable>-Teil kann
weggelassen werden, wenn er der gleiche ist wie in der
Variable <makevar>DEPENDS_TARGET</makevar>.</para>
+
+ <para>Es kommt recht häufig vor, dass
+ <makevar>RUN_DEPENDS</makevar> genau dasselbe enthält
+ wie <makevar>BUILD_DEPENDS</makevar>, gerade dann, wenn die
+ portierte Software in einer Skriptsprache geschrieben ist
+ oder dieselbe Umgebung, die zum Bau verwendet wurde, zur
+ Laufzeit gebraucht wird. In diesem Fall ist es sehr
+ verlockend und in der Tat normal, den Wert der einen
+ Variable der anderen zuzuweisen:</para>
+
+ <programlisting>RUN_DEPENDS= ${BUILD_DEPENDS}</programlisting>
+
+ <para>Jedoch kann und wird dies oft dazu führen, dass die
+ Liste der Laufzeitabhängigkeiten mit
+ überflüssigen Einträgen belastet wird, die
+ sich nicht in der ursprünglichen Liste
+ <makevar>BUILD_DEPENDS</makevar> des Ports befanden, da sich
+ &man.make.1 bei
+ der Auswertung solcher Zuweisungen träge verhält.
+ Höchstwahrscheinlich werden zusätzliche
+ Abhängigkeiten durch
+ <filename>ports/Mk/bsd.*.mk</filename> während der
+ Auswertung der
+ <makevar>USE_<replaceable>*</replaceable></makevar>-Variablen,
+ welche die meisten Ports beinhalten, hinzugefügt. Zum
+ Beispiel führen solche direkten Zuweisungen bei
+ gleichzeitiger Verwendung von
+ <literal>USE_GMAKE=yes</literal> dazu, dass sich
+ <application>gmake</application> in
+ <makevar>RUN_DEPENDS</makevar> befindet, obwohl es nicht
+ explizit in <makevar>BUILD_DEPENDS</makevar> eingetragen
+ wurde. Um dieses Verhalten zu verhindern, sollte eine
+ umgehend ausgewertete Zuweisung verwendet werden, d.h. der
+ Ausdruck wird ausgewertet, bevor er als Wert der Variablen
+ zugewiesen wird:</para>
+
+ <programlisting>RUN_DEPENDS:= ${BUILD_DEPENDS}</programlisting>
</sect2>
<sect2>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Sat 25 Sep 2010 - 13:13:28 CEST