Wie compiler flags von Ports sehen?

SolarCatcher

Well-Known Member
Die compiler flags für Ports werden ja über Anweisungen in /usr/ports/Mk und die jeweiligen Makefiles der Ports gesteuert. Aber gibt es eine einfache Möglichkeit herauszufinden, wie der komplette make-Befehl aussieht, mit dem ein Port gebaut werden soll?

Hintergrund ist: Ich möchte manchmal eine neuere Version von www/h2o bauen, als was in Ports ist - und da würde ich als Ausgangskonfiguration die compiler flags verwenden, die auch der Port verwendet.
 
In den meisten Fällen ist es ja nicht nur make, sondern ein vorheriges ./configure. Die Optionen, die das configure-Skript bekommt sind warscheinlich eher interessant für dich und diese findest du im Port-Makefile (CONFIGURE_ARGS + <OPTION>_CONFIGURE_WITH + <OPTION>_CONFIGURE_ENABLE)

Rob
 
Danke @KobRheTilla , aber hier bin ich wirklich vor allem an den Compiler Flags insteressiert:

Calomel.org schlägt für www/h2o diesen CMAKE-Befehl vor:
Code:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_FLAGS="-Wall -ggdb3 -O2 -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -std=c++0x -fvisibility=hidden" -DCMAKE_C_FLAGS="-Wall -ggdb3 -O2 -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fvisibility=hidden" -DWITH_BUNDLED_SSL=on -DWITH_PICOTLS=on -DWITH_MRUBY=on .

Mich interessieren insbesondere die sicherheitsrelevanten Flags: Ich würde gerne wissen, wie der Aufruf beim FreeBSD-Port aussieht. Und dann, wie es HardenedBSD macht. Kommt da z.B. noch ein "-fPIE" oder ähnliches hinzu, um die Wirksamkeit von ASLR zu verbessern?

Kann man das irgendwie sehen/testen? Oder über einen pkg-Befehl aus den offiziellen Packages rausziehen?
 
Wenn du den Port mittels make baust, müssten alle Kommandos auch angezeigt werden, inkl. der Parameter. Schau dir doch einfach die ersten Zeilen der Ausgabe an.

Rob
 
eine andere Möglichkeit wäre vielleicht, die Angaben in den Ports zu faken und dann dies als ganz gewöhnlichen Port bauen zu lassen.
Manchmal ist das so einfach, wie dies hier anzupassen:
Code:
/usr/ports/www/h2o:- > cat distinfo
TIMESTAMP = 1484725591
SHA256 (h2o-h2o-v2.1.0_GH0.tar.gz) = 41f3853f3083c2fe8e70d3ab7be02c3de3c26fb77ba5fc56fdaf46712418b999
SIZE (h2o-h2o-v2.1.0_GH0.tar.gz) = 15207573
Manchmal muss man etwas mehr erledigen, imMakefile vielleicht noch den Ort für das Download anpassen und in den pkh-plist kontrollieren, ob da auch die Angaben, bzw Versionen passen.
 
@pit234a Ja, das hätte ich probieren können. Allerdings verfolge ich die Entwicklung von Upstream auf GitHub, wo auch der Portmaintainer immer wieder in Diskussionen zu finden ist. Wenn er keine neue Version rausbringt, liegt es vermutlich daran, dass es nicht so einfach ist, wie es scheint. Aber vor ein paar Tagen ist nun auch sein Patch für 2.2.2 in den Ports gelandet...
 
Zurück
Oben