Project

General

Profile

Bug #15532

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

Added by intrigeri over 1 year ago. Updated over 1 year ago.

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

100%

Estimated time:
1.00 h
Feature Branch:
kibi:bugfix/15532-fix-ftbfs-with-newer-virtualbox
Type of work:
Code
Blueprint:
Starter:
Affected tool:

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

Related issues

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

Associated revisions

Revision 0fd5a638 (diff)
Added by Cyril Brulebois over 1 year ago

Drop copying of virtualbox-guest-dkms udev rules (refs: #15532).

Starting with the virtualbox 5.2.8-dfsg-7 upload, dkms guest udev rules
have been relocated from the virtualbox-guest-dkms package to the
virtualbox-guest-utils one.

We used to install the former package in this hook to build modules and
to keep a copy of its rules file, but there's no need to do so anymore
since virtualbox-guest-utils ships it now, and we pull it through
chroot_local-packageslists anyway.

Revision a774ba2a (diff)
Added by Cyril Brulebois over 1 year ago

Install a virtualbox-guest-dkms-dummy package to satisfy dependencies (refs: #15532).

The virtualbox-guest-dkms package is to be installed only during the
build to prepare kernel modules, and to be removed afterwards. Since
the virtualbox 5.2.8-dfsg-7 upload, the virtualbox-guest-utils package
depends on virtualbox-guest-dkms (with a strict version) so let's
install a dummy package providing the required dependency, so that the
hook clean-up can remove the real virtualbox-guest-dkms package without
causing the virtualbox-guest-utils to go away in the process.

To be extra precise, virtualbox-guest-utils depends on:
virtualbox-guest-dkms (= ${source:Version}) | virtualbox-guest-source (= ${source:Version}) | virtualbox-guest-modules

Since we're building modules from the virtualbox-guest-dkms package,
let's have a Provides field which reflects that.

Revision 3229f8f0
Added by intrigeri over 1 year ago

Merge remote-tracking branch 'kibi/bugfix/15532-fix-ftbfs-with-newer-virtualbox' into devel (Fix-committed: #15532)

History

#1 Updated by intrigeri over 1 year ago

#2 Updated by intrigeri over 1 year ago

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 over 1 year ago

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

#4 Updated by anonym over 1 year ago

intrigeri wrote:

  1. 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 over 1 year ago

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 over 1 year ago

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: #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: #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 over 1 year ago

  • 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 over 1 year ago

  • Assignee set to intrigeri

#9 Updated by intrigeri over 1 year ago

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

#10 Updated by intrigeri over 1 year ago

  • 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 over 1 year ago

  • 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 over 1 year ago

  • 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 over 1 year ago

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

#14 Updated by CyrilBrulebois over 1 year ago

  • 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 over 1 year ago

  • Assignee set to intrigeri

#16 Updated by intrigeri over 1 year ago

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

Merged, thanks!

#17 Updated by bertagaz over 1 year ago

  • Status changed from 11 to Resolved

#18 Updated by intrigeri over 1 year ago

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

Also available in: Atom PDF