Precise to Trusty dist-upgrade failure - Dependencies of Trusty's libpango1.0-0 package needs to be updated

Bug #1335017 reported by Michael Wisheu on 2014-06-27
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pango1.0 (Ubuntu)
Undecided
Unassigned
Trusty
High
Unassigned

Bug Description

[SRU Justification]
Causes upgrade failures in common desktop configurations, depending on package upgrade order.

[Test case]
1. In a precise chroot, enable trusty in sources.list.
2. sudo apt-get install libpango1.0-0
3. sudo update-initramfs -u
4. verify that this fails
5. enable trusty-proposed
6. sudo apt-get install libpango1.0-0
7. sudo update-initramfs -u
8. verify that this succeeds

[Regression potential]
Some risk that moving the versioned Conflicts from one package to another will cause knock-on effects for calculation of upgrade paths. Otherwise minimal risk.

Issue:

update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.103ubuntu4.2) ...
update-initramfs: Generating /boot/initrd.img-3.13.0-30-generic
cp: cannot stat '/usr/lib/x86_64-linux-gnu/pango/1.6.0/module-files.d/libpango1.0-0.modules': No such file or directory
cp: cannot stat '/usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so': No such file or directory
E: /usr/share/initramfs-tools/hooks/plymouth failed with return 1.
update-initramfs: failed for /boot/initrd.img-3.13.0-30-generic with 1.

On Precise:

$ dpkg -S /usr/share/initramfs-tools/hooks/plymouth
plymouth: /usr/share/initramfs-tools/hooks/plymouth

$ dpkg -S /usr/lib/x86_64-linux-gnu/pango/1.6.0/module-files.d/libpango1.0-0.modules
libpango1.0-0: /usr/lib/x86_64-linux-gnu/pango/1.6.0/module-files.d/libpango1.0-0.modules

$ dpkg -S /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
libpango1.0-0: /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so

On Trusty:

$ dpkg -S /usr/share/initramfs-tools/hooks/plymouth
plymouth: /usr/share/initramfs-tools/hooks/plymouth

$ dpkg -S /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
dpkg-query: no path found matching pattern /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so

$ dpkg -S /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
dpkg-query: no path found matching pattern /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so

Error state during dist-upgrade:

$ apt-cache policy plymouth
plymouth:
  Installed: 0.8.2-2ubuntu31.1
  Candidate: 0.8.8-0ubuntu17

$ apt-cache policy libpango1.0-0
libpango1.0-0:
  Installed: 1.36.3-1ubuntu1
  Candidate: 1.36.3-1ubuntu1

$ apt-cache policy initramfs-tools
initramfs-tools:
  Installed: 0.103ubuntu4.2
  Candidate: 0.103ubuntu4.2

$ dpkg -s initramfs-tools
Package: initramfs-tools
Status: install ok half-configured

Solution:
Add a breaks 'plymouth (<< 0.8.8-0ubuntu17) to the libpango1.0-0 package.

Michael Wisheu (wisheu) on 2014-06-27
summary: Precise to Trusty dist-upgrade failure - Dependencies of Trusty's
- libpango-1.0-0 package need to be updated
+ libpango-1.0-0 package needs to be updated

I'm not sure why you encountered this bug. The libpango-1.0-0 package in trusty already has a Conflicts against plymouth:

Package: libpango-1.0-0
Version: 1.36.3-1ubuntu1
Conflicts: plymouth (<< 0.8.8-0ubuntu7)

(and a conflicts is even stronger than a breaks - and is required here to ensure the incompatible initramfs hook is never unpacked on the system at the same time).

So I don't see how your system could have been in a state where this error would happen.

Changed in plymouth (Ubuntu):
status: New → Incomplete
Michael Wisheu (wisheu) on 2014-07-01
summary: Precise to Trusty dist-upgrade failure - Dependencies of Trusty's
- libpango-1.0-0 package needs to be updated
+ libpango1.0-0 package needs to be updated
description: updated
Michael Wisheu (wisheu) wrote :

We had multiple encounters on various machines of this issue.
I wonder why this happens with libpango1.0-0 albeit it depends on libpango-1.0-0 and that has a versioned conflicts with plymouth.
I'll have another look and report back once I know more.

Steve Langasek (vorlon) wrote :

Actually, your change of the package name in the bug description clued me in to the problem. In precise, it's the libpango1.0-0 package which provides the file. In trusty, it's libpango-1.0-0 that has the Conflicts - because libpango1.0-0 is a transitional package.

So we need to move the Conflicts: to libpango1.0-0, which is actually the package that triggers the problem.

Changed in plymouth (Ubuntu):
status: Incomplete → Triaged
affects: plymouth (Ubuntu) → pango1.0 (Ubuntu)
Changed in pango1.0 (Ubuntu Trusty):
status: New → Triaged
importance: Undecided → High
Steve Langasek (vorlon) wrote :

This is not relevant for utopic because it's an upgrade issue from precise.

Changed in pango1.0 (Ubuntu):
status: Triaged → Invalid
description: updated
Michael Wisheu (wisheu) wrote :

Now this all makes a lot more sense. ;-)
Steve, please let me know when I can test a fixed package.

Hello Michael, or anyone else affected,

Accepted pango1.0 into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/pango1.0/1.36.3-1ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in pango1.0 (Ubuntu Trusty):
status: Triaged → Fix Committed
tags: added: verification-needed

The fix for this bug has been awaiting testing feedback in the -proposed repository for trusty for more than 90 days. Please test this fix and update the bug appropriately with the results. In the event that the fix for this bug is still not verified 15 days from now, the package will be removed from the -proposed repository.

tags: added: removal-candidate
Michael Schaller (misch-9) wrote :

Sorry. This one fell through my inbox cracks.
Yes, the proposed package works for me.

Sebastien Bacher (seb128) wrote :

@Michael, thanks for testing

tags: added: verification-done
removed: removal-candidate verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pango1.0 - 1.36.3-1ubuntu1.1

---------------
pango1.0 (1.36.3-1ubuntu1.1) trusty; urgency=medium

  * Move the versioned conflicts with plymouth from the libpango-1.0-0
    package to the libpango1.0-0 package which actually contained the files
    in precise. LP: #1335017.
 -- Steve Langasek <email address hidden> Tue, 01 Jul 2014 21:50:32 -0700

Changed in pango1.0 (Ubuntu Trusty):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for pango1.0 has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers