Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 162621 - --newuse should check package.use
Summary: --newuse should check package.use
Status: RESOLVED WORKSFORME
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-18 06:36 UTC by Steven Oliver
Modified: 2007-01-18 22:10 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steven Oliver 2007-01-18 06:36:29 UTC
If I change my package.use file emerge apparently does not care when using --newuse. Maybe other features as well, I have not checked yet.

Example:

If I change add
www-client/mozilla-firefox mozbranding

to my package.use file and then run 
equery uses =www-client/mozilla-firefox -a

it will detect the change in package.use and denote it properly
 + - mozbranding         : Enable official branding

but if I then run 
emerge --pretend --verbose --update --newuse

Portage tells me that I don't have any changes and that no packages need to be re-emerged. To me this seems like it would be standard behavior for Portage to check files like package.use for changes and not just make.conf.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-01-18 07:28:53 UTC
Sure it does...

# echo "www-client/mozilla-firefox -mozbranding" >> /etc/portage/package.use
# emerge --pretend --verbose --update --newuse mozilla-firefox

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] www-client/mozilla-firefox-2.0.0.1-r2  USE="-debug filepicker -gnome ipv6 java -mozbranding* -mozdevelop moznopango -restrict-javascript xforms xinerama -xprint" LINGUAS="-ar -bg -ca cs -da -de -el -en_GB -es -es_AR -es_ES -eu -fi -fr -fy -fy_NL -ga -ga_IE -gu -gu_IN -he -hu -it -ja -ka -ko -ku -lt -mk -mn -nb -nb_NO -nl -nn -nn_NO -pa -pa_IN -pl -pt -pt_BR -pt_PT -ru -sk -sl -sv -sv_SE -tr -zh -zh_CN -zh_TW" 0 kB 

Comment 2 Zac Medico gentoo-dev 2007-01-18 07:40:45 UTC
A common problem is having multiple entries in package.use.  Portage uses the most specific entry (which can be ambiguous in some cases).  Versions of portage prior to 2.1.2 only use the last entry for a given atom but 2.1.2 stacks them up.
Comment 3 Steven Oliver 2007-01-18 17:03:56 UTC
It works in that case for me too, but thats sort of lame that I have to go through and update each package individually. If it works when doing packages individually why does it not work when using "world"? I would think it should do both. 

Medico, your point is taken. And I can understand how that would make it difficult, but does not explain why when updating newuse for world it doesn't check package.use. 
Comment 4 Steven Oliver 2007-01-18 18:38:47 UTC
Apparently it will check package.use if you update world if also include the --deep option. 

As they used to say on, In Living Color, "Hated it!"

Comment 5 Marius Mauch (RETIRED) gentoo-dev 2007-01-18 22:10:59 UTC
It will always check package.use, your issue was that firefox wasn't included in the depgraph. Generally if you want emerge to act on "world" or "system" use -uD as options, and use neither if you're only targeting single packages (e.g. if you want to update a single package use `emerge --oneshot --noreplace package`, not `emerge --update package`) as --update doesn't really do what the name suggests.