Re: Verwaltung von ports und packages gleichzeitig

From: Polytropon <freebsd(at)edvax.de>
Date: Tue, 14 Apr 2015 02:58:18 +0200

On Mon, 13 Apr 2015 15:02:36 +0200, Alexander Klein wrote:
> Unter Linux war ich es immer gewohnt, Software in /usr/local/src selbst
> zu bauen, aber /usr/local/src gehörte dann nicht root, sondern einem
> anderen Benutzer mit eingeschränkten Rechten, nur für den Fall dass mal
> ein Script durchdreht oder so. Die letztendliche Installation lief dann
> über 'sudo make install' ab.

Ja, das betrifft unter Linux, wie auch unter FreeBSD,
vornehmlich Software, die _nicht_ durch das System
verwaltet wird (also hier _nicht_ Sachen aus der
Ports Collection).

Ausnahmen gibt es auch unter FreeBSD, wo man "eigene
Ports" schreiben kann - nur unterfallen diese dann
nicht den automatischen Update-Vorgängen, da sie
dem (internetbasierten) FreeBSD-Paketsystem ja
unbekannt sind.

Geistesgestörte Zeitgenossen - so wie ich ;-) - nutzen
auch gern den Solaris-ismus /opt, um Software manuell
zu verwalten, für die kein Port existiert. Das hat
den Vorteil, daß der Unterbaum /usr/local _nicht_
berührt wird, denn dieser ist Software, die vom System
verwaltet wird, vorbehalten (siehe "man 7 hier").
Dinge wie /opt/src, /opt/ports, /opt/bin (oft voll mit
Symlinks) und /opt/libexec sind dann keine Seltenheit.

> Verstehe ich das richtig, dass sich mit Poudriere dieser Arbeitsablauf
> mehr oder weniger so nachstellen lässt, außer dass dann am Ende ein
> Paket steht, das ich noch manuell installieren muss?

Richtig. Mit poudriere hast Du sozusagen Deine eigene
"Paketbaustelle", ähnlich den "großen", die FreeBSD
selbst benutzt, um sie im Internet anzubieten. Dabei
kannst Du mit poudriere Optionen wählen, die nicht die
Standardoptionen sind (wie bei FreeBSD selbst). Danach
definierst Du die "Ausgabefläche" von poudriere als
Dein bevorzugtes Repositorium, so daß dann von dort
Pakete genommen werden, wenn Du "pkg install" benutzt.
Es ist also quasi "eine andere Ports Collection außerhalb
der normalen Ports Collection" mit einem gewissen Selbst-
lauf des "Bauens ohne anschließende Installation".

Zum Verständnis: Wenn Du bei einem normalen Port "make
install" aufrufst, wird auch "nur" ein Paket gebaut,
und das wird dann installiert. Auf diese Weise bekommt
die Systemdatenbank der installierten Software ja auch
mit, was installiert wurde, von welchem Paket, wohin,
und welche Abhängigkeiten bestehen. Wenn Du nur wild
Dateien ins System reinkopieren würdest, fehlten diese
Informationen ja. Der "make install"-Vorgang erzeugt also
ein pkg-artiges Paket und installiert es dann, während
"make package" nur das Paket erzeugen würde, das Du dann
mit "pkg install" installieren könntest - technisch jedoch
derselbe Vorgang.

> Und noch was: Wenn ich selbst an den Quellen eines Ports herumpatche,
> muss ich dann noch irgendwelche Besonderheiten beachten, oder reicht
> hier jeweils eine neue Runde make bzw. make install aus?

Wenn die Quellen schon vorhanden, entpackt und verändert
sind, sollte "make clean" und dann "make install" genügen.
Eine Besonderheit wäre, wenn eine solche Veränderung etwas
an den Abhängigkeiten verändert. Wenn Du Patches als separate
Dateien angelegt hast, kannst Du sie mit "make patch" (nach
"make clean") einbacken lassen.

-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 14 Apr 2015 - 02:58:28 CEST

search this site