Merge lp:~afrantzis/mir/automate-package-abi-versioning into lp:mir
Status: | Rejected |
---|---|
Rejected by: | Alexandros Frantzis |
Proposed branch: | lp:~afrantzis/mir/automate-package-abi-versioning |
Merge into: | lp:mir |
Diff against target: |
426 lines (+115/-96) 16 files modified
debian/control.in (+20/-20) debian/create_control_and_install_files.sh (+78/-0) debian/create_postinst_prerm_scripts.sh (+0/-39) debian/install_ld_so_conf.sh (+0/-26) debian/libmirclient-debug-extension.install.in (+1/-1) debian/libmirclient.install.in (+1/-1) debian/libmircommon.install.in (+1/-1) debian/libmirplatform.install.in (+1/-1) debian/libmirprotobuf.install.in (+1/-1) debian/libmirserver.install.in (+1/-1) debian/mir-client-platform-android.install.in (+1/-1) debian/mir-client-platform-mesa.install.in (+1/-1) debian/mir-platform-graphics-android.install.in (+1/-1) debian/mir-platform-graphics-mesa.install.in (+1/-1) debian/rules (+4/-0) src/protobuf/CMakeLists.txt (+3/-1) |
To merge this branch: | bzr merge lp:~afrantzis/mir/automate-package-abi-versioning |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alexandros Frantzis (community) | Disapprove | ||
Adam Conrad (community) | Needs Fixing | ||
Colin Watson (community) | Needs Fixing | ||
Chris Halse Rogers | Abstain | ||
Robert Carr (community) | Approve | ||
Cemil Azizoglu (community) | Needs Fixing | ||
Alan Griffiths | Abstain | ||
Kevin DuBois (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email: mp+251442@code.launchpad.net |
Commit message
debian: Automate creation of packaging files based on the current component ABIs
Description of the change
debian: Automate creation of packaging files based on the current component ABIs
With this MP some packaging files (debian/control and various debian/*.install files) are produced at package build time based on the ABIs detected in the source tree (but see "Future improvements" below).
Because during package pre-creation dpkg-source needs preliminary access to the source package fields (i.e. the top fields) of the control file, debian/control is symlinked to debian/control.in. At the beginning of the build process, the symlink is overwritten with a proper control file produced from control.in.
Using a control file produced at build time is a neat and versatile idea. However, there may be issues (e.g. too fragile?) we are not aware of and it may not be acceptable to our debian packaging overlords. If that's the case then we can fall back to having a script that can be invoked manually to update our packaging, plus corresponding tests to ensure that our packaging and source tree (i.e. ABIs) are in sync.
Future improvements:
* Improve how we handle ABIs in the source tree, so that we can detect them more cleanly at package build time (i.e. not grep through all the sources). Perhaps a single file that both CMake and our packaging scripts could read?
Unmerged revisions
- 2353. By Alexandros Frantzis
-
debian: Automate creation of packaging files based on the current component ABIs
PASSED: Continuous integration, rev:2353 jenkins. qa.ubuntu. com/job/ mir-ci/ 3102/ jenkins. qa.ubuntu. com/job/ mir-android- vivid-i386- build/1468 jenkins. qa.ubuntu. com/job/ mir-clang- vivid-amd64- build/1467 jenkins. qa.ubuntu. com/job/ mir-mediumtests -vivid- touch/1422 jenkins. qa.ubuntu. com/job/ mir-vivid- amd64-ci/ 1099 jenkins. qa.ubuntu. com/job/ mir-vivid- amd64-ci/ 1099/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 1422 jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- vivid-armhf/ 1422/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -runner- mako/4443 s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 18468
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- ci/3102/ rebuild
http://