Summary: | USE from USE_EXPAND wildcards don't always display correctly | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Martin Väth <martin> |
Component: | Enhancement/Feature Requests | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jakub, truedfx |
Priority: | High | Keywords: | InVCS, REGRESSION |
Version: | 2.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 181949 | ||
Attachments: | properly pass a dbapi instance into setcpv() so that USE_EXPAND wildcards work correctly |
Description
Martin Väth
2007-07-30 15:39:38 UTC
Errr... This will make any debugging a nightmare. Either don't use USE="-*" or live with the consequences. The behaviour should be consistent on every system. The reason(In reply to comment #0) > Setting ALSA_PCM_PLUGINS="*" was so far a good workaround. However, since > portage_2.1.3_rc9 this seems no longer to be working. So if you do not want to > follow my previous suggestion, I hope that you will at least re-enable the "*" > functionality for USE_EXPAND variables... It works for me with 2.1.3_rc9: $ USE="-*" emerge -pv alsa-lib These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] media-libs/alsa-lib-1.0.14a-r1 USE="-alisp -debug -doc -midi*" ALSA_PCM_PLUGINS="-adpcm* -alaw* -asym* -copy* -dmix* -dshare* -dsnoop* -empty* -extplug* -file* -hooks* -iec958* -ioplug* -ladspa* -lfloat* -linear* -meter* -mulaw* -multi* -null* -plug* -rate* -route* -share* -shm* -softvol*" 0 kB [?=>0] Total: 1 package (1 reinstall), Size of downloads: 0 kB Portage tree and overlays: [0] /usr/portage [?] indicates that the source repository could not be determined $ USE="-*" ALSA_PCM_PLUGINS="*" emerge -pv alsa-lib These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] media-libs/alsa-lib-1.0.14a-r1 USE="-alisp -debug -doc -midi*" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" 0 kB [?=>0] Please post your emerge output if it doesn't work work you. (In reply to comment #2) > $ USE="-*" ALSA_PCM_PLUGINS="*" emerge -pv alsa-lib Now this suddenly also worked for me, and it took me some hours to find out how to reproduce the bug (emerge --info is not necessary, since I ran the testing now with an empty /etc/make.conf and env -i): 1. With emerge -pv the bug is never triggered, only with emerge -pvNu *if* the IUSE of the ALSA_PCM_PLUGINS-variables has changed. [In particular, after I had emerged the new version of the alsa-lib-1.0.14a-r1 (where some ALSA_PCM_PLUGINS-variables were dropped) I was not able to reproduce the bug anymore...] 2. So my way to reproduce the bug is the following: Step 1: Add alsa_pcm_plugins_fantasy to /var/db/pkg/media-libs/alsa-lib-*/IUSE Step 2: Remove /var/cache/edb completely (just removing the *.pickle files was not enough!) Step 3: >/etc/make.conf (renaming the old one before, of course) Step 4: env -i emerge -p world (to force recreation of /var/cache/edb) Step 5: Finally: # env -i USE="-*" ALSA_PCM_PLUGINS="*" emerge -pvNu alsa-lib These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sys-devel/autoconf-2.61 USE="-emacs*" 1,365 kB [?=>0] [ebuild R ] media-libs/alsa-lib-1.0.14a-r1 USE="-alisp -debug -doc -midi*" ALSA_PCM_PLUGINS="-adpcm* -alaw* -copy* -dshare* -dsnoop* -extplug* -file* -hooks* -ladspa* -lfloat* -linear* -meter* -mulaw* -multi* -null* -rate* -route* -share* -shm* (-fantasy%)" [...] (BTW: I do not understand why autoconf is shown here - maybe this is another bug?) Note that, in contrast, the behavior is completely different without -u: # env -i USE="-*" ALSA_PCM_PLUGINS="*" emerge -pvN alsa-lib These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] media-libs/alsa-lib-1.0.14a-r1 USE="-alisp -debug -doc -midi*" ALSA_PCM_PLUGINS="adpcm alaw copy dshare dsnoop extplug file hooks ladspa lfloat linear meter mulaw multi null rate route share shm (-fantasy%)" [...] (in reply to comment #1): Of course the behavior should be consistent on every system. One simple and non-confusing solution would be e.g. to make the default-values of the USE_EXPAND-variables accessible from /etc/make.conf so that one could for instance type in /etc/make.conf USE="-* ..." ALSA_PCM_PLUGINS="${ALSA_PCM_PLUGINS_DEFAULT}" instead of retyping all the defaults manually... Created attachment 126492 [details, diff] properly pass a dbapi instance into setcpv() so that USE_EXPAND wildcards work correctly This fixes it. If you save the patch as /tmp/setcpv.patch then you can apply it like this: patch /usr/lib/portage/bin/emerge < /tmp/setcpv.patch (In reply to comment #3) > (BTW: I do not understand why autoconf is shown here - maybe this is another > bug?) It's normal for --update to pull in direct dependencies of packages that are given as arguments. Thanks. The patch works smoothly on my two (x86 and amd64) systems. (I guess that I should leave the bug open until the patch is in an official portage release.) *** Bug 187269 has been marked as a duplicate of this bug. *** Jakub, thanks, I couldn't find this bug. Just for confirmation, the patch here indeed fixes my problem too. (In reply to comment #7) > Just for confirmation, the patch here indeed fixes my problem too. Yeah, zmedico rocks... :D This has been released in 2.1.3.1. |