Merge lp:~roadmr/checkbox/packaging-canonical-certification-server-updates into lp:~checkbox-dev/checkbox/checkbox-packaging

Proposed by Daniel Manrique
Status: Rejected
Rejected by: Daniel Manrique
Proposed branch: lp:~roadmr/checkbox/packaging-canonical-certification-server-updates
Merge into: lp:~checkbox-dev/checkbox/checkbox-packaging
Diff against target: 51 lines (+6/-6)
2 files modified
debian/canonical-certification-server.install (+0/-1)
debian/control (+6/-5)
To merge this branch: bzr merge lp:~roadmr/checkbox/packaging-canonical-certification-server-updates
Reviewer Review Type Date Requested Status
Daniel Manrique (community) Disapprove
Jeff Lane  Needs Information
Review via email: mp+211634@code.launchpad.net

Commit message

Removes the canonical-cert-server binary from canonical-cert-server, as it's now part of checkbox-ng. c-c-s depends on the proper version of checkbox-ng to contain the binary. checkbox-ng breaks versions of canonical-cert-server older than this one (fuzzy since I don't know the exact version yet) so that installing checkbox-ng on a system with older c-c-s properly upgrades that one, rather than exploding due to conflicting files.

Description of the change

Removes the canonical-cert-server binary from canonical-cert-server, as it's now part of checkbox-ng. c-c-s depends on the proper version of checkbox-ng to contain the binary. checkbox-ng breaks versions of canonical-cert-server older than this one (fuzzy since I don't know the exact version yet) so that installing checkbox-ng on a system with older c-c-s properly upgrades that one, rather than exploding due to conflicting files.

To post a comment you must log in.
Revision history for this message
Jeff Lane  (bladernr) wrote :

I'm confused... does this mean the providers will no longer provide the binaries to launch plainbox? So anyone who wishes to create a provider and provide a binary to launch the harness will also need to submit code to checkbox-ng?

Or is this just to work around a temporary issue?

review: Needs Information
Revision history for this message
Ara Pulido (ara) wrote :

I agree with Jeff, I think canonical-cert-server binary should be part of of canonical-cert-server.

A provider should not only provide whitelists and tests, but the ability to quickly run those.

I am thinking here about the CE QA use case, for example.

Let's think this way:

Elsa, who is the QA lead for Lenovo, works for a while in creating the Sutton provider with the specific tests for Sutton (plus she knows all certification tests need to run as well).
She creates a new provider with a whitelist with the lenovo tests and pointing to all cert tests.
She creates a binary that runs checkbox-gui with that whitelist
She packages the provider (including the binary) and adds extra dependencies if needed (i.e. certification provider)

Then, all CE QA members testing a Lenovo system, only need to do:

$ sudo apt-add-repository ppa:sutton-2014-testing
$ sudo apt-get update
$ sudo apt-get install sutton-2014-testing
$ sutton-2014-testing

withtout knowing anything about the complexity of dependencies.

Revision history for this message
Daniel Manrique (roadmr) wrote :

Apparently this merge request goes against the current of existing plans:

09:39 <@spineau> roadmr: I really want to delete the binaries from checkbox-ng
                 so that we can host them in the relevant providers

This is what Ara and Jeff want, and apparently it's the intended plan. Sylvain said:

09:44 <@spineau> roadmr: for short term I'd vote for your MR to restore ccs
                 installation but ideally checkbox-ng should support profiles
                 like checkbox-gui, not positional arguments

So having c-c-s be installable and depend on correct stuff (for the time being) is a desirable goal. A possibility is this:

09:46 < roadmr> spineau: ok, I'll see if I can find another alternative. Maybe
                even introducing another package (c-c-s-interim) that installs
                checkbox-ng and the provider would be cleaner and easier to
                revert later
09:46 < roadmr> c-c-s-interim could Breaks: c-c-s (so it gets removed for the
                time being) and Depends: checkbox-ng provider
09:47 < roadmr> then when we make everything right again, c-c-s Breaks:
                c-c-s-interim to start deprecating it

I'll read a bit on debian packaging and think about the implications of this interim package (to be clear, it'd be a very temporary solution while everything else coalesces and stabilizes) and come up with a better fix.

Revision history for this message
Daniel Manrique (roadmr) wrote :

Rejecting per above conversation.

review: Disapprove

Unmerged revisions

71. By Daniel Manrique

Make checkbox-ng Breaks older versions of canonical-certification-server to ensure it's properly upgraded

70. By Daniel Manrique

canonical-cert-server should depend on checkbox-ng which contains the binary (so c-c-s contains only config files and dependencies). Minimum checkbox-ng version is 0.17.

69. By Daniel Manrique

canonical-certification-server shouldn't install the binary which is now in checkbox-ng

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/canonical-certification-server.install'
2--- debian/canonical-certification-server.install 2013-12-11 17:28:11 +0000
3+++ debian/canonical-certification-server.install 2014-03-18 21:18:35 +0000
4@@ -1,3 +1,2 @@
5 checkbox-ng/contrib/canonical-certification-server.conf etc/init
6 debian/extras/canonical-certification-config/canonical-certification.conf /etc/xdg
7-usr/bin/canonical-certification-server
8
9=== modified file 'debian/control'
10--- debian/control 2014-03-18 16:56:38 +0000
11+++ debian/control 2014-03-18 21:18:35 +0000
12@@ -8,8 +8,8 @@
13 Build-Depends: debhelper (>= 9.2),
14 dh-translations,
15 libnl-genl-3-dev,
16+ libqt4-dev,
17 libqt5sql5-sqlite,
18- libqt4-dev,
19 po-debconf,
20 python,
21 python-distutils-extra,
22@@ -311,8 +311,8 @@
23
24 Package: checkbox-ng
25 Architecture: all
26-Depends: python3-checkbox-ng
27- ${misc:Depends}, ${python3:Depends}
28+Depends: python3-checkbox-ng, ${misc:Depends}, ${python3:Depends}
29+Breaks: canonical-certification-server (<< 0.17.9+bzr2802)
30 Description: Simple replacement for CheckBox
31 CheckBox command line tool
32
33@@ -405,7 +405,8 @@
34
35 Package: canonical-certification-server
36 Architecture: all
37-Depends: plainbox-provider-certification-server,
38+Depends: checkbox-ng (>>0.17),
39+ plainbox-provider-certification-server,
40 python3-checkbox-ng,
41 ${misc:Depends},
42 ${python3:Depends}
43@@ -426,7 +427,7 @@
44 Provides: checkbox-qt
45 Replaces: checkbox-qt
46 Description: QML based interface for system testing based on Plainbox.
47- Provides an interface for executing system tests. The results can be
48+ Provides an interface for executing system tests. The results can be
49 viewed at the end.
50 .
51 This package provides the checkbox-gui binary.

Subscribers

People subscribed via source and target branches