Robert Gogolok

September 21, 2023

Initiales Aufsetzen von FreeBSD Ports aus Git heraus

Ich würde gern ein frisch aufgesetzes FreeBSD System um die FreeBSD Ports erweitern.
Ich würde aber auch gerne direkt den Portsbaum aus Git unter /usr/ports/ nutzen.
Das Ziel ist direkt an den Ports zu entwickeln.

Das Tool portsnap möchte ich nicht nutzen, da sonst zuerst komplett /usr/ports/ auf die Festplatte extrahiert werden würde, um nur nach dem Bauen von Git wieder entfernt zu werden. Ich hab mir jetzt nicht die Mühe gemacht und geprüft wie klein die portsnap-Archive sind.

Dann sollte ich wohl zu pkg greifen.

Bei pkg install git scheinen erstmal zu viele Abhängigkeiten dran zu sein.

New packages to be INSTALLED:
ca_root_nss: 3.89.1
curl: 8.1.2
...
perl5: 5.32.1_3
python39: 3.9.18
readline: 8.2.1

Number of packages to be installed: 36

Danach schaue ich mir kurz Game Of Trees (got) an, da es keine Abhängigkeit hat. Da got noch noch nicht https kann, finde ich nach kurzem Suchen den anonymen SSH-Zugang zum Ports-Repository (ssh://anongit@git.freebsd.org/ports.git). Ich komme aber anschliessend nicht mit got klar. Um nicht extra Zeit zu verlieren, wie got genau funktioniert, muss eben etwas anderes her.

Als letzte Hoffnung griff ich zu git-lite.

New packages to be INSTALLED:
ca_root_nss: 3.89.1
curl: 8.1.2
expat: 2.5.0
gettext-runtime: 0.21.1
git-lite: 2.41.0
indexinfo: 0.3.1
libidn2: 2.3.4
libnghttp2: 1.53.0
libpsl: 0.21.2_3
libssh2: 1.11.0,3
libunistring: 1.1
pcre2: 10.42

Number of packages to be installed: 12

Das war akzeptabel.

Um initial etwas weniger runterladen zu müssen, nutze ich die Kommandozeilenoption --single-branch.

git clone ssh://anongit@git.freebsd.org/ports.git --single-branch /usr/ports


Puuh, geschafft!
Mein /usr/ports ist mit dem aktuellen Stand der FreeBSD Ports gefüllt.