Re: [gentoo-dev] Re: POSIX capability in Gentoo

2011-08-03 Thread Ciaran McCreesh
On Tue, 2 Aug 2011 17:29:29 -0700
Brian Harring ferri...@gmail.com wrote:
 On Tue, Aug 02, 2011 at 06:39:18PM +0100, Ciaran McCreesh wrote:
  On Tue, 02 Aug 2011 13:36:12 -0400
  Jonathan Callen a...@gentoo.org wrote:
   That statement needs one more qualification: and doesn't use
   portage. Portage will (by default) remove files on uninstall
   even if they *do not* match the checksum recorded in the vdb.
   This implies that most people will *not* see any issues due to
   something other than the package manager modifying the files
   behind the package manager's back.
  
  Ugh, seriously? When did that happen? That's a massive change to how
  VDB is supposed to work.
 
 That's been in place a long while; pkgcore has done it from day one 
 also.
 
 That's not a massive change to vdb behaviour either; file
 collisions aren't supposed to occur, as such ownership of the file is
 basically guranteed back to a single package.  Throw in
 CONFIG_PROTECT for adjusting the behaviour, and you have a far more
 preferable norm than lets just leave a shit ton of .pyc/.pyo on the
 fs.

It is a massive change, since if the feature is there then people don't
feel bad about writing lousy pkg_ functions that leave a load
of .pyc / .pyo files all over the place.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: POSIX capability in Gentoo

2011-08-03 Thread Brian Harring
On Wed, Aug 03, 2011 at 12:34:21PM +0100, Ciaran McCreesh wrote:
 On Tue, 2 Aug 2011 17:29:29 -0700
 Brian Harring ferri...@gmail.com wrote:
  That's not a massive change to vdb behaviour either; file
  collisions aren't supposed to occur, as such ownership of the file is
  basically guranteed back to a single package.  Throw in
  CONFIG_PROTECT for adjusting the behaviour, and you have a far more
  preferable norm than lets just leave a shit ton of .pyc/.pyo on the
  fs.
 
 It is a massive change, since if the feature is there then people don't
 feel bad about writing lousy pkg_ functions that leave a load
 of .pyc / .pyo files all over the place.

Quoting the good spec:

The unmerge process removes an installed package's files. It is not 
covered in detail in this specification.

Aka, ebuild's should be written to assume the files they install get 
wiped; there is *zero* mention of mtime, nor could any ebuild rely on 
it and be compliant.

Background as to why we ever relied on mtime- it was a hack to work 
around a bad implementation in portage (treewalk function); it didn't 
actually know if it was replacing or what not, so mtime was what was 
relied on- afaik, that being the sole reason we shoved mtime into 
the vdb also.

At least from the portage standpoint, shifting away from mtime 
reliance was on the radar since '05 and implemented at least 
initially by '06... exact date it was released from a stable branch I 
couldn't tell you, but it's been there a long while.

~brian



Re: [gentoo-dev] Re: POSIX capability in Gentoo

2011-08-03 Thread Ciaran McCreesh
On Wed, 3 Aug 2011 14:26:56 -0700
Brian Harring ferri...@gmail.com wrote:
 Aka, ebuild's should be written to assume the files they install get 
 wiped; there is *zero* mention of mtime, nor could any ebuild rely on 
 it and be compliant.

But as it's a FEATURE, they can't assume that at all.

So either we spec VDB and the unmerge process, which gets horrible for
all kinds of reasons, or ebuilds can't assume that things that have
been modified get wiped.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: POSIX capability in Gentoo

2011-08-03 Thread Brian Harring
On Wed, Aug 03, 2011 at 10:28:51PM +0100, Ciaran McCreesh wrote:
 On Wed, 3 Aug 2011 14:26:56 -0700
 Brian Harring ferri...@gmail.com wrote:
  Aka, ebuild's should be written to assume the files they install get 
  wiped; there is *zero* mention of mtime, nor could any ebuild rely on 
  it and be compliant.
 
 But as it's a FEATURE, they can't assume that at all.

It's outside the ebuild's area of concern (think seperation of 
concerns), just the same as INSTALL_MASK.  The ebuild, per spec, 
should be written to assume it's wiped.

If the user overrides portages make.globals setting FEATURES=unmerge-orphans 
it is on the *users* head to maintain the fallout, just the same as if 
they go and set INSTALL_MASK to do something special.


 So either we spec VDB and the unmerge process, which gets horrible for
 all kinds of reasons, or ebuilds can't assume that things that have
 been modified get wiped.

This is getting more into the sky is falling territory.  If you'd 
like to tighten the spec, go nuts, but there isn't anything to see 
here nor is there a real issue.

This really is no different than INSTALL_MASK.
~brian



[gentoo-dev] Re: POSIX capability in Gentoo

2011-08-02 Thread Duncan
Ciaran McCreesh posted on Tue, 02 Aug 2011 16:05:54 +0100 as excerpted:

 Because going behind the package mangler's back results in horribly
 screwed up systems (as anyone who's ever used lafilefixer will tell
 you...).

Well, not anyone.  I never had any problems with it.

(YMMV, but soon enough, I switched to an installmask with an exception 
for libtool, then rebuilt the system.  No *.la file worries since! =:^)

(Observation: Unqualified any/all statements are rather like greedy .* 
regex handling, sometimes they include more than one might intend!)

-- 
Duncan - List replies preferred.   No HTML msgs.
Every nonfree program has a lord, a master --
and if you use the program, he is your master.  Richard Stallman




Re: [gentoo-dev] Re: POSIX capability in Gentoo

2011-08-02 Thread Ciaran McCreesh
On Tue, 2 Aug 2011 17:11:28 + (UTC)
Duncan 1i5t5.dun...@cox.net wrote:
 Ciaran McCreesh posted on Tue, 02 Aug 2011 16:05:54 +0100 as
 excerpted:
  Because going behind the package mangler's back results in horribly
  screwed up systems (as anyone who's ever used lafilefixer will tell
  you...).
 
 Well, not anyone.  I never had any problems with it.

You did, you just didn't notice it. You'll find out sooner or later
when you get bitten by one of the will-never-be-uninstalled-now .la
files that it modified on your system without updating VDB.

 (Observation: Unqualified any/all statements are rather like
 greedy .* regex handling, sometimes they include more than one might
 intend!)

Well, if you prefer, anyone who's ever used lafilefixer and then either
looked carefully at what happened or got hit by random nastiness later
on.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


[gentoo-dev] Re: POSIX capability in Gentoo

2011-08-02 Thread Jonathan Callen
Ciaran McCreesh wrote:

 On Tue, 2 Aug 2011 17:11:28 + (UTC)
 Duncan 1i5t5.dun...@cox.net wrote:
 Ciaran McCreesh posted on Tue, 02 Aug 2011 16:05:54 +0100 as
 excerpted:
  Because going behind the package mangler's back results in horribly
  screwed up systems (as anyone who's ever used lafilefixer will tell
  you...).
 
 Well, not anyone.  I never had any problems with it.
 
 You did, you just didn't notice it. You'll find out sooner or later
 when you get bitten by one of the will-never-be-uninstalled-now .la
 files that it modified on your system without updating VDB.
 
 (Observation: Unqualified any/all statements are rather like
 greedy .* regex handling, sometimes they include more than one might
 intend!)
 
 Well, if you prefer, anyone who's ever used lafilefixer and then either
 looked carefully at what happened or got hit by random nastiness later
 on.
 

That statement needs one more qualification: and doesn't use portage.  
Portage will (by default) remove files on uninstall even if they *do not* 
match the checksum recorded in the vdb.  This implies that most people will 
*not* see any issues due to something other than the package manager 
modifying the files behind the package manager's back.
-- 
Jonathan Callen



Re: [gentoo-dev] Re: POSIX capability in Gentoo

2011-08-02 Thread Ciaran McCreesh
On Tue, 02 Aug 2011 13:36:12 -0400
Jonathan Callen a...@gentoo.org wrote:
 That statement needs one more qualification: and doesn't use
 portage. Portage will (by default) remove files on uninstall even if
 they *do not* match the checksum recorded in the vdb.  This implies
 that most people will *not* see any issues due to something other
 than the package manager modifying the files behind the package
 manager's back.

Ugh, seriously? When did that happen? That's a massive change to how
VDB is supposed to work.

Maybe we need to spec VDB after all to avoid that kind of nonsense.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: POSIX capability in Gentoo

2011-08-02 Thread Arfrever Frehtes Taifersar Arahesis
2011-08-02 19:39:18 Ciaran McCreesh napisał(a):
 On Tue, 02 Aug 2011 13:36:12 -0400
 Jonathan Callen a...@gentoo.org wrote:
  That statement needs one more qualification: and doesn't use
  portage. Portage will (by default) remove files on uninstall even if
  they *do not* match the checksum recorded in the vdb.  This implies
  that most people will *not* see any issues due to something other
  than the package manager modifying the files behind the package
  manager's back.
 
 Ugh, seriously? When did that happen?

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=a133cb89d5279df7febcd0c8ab3890e2ccfb897a
 
 Maybe we need to spec VDB after all to avoid that kind of nonsense.

I think that unmerge-orphans is a useful feature.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: POSIX capability in Gentoo

2011-08-02 Thread Brian Harring
On Tue, Aug 02, 2011 at 06:39:18PM +0100, Ciaran McCreesh wrote:
 On Tue, 02 Aug 2011 13:36:12 -0400
 Jonathan Callen a...@gentoo.org wrote:
  That statement needs one more qualification: and doesn't use
  portage. Portage will (by default) remove files on uninstall even if
  they *do not* match the checksum recorded in the vdb.  This implies
  that most people will *not* see any issues due to something other
  than the package manager modifying the files behind the package
  manager's back.
 
 Ugh, seriously? When did that happen? That's a massive change to how
 VDB is supposed to work.

That's been in place a long while; pkgcore has done it from day one 
also.

That's not a massive change to vdb behaviour either; file collisions 
aren't supposed to occur, as such ownership of the file is basically 
guranteed back to a single package.  Throw in CONFIG_PROTECT for 
adjusting the behaviour, and you have a far more preferable norm than 
lets just leave a shit ton of .pyc/.pyo on the fs.

Moving on...
~brian



[gentoo-dev] Re: POSIX capability in Gentoo

2011-08-02 Thread Duncan
Arfrever Frehtes Taifersar Arahesis posted on Tue, 02 Aug 2011 22:46:54
+0200 as excerpted:

 2011-08-02 19:39:18 Ciaran McCreesh napisał(a):
 On Tue, 02 Aug 2011 13:36:12 -0400 Jonathan Callen a...@gentoo.org
 wrote:
  That statement needs one more qualification: and doesn't use
  portage. Portage will (by default) remove files on uninstall even if
  they *do not* match the checksum recorded in the vdb.  This implies
  that most people will *not* see any issues due to something other
  than the package manager modifying the files behind the package
  manager's back.
 
 Ugh, seriously? When did that happen?
 
 http://git.overlays.gentoo.org/gitweb/?p=proj/
portage.git;a=commit;h=a133cb89d5279df7febcd0c8ab3890e2ccfb897a
  
 Maybe we need to spec VDB after all to avoid that kind of nonsense.
 
 I think that unmerge-orphans is a useful feature.

Indeed.  FEATURES=unmerge-orphans is optional which is good, but I'm glad 
it's there.  I've no idea what the default is as I've had that on ever 
since I saw the changelog entry where it was introduced.

That'd likely explain why I never had problems with lafilefixer tho.  I'd 
guess the unmerge-orphans feature and lafilefixer appeared about the same 
time, at least for ~arch.

Of course, I have FEATURES=fixlafiles set too, so it'd be handled by 
portage automatically now if I didn't have (PKG_)INSTALL_MASK=*.la 
killing them but for libtool itself.

-- 
Duncan - List replies preferred.   No HTML msgs.
Every nonfree program has a lord, a master --
and if you use the program, he is your master.  Richard Stallman