Merge lp:~roadmr/checkbox/packaging-fix-gstreamer-depends into lp:~checkbox-dev/checkbox/checkbox-packaging

Proposed by Daniel Manrique
Status: Merged
Approved by: Sylvain Pineau
Approved revision: 8
Merged at revision: 8
Proposed branch: lp:~roadmr/checkbox/packaging-fix-gstreamer-depends
Merge into: lp:~checkbox-dev/checkbox/checkbox-packaging
Diff against target: 20 lines (+5/-5)
1 file modified
debian/control (+5/-5)
To merge this branch: bzr merge lp:~roadmr/checkbox/packaging-fix-gstreamer-depends
Reviewer Review Type Date Requested Status
Sylvain Pineau (community) Approve
Review via email: mp+172652@code.launchpad.net

Commit message

This is the Nth attempt to get the dependencies right.

This branch makes it so that gstreamer 1.0 packages are mandatory for checkbox to even install. This should guarantee that audio_test will run. But, as mentioned earlier, the consequence is that checkbox will be *uninstallable* on Precise, unless the gstreamer backports PPA is added.

This is fine for certification since we can add the PPA in our preseed files, so it won't mean extra work for us. But for other use cases (particularly OEM testing), it will make life more complex, because checkbox will simply not install if they forget to add the PPA. This will also need rebuilding all the offline tarballs to include the gstreamer PPA and packages, but this is a secondary concern as it only implies the extra time to rebuild the tarballs, which is a scripted process.

A second option is to copy the required packages to the checkbox PPA, so they are always available to anyone installing checkbox from this PPA. This makes sense because the PPA version is the only one requiring gstreamer 1.0 for Precise. Note that the packages *are* available on 12.10 and higher so that shouldn't pose a problem.

Description of the change

This is the Nth attempt to get the dependencies right. I'm still unhappy with this solution :(

First we tried saying "gstreamer 1.0 | gstreamer 0.10". This works fine if no version of gstreamer is installed; it will prefer the one we listed first. But if any version in an "or" statement is installed, then the requirement will be considered to be satisfied. Thus, as is the case with Precise, since gstreamer 0.10 is present, it doesn't magically upgrade to 1.0, so the audio_test bombs.

This branch makes it so that gstreamer 1.0 packages are mandatory for checkbox to even install. This should guarantee that audio_test will run. But, as mentioned earlier, the consequence is that checkbox will be *uninstallable* on Precise, unless the gstreamer backports PPA is added.

This is fine for certification since we can add the PPA in our preseed files, so it won't mean extra work for us. But for other use cases (particularly OEM testing), it will make life more complex, because checkbox will simply not install if they forget to add the PPA. This will also need rebuilding all the offline tarballs to include the gstreamer PPA and packages, but this is a secondary concern as it only implies the extra time to rebuild the tarballs, which is a scripted process.

A second option is to copy the required packages to the checkbox PPA, so they are always available to anyone installing checkbox from this PPA. This makes sense because the PPA version is the only one requiring gstreamer 1.0 for Precise. Note that the packages *are* available on 12.10 and higher so that shouldn't pose a problem.

So despite the code being quite trivial here, the packaging and deployment implications merit some thought.

To post a comment you must log in.
Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

+1 for the fix and +1 for making available in the checkbox ppa the gst packages for precise.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/control'
2--- debian/control 2013-06-27 18:28:42 +0000
3+++ debian/control 2013-07-02 19:38:35 +0000
4@@ -33,11 +33,11 @@
5 ${python3:Depends},
6 ${shlibs:Depends}
7 Recommends: dpkg (>= 1.13),
8- gir1.2-gst-plugins-base-1.0 | gir1.2-gst-plugins-base-0.10,
9- gir1.2-gstreamer-1.0 | gir1.2-gstreamer-0.10,
10- gstreamer1.0-plugins-good | gstreamer0.10-gconf,
11- gstreamer1.0-pulseaudio | gstreamer0.10-pulseaudio,
12- libgstreamer1.0-0 | libgstreamer0.10-0,
13+ gir1.2-gst-plugins-base-1.0,
14+ gir1.2-gstreamer-1.0,
15+ gstreamer1.0-plugins-good,
16+ gstreamer1.0-pulseaudio,
17+ libgstreamer1.0-0,
18 lsb-release,
19 perl,
20 pm-utils,

Subscribers

People subscribed via source and target branches