Bug#363362: x11-common: postinst fails if /usr/X11R6/bin is not empty

2006-04-21 Thread Josselin Mouette
7Le mercredi 19 avril 2006 à 16:10 -0700, Steve Langasek a écrit :
  For sure I have a better upgrade path: 
  - keep a compatibility symbolic link in /usr/X11R6/bin/X, and ditto the
  few other ones that can cause breakage upon upgrade ;
  - hunt down packages using them ;
  - release etch with those links ;
  - entirely remove /usr/X11R6/bin after the release.
 
 Issues this doesn't address:
 
 - /usr/X11R6/bin is not in the path in Debian's /etc/profile, so any partial
   upgrades or not-yet-transitioned packages will leave some users (and their
   scripts) unable to find some of their programs
 - just as broken third-party applications may install stuff in /usr/X11R6
   instead of /usr/local, broken third-party applications may hard-code paths
   to programs they call instead of using the system path
 
 So you're trading one sort of brokenness for another.
 
 I have a strong preference for keeping such brokenness self-contained;
 failing to upgrade when the directory is non-empty is one way to achieve
 this.

A canonical answer could be: if you don't know how to do it correctly,
don't do it at all.

But in fact, I'm pretty sure it *can* be done correctly. If we cannot
get rid of anything in /usr/X11R6, then how about a x11r6-compat package
that would provide symbolic links for *everything* that used to be put
here by 6.8.x packages? The packages not working without this
compatibility one would be detected as RC bugs by users trying fresh
installations of the etch release, and etch users would be able to
install this package for compatibility with old scripts.

I'm just throwing ideas as they come; I'm sure there are better
solutions. But please, don't go on as is. Solutions do exist.
-- 
 .''`.   Josselin Mouette/\./\
: :' :   [EMAIL PROTECTED]
`. `'[EMAIL PROTECTED]
   `-  Debian GNU/Linux -- The power of freedom




Bug#363362: x11-common: postinst fails if /usr/X11R6/bin is not empty

2006-04-19 Thread Steve Langasek
On Tue, Apr 18, 2006 at 08:26:37PM +0200, Josselin Mouette wrote:
 Le mardi 18 avril 2006 à 11:14 -0700, Steve Langasek a écrit :
   The postinst contains the following:
   if [ -d /usr/X11R6/bin ]  [ ! -L /usr/X11R6/bin ]; then
 rmdir /usr/X11R6/bin || die Could not remove /usr/X11R6/bin. Is not 
   yet empty. Please remove any items still in the directory. You can move 
   them back after the install has completed successfully.
   fi

  This is a duplicate of bug #362885.  Unless you can come up with a better
  upgrade path than the one that's been implemented, it's also a non-bug.

 For sure I have a better upgrade path: 
 - keep a compatibility symbolic link in /usr/X11R6/bin/X, and ditto the
 few other ones that can cause breakage upon upgrade ;
 - hunt down packages using them ;
 - release etch with those links ;
 - entirely remove /usr/X11R6/bin after the release.

 There are many broken third-party applications that install stuff
 in /usr/X11R6 instead of /usr/local. Until now, such cases have been
 handled by overwriting them upon upgrades, not by entirely failing to
 upgrade. The upgrade path (which is actually a non-upgrade path) will
 break on many systems without any justification.

Issues this doesn't address:

- /usr/X11R6/bin is not in the path in Debian's /etc/profile, so any partial
  upgrades or not-yet-transitioned packages will leave some users (and their
  scripts) unable to find some of their programs
- just as broken third-party applications may install stuff in /usr/X11R6
  instead of /usr/local, broken third-party applications may hard-code paths
  to programs they call instead of using the system path

So you're trading one sort of brokenness for another.

I have a strong preference for keeping such brokenness self-contained;
failing to upgrade when the directory is non-empty is one way to achieve
this.

Ultimately, it's the XSF's decision which way they want to do it, though,
not mine.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Bug#363362: x11-common: postinst fails if /usr/X11R6/bin is not empty

2006-04-18 Thread Josselin Mouette
Package: x11-common
Version: 1:7.0.14
Severity: grave

The postinst contains the following:
if [ -d /usr/X11R6/bin ]  [ ! -L /usr/X11R6/bin ]; then
  rmdir /usr/X11R6/bin || die Could not remove /usr/X11R6/bin. Is not 
yet empty. Please remove any items still in the directory. You can move 
them back after the install has completed successfully.
fi

When I met this error I first checked whether it was April 1st or 
something. I don't think this is acceptable to stomp on such a minor 
error, especially when previous upgrades happen to let some files in 
this place. Please consider moving these files to /usr/bin directly if 
they don't conflict with anything, or backuping them elsewhere.


BTW, the following is also incorrect:
if ! [ -e /usr/X11R6/bin ]; then
  ln -s /usr/bin /usr/X11R6/bin || die Could not link /usr/bin to 
/usr/X11R6/bin
fi

it should be: ln -s ../bin /usr/X11R6/bin instead. See policy 10.5.
-- 
 .''`.   Josselin Mouette/\./\
: :' :   [EMAIL PROTECTED]
`. `'[EMAIL PROTECTED]
  `-  Debian GNU/Linux -- The power of freedom


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#363362: x11-common: postinst fails if /usr/X11R6/bin is not empty

2006-04-18 Thread Steve Langasek
severity 363362 important
thanks

On Tue, Apr 18, 2006 at 07:30:53PM +0200, Josselin Mouette wrote:

 The postinst contains the following:
 if [ -d /usr/X11R6/bin ]  [ ! -L /usr/X11R6/bin ]; then
   rmdir /usr/X11R6/bin || die Could not remove /usr/X11R6/bin. Is not 
 yet empty. Please remove any items still in the directory. You can move 
 them back after the install has completed successfully.
 fi

 When I met this error I first checked whether it was April 1st or 
 something. I don't think this is acceptable to stomp on such a minor 
 error, especially when previous upgrades happen to let some files in 
 this place. Please consider moving these files to /usr/bin directly if 
 they don't conflict with anything, or backuping them elsewhere.

This is a duplicate of bug #362885.  Unless you can come up with a better
upgrade path than the one that's been implemented, it's also a non-bug.

 BTW, the following is also incorrect:
 if ! [ -e /usr/X11R6/bin ]; then
   ln -s /usr/bin /usr/X11R6/bin || die Could not link /usr/bin to 
 /usr/X11R6/bin
 fi

 it should be: ln -s ../bin /usr/X11R6/bin instead. See policy 10.5.

Correct, this is a policy bug as you say.  It's a severity: important one,
though.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Bug#363362: x11-common: postinst fails if /usr/X11R6/bin is not empty

2006-04-18 Thread Josselin Mouette
Le mardi 18 avril 2006 à 11:14 -0700, Steve Langasek a écrit :
  The postinst contains the following:
  if [ -d /usr/X11R6/bin ]  [ ! -L /usr/X11R6/bin ]; then
rmdir /usr/X11R6/bin || die Could not remove /usr/X11R6/bin. Is not 
  yet empty. Please remove any items still in the directory. You can move 
  them back after the install has completed successfully.
  fi

 This is a duplicate of bug #362885.  Unless you can come up with a better
 upgrade path than the one that's been implemented, it's also a non-bug.

For sure I have a better upgrade path: 
- keep a compatibility symbolic link in /usr/X11R6/bin/X, and ditto the
few other ones that can cause breakage upon upgrade ;
- hunt down packages using them ;
- release etch with those links ;
- entirely remove /usr/X11R6/bin after the release.

There are many broken third-party applications that install stuff
in /usr/X11R6 instead of /usr/local. Until now, such cases have been
handled by overwriting them upon upgrades, not by entirely failing to
upgrade. The upgrade path (which is actually a non-upgrade path) will
break on many systems without any justification.
-- 
 .''`.   Josselin Mouette/\./\
: :' :   [EMAIL PROTECTED]
`. `'[EMAIL PROTECTED]
  `-  Debian GNU/Linux -- The power of freedom


signature.asc
Description: Ceci est une partie de message	numériquement signée


Bug#363362: x11-common: postinst fails if /usr/X11R6/bin is not empty

2006-04-18 Thread Josselin Mouette
Le mardi 18 avril 2006 à 21:43 +0300, Daniel Stone a écrit :
 Apparently you don't understand all the issues involved.

Oh, right, I don't understand anything, and the GREAT and MIGHTY Daniel
Stone knows better.

 It's kind of cute that you just attempt to handwave this away as having
 'no justification', but please spend your time on other, more
 productive, pursuits.

I'm afraid I have more productive things to do than attempting to
convince such a great and mighty team to fix a bug, indeed. It seems
that you know better. You know better how to break upgrades, at least.
-- 
 .''`.   Josselin Mouette/\./\
: :' :   [EMAIL PROTECTED]
`. `'[EMAIL PROTECTED]
  `-  Debian GNU/Linux -- The power of freedom


signature.asc
Description: Ceci est une partie de message	numériquement signée