Bug#771092: libuuid1: moreinfo

2014-12-12 Thread Andreas Henriksson
Hello Ivo De Decker!

On Thu, Dec 11, 2014 at 09:12:44PM +0100, Ivo De Decker wrote:
 Hi,
 
 On Tue, Dec 09, 2014 at 11:55:25AM +0100, Andreas Henriksson wrote:
  I have absolutely no idea how the buildds work, but I imagine it's
  overall somewhat similar to how pbuilder handles chroots.
  
  ie. throw away chroots for builds, a pristine chroot as a base.
 
 On IRC, Ansgar noted that the buildds copy the host passwd/group into the
 chroot, which explains why it failed on a version that should have been fixed
 before.

Thanks for the confirmation! This should then go away as soon as the
host is updated to Jessie, so I should be able to ignore it...

Will try to follow up with an upload ASAP with the 2 rc bug fixes and
the l10n updates.

Regards,
Andreas Henriksson


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



Bug#771092: libuuid1: moreinfo

2014-12-11 Thread Ivo De Decker
Hi,

On Tue, Dec 09, 2014 at 11:55:25AM +0100, Andreas Henriksson wrote:
 I have absolutely no idea how the buildds work, but I imagine it's
 overall somewhat similar to how pbuilder handles chroots.
 
 ie. throw away chroots for builds, a pristine chroot as a base.

On IRC, Ansgar noted that the buildds copy the host passwd/group into the
chroot, which explains why it failed on a version that should have been fixed
before.

Cheers,

Ivo


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



Bug#771092: libuuid1: moreinfo

2014-12-09 Thread Andreas Henriksson
Hello again Niels!

On Tue, Dec 09, 2014 at 06:32:18AM +0100, Niels Thykier wrote:
[...]
  The buildd chroot upgrade seems to run the migration code and then
  somehow throw away all the resulting user/group modifications, so that
  on next package upgrade the migration runs again (and again, ...).
  
 
 This seems like plausible explanation given we tend to use throw-away
 chroots or lvm-snapshots.  So if this problem only appears on buildds
 (or in other throw-ways environments), I guess you are just missing a
 Depends after all.
 
 We can have the buildds upgraded post Jessie, before you remove the
 migration code.  I cannot recommend it now, as gcc has a new version in
 unstable that could cause issues for other packages (that could pick up
 a dependency on the newer gcc).
[...]

I have absolutely no idea how the buildds work, but I imagine it's
overall somewhat similar to how pbuilder handles chroots.

ie. throw away chroots for builds, a pristine chroot as a base.

With pbuilder you simply pbuilder --update to update the pristine
chroot without throwing away the changes.

This second part is not working correctly on the buildds, as they keep
the upgraded package but throws away the usermod/groupmod changes done
in the maintainer scripts.

This means the throwaway chroot comes with a pre-installed
version of src:util-linux packages which should have already done
the migration of the user, but hasn't

Are you saying that the buildds somehow copies the user/group
database from the host (which is not yet running jessie?)?
That would be weird

I could add a pre-condition check in postinst to detect if we are
upgrading *from* a version which should already have migrated but
somehow haven't and bail out. I guess that would be an effective way
to halt all buildds and I bet the release team wouldn't appreciate that
right now... On the other hand I bet it would be an effective way of
getting attention and feedback on the issue. :P

Not sure how to proceed from here. Do we even know if this issue is
isolated to only the Debian buildds? If so, I guess we could argue
that the chroots provided are corrupt and buildd admins gets to
fix up the mess when we open up Stretch.

Regards,
Andreas Henriksson


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



Bug#771092: libuuid1: moreinfo

2014-12-08 Thread Andreas Henriksson
Hello Niels Thykier.

Thanks for following up on this bug report...

On Mon, Dec 08, 2014 at 08:36:36AM +0100, Niels Thykier wrote:
 On Thu, 27 Nov 2014 12:32:08 +0100 Andreas Henriksson andr...@fatal.se
 wrote:
  Control: tags 771092 + moreinfo
  
  Just adding the passwd dependency would hide the real problem here.
  Someone needs to look into why the migration code is being run
  again and again (as it apparently does on a sparc buildd atleast)!
  This code is going to be dropped in Jessie+1 where it's expected
  that everyone has migrated. If there are cases where migration
  isn't working we need to fix those now.
  
  Regards,
  Andreas Henriksson
  
  
 
 Hi,
 
 The postinst looks like (modulo wrapping):
 
 
 
 # upgrade existing libuuid user/group.
 if getent group libuuid /dev/null  ! getent group uuidd /dev/null ; then
 groupmod --new-name uuidd libuuid
 fi
 if getent passwd libuuid /dev/null  ! getent passwd uuidd /dev/null
 ; then
[...]
 fi
 
 
 In both cases, the condition for the ifs seems to be false.

In the failing build logs the condition is true and it explodes
because of groupmod not yet existing, so your issue seems unrelated
to what I'm looking for information on.

The buildd chroot upgrade seems to run the migration code and then
somehow throw away all the resulting user/group modifications, so that
on next package upgrade the migration runs again (and again, ...).

  But:
 
 
 
 $ getent group libuuid /dev/null  echo group libuuid present; \
   getent group uuidd /dev/null  echo group uuidd present
 group uuidd present
 $ getent group libuuid /dev/null  ! getent group uuidd /dev/null
 $ getent passwd libuuid /dev/null ; echo User libuuid present ; \
   getent passwd uuidd /dev/null  echo User uuidd present
 User libuuid present
 User uuidd present
 $ getent passwd libuuid /dev/null  ! getent passwd uuidd \
  /dev/null   echo true
 
 
 I only have /group/ uuidd, but I have both users present!?

I'm not sure how that happened, but it is only a minor issue.
The migration code checks that both the old user/group exists
and new user/group not exists, so if both exists it's not a
problem. Ofcourse it's not nice to leave old cruft around...

I'd suggest we track this in a separate bug report. Please
follow up on how both users looks. Does anything else then
name and uid set them apart? If you remove the new username
and reinstall the package does the user get migrated?

My guess would be that the group got migrated on upgrade,
then you already had a user with the new username so
no user migration was done (and you where thus left with
both the old and new usernames in place).

 Inside the user migration, there is a remark that usermod will fail if
 the process is running.  Does that hold for groupmod as well?

This remark comes from ubuntu users running into that problem.
If the same where true for groupmod, the (launchpad) bug report
for it would probably have said groupmod instead of usermod
as groupmod is run first. So my guess is no.


Regards,
Andreas Henriksson


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



Bug#771092: libuuid1: moreinfo

2014-12-08 Thread Niels Thykier
On 2014-12-08 15:27, Andreas Henriksson wrote:
 Hello Niels Thykier.
 
 Thanks for following up on this bug report...
 
 On Mon, Dec 08, 2014 at 08:36:36AM +0100, Niels Thykier wrote:
 [...]

 In both cases, the condition for the ifs seems to be false.
 
 In the failing build logs the condition is true and it explodes
 because of groupmod not yet existing, so your issue seems unrelated
 to what I'm looking for information on.
 

Fair enough.  I was trying to make the case that the script not
indempotent in its clean up and it may have caused the issue.  But
certainly, I see your point.

 The buildd chroot upgrade seems to run the migration code and then
 somehow throw away all the resulting user/group modifications, so that
 on next package upgrade the migration runs again (and again, ...).
 

This seems like plausible explanation given we tend to use throw-away
chroots or lvm-snapshots.  So if this problem only appears on buildds
(or in other throw-ways environments), I guess you are just missing a
Depends after all.

We can have the buildds upgraded post Jessie, before you remove the
migration code.  I cannot recommend it now, as gcc has a new version in
unstable that could cause issues for other packages (that could pick up
a dependency on the newer gcc).

  But:


 
 $ getent group libuuid /dev/null  echo group libuuid present; \
   getent group uuidd /dev/null  echo group uuidd present
 group uuidd present
 $ getent group libuuid /dev/null  ! getent group uuidd /dev/null
 $ getent passwd libuuid /dev/null ; echo User libuuid present ; \
   getent passwd uuidd /dev/null  echo User uuidd present
 User libuuid present
 User uuidd present
 $ getent passwd libuuid /dev/null  ! getent passwd uuidd \
  /dev/null   echo true
 

 I only have /group/ uuidd, but I have both users present!?
 
 I'm not sure how that happened, but it is only a minor issue.
 The migration code checks that both the old user/group exists
 and new user/group not exists, so if both exists it's not a
 problem. Ofcourse it's not nice to leave old cruft around...
 
 [...]
 

Okay, thanks for clarifying.  Given you believe it is only a minor cruft
issue, it is not a priority for me for Jessie (unless it is last call
for getting it fixed).  :)
  I am certainly ready to look into this for Stretch (or, Jessie, if
needed).

 Inside the user migration, there is a remark that usermod will fail if
 the process is running.  Does that hold for groupmod as well?
 
 This remark comes from ubuntu users running into that problem.
 If the same where true for groupmod, the (launchpad) bug report
 for it would probably have said groupmod instead of usermod
 as groupmod is run first. So my guess is no.
 
 
 Regards,
 Andreas Henriksson
 

Ack, thanks.

~Niels


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



Bug#771092: libuuid1: moreinfo

2014-12-07 Thread Niels Thykier
On Thu, 27 Nov 2014 12:32:08 +0100 Andreas Henriksson andr...@fatal.se
wrote:
 Control: tags 771092 + moreinfo
 
 Just adding the passwd dependency would hide the real problem here.
 Someone needs to look into why the migration code is being run
 again and again (as it apparently does on a sparc buildd atleast)!
 This code is going to be dropped in Jessie+1 where it's expected
 that everyone has migrated. If there are cases where migration
 isn't working we need to fix those now.
 
 Regards,
 Andreas Henriksson
 
 

Hi,

The postinst looks like (modulo wrapping):



# upgrade existing libuuid user/group.
if getent group libuuid /dev/null  ! getent group uuidd /dev/null ; then
groupmod --new-name uuidd libuuid
fi
if getent passwd libuuid /dev/null  ! getent passwd uuidd /dev/null
; then
   [...]
fi


In both cases, the condition for the ifs seems to be false.  But:



$ getent group libuuid /dev/null  echo group libuuid present; \
  getent group uuidd /dev/null  echo group uuidd present
group uuidd present
$ getent group libuuid /dev/null  ! getent group uuidd /dev/null
$ getent passwd libuuid /dev/null ; echo User libuuid present ; \
  getent passwd uuidd /dev/null  echo User uuidd present
User libuuid present
User uuidd present
$ getent passwd libuuid /dev/null  ! getent passwd uuidd \
 /dev/null   echo true


I only have /group/ uuidd, but I have both users present!?


Inside the user migration, there is a remark that usermod will fail if
the process is running.  Does that hold for groupmod as well?


~Niels


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



Bug#771092: libuuid1: moreinfo

2014-11-27 Thread Andreas Henriksson
Control: tags 771092 + moreinfo

Just adding the passwd dependency would hide the real problem here.
Someone needs to look into why the migration code is being run
again and again (as it apparently does on a sparc buildd atleast)!
This code is going to be dropped in Jessie+1 where it's expected
that everyone has migrated. If there are cases where migration
isn't working we need to fix those now.

Regards,
Andreas Henriksson


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