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
=== modified file 'debian/canonical-certification-server.install'
--- debian/canonical-certification-server.install 2013-12-11 17:28:11 +0000
+++ debian/canonical-certification-server.install 2014-03-18 21:18:35 +0000
@@ -1,3 +1,2 @@
1checkbox-ng/contrib/canonical-certification-server.conf etc/init1checkbox-ng/contrib/canonical-certification-server.conf etc/init
2debian/extras/canonical-certification-config/canonical-certification.conf /etc/xdg2debian/extras/canonical-certification-config/canonical-certification.conf /etc/xdg
3usr/bin/canonical-certification-server
43
=== modified file 'debian/control'
--- debian/control 2014-03-18 16:56:38 +0000
+++ debian/control 2014-03-18 21:18:35 +0000
@@ -8,8 +8,8 @@
8Build-Depends: debhelper (>= 9.2),8Build-Depends: debhelper (>= 9.2),
9 dh-translations,9 dh-translations,
10 libnl-genl-3-dev,10 libnl-genl-3-dev,
11 libqt4-dev,
11 libqt5sql5-sqlite,12 libqt5sql5-sqlite,
12 libqt4-dev,
13 po-debconf,13 po-debconf,
14 python,14 python,
15 python-distutils-extra,15 python-distutils-extra,
@@ -311,8 +311,8 @@
311311
312Package: checkbox-ng312Package: checkbox-ng
313Architecture: all313Architecture: all
314Depends: python3-checkbox-ng314Depends: python3-checkbox-ng, ${misc:Depends}, ${python3:Depends}
315 ${misc:Depends}, ${python3:Depends}315Breaks: canonical-certification-server (<< 0.17.9+bzr2802)
316Description: Simple replacement for CheckBox316Description: Simple replacement for CheckBox
317 CheckBox command line tool317 CheckBox command line tool
318318
@@ -405,7 +405,8 @@
405405
406Package: canonical-certification-server406Package: canonical-certification-server
407Architecture: all407Architecture: all
408Depends: plainbox-provider-certification-server,408Depends: checkbox-ng (>>0.17),
409 plainbox-provider-certification-server,
409 python3-checkbox-ng,410 python3-checkbox-ng,
410 ${misc:Depends},411 ${misc:Depends},
411 ${python3:Depends}412 ${python3:Depends}
@@ -426,7 +427,7 @@
426Provides: checkbox-qt427Provides: checkbox-qt
427Replaces: checkbox-qt428Replaces: checkbox-qt
428Description: QML based interface for system testing based on Plainbox.429Description: QML based interface for system testing based on Plainbox.
429 Provides an interface for executing system tests. The results can be 430 Provides an interface for executing system tests. The results can be
430 viewed at the end.431 viewed at the end.
431 .432 .
432 This package provides the checkbox-gui binary.433 This package provides the checkbox-gui binary.

Subscribers

People subscribed via source and target branches