Meine ersten Tests: synth nicht überzeugend

Mardor

Well-Known Member
Hallo,

ich habe mich die letzten Tag aufgrund portmaster Problematik mit synth beschäftigt. Dabei habe ich mir einen neuen Rechner genommen blank installiert. SSH aktiviert und einen neuen User angelegt. Danach mit "portsnap fetch extract" die Port heruntergeladen und synth über "pkg install synth" installiert. Im nächsten Schritt dann noch das Verzeichnis "/usr/ports/distfiles" angelegt um einer Fehlermeldung zu entgehen.

1. Komisch: upgrade system
Der erste Upgrade hat bei mir ca. 45 Mintuen gedauert. Nicht problematisch aber suspekt war, dass synth sich selbst am Ende selbst aktualisiert hat obwohl ich eigentlich die neuste Version erst wenige Minuten zuvor über pkg install durchgeführt hatte

Code:
...
The task is complete.  Final tally:
Initial queue size: 20
  packages built: 20
  ignored: 0
  skipped: 0
  failed: 0

Duration: 00:33:24
The build logs can be found at: /var/log/synth
Stand by, recursively scanning 21 ports serially.
Packages validated, rebuilding local repository.
Local repository successfully rebuilt
Updating Synth repository catalogue...
pkg: Repository Synth load error: access repo file(/var/db/pkg/repo-Synth.sqlite) failed: No such file or directory
Fetching meta.txz: 100%  260 B  0.3kB/s  00:01
Fetching packagesite.txz: 100%  8 KiB  8.3kB/s  00:01
Processing entries: 100%
Synth repository update completed. 21 packages processed.
All repositories are up to date.
New version of pkg detected; it needs to be installed first.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
   pkg: 1.10.1 -> 1.10.3 [Synth]

Number of packages to be upgraded: 1
[1/1] Upgrading pkg from 1.10.1 to 1.10.3...
[1/1] Extracting pkg-1.10.3: 100%
Updating Synth repository catalogue...
Synth repository is up to date.
All repositories are up to date.
Checking for upgrades (1 candidates): 100%
Processing candidates (1 candidates): 100%
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
   synth: 1.70_1 -> 2.01 [Synth]

Number of packages to be upgraded: 1
[1/1] Upgrading synth from 1.70_1 to 2.01...
[1/1] Extracting synth-2.01: 100%

2. Installation von tmux und die erste Fehlermeldung

Der erste Installationstest war bei mir die Kompilierung und Installation von tmux über synth. Leider erhalte ich schon direkt nach der Komplilierung die folgende Fehlermeldung:

Code:
The task is complete.  Final tally:
Initial queue size: 7
  packages built: 7
  ignored: 0
  skipped: 0
  failed: 0

Duration: 00:01:44
The build logs can be found at: /var/log/synth
Would you like to rebuild the local repository (Y/N)? Y
Stand by, recursively scanning 1 port serially.
Packages validated, rebuilding local repository.
Local repository successfully rebuilt
Would you like to upgrade your system with the new packages now (Y/N)? Y
Usage: pkg install [-AfInFMqRUy] [-r reponame] [-Cgix] <pkg-name> ...

For more information see 'pkg help install'.
Unfortunately, the system upgraded failed.

Danach ist tmux nicht installiert, aber ich erhalte bei synth upgrade-system auch keine Fehlermeldung. Das gleiche Verhalten erhalte ich bei der im nächsten Punk beschriebenen Installation der Owncloud.

3. Wo sind die Optionen

Als portmaster user bin ich gewohnt auszuwählen welche Option ich genau kompiliert haben möchte. Zum Testen habe ich mir www/owncloud installieren wollen. Über portmaster erhalte ich sofort nach dem Start die Option Owncloud inkl. MySql zu installieren, diese Option deaktiviere ich meistens um MariaDB zu nutzen. Bei synth erhalte ich einfach keine Option um beispielsweise MySql abzuwählen.

Gibt es die Möglichkeit zur Auswahl der Abhängigkeiten oder ist dies nicht vorgesehen. Wenn dies nicht vorgesehen ist verstehe ich den Unterschied zwischen der reinen Nutzung von pkg im Vergleich zu synth nicht.

Mein Verständnis über Synth war bis jetzt. Das Synth die Möglichkeit gibt eigene pkg's nach eigenen Wünschen zu erstellen. Diese selbst gebauten pkg Files werden dann in einem Verzeichnis mit höherer Priorität als die default pkg File abgelegt. Liege ich hier falsch ?

Fazit:

Ich gehe davon aus, dass 90% des Verhaltens auf mein Installationsverhalten zurückzuführen ist, jedoch sollte synth laut Aussagen des Programmierers für den neuen Benutzer sein, somit sollten meines Erachtens solche Probleme nicht auftreten. Gerade bei einem komplett neu aufgesetzten System.

Ich würde die nächsten Tage noch weitere Tests durchführen freue mich aber über jedes Feedback und jede Idee zur Lösung des Problems.

Habt Ihr ähnliche Erfahrungen mit synth oder läuft es bei euch sofort einwandfrei ?


Gruß Mardor
 
1. synth aktualisiert vermutlich eher nicht "sich", sondern sein Paket. Das hattest du ja zu diesem Zeitpunkt noch nicht - woher auch?
2. Habe ich auch schon gesehen, aber bin mir noch nicht sicher, warum.
3. make.conf nutzen - für MariaDB zum Beispiel DEFAULT_VERSIONS+= mysql=10.2m eintragen. --> https://wiki.freebsd.org/DEFAULT_VERSIONS

synth trägt sich als zusätzliche, primäre Paketquelle ein.
 
wg. Optionen:

...
synth baut mit den default-options und man erhaelt also das gleiche Ergebnis, wie beim
Holen der Binaries mittels pkg install

will man bestimmt Optionen aendern, dann vor synth am Beispiel vim:
Code:
make -C /usr/ports/editors/vim config

und danach natuerlich von synth den Port bauen lassen:
Code:
synth just-build editors/vim
...
 
Dass synth sich erst mal selbst aktualiert ist klar.
Du hast ja neu installiert und das pkg-Repository auf "Quarterly" stehen gelassen. Somit hast du synth-1.70_1 von Mitte Oktober bekommen.
Seit ein paar Tagen haben die Ports FLAVOR-Support und synth unterstützt das erst seit Version 2.0 vom 3. Dezember.
 
Hi,

nach den vielen Tipps und Hilfestellungen eurerseits dachte ich mir, ich gehe mal mit einem einfachen versuch an eines meiner Livesysteme.
Nachja, alleine schon ein einfaches "synth upgade-system" bringt mir extrem viele Fehlermeldungen:

Code:
synth upgrade-system
Querying system about current package installations.
Stand by, comparing installed packages against the ports tree.
Encountered issue with devel/py-six or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of devel/py-six) does not exist.
Scan of devel/py-six failed, it will not be considered.
Encountered issue with devel/py-setuptools_scm or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of devel/py-setuptools_scm) does not exist.
Scan of devel/py-setuptools_scm failed, it will not be considered.
Encountered issue with www/py-werkzeug or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of www/py-werkzeug) does not exist.
Scan of www/py-werkzeug failed, it will not be considered.
Encountered issue with graphics/py-imagesize or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of graphics/py-imagesize) does not exist.
Scan of graphics/py-imagesize failed, it will not be considered.
Encountered issue with devel/py-zope.component or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of devel/py-zope.component) does not exist.
Scan of devel/py-zope.component failed, it will not be considered.
Encountered issue with devel/py-enum34 or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of devel/py-enum34) does not exist.
Scan of devel/py-enum34 failed, it will not be considered.
Encountered issue with devel/py-python2-pythondialog or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of devel/py-python2-pythondialog) does not exist.
Scan of devel/py-python2-pythondialog failed, it will not be considered.
Encountered issue with textproc/py-sphinx_rtd_theme or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of textproc/py-sphinx_rtd_theme) does not exist.
Scan of textproc/py-sphinx_rtd_theme failed, it will not be considered.
Encountered issue with net/py-urllib3 or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of net/py-urllib3) does not exist.
Scan of net/py-urllib3 failed, it will not be considered.
Scan of devel/py27-setuptools failed (port deleted), it will not be considered.
Encountered issue with net/py-ipaddress or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of net/py-ipaddress) does not exist.
Scan of net/py-ipaddress failed, it will not be considered.
Encountered issue with devel/py-pyrfc3339 or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of devel/py-pyrfc3339) does not exist.
Scan of devel/py-pyrfc3339 failed, it will not be considered.
Encountered issue with devel/py-pyasn1 or its dependencies
  => py27-setuptools>0:devel/py-setuptools@py27 (required dependency of devel/py-pyasn1) does not exist.
Scan of devel/py-pyasn1 failed, it will not be considered.
...
Cached options obsolete: lang/python27

A preliminary scan has revealed the cached options of one port are
obsolete.  Please update or remove the saved options and try again.
  e.g. make -C /usr/ports/lang/python27 config
  e.g. make -C /usr/ports/lang/python27 rmconfig
Unfortunately, the system upgrade failed.

Die zwei pkg set Befehle wie in UPDATING beschrieben habe ich bereits durchgeführt, leider hat dies das Problem auch nicht behoben.

Gruß Mardor
 
Hast du die Options mal neu gesetzt?
Code:
A preliminary scan has revealed the cached options of one port are
obsolete.  Please update or remove the saved options and try again.
  e.g. make -C /usr/ports/lang/python27 config
 
Hallo gadean,

Hast du die Options mal neu gesetzt?
Ja hatte ich.
Beim zfs rollback und erneutem Durchführen ist mit allerdings aufgefallen, dass eine s sich nicht nur um python27 sondern noch um ein weiteres Tool gehandelt hat das mit make -C "bearbeitet" werden wollte. Danach wurde alles wunderbar erneut über synth installiert. Danke für deinen Tipp, der mich dazu gebracht hat nochmals erneut alles zu testen.

Gruß Mardor
 
Zurück
Oben