Project

General

Profile

Bug #9523

Discrepancy between eatmydata versions breaks Jessie build

Added by intrigeri over 4 years ago. Updated about 4 years ago.

Status:
Resolved
Priority:
Elevated
Assignee:
-
Category:
Build system
Target version:
Start date:
06/03/2015
Due date:
% Done:

100%

Feature Branch:
bugfix/9523-eatmydata-v82-everywhere
Type of work:
Code
Blueprint:
Starter:
Affected tool:

Description

Since #9419 was fixed, our build system uses eatmydata (for real, this time). However, a Wheezy builder now fails to build a Jessie ISO, and vice-versa, because Wheezy's and Jessie's eatmydata put their LD_PRELOAD'ed libraries in different places. The easiest fix seems to use eatmydata v82 on all kinds of builders, and inside all ISOs. This should be possible now that my backport of Jessie's eatmydata reached wheezy-backports.


Related issues

Related to Tails - Bug #9419: eatmydata is not being used in the build chroot Resolved 05/17/2015
Blocks Tails - Bug #9262: Port our ISO build system to Jessie Resolved 04/19/2015

Associated revisions

Revision 6043f17c (diff)
Added by intrigeri over 4 years ago

Install a multiarch-enabled eatmydata both in the build system and in the ISO.

Otherwise, a Wheezy builder fails to build a Jessie ISO, and vice-versa, because
Wheezy's and Jessie's eatmydata put their LD_PRELOAD'ed libraries in
different places.

Will-fix: #9523

Revision 0da3cafd
Added by anonym over 4 years ago

Merge remote-tracking branch 'origin/bugfix/9523-eatmydata-v82-everywhere' into stable

Fix-committed: #9523

History

#1 Updated by intrigeri over 4 years ago

  • Related to Bug #9419: eatmydata is not being used in the build chroot added

#2 Updated by intrigeri over 4 years ago

  • Status changed from Confirmed to In Progress

#3 Updated by intrigeri over 4 years ago

  • % Done changed from 0 to 10
  • Feature Branch set to bugfix/9523-eatmydata-v82-everywhere

I can't test this now since the i386 backport hasn't been installed into the archive yet: https://buildd.debian.org/status/package.php?p=libeatmydata&suite=wheezy-backports

#4 Updated by intrigeri over 4 years ago

  • % Done changed from 10 to 20

It has reached wheezy-backports, so I can now test this.

#5 Updated by intrigeri over 4 years ago

  • Assignee changed from intrigeri to anonym
  • % Done changed from 20 to 50
  • QA Check set to Ready for QA

#6 Updated by intrigeri over 4 years ago

  • Blocks Bug #9262: Port our ISO build system to Jessie added

#7 Updated by anonym over 4 years ago

I merged it into stable and built an image. Then I carefully looked at the buildlog:

1. During debootstrap eatmydata 26-2 is installed as expected.
2. In the first apt-get install after debootstrap I get:

The following packages have been kept back:
  eatmydata

3. Lot's of ERROR: ld.so spam.
4. But immediately after that version 82-6~bpo70+1 is installed. After that, the ERROR: ld.so spam stops.
5. ...except for what I think are when some but not all post-install scripts are run, in particular those that sets up new users/groups. Examples:
Setting up exim4-config (4.80-7+deb7u1) ...
Adding system-user for exim (v4)
ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded: ignor
ed.
[...]
Setting up tor (0.2.6.7-1~d70.wheezy+1+tails2) ...
ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded: ignored.

6. Next afte this:
P: Begin executing hooks...
P: Begin executing hacks...
[...]
P: Begin copying chroot...
P: This may take a while.
P: Begin mounting /dev/pts...
P: Begin mounting /proc...
P: Begin mounting /sys...
P: Configuring file /etc/hosts
P: Configuring file /etc/resolv.conf
P: Configuring file /etc/hostname
P: Configuring file /bin/hostname
P: Configuring file /usr/sbin/policy-rc.d
P: Configuring file /usr/sbin/initctl
P: Configuring file /etc/apt/apt.conf
P: Configuring file /etc/apt/sources.list
After this the ERROR: ld.so spam is back and steps 2 and 4 happen again: first it's held back, then we have the 26-2 -> 82-6~bpo70+1 upgrade again, and the ERROR: ld.so spamming stops completely until the build finishes.

I guess 2-4 and 6 are expected (one is for the real chroot, the other one for the binary hooks), but 5 is strange. I don't really care though.

Next up, feature/jessie...

#8 Updated by intrigeri over 4 years ago

After this the ERROR: ld.so spam is back and steps 2 and 4 happen again: first it's held back, then we have the 26-2 -> 82-6~bpo70+1 upgrade again,

I can confirm I see exactly the same behaviour.

I guess 2-4 and 6 are expected (one is for the real chroot, the other one for the binary hooks),

That's my guess too.

but 5 is strange.

Indeed. I see it happen for some of our chroot hooks too:

Creating the vidalia user
ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded: ignored.
Adding user `vidalia' to group `debian-tor' ...
Adding user vidalia to group debian-tor
Done.
Creating the tails-install-iuk user
ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded: ignored.
Adding user `tails-install-iuk' to group `tails-iuk-get-target-file' ...
Adding user tails-install-iuk to group tails-iuk-get-target-file
Done.

... which seems to confirm that it's strongly correlated to adduser calls. Probably it uses the dynamic loader in a weird way, or something.

I don't really care though.

Same here. If it works, I'll happily look elsewhere.

#9 Updated by anonym over 4 years ago

  • Status changed from In Progress to Fix committed
  • % Done changed from 50 to 100

#10 Updated by anonym over 4 years ago

  • Assignee deleted (anonym)
  • QA Check changed from Ready for QA to Pass

anonym wrote:

Next up, feature/jessie...

As expected, it has none of 2-4 or 6. It does have the strangeness from 5, though. Whatever. :)

intrigeri wrote:

I don't really care though.

Same here. If it works, I'll happily look elsewhere.

Yup. However, note that without this branch, i.e. by building stable, we do not have issue 5 at all. Whatever (again!). :)

Merged!

#11 Updated by intrigeri about 4 years ago

  • Status changed from Fix committed to Resolved

Also available in: Atom PDF