Poudriere und die make.conf

Mardor

Well-Known Member
Hallo,

ich unternehme aktuell die ersten Gehversuche mit poudriere. Ich habe in der jailbasierten make.conf den Eintrag "DEFAULT_VERSIONS += SSL=libressl" verwendet. Beim Kompilieren fallen mir leider aufgrund eines Kompilierfehlers mit py-cryptography-2.1.4 einige Ports auf die Füße. Ich gehe davon aus, dass dies an der genannten make.conf liegt.

Leider kenne ich nun keinen Weg wie ich die Setting von py-cryptography wieder erneut setzen kann. Ein "poudiere options -c" zeigt mir leider keine Komplilieroptionen für py-cryptography an.

Wie kann ich denn die Optionen zur Komplierung wieder korrigieren oder wieder auf "start" zurücksetzen ?

Gruß Mardor
 
Hast du mal unter /usr/local/etc/poudriere.d/make.conf geschaut?
Evtl. unter dem selben Ordner "$JailName-make.conf"?

Edit: Arg, sorry falsch verstanden, du könntest aber mal in den Ordner "/usr/local/etc/poudriere.d/$Jailname-options/" schauen, dort findest du alle Options die gesetzt wurden und kannst die von Hand ändern.
 
Unter diesem Verzeichnis gibt es nur meine erstellte amd64-11-1-make.conf. Dort war vorher die Option DEFAULT_VERSIONS += SSL=libressl dringehabt und danach dann gelöscht.

Aber wie beschrieben wird trotz raugeworfener Option scheinbar versucht libressl zu nutzen und genau das will ich ja ändern.

Gruß Mardor
 
Siehe mein Edit oder versuch mal folgendes:
poudriere options -j $Jailname -c cat/portname

evtl. brauchst du noch den Parameter -p
 
Hallo,

ich glaube ich habe mein Problem unsauber beschrieben, ich möchte nun (OpenSSL nachdem ich Probleme bekommen habe) nutzen. Deshalb habe ich auch die Zeile aus der amd64-11-1-make.conf entfernt.

Mein Problem ist, selbst wenn ich die die Zeile rausnehme erhalte ich die selbe alte Fehlermeldung beim Ausführen von "poudriere bulk"

Ich gehe davon aus, dass dies daran liegt, dass poudriere das Entfernen von DEFAULT_VERSIONS += SSL=libressl aus der amd64-11-1-make.conf noch nicht bemerkt hat. Deshalb habe ich die Option -c genutzt (poudriere options -c -j amd64-11-1 -p head -f pkglist) aber diese Option hat poudriere nicht dazu bewegt py-cryptography korrekt (also mit openssl und ohne libressl) zu kompilieren.

Gruß Mardor
 
Hallo gadean,

ich habe deinen Hinweis eben erst gesehen:

Siehe mein Edit oder versuch mal folgendes:
poudriere options -j $Jailname -c cat/portname

evtl. brauchst du noch den Parameter -p

Code:
/usr/local/etc/poudriere.d: poudriere options -j amd64-11-1 -p head -c security/py-cryptography
[00:00:00] Appending to make.conf: /usr/local/etc/poudriere.d/amd64-11-1-make.conf
===> No options to configure
===> Setting user-specified options for py27-cryptography-2.1.4 and dependencies

Der Build über "poudriere bulk" bringt aber immer noch:

Code:
/usr/local/etc/poudriere.d: poudriere bulk -j amd64-11-1 -p head -f /usr/local/poudriere/jails/pkglist
...
Hit CTRL+t at any time to see build progress and stats
Building security/py-cryptography@py27 | py27-cryptography-2.1.4
Finished security/py-cryptography@py27 | py27-cryptography-2.1.4: Failed: build
Skipping devel/cmake | cmake-3.11.4_1: Dependent port security/py-cryptography | py27-cryptography-2.1.4 failed
Skipping archivers/libzip | libzip-1.5.1: Dependent port security/py-cryptography | py27-cryptography-2.1.4 failed
Skipping databases/mysql57-client | mysql57-client-5.7.22_1: Dependent port security/py-cryptography | py27-cryptography-2.1.4 failed
...
Skipping net/py-urllib3 | py27-urllib3-1.22,1: Dependent port security/py-cryptography | py27-cryptography-2.1.4 failed
Stopping 8 builders
No package built, no need to update the repository
Committing packages to repository
Removing old packages
Failed ports: security/py-cryptography:build
Skipped ports: archivers/libzip archivers/php70-zip databases/mysql57-client databases/mysql57-server devel/cmake net/py-urllib3 security/py-openssl textproc/py-sphinx www/py-requests
...

Gruß Mardor
 
Normalerweise sollte es wie nachfolgend beschrieben problemlos klappen.

Setzen der Optionen mit:
Code:
# poudriere options -j <jail> -p <tree> -c category/port
Neubauen des Ports mit:
Code:
# poudriere bulk -j <jail> -p <tree> -C category/port
 
Hallo Sickboy,

danke für deine Antwort. Leider hat der Neubau auch nicht funktioniert.

Code:
~: poudriere options -j amd64-11-1 -p head -c security/py-cryptography
[00:00:00] Appending to make.conf: /usr/local/etc/poudriere.d/amd64-11-1-make.conf
===> No options to configure
===> Setting user-specified options for py27-cryptography-2.1.4 and dependencies

~: poudriere bulk -j amd64-11-1 -p head -C security/py-cryptography
[00:00:00] Creating the reference jail… done
[00:00:01] Mounting system devices for amd64-11-1-head
[00:00:01] Mounting ports/packages/distfiles
[00:00:01] Stashing existing package repository
[00:00:01] Mounting packages from: /usr/local/poudriere/data/packages/amd64-11-1-head
[00:00:01] Copying /var/db/ports from: /usr/local/etc/poudriere.d/amd64-11-1-head-options
[00:00:01] Appending to make.conf: /usr/local/etc/poudriere.d/amd64-11-1-make.conf
/etc/resolv.conf -> /usr/local/poudriere/data/.m/amd64-11-1-head/ref/etc/resolv.conf
[00:00:01] Starting jail amd64-11-1-head
[00:00:01] Logs: /usr/local/poudriere/data/logs/bulk/amd64-11-1-head/2018-07-17_18h54m17s
[00:00:01] Loading MOVED for /usr/local/poudriere/data/.m/amd64-11-1-head/ref/usr/ports
[00:00:02] Ports supports: FLAVORS SELECTED_OPTIONS
[00:00:02] Gathering ports metadata
[00:00:02] Calculating ports order and dependencies
[00:00:02] (-C) Cleaning specified packages to build
[00:00:02] (-C) Flushing package deletions
[00:00:02] Sanity checking the repository
[00:00:02] Checking packages for incremental rebuild needs
[00:00:02] Deleting stale symlinks… done
[00:00:02] Deleting empty directories… done
[00:00:02] Cleaning the build queue
[00:00:02] Sanity checking build queue
[00:00:02] Processing PRIORITY_BOOST
[00:00:02] Balancing pool
[00:00:02] Recording filesystem state for prepkg… done
[00:00:03] Building 1 packages using 1 builders
[00:00:03] Starting/Cloning builders
[00:00:03] Hit CTRL+t at any time to see build progress and stats
[00:00:03] [01] [00:00:00] Building security/py-cryptography@py27 | py27-cryptography-2.1.4
[00:00:10] [01] [00:00:07] Finished security/py-cryptography@py27 | py27-cryptography-2.1.4: Failed: build
[00:00:10] Stopping 1 builders
[00:00:10] No package built, no need to update the repository
[00:00:10] Committing packages to repository
[00:00:10] Removing old packages
[00:00:10] Failed ports: security/py-cryptography:build
[amd64-11-1-head] [2018-07-17_18h54m17s] [committing:] Queued: 1 Built: 0 Failed: 1 Skipped: 0 Ignored: 0 Tobuild: 0 Time: 00:00:10
[00:00:10] Logs: /usr/local/poudriere/data/logs/bulk/amd64-11-1-head/2018-07-17_18h54m17s
[00:00:10] Cleaning up
[00:00:10] Unmounting file systems

Gruß Mardor
 
Hallo gadean,

für mich sieht es sehr kryptisch aus, da kann ich nur raten bzw. google befragen. Bei der Suche bin ich dann auf libressl gestoßen.
https://pastebin.com/qNYWx7By

Vielleicht kannst du ja etwas anderes rauslesen ?

Gruß Mardor
 
Das ist eine sehr gute Frage, ich sehe zwar den Fehler, aber wirklich schlau werde ich daraus auch nicht. Im Bugtracker finde ich dazu folgenden PRs, die mit Libressl zu tun haben: 226906 228028

Was man mal probieren könnte, wäre eine neue Buildjail zu erstellen und in der py-crypthography zu bauen.
 
So wie du deine "amd64-11-1" Jail erstellt hast: "poudriere jail -c -j <jail_name> -v <version> -a amd64"
 
Hallo gadean,

das werde testen. Gibt es denn eine ordentliche Möglichkeit die aktuellen Daten zu beseitigen. Die Holzhammer Methode wäre sicherlich die zfs datasets einfach zu löschen.

Gruß Mardor
 
Du hast Recht. Zu früh gefragt und zu wenig nachgelesen.
Danke für die Info.

Ich werde versuchen alles neu zu bauen und dann zu berichten.
 
Libressl aus der Liste der zu bauenden ports nehmen und die SSL Version in der make.conf auf openssl setzen hat bei mir alles wieder mit openssl gebaut.
 
Zurück
Oben