Hi!

On Mon, 2011-06-27 at 15:01:20 +0200, Sven Joachim wrote:
> On 2011-06-27 13:43 +0200, Roger Broadbent wrote:
> > Package: e2fsprogs
> > Version: 1.41.12-4stable1
> > Severity: important

> > Creating the directory /usr/share/locale/tr/LC_MESSAGES/ allowed 
> > installation
> > to continue and complete successfully.
> >
> > After a little further investigation, it appears that before upgrade, I had 
> > no
> > packages that included messages in LC_MESSAGES for the Turkish locale, and 
> > thus
> > /usr/share/locale/tr did not exist. On upgrade to 6.0.2, several packages 
> > now
> > have Turkish local error messages. As it happens, the first to attempt to
> > install was e2fsprogs, which failed with the error above. By moving
> > /usr/share/locale/tr/ aside and reinstalling otrher packages with files in
> > /usr/share/locale/tr/LC_MESSAGES/  (I chose vino), I was able to show that
> > other packages ensure this directory is created and do not fail in  the same
> > way as e2fsprogs.

> I can confirm that this problem does not show up with (e.g.) coreutils
> instead of e2fsprogs, but that does not necessarily mean that e2fsprogs
> is broken.

I can reproduce this, but only if removing the directory tree for a
package which has both these directories and other files replaced by
another package, before installing it.

So what I don't know is how the file system ended up missing those
directories, do any of you guys have something like localepurge
installed by any chance? Because as the logs show the directories
are shipped in many other already installed packages (the
“tarobject ... found” message).

> > Tentative suggested resolution: enhance installation of e2fsprogs for the
> > existence of /usr/share/locale/tr/ and /usr/share/locale/tr/LC_MESSAGES/, 
> > and
> > to create them if they do not exist.
> 
> The directories are present in the package however, and dpkg is supposed
> to create them if they are missing on the filesystem.  I'm reassigning
> this bug to dpkg and attach the output of
> 
> dpkg -D110 -i /var/cache/apt/archives/e2fsprogs_1.41.12-4stable1_i386.deb

> D000010: tarobject ti->name='./usr/share/locale/tr' mode=40755 owner=0.0 
> type=53(d) ti->linkname='' namenode='/usr/share/locale/tr' flags=2 
> instead='<none>'
> D000100: setupvnamevbs main=`/usr/share/locale/tr' 
> tmp=`/usr/share/locale/tr.dpkg-tmp' new=`/usr/share/locale/tr.dpkg-new'
> D000100: tarobject nonexistent
> D000010: tarobject ... found in debconf-i18n
> D000010: tarobject ... found in tar
> D000010: tarobject ... found in binutils
> D000010: tarobject ... found in login
> D000010: tarobject ... found in gnupg
> D000010: tarobject ... found in grep
> D000010: tarobject ... found in coreutils
> D000010: tarobject ... found in libpam-runtime
> D000010: tarobject ... found in sed
> D000010: tarobject ... found in make
> D000010: tarobject ... found in bash
> D000010: tarobject ... found in aptitude
> D000010: tarobject ... found in util-linux
> Replaced by files in installed package util-linux ...
> D000010: tarobject ... found in diffutils
> D000010: tarobject ... found in findutils
> D000010: tarobject ti->name='./usr/share/locale/tr/LC_MESSAGES' mode=40755 
> owner=0.0 type=53(d) ti->linkname='' 
> namenode='/usr/share/locale/tr/LC_MESSAGES' flags=2 instead='<none>'
> D000100: setupvnamevbs main=`/usr/share/locale/tr/LC_MESSAGES' 
> tmp=`/usr/share/locale/tr/LC_MESSAGES.dpkg-tmp' 
> new=`/usr/share/locale/tr/LC_MESSAGES.dpkg-new'
> D000100: tarobject nonexistent
> D000010: tarobject ... found in debconf-i18n
> D000010: tarobject ... found in tar
> D000010: tarobject ... found in binutils
> D000010: tarobject ... found in login
> D000010: tarobject ... found in gnupg
> D000010: tarobject ... found in grep
> D000010: tarobject ... found in coreutils
> D000010: tarobject ... found in libpam-runtime
> D000010: tarobject ... found in sed
> D000010: tarobject ... found in make
> D000010: tarobject ... found in bash
> D000010: tarobject ... found in aptitude
> D000010: tarobject ... found in util-linux
> D000010: tarobject ... found in diffutils
> D000010: tarobject ... found in findutils

These two not being created are bad interactions between non-existent
directories and other files being replaced (in the code wrong logic
with keepexisting and existingdir), I'll prepare a patch for that.
Which causes the following:

> D000010: tarobject ti->name='./usr/share/locale/tr/LC_MESSAGES/e2fsprogs.mo' 
> mode=100644 owner=0.0 type=48(-) ti->linkname='' 
> namenode='/usr/share/locale/tr/LC_MESSAGES/e2fsprogs.mo' flags=2 
> instead='<none>'
> D000100: setupvnamevbs main=`/usr/share/locale/tr/LC_MESSAGES/e2fsprogs.mo' 
> tmp=`/usr/share/locale/tr/LC_MESSAGES/e2fsprogs.mo.dpkg-tmp' 
> new=`/usr/share/locale/tr/LC_MESSAGES/e2fsprogs.mo.dpkg-new'
> D000100: tarobject nonexistent
> D000010: ensure_pathname_nonexisting 
> `/usr/share/locale/tr/LC_MESSAGES/e2fsprogs.mo.dpkg-new'
> D000010: ensure_pathname_nonexisting 
> `/usr/share/locale/tr/LC_MESSAGES/e2fsprogs.mo.dpkg-tmp'
> dpkg: error processing 
> /var/cache/apt/archives/e2fsprogs_1.41.12-4stable1_i386.deb (--install):
>  unable to create `/usr/share/locale/tr/LC_MESSAGES/e2fsprogs.mo.dpkg-new' 
> (while processing `./usr/share/locale/tr/LC_MESSAGES/e2fsprogs.mo'): No such 
> file or directory

Also this probably should be RC, and a targetted fix released for
stable.

thanks,
guillem



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to