Variablen zuruecksetzen

gogo

Active Member
Ich hab in /etc/make.conf WITH_RUBY=yes gesetzt, damit alle Ports, die ruby unterstuetzen auch damit 'ausgestattet' werden.

Ich hab jetzt einen Fall wo ich bei devel/subversion* keinen ruby support wuensche.

Also dachte ich mir, ich setze WITH_RUBY=no in pkgtools.conf MAKE_ARGS, damit kein ruby support einkompiliert wird, anschliessend portupgrade -p subversion, aber das bleibt ohne Wirkung. Liegt daran, dass im Makefile einfach nur getestet wird, ob die Variable definiert ist, und nicht ob da nun 'yes' oder 'no' steht oder 'apfel'.

Ich habs dann noch mit
BEFOREBUILD = {
'devel/subversion*' => 'unset WITH_RUBY'
}
in pkgtools.conf versucht, aber auch das bringt nichts.


Was ist da nun eine moegiche Vorgehensweise?
WITH_RUBY aus /etc/make.conf temporaer entfernen scheint mir etwas aufwendig zu sein. Eine Loesung, wo man das nur fuer einen Port abschaltet, erscheint mir weitaus sinnvoller.
 
gogo schrieb:
BEFOREBUILD = {
'devel/subversion*' => 'unset WITH_RUBY'
}

MAKE_ARGS = {
'devel/subversion*' => 'WITH_RUBY=0'
}

EDIT: Bitte löschen *selfslap*. Hatte zuwenig schlaf letzte Nacht...

Du könntest es so machen, dass Du für alle Ports die Du mit Ruby übersetzen willst in den MAKE_ARGS einträgst statt global in die make.conf aber das willst Du ja wahrscheinlich nicht. Aber sind es denn wirklich soviele Ports die Ruby optional anbieten? Kann ich mir nicht vorstellen.

HTH
 
steinex schrieb:
Du könntest es so machen, dass Du für alle Ports die Du mit Ruby übersetzen willst in den MAKE_ARGS einträgst statt global in die make.conf aber das willst Du ja wahrscheinlich nicht. Aber sind es denn wirklich soviele Ports die Ruby optional anbieten? Kann ich mir nicht vorstellen.
HTH
Es sind nicht so viele, aber RUBY dient nur als Beispiel. Das ganze artet ja dann schon ganz schoen aus bei anderen Variablen.
 
gogo schrieb:
Es sind nicht so viele, aber RUBY dient nur als Beispiel. Das ganze artet ja dann schon ganz schoen aus bei anderen Variablen.

Versuche trotzem mal bitte: 'devel/subversion*' => 'WITH_RUBY=0'

Ich glaub der Wert muss 0 für nein, und irgendwas für ja sein.

HTH
 
steinex schrieb:
Versuche trotzem mal bitte: 'devel/subversion*' => 'WITH_RUBY=0'

Ich glaub der Wert muss 0 für nein, und irgendwas für ja sein.

HTH
Hab ich schon ausprobiert.
Das Problem ist die Abfrage,die das Makefile macht.
Bau z.B. ein Makefile mit folgendem Inhalt:

.if defined(WITH_RUBY)
USE_RUBY= yes
.endif

all:
echo "USE_RUBY = $(USE_RUBY)"

Ein 'make'-Aufruf, ohne dass WITH_RUBY exportiert ist, liefert natuerlich:
USE_RUBY =

Ein 'export WITH_RUBY=0' mit einem anschliessendem 'make'-Aufruf liefert aber:
USE_RUBY = yes
Da ja das Makefile einfach nur schaut, ob WITH_RUBY definiert ist, nicht aber nach dem Inhalt soweit ich das verstehe.
 
Zurück
Oben