Merge lp:~roadmr/checkbox/packaging-c-c-s-retry into lp:~checkbox-dev/checkbox/checkbox-packaging

Proposed by Daniel Manrique
Status: Rejected
Rejected by: Daniel Manrique
Proposed branch: lp:~roadmr/checkbox/packaging-c-c-s-retry
Merge into: lp:~checkbox-dev/checkbox/checkbox-packaging
Diff against target: 72 lines (+11/-22)
4 files modified
debian/canonical-certification-server.install (+0/-3)
debian/control (+3/-13)
debian/extras/canonical-certification-config/canonical-certification.conf (+6/-6)
debian/plainbox-provider-certification-server.install (+2/-0)
To merge this branch: bzr merge lp:~roadmr/checkbox/packaging-c-c-s-retry
Reviewer Review Type Date Requested Status
Zygmunt Krynicki (community) Disapprove
Daniel Manrique (community) Needs Resubmitting
Review via email: mp+212928@code.launchpad.net

This proposal supersedes a proposal from 2014-03-26.

Description of the change

Another try at making canonical-certification-server usable by installing only *one* seed package.

plainbox-provider-certification-server depends on
checkbox-ng which contains the appropriate binary to run its tests.
Installing it will also remove the old canonical-certification-server
package.

c-c-s was turned into a dummy, empty package. It will be removed by
plainbox-provider-certification-server but this may be
useful for upgrades and whatnot so I left it there.

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

I'm OK with this... awaiting further approval from zyga or spineau

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

I found out what happened with the example xdg/canonical-certification.conf file; it was part of canonical-certification-server, so when we started deprecating that package, the file disappeared.

I've modified this to add that file to the provider package, and also to properly Conflict and Replace that package so the config file, if existing, gets taken over by the provider package.

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

This is good except for one line, I think:

25 Package: canonical-certification-server
26 Architecture: all
27 -Depends: plainbox-provider-certification-server,
28 - python3-checkbox-ng,
29 - ${misc:Depends},
30 - ${python3:Depends}
31 Provides: checkbox-certification-server
32 Conflicts: checkbox-certification-server
33 Replaces: checkbox-certification-server
34 Description: Canonical Certification Server.
35 - checkbox-certification-server
36 + checkbox-certification-server. A dummy transitional package.
37

On line 27 there you drop the only way for people who used to have this package, to get the new desired package.

I would also add 'Priority: extra' which is the practice for transitional packages.

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

I'll push an update adding the depends and the priority.

A question though: if c-c-s depends: p-p-c-s (pardon the abbreviations), and p-p-c-s conflicts: and replaces: c-c-s, *and* I install the new version of c-c-s, what will happen? if a dependency breaks the package I'm trying to install, won't the universe collapse?

Versioning restrictions would work here, but I'm not entirely sure of which versions to use. c-c-s should depends: p-p-c-s >= 0.17.9 and p-p-c-s should conflicts: and replaces: c-c-s << 0.17.9, assuming 0.17.9 is the next stable release. Versioning is in a state of flux so again, I'm unsure.

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

resubmitted with above changes, still needs work.

review: Needs Resubmitting
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Hey.

Let's start over with two assumptions:

1) people used ppa-purge to clean up after whatever they had installed
2) we use one of the new packaging branches lp:~checkbox-dev/checkbox/ppa-packaging-*

I think this way we'll end up with a correct solution and we already need to use ppa-purge to fix the version problem we introduced long long ago, before plainbox and providers were in trusty.

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

I'll kill this MR and replace with merges on the new packaging branches.

Unmerged revisions

72. By Daniel Manrique

Fixes to deprecate canonical-certification-server.

plainbox-provider-certification-server depends on checkbox-ng which contains
the appropriate binary to run its tests. Installing it will also remove the
old canonical-certification-server package. It Conflicts: and Replaces: c-c-s
to take over the configuration files, in case they exist.

c-c-s is GONE now.

The example canonical-certification.conf file, as well as the
canonical-certification-server upstart job, were relocated to the
plainbox-provider-certification-server package.

Finally, plainbox-provider-certification-server depends on proper versions of
checkbox-ng and plainbox-provider-checkbox from the ppa.

71. By Daniel Manrique

Fixed syntax error in c-c-s config file

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed 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 1970-01-01 00:00:00 +0000
4@@ -1,3 +0,0 @@
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-25 16:08:58 +0000
11+++ debian/control 2014-03-27 15:34:16 +0000
12@@ -118,7 +118,9 @@
13
14 Package: plainbox-provider-certification-server
15 Architecture: all
16-Depends: plainbox-provider-checkbox
17+Depends: checkbox-ng (>=0.3~dev), plainbox-provider-checkbox (>=0.4~dev)
18+Conflicts: canonical-certification-server
19+Replaces: canonical-certification-server
20 Recommends: apache2,
21 bind9,
22 bonnie++,
23@@ -304,18 +306,6 @@
24 environment. Normally the configuration file shipped by this package should
25 not be packaged
26
27-Package: canonical-certification-server
28-Architecture: all
29-Depends: plainbox-provider-certification-server,
30- python3-checkbox-ng,
31- ${misc:Depends},
32- ${python3:Depends}
33-Provides: checkbox-certification-server
34-Conflicts: checkbox-certification-server
35-Replaces: checkbox-certification-server
36-Description: Canonical Certification Server.
37- checkbox-certification-server
38-
39 Package: checkbox-gui
40 Architecture: any
41 Depends: checkbox-ng-service,
42
43=== modified file 'debian/extras/canonical-certification-config/canonical-certification.conf'
44--- debian/extras/canonical-certification-config/canonical-certification.conf 2014-02-25 16:20:21 +0000
45+++ debian/extras/canonical-certification-config/canonical-certification.conf 2014-03-27 15:34:16 +0000
46@@ -10,11 +10,11 @@
47 [environment]
48 # For virtualization testing.
49 # Uncomment the following 2 lines and set the proper parameters:
50-#kvm_timeout:
51-#kvm_image:
52+#kvm_timeout =
53+#kvm_image =
54 # For network testing.
55 # Uncomment the following 4 lines and set the proper parameters:
56-#test_target_ftp: your-ftp-server.example.com
57-#test_user: anonymous
58-#test_pass:
59-#test_target_iperf: your-iperf-server.example.com
60+#test_target_ftp = your-ftp-server.example.com
61+#test_user = anonymous
62+#test_pass =
63+#test_target_iperf = your-iperf-server.example.com
64
65=== modified file 'debian/plainbox-provider-certification-server.install'
66--- debian/plainbox-provider-certification-server.install 2013-12-02 09:04:30 +0000
67+++ debian/plainbox-provider-certification-server.install 2014-03-27 15:34:16 +0000
68@@ -1,2 +1,4 @@
69 usr/lib/plainbox-providers-1/certification-server
70 usr/share/plainbox-providers-1/certification-server.provider
71+checkbox-ng/contrib/canonical-certification-server.conf etc/init
72+debian/extras/canonical-certification-config/canonical-certification.conf /etc/xdg

Subscribers

People subscribed via source and target branches