Ports Tree: Github / freshports und portsnap

schorsch_76

FreeBSD Fanboy
Hallo,

ich baue gerade mein Poudriere Setup für meine Server. Um maximale Flexibilität zu haben möchte ich am besten den Tree aus dem poudriere die Ports baut mit git managen. Jetzt gibt es verschiedene Möglichkeiten:

a) Clone von github https://github.com/freebsd/freebsd-ports
b) Download der Ports mit portsnap und automatisiert kopieren und committen in ein eigens port Repository. Mit Tages Tags.
c) Update der Ports mit poudriere unter /usr/local/etc/poudriere/ports/default und automatisiert kopieren und committen in ein eigens port Repository.

Ist das github Repo das offizielle Repo von FreeBSD? Wie steht hierzu freshports.org? :confused: Wo holt portsnap die Ports her?

EDIT: Local ist schon mal eingerichtet:
https://www.freebsd.org/doc/en/book...iere.html#testing-poudriere-ports-tree-manual
hat geholfen. Aber wie steht es um die Beziehung zwischen github/freshports und portsnap?
 
Zuletzt bearbeitet:
Ok, jetzt hab ichs wohl:

a) github ist nur ein read only mirror von https://svnweb.freebsd.org/ports/ . d.h. Ich kann problemlos von github pullen.
b) portsnap hat @das.chaos beantwortet. Hier kann ich nicht per browser reinschauen. Kein ftp oder http

Ich glaube dass in pkg/FreeBSD.conf (latest = head in https://svnweb.freebsd.org/ports/ und quaterly = branches/20xxQx). Von welchen branch dann die Packete die pkg installiert mit latest gebaut wurden, das weiß ich noch nicht.

Jetzt hab ich die Paketlisten für meine unterschiedlichen Jails fertig und die Optionen gesetzt. Mein Desktop PC hat jetzt etwas Arbeit und ich kann Holz spalten gehen ;)
 
Jetzt hab ich die poudriere Jobs wie folgt aufgebaut:

- 4 Jails für poudriere. 1 "echte Jail" und 3 nullfs Jails ({server,desktop}-{libressl,openssl}. Hier hab ich die Optionen für SSL und das Ziel gesetzt, in der entsprechenden make.conf.
- 3 git ports trees. 1 "echter clone" freebsd-ports und 2 file clones head und quaterly
- 7 Packetlisten

Das sind jetzt 4*7 Repositories. Die www/mail/database/mumble und openvpn sollen alle in eigenen Jails laufen. Host ist dann der FreeBSD Server bei Hetzner, desktop ist dann für meinen Laptop und den Desktop Rechner.

Code:
#!/bin/sh

# quaterly libressl
poudriere bulk -j 11amd64-server-libressl -z www      -p quaterly -f /usr/local/etc/poudriere.d/www-pkglist
poudriere bulk -j 11amd64-server-libressl -z mail     -p quaterly -f /usr/local/etc/poudriere.d/mail-pkglist
poudriere bulk -j 11amd64-server-libressl -z database -p quaterly -f /usr/local/etc/poudriere.d/database-pkglist
poudriere bulk -j 11amd64-server-libressl -z host     -p quaterly -f /usr/local/etc/poudriere.d/host-pkglist

poudriere bulk -j 11amd64-server-libressl -z mumble   -p quaterly -f /usr/local/etc/poudriere.d/mumble-pkglist
poudriere bulk -j 11amd64-server-libressl -z openvpn  -p quaterly -f /usr/local/etc/poudriere.d/openvpn-pkglist

poudriere bulk -j 11amd64-desktop-libressl -z desktop -p quaterly -f /usr/local/etc/poudriere.d/desktop-pkglist


# quaterly openssl
poudriere bulk -j 11amd64-server-openssl -z www      -p quaterly -f /usr/local/etc/poudriere.d/www-pkglist
poudriere bulk -j 11amd64-server-openssl -z mail     -p quaterly -f /usr/local/etc/poudriere.d/mail-pkglist
poudriere bulk -j 11amd64-server-openssl -z database -p quaterly -f /usr/local/etc/poudriere.d/database-pkglist
poudriere bulk -j 11amd64-server-openssl -z host     -p quaterly -f /usr/local/etc/poudriere.d/host-pkglist

poudriere bulk -j 11amd64-server-openssl -z mumble   -p quaterly -f /usr/local/etc/poudriere.d/mumble-pkglist
poudriere bulk -j 11amd64-server-openssl -z openvpn  -p quaterly -f /usr/local/etc/poudriere.d/openvpn-pkglist

poudriere bulk -j 11amd64-desktop-openssl -z desktop -p quaterly -f /usr/local/etc/poudriere.d/desktop-pkglist

# head libressl
poudriere bulk -j 11amd64-server-libressl -z www      -p head -f /usr/local/etc/poudriere.d/www-pkglist
poudriere bulk -j 11amd64-server-libressl -z mail     -p head -f /usr/local/etc/poudriere.d/mail-pkglist
poudriere bulk -j 11amd64-server-libressl -z database -p head -f /usr/local/etc/poudriere.d/database-pkglist
poudriere bulk -j 11amd64-server-libressl -z host     -p head -f /usr/local/etc/poudriere.d/host-pkglist

poudriere bulk -j 11amd64-server-libressl -z mumble   -p head -f /usr/local/etc/poudriere.d/mumble-pkglist
poudriere bulk -j 11amd64-server-libressl -z openvpn  -p head -f /usr/local/etc/poudriere.d/openvpn-pkglist

poudriere bulk -j 11amd64-desktop-libressl -z desktop -p head -f /usr/local/etc/poudriere.d/desktop-pkglist


# head openssl
poudriere bulk -j 11amd64-server-openssl -z www      -p head -f /usr/local/etc/poudriere.d/www-pkglist
poudriere bulk -j 11amd64-server-openssl -z mail     -p head -f /usr/local/etc/poudriere.d/mail-pkglist
poudriere bulk -j 11amd64-server-openssl -z database -p head -f /usr/local/etc/poudriere.d/database-pkglist
poudriere bulk -j 11amd64-server-openssl -z host     -p head -f /usr/local/etc/poudriere.d/host-pkglist

poudriere bulk -j 11amd64-server-openssl -z mumble   -p head -f /usr/local/etc/poudriere.d/mumble-pkglist
poudriere bulk -j 11amd64-server-openssl -z openvpn  -p head -f /usr/local/etc/poudriere.d/openvpn-pkglist

poudriere bulk -j 11amd64-desktop-openssl -z desktop -p head -f /usr/local/etc/poudriere.d/desktop-pkglist

Das wollte ich eigentlich per "poudriered + poudriere queue" machen aber ich hab das nicht hinbekommen. In der manpage steht auch noch das queue experimental ist. Ich hab die normale poudriere Version genommen und nicht -devel.

Eigentlich will ich komplett libressl fahren, aber da ich weis dass es bei einigen Paketen zu Problemen kommen kann (siehe der Firefox + rust Thread), versuche ich es mal so. Damit kann ich auch kurzfristig zwischen quaterly/head und libressl/openssl wecheln.
 
Zurück
Oben