Synth - Erfahrungen und Beispiele

Moin !

Hatte hier das gleiche Problem bei meiner FBSD11.1 Installation !
Dieselben Fehlermeldungen !

Habe dann mal auf meiner Bastel-Festplatte ein FBSD neu aufgesetzt !
Desweiteren habe ich alle Einträge aus der make.conf , bis auf
WITH_CCache rausgeschmissen !

Dann habe ich per pkg (latest) xorg , openbox , synth , ccache und ein
paar weitere Programme installiert !

Dann alles per "synth upgrade-system" aktualisiert ! Lief einwandfrei durch !

Merkwürdig ist allerdings , wenn ich per " synth install XXX " ein Paket
installieren will , wird das Paket zwar gebaut , aber nicht installiert !

Wenn ich nach dem Bau " pkg install XXX " eingebe , wird das von
synth gebaute Paket erst installiert !

:ugly:
 
Laut freshports.org ist 2.02 seit heute 11:57 in den ports. Im portstree bekomme ich aber immer noch die 2.01 angezeigt. :rolleyes:

Edith:

Jetzt ist 2.02 da.
 
Code:
synth upgrade-system
Querying system about current package installations.
Installed package ignored, x11-wm/compizconfig-python package unmatched
Installed package ignored, devel/py-babel package unmatched
Installed package ignored, devel/py-Jinja2 package unmatched
Installed package ignored, textproc/py-MarkupSafe package unmatched
Installed package ignored, textproc/py-alabaster package unmatched
Installed package ignored, graphics/py-cairo package unmatched
Installed package ignored, devel/py-dbus package unmatched
Installed package ignored, dns/py-dnspython package unmatched
Installed package ignored, textproc/py-docutils package unmatched
Installed package ignored, devel/py-enum34 package unmatched
Installed package ignored, devel/py-gobject package unmatched
Installed package ignored, devel/py-gobject3 package unmatched
Installed package ignored, x11-toolkits/py-gtk2 package unmatched
Installed package ignored, graphics/py-imagesize package unmatched
Installed package ignored, devel/py-iso8601 package unmatched
Installed package ignored, textproc/py-libxml2 package unmatched
Installed package ignored, graphics/py-pillow package unmatched
Installed package ignored, textproc/py-pygments package unmatched
Installed package ignored, textproc/py-pystemmer package unmatched
Installed package ignored, devel/py-pytz package unmatched
Installed package ignored, devel/py-qt5-core package unmatched
Installed package ignored, devel/py-qt5-dbussupport package unmatched
Installed package ignored, x11-toolkits/py-qt5-gui package unmatched
Installed package ignored, x11-toolkits/py-qt5-widgets package unmatched
Installed package ignored, print/py-reportlab package unmatched
Installed package ignored, missing from ports: devel/py27-setuptools
Installed package ignored, devel/py-sip package unmatched
Installed package ignored, devel/py-six package unmatched
Installed package ignored, textproc/py-snowballstemmer package unmatched
Installed package ignored, textproc/py-sphinx package unmatched
Installed package ignored, textproc/py-sphinx_rtd_theme package unmatched
Installed package ignored, databases/py-sqlite3 package unmatched
Installed package ignored, x11-toolkits/py-tkinter package unmatched
Installed package ignored, missing from ports: graphics/py3-cairo
Installed package ignored, missing from ports: devel/py3-gobject3
Installed package ignored, missing from ports: devel/py36-setuptools
Installed package ignored, devel/pyrex package unmatched
Installed package ignored, devel/scons package unmatched
Stand by, comparing installed packages against the ports tree.
Stand by, updating external repository catalogs ... done.
Scanning existing packages.
 progress: 97.43%

Bisher läufts. 504 Left.
Was geschieht mit den ignorierten Paketen?
 
Das scheinen allesamt (?) geflavorte Pakete zu sein. Ich würde annehmen wollen, die werden nach dem Durchlauf automatisch durch die "neuen" Versionen ersetzt?
 
Moin

Also Synth ist ja rattenschnell und hätte ja auch Vorteile gegenüber Portupgrade. Obwohl man für meinen Geschmack zuwenig mitbekommt, was gerade so passiert.
Und was mache ich mit meinen angepassten Parametern für's Bauen eines Ports in pkgtools.conf? Sowas z.B.:

'*/php70*' => [
'DISABLE_CONFLICTS=YES',
'PREFIX=/usr/local/php70',
'PHPBASE=/usr/local/php70',
'LOCALBASE=/usr/local',
'CONFIGURE_ARGS+=--datadir=/usr/local/php70/share',
'CONFIGURE_ARGS+=--bindir=/usr/local/php70/bin',
'CONFIGURE_ARGS+=--with-php-config=/usr/local/php70/bin/php-config',
'CONFIGURE_ARGS+=--with-iconv=/usr/local',
'CONFIGURE_ARGS+=--with-pcre-dir=/usr/local',
],
'*/php71*' => [
'DISABLE_CONFLICTS=YES',
'PREFIX=/usr/local/php71',
'PHPBASE=/usr/local/php71',
'LOCALBASE=/usr/local',
'CONFIGURE_ARGS+=--datadir=/usr/local/php71/share',
'CONFIGURE_ARGS+=--bindir=/usr/local/php71/bin',
'CONFIGURE_ARGS+=--with-php-config=/usr/local/php71/bin/php-config',
'CONFIGURE_ARGS+=--with-iconv=/usr/local',
'CONFIGURE_ARGS+=--with-pcre-dir=/usr/local',
],

Da will ich mich ja nicht jedesmal drum kümmern. Wie macht ihr das?
 
Hallo nti,

ich schätze mal, das müsstest Du in der entsprechenden make.conf vom Synth im /usr/local/etc/synth Konfigurationsverzeichnis unterbringen. Synth baut ja nicht nach den Rezepten die in /etc/make.conf drin stehen. Wenn es die /etc/make.conf nehmen soll, dann muss sie dem Synth passend in /usr/local/etc/synth verfüttert werden.

Trotzdem hat Synth Schwierigkeiten Ports zu bauen, die das alte Portupgrade noch ganz lässig bauen konnte. So zum Beispiel die GCC mit voller ADA Unterstützung, die Synth selbst braucht. Auch multimedia/libav konnte es nicht bauen weil es graphics/opencv nicht fand, obwohl es installiert ist. Das alte Portupgrade hat damit hingegen keine Schwierigkeiten.

Die Idee mit dem parallelen Builds ist ja ganz schön, aber wird immer problematisch wenn dicke Dinger gleichzeitig gebaut werden und dann RAM und SWAP nicht mehr reichen. Da würde ich mir wünschen es gäbe irgendwie Quotas, oder einfach manuell per Konfigurationsdatei bestimmbar, wenn etwa Chromium, oder Libreoffice gebaut werden sollen, dass dann die anderen Builder eine Pause einlegen.
 
MoinMoin

Ja da hast du wohl Recht. Ich beschäftige mich jetzt doch mit poudriere, das scheint mir sicherer, wird aber in synth wohl sehr ähnlich sein:

Es wäre eine Idee in dieser Art Optionen in der make.conf zu konfigurieren:

.if ${.CURDIR} == "${PORTSDIR}/lang/php56"
DISABLE_CONFLICTS=YES
PHPBASE=/usr/local/php56
PREFIX=/usr/local/php56
CONFIGURE_ARGS+=--datadir=/usr/local/php56/share
CONFIGURE_ARGS+=--bindir=/usr/local/php56/bin
CONFIGURE_ARGS+=--with-config-file-scan-dir=/usr/local/php56/etc/php
.endif

Oder, wie ich finde einfacher, kann man es auch in der "options" Datei für den jeweiligen port, z.B. unterhalb von /usr/local/etc/poudriere.d/xxx-options/lang_php56 konfigurieren.

# This file is auto-generated by 'make config'.
# Options for php56-5.6.20_1
_OPTIONS_READ=php56-5.6.20_1
_FILE_COMPLETE_OPTIONS_LIST=CLI CGI FPM EMBED PHPDBG DEBUG DTRACE IPV6 MAILHEAD LINKTHR ZTS
OPTIONS_FILE_SET+=CLI
OPTIONS_FILE_SET+=CGI
OPTIONS_FILE_SET+=FPM
OPTIONS_FILE_SET+=EMBED
OPTIONS_FILE_UNSET+=PHPDBG
OPTIONS_FILE_UNSET+=DEBUG
OPTIONS_FILE_UNSET+=DTRACE
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_UNSET+=MAILHEAD
OPTIONS_FILE_SET+=LINKTHR
OPTIONS_FILE_UNSET+=ZTS
# ab hier eigene Optionen
DISABLE_CONFLICTS=YES
PHPBASE=/usr/local/php56
PREFIX=/usr/local/php56
CONFIGURE_ARGS+=--datadir=/usr/local/php56/share
CONFIGURE_ARGS+=--bindir=/usr/local/php56/bin
CONFIGURE_ARGS+=--with-config-file-scan-dir=/usr/local/php56/etc/php
 
Jupp, na klar. Danke. Aber zu meiner Frage wie ich speziell Optionen für einen einzelnen Port hinterlege steht da nix - oder worauf wolltest du mich genau hinweisen?
 
Jupp, na klar. Danke. Aber zu meiner Frage wie ich speziell Optionen für einen einzelnen Port hinterlege steht da nix - oder worauf wolltest du mich genau hinweisen?

Meinst Du das hier?
Code:
poudriere options -p <name-des-portsbaumes> -c <portkategorie>/<name-des-ports>

Als Beispiel:
Code:
poudriere options -p kde5portstree -c x11/nvidia-driver

Dafür muss aber noch dialog4ports installiert sein.
 
Zurück
Oben