Bug #15532

devel branch FTBFS since virtualbox 5.2.8-dfsg-7 was uploaded to sid

Added by intrigeri 2018-04-13 13:07:15 . Updated 2018-05-10 10:59:52 .

Status:
Resolved
Priority:
Elevated
Assignee:
Category:
Virtualization
Target version:
Start date:
2018-04-13
Due date:
% Done:

100%

Feature Branch:
kibi:bugfix/15532-fix-ftbfs-with-newer-virtualbox
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

 virtualbox (5.2.8-dfsg-7) unstable; urgency=low
 .
   [ Whoopie ]
   * Move dkms rules out to dkms package, but to utils, because
     they can be used with modules builtin in the kernel itself
     or the guest-source package
 .
   [ Gianfranco Costamagna ]
   * Make the guest-utils depends on dkms not vice-versa

Subtasks


Related issues

Related to Tails - Bug #12048: Check what to do with VirtualBox on Stretch Resolved 2016-12-20
Blocks Tails - Feature #15139: Core work 2018Q2: Foundations Team Resolved 2018-01-01

History

#1 Updated by intrigeri 2018-04-13 13:07:33

#2 Updated by intrigeri 2018-04-13 13:52:42

I guess the easiest way is to:

  1. drop the obsolete cp’ing of the udev rules file
  2. install a dummy package that Provides: virtualbox-guest-dkms so we can keep purging the real one while still satisfying the new dependency from virtualbox-guest-utils on virtualbox-guest-dkms

#3 Updated by intrigeri 2018-04-13 15:19:14

  • Assignee changed from intrigeri to CyrilBrulebois
  • Estimated time set to 1 h

#4 Updated by anonym 2018-04-13 15:19:24

intrigeri wrote:
> # install a dummy package that Provides: virtualbox-guest-dkms so we can keep purging the real one while still satisfying the new dependency from virtualbox-guest-utils on virtualbox-guest-dkms

This could use install_fake_package() from config/chroot_local-includes/usr/local/lib/tails-shell-library/build.sh, possibly with some modifications if the Provides: part is necessary, instead of just making a fake package.

#5 Updated by intrigeri 2018-04-13 16:49:52

> This could use install_fake_package() from config/chroot_local-includes/usr/local/lib/tails-shell-library/build.sh, possibly with some modifications if the Provides: part is necessary, instead of just making a fake package.

I suggested another fake package with that Provides because I thought it would be easier (no risk of seeing virtualbox-guest-utils de-installed) but indeed, as long as the fake virtualbox-guest-dkms package as a version strictly greater than the real one,, “upgrading” the real one with a fake package like you’re suggesting should work without deinstalling virtualbox-guest-utils.

#6 Updated by CyrilBrulebois 2018-04-14 15:09:41

Thanks for the guidance!

You’ll find at <https://mraw.org/git/?p=tails.git;a=shortlog;h=refs/heads/bugfix/15532-fix-ftbfs-with-newer-virtualbox> a 3-patches branch on top of devel which does:

  1. Drop copying of virtualbox-guest-dkms udev rules (refs: Bug #15532).
  2. Add support for a Provides parameter to the install_fake_package() function.
  3. Install a virtualbox-guest-dkms-dummy package to satisfy dependencies (refs: Bug #15532).

Comparing a successful build with only the first patch and a successful build with all patches, it seems that the following happens:

  • virtualbox-guest-dkms is still purged;
  • virtualbox-guest-dkms-dummy gets installed but not removed;
  • virtualbox-guest-utils gets installed but no longer removed (since its dependency is indeed satisfied by the virtualbox-guest-dkms-dummy package).

#7 Updated by CyrilBrulebois 2018-04-14 15:14:57

  • Status changed from Confirmed to In Progress
  • Assignee deleted (CyrilBrulebois)
  • QA Check set to Ready for QA
  • Feature Branch set to bugfix/15532-fix-ftbfs-with-newer-virtualbox

#8 Updated by intrigeri 2018-04-14 15:16:02

  • Assignee set to intrigeri

#9 Updated by intrigeri 2018-04-14 15:16:41

  • Feature Branch changed from bugfix/15532-fix-ftbfs-with-newer-virtualbox to kibi:bugfix/15532-fix-ftbfs-with-newer-virtualbox

#10 Updated by intrigeri 2018-04-14 15:24:55

  • Assignee changed from intrigeri to CyrilBrulebois
  • % Done changed from 0 to 60
  • QA Check changed from Ready for QA to Dev Needed

As per review on XMPP:

  • FAKE_PKG_VERSION is not used
  • “while exiting this one” is not crystal clear to me

Other than that, code review passes!

#11 Updated by CyrilBrulebois 2018-04-14 15:31:58

  • Assignee deleted (CyrilBrulebois)
  • QA Check changed from Dev Needed to Ready for QA

Branch rewritten for the last commit, fixing the wrong variable for the dummy package’s version; and rewriting the comments with a wording similar to what’s in the git commit message.

#12 Updated by intrigeri 2018-04-14 15:42:31

  • Assignee set to intrigeri
  • QA Check changed from Ready for QA to Dev Needed

Code review passes! Let’s see what Jenkins thinks. If it’s happy, I’m happy and I’ll merge.

#13 Updated by intrigeri 2018-04-14 15:42:44

  • % Done changed from 60 to 70
  • QA Check changed from Dev Needed to Ready for QA

#14 Updated by CyrilBrulebois 2018-04-14 16:25:10

  • Assignee deleted (intrigeri)
  • % Done changed from 70 to 60

Just to be on the safe side, I’ve also checked the packages list in the last built ISO:

kibi@wodi:~/work/clients/tails/tails.git$ grep virtualbox loop/live/filesystem.packages
virtualbox-guest-dkms-dummy 5.2.8-dfsg-7+tails.fake1
virtualbox-guest-utils  5.2.8-dfsg-7
virtualbox-guest-x11    5.2.8-dfsg-7

which seems to match exactly what we want (including a “fake” version for the “dummy” package), confirming the bugfix requested by intrigeri.

#15 Updated by intrigeri 2018-04-14 18:52:29

  • Assignee set to intrigeri

#16 Updated by intrigeri 2018-04-14 19:48:02

  • Status changed from In Progress to Fix committed
  • Assignee deleted (intrigeri)
  • % Done changed from 60 to 100
  • QA Check changed from Ready for QA to Pass

Merged, thanks!

#17 Updated by bertagaz 2018-05-10 10:59:52

  • Status changed from Fix committed to Resolved

#18 Updated by intrigeri 2018-05-26 09:43:37

  • related to Bug #12048: Check what to do with VirtualBox on Stretch added