How to use synth under Freebsd
Die drei Klassiker portmanager, portmaster und portupgrade sind de facto tot. Vor allem bauen sie alle nicht in einer sauberen Umgebung, was immer wieder zu Chaos und Bugs führt. Unter Umstanden zieht sich der configure Bibliotheken an, die er auf dem System findet, und gegen die man auf keinem Fall linken will - nur eine saubere Build-Umgebung verhindert das.
Inbetriebnahme von Synth
- Synth installieren
pkg install synth
- Konfigurieren
- Synth nutzt nicht /etc/make.conf, sondern /usr/local/etc/synth/LiveSystem-make.conf
- Genauere Details dazu in der Man-Page
- Wichtig! Wenn man Mariadb verwendet, ist das hier einzutragen, sonst baut Synth mit dem Default/Mysql und entfernt dann als Abhänigkeit den mariadb-server!
- Meine Konfiguration
# Important - use mariadb instead of mysql
DEFAULT_VERSIONS+=mysql=10.5m
# language Versions
DEFAULT_VERSIONS+=php=8.3
DEFAULT_VERSIONS+=ruby=3.2
DEFAULT_VERSIONS+=python=3.11
DEFAULT_VERSIONS+=perl=5.38
#Knobs
OPTIONS_UNSET+=X11 XPM
OPTIONS_UNSET+=GUI
OPTIONS_UNSET+=CUPS
OPTIONS_UNSET+=GNOME
OPTIONS_UNSET+=GTK
OPTIONS_UNSET+=GTK2
OPTIONS_UNSET+=KDE
OPTIONS_UNSET+=QT
OPTIONS_UNSET+=VULKAN
OPTIONS_UNSET+=WAYLAND
WITHOUT_MODULES = sound ntfs linux
WITH_X = NO
ENABLE_GUI = NO
Update des Systems
- Bei jedem Update: Ports-Tree aktualisieren
[root@fuchsia ~]# portsnap auto
Looking up portsnap.FreeBSD.org mirrors... 5 mirrors found.
Fetching snapshot tag from dualstack.aws.portsnap.freebsd.org...
...
- System vorbereiten
[root@fuchsia ~]# synth prepare-system
Regenerating flavor index: this may take a while ...
Scanning entire ports tree.
progress: 0.09%
...
- Änderungen ansehen, um Überraschungen zu vermeiden
[root@fuchsia ~]# synth status
These are the ports that would be built ([N]ew, [R]ebuild, [U]pgrade):
R => graphics/libglvnd
R => devel/dbus
N => lang/gcc13
R => java/openjdk8
...
- Upgrade jetzt durchführen
[root@fuchsia ~]# synth upgrade-system
- Man erhät u. A. eine schöne Anzeige, was gerade getan wird.
- Auf den Speicherverbrauch achten - hier erweist es sich als positiv, wenn man Unmengen an Swap-Speicher eingerichtet hat
- Zum Aufrämen ein
[root@fuchsia ~]# synth purge-distfiles
Installieren einzelner Programme
- Super-Einfach!
[root@fuchsia ~]# synth build security/vaultwarden
[root@fuchsia ~]# synth install security/vaultwarden
- Konfigurieren etwatiger Optionen, vorher tun!
[root@fuchsia ~]# make -C /usr/ports/security/vaultwarden config
- Mann kann sie auch so ansehen
[chrissie@fuchsia ~]$ pkg options vaultwarden
vaultwarden - MYSQL: on
vaultwarden - PGSQL: off
vaultwarden - SQLITE: on
vaultwarden - WEBVAULT: on
- Infos zu z. B. gelinkten Bibliotheken
[chrissie@fuchsia ~]$ pkg info vaultwarden