Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-25 Thread glen martin
Willie Wong wrote:

On Thu, Nov 24, 2005 at 11:01:43AM -0800, glen martin wrote:
  

Seems a truism, but you're right. apache isn't in my world file. 
somehow. And adding it to my world file does work around the symptom I
describe.

This begs the question of why it isn't there, considering it is
installed. I must wonder, what else that I've installed has somehow not
been added to the world file.  Perhaps I'm exposing my ignorance, but is
the world file not supposed to have everything that is installed and not
in the base system definition?  Under what circumstances (other than
failed/aborted emerge, which didn't happen) could something fail to go
into world?



simple. Maybe you installed apache with 'emerge --oneshot' which
doesn't modify the world file. Maybe apache was installed as a
dependency of something else, and that something else has since got
removed. 

Ok, so ignorance. :)

I've tracked down what happened and offer it up as a lesson.

I installed apache as a dependency of metadot. Metadot itself is masked
by ~x86, so I did that install with
   ACCEPT_KEYWORDS=~x86 emerge metadot
a syntax I picked up from a HOWTO or FAQ or article someplace.

metadot was in the world file, but because it has no unmasked version,
without ~x86 it has no dependencies. So apache was not required by
anything else in the system. Indeed, depclean offered to remove it,
despite the fact that it was in use, indeed was currently being used by
an active service.

On reflection, the right way to install metadot was not to use the
syntax above, but probably instead to use /etc/portage/package.keywords
to specify the ~x86 keyword for metadot permanently.  Certainly
post-install, setting this caused --newuse to correspond better to my
expectations.

Thanks again to those whose suggestions and comments helped in tracking
this down.

As an aside, I wonder whether it is a good feature idea that
  ACCEPT_KEYWORDS=keyword emerge foo
without --oneshot should automatically add foo keyword to the
package.keywords file.

glen

-- 
gentoo-user@gentoo.org mailing list



Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-25 Thread Holly Bostick
glen martin schreef:
 
 As an aside, I wonder whether it is a good feature idea that 
 ACCEPT_KEYWORDS=keyword emerge foo without --oneshot should
 automatically add foo keyword to the package.keywords file.
 

That's an idea with some merit, but imo not enough (merit) to make it
feasible (but it's not my decision; submit a feature request and see
what happens).

You now know firsthand one of the many reasons that using
ACCEPT_KEYWORDS on the command line is *not* recommended.

It is a temporary setting, useful only for testing situations. The fact
that if you use it, then decide to make the testing situation permanent
but do not add a permanent setting (in package.keywords), you will
encounter problems of this sort underlines the nature of the setting
(temporary, temporary, use for explicit testing only; if you want a
permanent setting, make one explicitly).

The idea of having the temporary setting invisibly add a permanent
setting seems cool, but undermines both the function of the temporary
setting (since it's no longer truly temporary), and the function of the
permanent setting (since you have not explicitly made the setting, you
may or may not want it set), and what about dependencies? You'd have to
unmask them explicitly (or else you'll get a lot of thus and so cannot
be installed because thus and so is masked errors, and if you have to
do that, you've already destroyed any usefulness an automatic addition
might have had.

So it's not something for me, but I'm weird ;-) ; others might feel
differently.

Holly



-- 
gentoo-user@gentoo.org mailing list



Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-25 Thread glen martin
Holly Bostick wrote:

glen martin schreef:
  

As an aside, I wonder whether it is a good feature idea that 
ACCEPT_KEYWORDS=keyword emerge foo without --oneshot should
automatically add foo keyword to the package.keywords file.


That's an idea with some merit, but imo not enough (merit) to make it
feasible (but it's not my decision; submit a feature request and see
what happens).

You now know firsthand one of the many reasons that using
ACCEPT_KEYWORDS on the command line is *not* recommended.

It is a temporary setting, useful only for testing situations.

That makes sense. I hadn't encountered that recommendation at the time -
I'd seen the ACCEPT_KEYWORDS syntax without such warning. Not in the man
page, obviously, which has it right.

 The idea of having the temporary setting invisibly add a permanent
 setting seems cool,

The trick here is the word 'temporary'. If 'temporary', the keyword --oneshot 
would (should?) be present. In absence thereof ... It seems analogous to the 
world file - the world file is the permanent specification, and it written per 
presence or absence of oneshot. Why not so for /etc/portage/package.*? How are 
those files different-in-kind from world?

I don't know.  I am far from an expert at the design philosophy behind these 
tools. I just note that there seem to be failures of consistency in application 
(or not) of a flag across different situations. Permanence for one setting is 
accomplished with a flag (well, absence), permanence for another requires a 
file change and the flag is ignored. Or there's a failure in my understanding, 
which I've found to be very well served by saying the wrong things and waiting 
for stones.

 So it's not something for me, but I'm weird  ;-)  

I am too. Without the smiley. Or so is frequently said. 

glen


-- 
gentoo-user@gentoo.org mailing list



Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-25 Thread Holly Bostick
glen martin schreef:
 Holly Bostick wrote:
 
 glen martin schreef:
 
 As an aside, I wonder whether it is a good feature idea that 
 ACCEPT_KEYWORDS=keyword emerge foo without --oneshot should
  automatically add foo keyword to the package.keywords file.
 
 That's an idea with some merit, but imo not enough (merit) to make 
 it feasible (but it's not my decision; submit a feature request and
 see what happens).
 
 You now know firsthand one of the many reasons that using 
 ACCEPT_KEYWORDS on the command line is *not* recommended.
 
 It is a temporary setting, useful only for testing situations.
 
 That makes sense. I hadn't encountered that recommendation at the 
 time - I'd seen the ACCEPT_KEYWORDS syntax without such warning. Not 
 in the man page, obviously, which has it right.
 
 The idea of having the temporary setting invisibly add a permanent
  setting seems cool,
 
 The trick here is the word 'temporary'. If 'temporary', the keyword 
 --oneshot would (should?) be present. In absence thereof ... It seems
  analogous to the world file - the world file is the permanent 
 specification, and it written per presence or absence of oneshot. Why
  not so for /etc/portage/package.*? How are those files 
 different-in-kind from world?


OK, I'm not an expert either, but I *think* that the issue is the fact
that ACCEPT_KEYWORDS and emerge are *two separate commands*.

Are you familiar with exporting variables? ACCEPT_KEYWORDS is, of course
a variable. When you export a variable (DISPLAY, LD_ASSUME_KERNEL,
LD_LIBRARY_PATH, LD_PRELOAD, PS1, ACCEPT_KEYWORDS), the
variable is changed for the current login shell session, but is not
persistent. Period. That has nothing to do with Portage or any program,
that's how Linux works. Variables are permanently set in configuration
files (in the case of ACCEPT_KEYWORDS, in /etc/make.conf, with
modifications allowed from /etc/portage/package.keywords).

Most of the time, the temporary nature of this change can be assumed
without thinking-- if the startup script for Neverwinter Nights includes an

export LD_LIBRARY_PATH=./lib:./miles:$LD_LIBRARY_PATH

command, the fact that it's temporary doesn't matter, because it only
needs to be in effect while I'm running Neverwinter Nights, which is a
temporary condition.

This is completely different from the state of the Portage tree and your
world file when running emerge. Basically, when you use ACCEPT_KEYWORDS
on the command line, you are changing a variable temporarily, which
Portage then reads, but because the condition does not persist-- and the
state of Portage variables must persist across sessions-- you're
essentially confusing Portage, which must rely on you to have a stable
list of variable conditions in order for it to know what it's doing.
This is not a flaw in Portage, it's just how it's constructed, and it
really couldn't be constructed any better than it is-- it already does a
lot more than one might have thought possible in terms of being flexible
and 'pushing the envelope'.

But the conditions of the environment must be respected. There is no way
for Portage to become aware that you exported a variable prior to
running the emerge command, and so there is no way for Portage to
automatically add the --oneshot switch if you had done so, in the same
way that --update implies --pretend or whichever switch it is that
implies another, so the second switch is automatically added if the
first is present. Because (export) ACCEPT_KEYWORDS is not part of the
emerge command, and the emerge command can only adjust itself, based on
its own settings, not other settings that you have manually adjusted
prior to running the command.

If you see what I mean.

Anyway, I could be totally wrong, but I think it hangs together, and I
suspect it is in fact the case.

Perhaps it could be better explained to people, though, so that they
understood the relationship between the variables that Portage is
reading and the commands that one might run to modify them. Of course, a
good thorough grounding in shell operations would take care of that,
too, I suppose

Holly
-- 
gentoo-user@gentoo.org mailing list



Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-25 Thread Neil Bothwick
On Fri, 25 Nov 2005 06:16:40 -0800, glen martin wrote:

 As an aside, I wonder whether it is a good feature idea that
   ACCEPT_KEYWORDS=keyword emerge foo
 without --oneshot should automatically add foo keyword to the
 package.keywords file.

It's a bad idea. Specifying a setting on the command line is temporary,
and is useful when used as such. Making a setting the user intends to be
temporary permanent is a recipe for disaster.


-- 
Neil Bothwick

I couldn't possibly be wrong. I use an error correcting modem!


signature.asc
Description: PGP signature


Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-25 Thread Richard Fish
On 11/25/05, Holly Bostick [EMAIL PROTECTED] wrote:
 The idea of having the temporary setting invisibly add a permanent
 setting seems cool, but undermines both the function of the temporary
 setting (since it's no longer truly temporary), and the function of the
 permanent setting (since you have not explicitly made the setting, you
 may or may not want it set), and what about dependencies?

Yes, I think the dependancy issue alone makes this an unworkable idea.
 There is a big difference between

ACCEPT_KEYWORDS=~x86 emerge pkg

and

echo pkg ~x86  /etc/portage/package.keywords
emerge pkg

This is because the first will allow ~x86 for pkg and all of its
dependancies, while the second only allows ~x86 for pkg (you would
have to add additional entries for masked dependancies).

IMO, the ACCEPT_KEYWORDS environment variable should only be used in
combination with --pretend, where it can be used to give a list of the
packages that you (might) need to add to package.keywords.

Besides, Portage is designed to explicity allow environment variables
to override configuration file settings, whether that be
/etc/make.conf or /etc/portage/*.  Modifying any configuration files
based on environment variables would do away with the entire point of
supporting the environment variables to begin with.

-Richard

-- 
gentoo-user@gentoo.org mailing list



[gentoo-user] emerge --newuse misses package that new USE affects

2005-11-24 Thread glen martin
I've googled and scanned recent messages archive of this list for this
issue - if I'm blind, apologies in advance.

I've changed some USE flags deliberately to add features to a package
(in this case, apache).  That package is also impacted by different
ACCEPT_KEYWORDS flag (~86), which I've specified in
/etc/portage/package.keywords

Despite the USE change, I find that that apache is not being caught by
emerge --newuse world.  My expectation is that --newuse world will
rebuild everything that a new USE impacts.

So do I horribly misunderstand --newuse, or have I configured something
wrong, or does it not work with package.keywords, or is there a bug
someone would like more data on before I manually rebuild the various
packages in in my system that need it and blow the symptoms away?

I added threads nptlonly mpm-worker to USE in make.conf.  I've
probably made some other changes to USE since my last world rebuild. 
I've also done an emerge --sync. Then:

snip
# emerge --update --deep --newuse --pretend --verbose world

These are the packages that I would merge, in order:

Calculating world dependencies ...done!
[ebuild   R   ] sys-libs/ncurses-5.4-r6  -bootstrap -build -debug -doc
-gpm* -minimal -nocxx -unicode 0 kB
[ebuild U ] sys-devel/gcc-config-1.3.12-r4 [1.3.12-r3] 0 kB
[ebuild U ] sys-devel/binutils-config-1.8-r6 [1.8-r5] 0 kB
[ebuild U ] sys-devel/binutils-2.16.1 [2.15.92.0.2-r10] -multislot
-multitarget +nls -test 12,392 kB
[ebuild   R   ] sys-devel/gcc-3.3.6  (-altivec) -bootstrap
-boundschecking -build -fortran* -gcj -gtk +hardened -ip28 -mudflap
(-multilib) -multislot (-n32) (-n64) +nls -nocxx -nopie -nossp -objc
-objc-gc -vanilla 0 kB
[ebuild   R   ] sys-libs/glibc-2.3.5-r2  -build -erandom -glibc-compat20
-glibc-omitfp +hardened -linuxthreads-tls (-multilib) +nls +nptl
+nptlonly* +pic -profile (-selinux) +userlocales 0 kB
[ebuild U ] sys-apps/man-pages-2.13 [2.11] +nls 1,670 kB
[ebuild   R   ] sys-apps/grep-2.5.1-r8  -build +nls +pcre* -static 0 kB
[ebuild   R   ] dev-lang/python-2.4.2  -X +berkdb -bootstrap -build -doc
+gdbm -ipv6* +ncurses -nocxx +readline +ssl -tcltk -ucs2 0 kB
[ebuild   R   ] sys-libs/db-4.2.52_p2  -bootstrap -doc +java* -nocxx
-tcltk 0 kB
[ebuild   R   ] sys-apps/tcp-wrappers-7.6-r8  -ipv6* 0 kB
[ebuild   R   ] app-editors/nano-1.3.7  -build -debug -justify +ncurses
+nls -nomac -slang -spell* -unicode 0 kB
[ebuild   R   ] net-misc/wget-1.10.2  -build -debug -ipv6* +nls -socks5
+ssl -static 0 kB
[ebuild   R   ] net-dns/bind-9.2.5-r6  +berkdb -bind-mysql -dlz -doc
+idn* -ipv6 +ldap +mysql -odbc -postgres (-selinux) +ssl +threads* 0 kB
[ebuild   R   ] net-misc/openssh-4.2_p1  -X509 -chroot -hpn -ipv6*
-kerberos +ldap* -libedit +pam (-selinux) -sftplogging -skey -smartcard
-static +tcpd 58 kB
[ebuild U ] app-crypt/hashalot-0.3-r1 [0.3] 0 kB
[ebuild   R   ] dev-java/commons-pool-1.2  -doc -jikes +junit* 0 kB
[ebuild   R   ] dev-java/commons-net-1.3.0-r1  -doc -examples -jikes
+junit* -source 0 kB
[ebuild   R   ] dev-java/commons-digester-1.6-r1  -doc -jikes +junit*
-source 0 kB
[ebuild   R   ] dev-php/php-4.4.0-r4  -X +berkdb +crypt +curl* -debug
-doc -fdftk -firebird -flash -freetds -gd -gd-external +gdbm +gmp*
-hardenedphp +imap -informix -ipv6 +java -jpeg -kerberos +ldap -mcal
-memlimit -mssql +mysql +ncurses +nls -oci8 -odbc +pam -png -postgres
+readline -snmp -spell +ssl -tiff -truetype +xml2 -yaz 0 kB
[ebuild   R   ] app-editors/vim-6.4  -acl -bash-completion -cscope -gpm*
-minimal +nls +perl +python -ruby -vim-with-x 0 kB
[ebuild   R   ] net-misc/iputils-021109-r3  -doc -ipv6* -static 0 kB

Total size of downloads: 14,122 kB
/snip

note the lack of apache.  Now:

snip
# emerge --pretend --verbose apache

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] net-www/apache-2.0.55  +apache2 -debug -doc +ldap
-mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool +mpm-worker*
-no-suexec (-selinux) +ssl -static-modules +threads* 0 kB

Total size of downloads: 0 kB
/snip

As you see, apache is already installed. By the '*'s, emerge seems to
have noted the USE change.  also

snip
# equery uses apache
[ Searching for packages matching apache... ]
[ Colour Code : set unset ]
[ Legend: Left column  (U) - USE flags from make.conf  ]
[   : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for net-www/apache-2.0.55 ]
 U I
 + + apache2: Chooses Apache2 support when a package supports
both Apache1 and Apache2
 - - debug  : Tells configure and the makefiles to build for
debugging. Effects vary across packages, but generally it will at least
add -g to CFLAGS. Remember to set FEATURES=nostrip too
 - - doc: Adds extra documentation (API, Javadoc, etc)
 + + ldap   : Adds LDAP support (Lightweight Directory Access
Protocol)
 - - mpm-leader : unknown
 - - mpm-peruser: unknown
 - - mpm-prefork: unknown
 - - 

Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-24 Thread Holly Bostick
glen martin schreef:
snip
 
 I've changed some USE flags deliberately to add features to a package

snip
 
 Despite the USE change, I find that that apache is not being caught
 by emerge --newuse world. 
 
snip
 I added threads nptlonly mpm-worker to USE in make.conf.  I've 
 probably made some other changes to USE since my last world rebuild.
  I've also done an emerge --sync. Then:
 
snip of all the proof that the assessment is correct
 
 So, any thoughts on why emerge --newuse doesn't want to rebuild 
 apache? 

Well, assuming it's not a bug (what version of Portage are you using?)
then is it possible that apache is neither in your world file, nor a
dependency of something that is (does it show up in the list of a
depclean -p)? That's the only reason I can think of that the combination
of --update and --deep wouldn't recognize that apache is one of the
packages that should be considered for --newuse.

HTH,
Holly
-- 
gentoo-user@gentoo.org mailing list



Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-24 Thread sourcecode
On Thursday 24 November 2005 15:52, glen martin wrote:
 I've googled and scanned recent messages archive of this list for this
 issue - if I'm blind, apologies in advance.

 I've changed some USE flags deliberately to add features to a package
 (in this case, apache).  That package is also impacted by different
 ACCEPT_KEYWORDS flag (~86), which I've specified in
 /etc/portage/package.keywords

 Despite the USE change, I find that that apache is not being caught by
 emerge --newuse world.  My expectation is that --newuse world will
 rebuild everything that a new USE impacts.

 So do I horribly misunderstand --newuse, or have I configured something
 wrong, or does it not work with package.keywords, or is there a bug
 someone would like more data on before I manually rebuild the various
 packages in in my system that need it and blow the symptoms away?

 I added threads nptlonly mpm-worker to USE in make.conf.  I've
 probably made some other changes to USE since my last world rebuild.
 I've also done an emerge --sync. Then:

 snip
 # emerge --update --deep --newuse --pretend --verbose world

If you Put the USE Flag into the make.conf it´s Generall to ALL Packages.

Just Put the Use Flag into the Apache Buil only.

-- 
MFG 

Christian Fuß,
replica-solutions.de 
( Linux, Poetry, Community 4 everyone, International German/English )

-- 
gentoo-user@gentoo.org mailing list



Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-24 Thread Roy Wright

glen martin wrote:


note the lack of apache.  Now:

snip
# emerge --pretend --verbose apache

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] net-www/apache-2.0.55  +apache2 -debug -doc +ldap
-mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool +mpm-worker*
-no-suexec (-selinux) +ssl -static-modules +threads* 0 kB

Total size of downloads: 0 kB
 


Maybe you need apache2 instead of apache USE flag?

Your understanding of --newuse matches mine.  I did notice
a similiar problem this past week.  I changed -ffmpeg to
ffmpeg.  Ran emerge -uDNav and only kb3 was found.
The next day, emerge -uDNav found xine-lib.  So I too am
questioning whether --newuse is working properly in
Portage 2.0.51.22-r3.

HTH,
Roy
--
gentoo-user@gentoo.org mailing list



Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-24 Thread glen martin
Holly Bostick wrote:

So, any thoughts on why emerge --newuse doesn't want to rebuild 
apache? 



Well, assuming it's not a bug (what version of Portage are you using?)
then is it possible that apache is neither in your world file,
  

I'm on portage 2.0.51.22-r3.  This is a very new system - as part of the
install sequence portage was of course updated, so it was some earlier
portage version a week ago.

Seems a truism, but you're right. apache isn't in my world file. 
somehow. And adding it to my world file does work around the symptom I
describe.

This begs the question of why it isn't there, considering it is
installed. I must wonder, what else that I've installed has somehow not
been added to the world file.  Perhaps I'm exposing my ignorance, but is
the world file not supposed to have everything that is installed and not
in the base system definition?  Under what circumstances (other than
failed/aborted emerge, which didn't happen) could something fail to go
into world?

Thanks,

glen

-- 
gentoo-user@gentoo.org mailing list



Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-24 Thread Willie Wong
On Thu, Nov 24, 2005 at 11:01:43AM -0800, glen martin wrote:
 Seems a truism, but you're right. apache isn't in my world file. 
 somehow. And adding it to my world file does work around the symptom I
 describe.
 
 This begs the question of why it isn't there, considering it is
 installed. I must wonder, what else that I've installed has somehow not
 been added to the world file.  Perhaps I'm exposing my ignorance, but is
 the world file not supposed to have everything that is installed and not
 in the base system definition?  Under what circumstances (other than
 failed/aborted emerge, which didn't happen) could something fail to go
 into world?

simple. Maybe you installed apache with 'emerge --oneshot' which
doesn't modify the world file. Maybe apache was installed as a
dependency of something else, and that something else has since got
removed. 

W
-- 
I cannot go to school today  
Said little Peggy Ann McKay.
I have the measles and the mumps,   
A gash, a rash and purple bumps.
My mouth is wet, my throat is dry.
I'm going blind in my right eye.  
My tonsils are as big as rocks,
I've counted sixteen chicken pox
And there's one more-that's seventeen,
And don't you think my face looks green?
My leg is cut, my eyes are blue 
It might be instamatic flu.
I cough and sneeze and gasp and choke,
I'm sure that my left leg is broke
My hip hurts when I move my chin,
My belly button's caving in,
My back is wrenched, my ankle's sprained,
My 'pendix pains each time it rains.
My toes is cold, my toes are numb,
I have a sliver in my thumb.
My neck is stiff, my voice is weak,
I hardly whisper when I speak.
My tongue is filling up my mouth,
I think my hair is falling out.  
My elbow's bent, my spine ain't straight,
My temperature is one-o-eight.
My brain is shrunk, I cannot hear,
There's a hole inside my ear.  
I have a hangnail, and my heart is - What?
What's that? What's that you say?
You say today is ...Saturday?
Goodbye, I'm going out to play!
Sortir en Pantoufles: up 12 days, 11:30
-- 
gentoo-user@gentoo.org mailing list



Re: [gentoo-user] emerge --newuse misses package that new USE affects

2005-11-24 Thread Neil Bothwick
On Thu, 24 Nov 2005 11:01:43 -0800, glen martin wrote:

 This begs the question of why it isn't there, considering it is
 installed. I must wonder, what else that I've installed has somehow not
 been added to the world file.  Perhaps I'm exposing my ignorance, but is
 the world file not supposed to have everything that is installed and not
 in the base system definition?

The world file contains everything that you installed directly.
Dependencies of packages you install are not included in world. If you
installed a package that depended on Apache, Apache would have been
installed but not added to world. If you subsequently removed the
original package, or changed your USE flags so that it no longer required
Apache, then Apache would no longer be a dependency of anything in
world. In that case, emerge --ask depclean would offer to remove it. 


-- 
Neil Bothwick

And all the Borg left was this copy of System 7...


signature.asc
Description: PGP signature