update-etc-shells:
@${ECHO_MSG} "updating /etc/shells"
@${CP} /etc/shells /etc/shells.bak
@( ${GREP} -v ${PREFIX}/bin/bash /etc/shells.bak; \
${ECHO_CMD} ${PREFIX}/bin/bash) >/etc/shells
@${RM} /etc/shells.bak
This translation may be out of date. To help with the translations please access the FreeBSD translations instance .
Wenn Sie dem Anwender bei der Installation weitere Informationen anzeigen wollen, so können Sie diese Nachricht in pkg-message speichern. Diese Vorgehensweise ist oft nützlich, um zusätzliche Schritte anzuzeigen, die nach pkg_add(1) durchgeführt werden müssen. Dadurch können Sie auch Lizenzinformationen darstellen.
Wollen Sie nur ein paar Zeilen über die Einstellungen zum Erstellen des Ports oder Warnungen ausgeben, benutzen Sie
ECHO_MSG
.
pkg-message
ist nur für Schritte nach der Installation vorgesehen. Sie sollten den Unterschied zwischen
ECHO_MSG
und
ECHO_CMD
beachten: Ersteres wird benutzt, um Informationen auf dem Bildschirm auszugeben, während Letzteres für Kommando-Pipelining bestimmt ist.
Ein gutes Beispiel für die Benutzung der beiden Befehle ist in shells/bash2/Makefile zu finden:
update-etc-shells:
@${ECHO_MSG} "updating /etc/shells"
@${CP} /etc/shells /etc/shells.bak
@( ${GREP} -v ${PREFIX}/bin/bash /etc/shells.bak; \
${ECHO_CMD} ${PREFIX}/bin/bash) >/etc/shells
@${RM} /etc/shells.bak
|
Stellen Sie sicher, dass sie auf die korrekten Tools zum Verwalten von Diensten verweisen.
* Verwenden Sie
|
|
Die
pkg-message
wird nicht zur
pkg-plist
hinzugefügt. Sie wird auch nicht automatisch angezeigt, falls ein Anwender den Port installiert. Sie müssen also die Ausgabe selbst im
|
Sollte es nötig sein, dass Ihr Port bei der Installation des Binärpakets mit
pkg_add(1)
Befehle ausführt, können Sie das Skript
pkg-install
benutzen. Dieses Skript wird automatisch dem Paket hinzugefügt und zweimal von
pkg_add(1)
ausgeführt: Zuerst als
${SH} pkg-install ${PKGNAME} PRE-INSTALL
und beim zweiten Mal als
${SH} pkg-install ${PKGNAME} POST-INSTALL
.
$2
kann also getestet werden, um festzustellen, in welchem Modus das Skript ausgeführt wird. Die Umgebungsvariable
PKG_PREFIX
wird auf das Verzeichnis gesetzt, in welches das Paket installiert wird. Siehe
pkg_add(1)
für weiterführende Informationen.
|
Das Skript wird nicht automatisch ausgeführt, wenn Sie den Port mit
|
Dieses Skript wird ausgeführt, wenn ein Paket deinstalliert wird.
Es wird zweimal von
pkg_delete(1)
aufgerufen. Das erste Mal als
${SH} pkg-deinstall ${PKGNAME} DEINSTALL
und dann als
${SH} pkg-deinstall ${PKGNAME} POST-DEINSTALL.
Muss Ihr Port entscheiden, ob er installiert werden soll oder nicht, können Sie ein pkg-req -"Bedingungsskript" verwenden. Dieses wird automatisch bei der Installation/ Deinstallation aufgerufen, um zu entscheiden, ob die Installation/ Deinstallation fortgesetzt werden soll.
Das Skript wird während der Installation von
pkg_add(1)
als
pkg-req ${PKGNAME} INSTALL
aufgerufen. Bei der Deinstallation wird es von
pkg_delete(1)
als
pkg-req ${PKGNAME} DEINSTALL
ausgeführt.
Alle Namen der
pkg-
Dateien werden durch Variablen festgelegt. Sie können sie bei Bedarf also im
Makefile
des Ports ändern. Das ist besonders nützlich, wenn Sie die gleichen
pkg-
Dateien in mehreren Ports nutzen oder in eine der oben genannten Dateien schreiben wollen. Schreiben Sie niemals außerhalb des Unterverzeichnisses
WRKDIR
pkg-*
, eine Erklärung hierzu finden Sie in
Schreiben ausserhalb von
WRKDIR
.
Hier ist eine Liste von Variablennamen und ihren Standardwerten (
PKGDIR
ist standardmäßig
${MASTERDIR}
).
| Variable | Standardwert |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bitte benutzen Sie diese Variablen anstatt
PKG_ARGS
zu ändern. Wenn Sie
PKG_ARGS
modifizieren, werden diese Dateien bei der Installation des Ports nicht korrekt in
/var/db/pkg
installiert.
SUB_FILES
und
SUB_LIST
Die Variablen
SUB_FILES
und
SUB_LIST
sind nützlich, um dynamische Werte in Port-Dateien zu verwenden, wie beispielsweise der Installations-
PREFIX
in
pkg-message
.
Die Variable
SUB_FILES
enthält eine Liste von Dateien, die automatisch verändert werden. Jede
Datei
in
SUB_FILES
muss ein entsprechendes Pendant
datei.in
im Verzeichnis
FILESDIR
haben. Die modifizierte Version wird in
WRKDIR
angelegt. Dateien, die als Werte von
USE_RC_SUBR
(oder veraltet in
USE_RCORDER
) gespeichert werden, werden automatisch zu
SUB_FILES
hinzugefügt. Für die Dateien
pkg-message
,
pkg-install
,
pkg-deinstall
und
pkg-req
werden die jeweiligen Makefile-Variablen selbsttätig auf die geänderte Version der Datei gesetzt.
Die Variable
SUB_LIST
ist eine Liste von
VAR=WERT
-Paaren. Jedes Paar
%%VAR%%
in den Dateien von
SUB_FILES
wird mit
WERT
ersetzt. Einige gebräuchliche Paare werden automatisch definiert:
PREFIX
,
LOCALBASE
,
DATADIR
,
DOCSDIR
,
EXAMPLESDIR
. Jede Zeile, die mit
@comment
beginnt, wird nach der Variablen-Ersetzung aus der neu erstellten Datei gelöscht.
Im folgenden Beispiel wird
%%ARCH%%
mit der Systemarchitektur in
pkg-message
ersetzt:
SUB_FILES= pkg-message
SUB_LIST= ARCH=${ARCH}
Beachten Sie bitte, dass in diesem Beispiel die Datei
pkg-message.in
im Verzeichnis
FILESDIR
vorhanden sein muss.
Hier ein Beispiel für eine gute pkg-message.in :
Now it is time to configure this package. Copy %%PREFIX%%/shared/examples/putsy/%%ARCH%%.conf into your home directory as .putsy.conf and edit it.
Last modified on : 18. Februar 2025 by Fernando Apesteguía