View previous topic :: View next topic |
Author |
Message |
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Thu Feb 28, 2013 2:24 pm Post subject: Useflag mal (automatisch) gesetzt - mal nicht. Wieso? |
|
|
Am Beispiel des Useflag gstreamer fiel es mir auf. Obwohl das Useflag nicht in der make.conf konfiguriert ist, wird es mal gesetzt, mal nicht. (es gibt keine package.use von mir) Also nach meinem Verständnis müßte es doch bestenfalls über das Profile (hier: default/linux/amd64/13.0/desktop) doch entweder gesetzt werden oder nicht. Aber mal so mal so? Irgendwie verliere ich gerade das Vertrauen in Portage. Was ist da los?
Code: | # emerge --info|grep gstreamer |
-> Useflag nicht gefunden, aber:
Code: | emerge -pv x11-libs/wxGTK x11-libs/qt-webkit | grep gstreamer |
Quote: | [ebuild N ] x11-libs/wxGTK-2.8.12.1:2.8 USE="X opengl sdl tiff (-aqua) -debug -doc -gnome -gstreamer -odbc -pch" 30,578 kB
[ebuild N ] x11-libs/qt-webkit-4.8.4:4 USE="exceptions gstreamer jit (-aqua) -debug -icu -pch" 0 kB |
|
|
Back to top |
|
|
py-ro Veteran
Joined: 24 Sep 2002 Posts: 1734 Location: Velbert
|
Posted: Thu Feb 28, 2013 2:34 pm Post subject: |
|
|
Ebuilds können selber ein Default festlegen, wenn nichts über das Profile oder deine Config festgelegt ist. |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Thu Feb 28, 2013 2:42 pm Post subject: |
|
|
Das würde aber bedeuten wenn ich etwas nicht haben möchte, z.B. nicht gstreamer support, reicht es nicht diesen nicht in die make.conf einzutragen, sondern ich muss ihn explizit als -gstreamer eintragen.
Das führt IMHO schon wenig am Ziel der Useflags vorbei. Der ursprüngliche Gedanke war doch ich setze ein Useflag oder setze es nicht. Oder irre ich da?
Jetzt gibt es somit ja drei Optionen:
* ich setzte es explizit
* ich verbiete es explizit
* ich setze es weder noch erlaube ich es -> das Paket macht was es will |
|
Back to top |
|
|
py-ro Veteran
Joined: 24 Sep 2002 Posts: 1734 Location: Velbert
|
Posted: Thu Feb 28, 2013 2:58 pm Post subject: |
|
|
Das geht mit dem Konzept einher weg von den globalen Use-Flags zu gehen und alles pro Paket zu pflegen, was sich ja schon länge abzeichnet/als richtig empfunden wird. |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Thu Feb 28, 2013 3:22 pm Post subject: |
|
|
hmm ... *grummel* ... ok |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Fri Mar 01, 2013 11:24 am Post subject: |
|
|
Ich finde in dem Fall macht es Sinn:
* wxGTK bringt scheinbar nur einen media-controller - ist relativ unwichtig, denke ich.
* qt-webkit braucht gstreamer für HTML5 (audio+video) - und das ist mMn. heutzutage Voraussetzung (vor allem als Linux-user, der so weit wie möglich von flash weg will)
Deshalb nimmt wxGTK einfach das globale USE-setting, qt-webkit setzt ein default-USE (kann man natürlich ausmachen, wenn man das nicht will) |
|
Back to top |
|
|
toralf Developer
Joined: 01 Feb 2004 Posts: 3940 Location: Hamburg
|
Posted: Fri Mar 01, 2013 5:30 pm Post subject: |
|
|
py-ro wrote: | Ebuilds können selber ein Default festlegen, wenn nichts über das Profile oder deine Config festgelegt ist. | Ich frage mich, ob insbesondere die IUSE="...." Zeile in den ebuilds explizit ein USE flag einschalten kann, selbst wenn es global ausgeschaltet ist ? |
|
Back to top |
|
|
py-ro Veteran
Joined: 24 Sep 2002 Posts: 1734 Location: Velbert
|
Posted: Fri Mar 01, 2013 5:48 pm Post subject: |
|
|
Die Reihenfolge ist:
ebuild < profile < make.conf < env
Also soweit ich weiß nicht. |
|
Back to top |
|
|
Yamakuzure Advocate
Joined: 21 Jun 2006 Posts: 2296 Location: Adendorf, Germany
|
Posted: Mon Mar 04, 2013 4:30 pm Post subject: |
|
|
Wenn in einem Ebuild sowas steht wie, dann ist "foo" explizit aktiviert.
Die Reihenfolge, was wen überschreibt, wird durch die variable USE_ORDER festgelegt. Diese Reihenfolge sollte man niemals ändern, es sei denn, man weiß wirklich ganz genau, was man tut.
Standardmäßig (siehe "man make.conf") ist die Reihenfolge so: (Jeder Punkt überschreibt alle Nachfolgenden)- Environment Variablen, wie zum Beispiel USE="foo" emerge bar
- /etc/portage/package.use
- make.conf
- make.defaults und package.use aus /usr/portage/profile/.../ (Das sind mehrere, je nach Profil (eselect profile), die sich vererben)
- Ebuild IUSE (Das erwähnte "+foo")
- Repository Default, also zum Beispiel in /usr/portage/profiles/package.use, aber auch, wenn ich mich recht entsinne, aus den Overlays) und zuletzt
- Umgebungseinstellungen aus /etc/env.d
Ich hoffe, ich konnte etwas Dunkel in das Licht bringen ... oder anders rum. _________________ Edited 220,176 times by Yamakuzure |
|
Back to top |
|
|
toralf Developer
Joined: 01 Feb 2004 Posts: 3940 Location: Hamburg
|
Posted: Mon Mar 04, 2013 5:49 pm Post subject: |
|
|
Yamakuzure wrote: | Wenn in einem Ebuild sowas steht wie, dann ist "foo" explizit aktiviert. | Yup, das ist auch mein Verständnis. |
|
Back to top |
|
|
|