Merge lp://qastaging/~sylvain-pineau/checkbox/all-in-one into lp://qastaging/~checkbox-dev/checkbox/checkbox-packaging

Proposed by Sylvain Pineau
Status: Merged
Approved by: Zygmunt Krynicki
Approved revision: 43
Merged at revision: 23
Proposed branch: lp://qastaging/~sylvain-pineau/checkbox/all-in-one
Merge into: lp://qastaging/~checkbox-dev/checkbox/checkbox-packaging
Diff against target: 573 lines (+337/-43)
20 files modified
debian/changelog (+14/-2)
debian/checkbox-urwid.postinst (+0/-7)
debian/control (+118/-6)
debian/extras/ihv-demo-config/plainbox.conf (+8/-0)
debian/plainbox-autostart-desktop.install (+1/-0)
debian/plainbox-autostart-server.install (+1/-0)
debian/plainbox-ci-mailer.install (+1/-0)
debian/plainbox-ihv-demo-config.install (+1/-0)
debian/plainbox-insecure-policy.install (+1/-0)
debian/plainbox-secure-policy.install (+1/-0)
debian/plainbox-service.install (+2/-0)
debian/plainbox.changelog (+86/-0)
debian/plainbox.install (+1/-0)
debian/python3-plainbox.install (+2/-0)
debian/python3-plainbox.links (+1/-0)
debian/python3-plainbox.lintian-overrides (+8/-0)
debian/python3-pyremove (+2/-0)
debian/rules (+72/-28)
debian/tests/control (+2/-0)
debian/tests/unit-tests (+15/-0)
To merge this branch: bzr merge lp://qastaging/~sylvain-pineau/checkbox/all-in-one
Reviewer Review Type Date Requested Status
Zygmunt Krynicki (community) Approve
Sylvain Pineau (community) Needs Resubmitting
Review via email: mp+192227@code.qastaging.launchpad.net

Description of the change

The goal of this MR is to have only one packaging branch to build all our checkbox/plainbox binaries.

The tricky part is the versioning of plainbox packages coming from plainbox-packaging because they followed
the versions of the plainbox changelog.
To work around this issue, we override dh_installchangelogs to provide the original plainbox changelog.
But this changelog must not contains the plainbox package name to avoid a conflict with the source package name, so every occurences of plainbox have been replaced by checkbox but at least the versioning works as expected.

To post a comment you must log in.
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Thanks, immense work! There are some conflicts but I'll review this proposal first thing tomorrow. Ping me on IRC when you prepare another respin of this patchset.

Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

ok, just rebased to avoid the conflicts in debian/rules. Ready for review now.

23. By Sylvain Pineau

remove unused checkbox-urwid.postinst

24. By Sylvain Pineau

Updated changelog

25. By Sylvain Pineau

Added .install and .links files from plainbox-packaging

26. By Sylvain Pineau

Added autopkgtest test directory from plainbox-packaging

27. By Sylvain Pineau

Added python3-pyremove from plainbox-packaging

28. By Sylvain Pineau

Added extras/ihv-demo-config/plainbox.conf from plainbox-packaging

29. By Sylvain Pineau

Added the plainbox changelog (as plainbox.changelog)

But renamed to plainbox.changelog to not conflict with the checkbox one.
To be used by dh_installchangelogs, all plainbox entries must be renamed
to checkbox in order to avoid the following error:

dpkg-gencontrol: error: source package has two conflicting values -
checkbox and plainbox

30. By Sylvain Pineau

debian:control: Update source package definition with plainbox requirements

31. By Sylvain Pineau

debian:control: Put python3-plainbox-doc before the rest of binaries

dh_installdirs installs stuff to the first package in debian/control,
ensure that's the -doc package.

32. By Sylvain Pineau

debian:control: Added all the plainbox* binaries from plainbox-packaging

33. By Sylvain Pineau

debian:control: clean up python related dependencies

- Removes unused ${python:Depends}
- Adds ${python3:Depends} to checkbox-cli and checkbox-qt
- Adds python3 (>= 3.2) to plainbox providers instead of ${python3:Depends}
  as dh_python3 does not replace this variable for packages not installing
  python modules/scripts in standard locations.

34. By Sylvain Pineau

Added lintian overrides for python3-plainbox

35. By Sylvain Pineau

debian:rules: merge plainbox-packaging settings

36. By Sylvain Pineau

debian:rules: Merge plainbox-packaging override_dh_auto_test

Note: both checkbox and plainbox "./setup.py test" are run with -vv.

37. By Sylvain Pineau

debian:rules: merge plainbox-packaging override_dh_auto_build

38. By Sylvain Pineau

debian:rules: merge plainbox-packaging override_dh_auto_install

39. By Sylvain Pineau

debian:rules: merge plainbox-packaging override_dh_installdocs

40. By Sylvain Pineau

debian:rules: override_dh_python3 to include the plainbox binary package

Run dh_python3 with --ignore-shebangs and --no-shebang-rewrite all other
packages to avoid warnings about bash shebang of provider scripts.

41. By Sylvain Pineau

debian:rules: Keep plainbox changelog

First make a copy of plainbox.changelog per packages coming from the
plainbox-packaging branch making them non native packages.

Then clean the native ones from all changelog.Debian.gz to avoid a lintian
error.

42. By Sylvain Pineau

debian rules: Only keep one build rule for python3

43. By Sylvain Pineau

debian:rules: Reorder dh overrides the way they are executed

Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

Resubmitted with a better solution for keeping the plainbox changelog without the need of calling dh_installchangelogs. Copying the plainbox.changelog for every binaries from plainbox-packaging is enough.
But we need in that case to remove all changelog.Debian.gz from the build tree of all binaries coming from checkbox-packaging as those are considered native.

Important lines are:

find $(CURDIR)/debian -path "*usr/share/doc/*checkbox*" -iname "changelog*.gz" -exec rename "s/Debian\.gz/gz/" {} \;
find $(CURDIR)/debian -path "*usr/share/doc/plainbox-provider*" -iname "changelog*.gz" -exec rename "s/Debian\.gz/gz/" {} \;

And only keep one build rule for python3.

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

+1, great work :-)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches