buildd is unnecessarily coupled to the launchpad tree through tac file and readyservice
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Martin Pool |
Bug Description
The way that buildd-slave is deployed means that the following files cannot depend on any other files in the Launchpad tree:
* daemons/
* lib/canonical/
* canonical/
This is a source of deployment failures.
<jml> lamont: how much of the Launchpad tree is deployed to buildslaves?
<lamont> the launchpad-buildd package (cd lib/canonical/
<jml> lamont: ISTR once changing tachandler (in lib/canonical/
<lamont> jml: and then lifeless saved us
<lamont> we don't use tachandler anymore
<lamont> we use its sister
<jml> lamont: so I'm safe to move all of these awesome general purpose functions out of tachandler. fantastic.
<lamont> double check the history in the buildd to be sure, but I think so
<lamont> prepare:
install -m644 $(daemons)
ac
cp ../launchpad/
<lamont> jml: ^^
<lamont> those are the two files we copy in now
Related branches
- Julian Edwards (community): Needs Information
-
Diff: 172 lines (+45/-19)5 files modifiedlib/canonical/buildd/buildd-slave.tac (+3/-10)
lib/canonical/buildd/debian/changelog (+8/-0)
lib/canonical/buildd/debian/rules (+1/-5)
lib/canonical/buildd/tests/harness.py (+12/-4)
lib/canonical/launchpad/daemons/tachandler.py (+21/-0)
- Launchpad code reviewers: Pending requested
-
Diff: 9037 lines (+19/-8598)63 files modified.bzrignore (+0/-8)
buildout.cfg (+4/-2)
lib/canonical/buildd/Makefile (+0/-19)
lib/canonical/buildd/README (+0/-47)
lib/canonical/buildd/__init__.py (+0/-5)
lib/canonical/buildd/binarypackage.py (+0/-133)
lib/canonical/buildd/buildd-config.py (+0/-54)
lib/canonical/buildd/buildd-slave-example.conf (+0/-25)
lib/canonical/buildd/buildd-slave.tac (+0/-55)
lib/canonical/buildd/buildrecipe (+0/-220)
lib/canonical/buildd/check-implicit-pointer-functions (+0/-118)
lib/canonical/buildd/debian.py (+0/-239)
lib/canonical/buildd/debian/changelog (+0/-698)
lib/canonical/buildd/debian/compat (+0/-1)
lib/canonical/buildd/debian/control (+0/-17)
lib/canonical/buildd/debian/launchpad-buildd.cron.daily (+0/-10)
lib/canonical/buildd/debian/launchpad-buildd.examples (+0/-1)
lib/canonical/buildd/debian/launchpad-buildd.init (+0/-98)
lib/canonical/buildd/debian/postinst (+0/-101)
lib/canonical/buildd/debian/rules (+0/-96)
lib/canonical/buildd/debian/source/format (+0/-1)
lib/canonical/buildd/debian/upgrade-config (+0/-122)
lib/canonical/buildd/generate-translation-templates (+0/-66)
lib/canonical/buildd/mount-chroot (+0/-25)
lib/canonical/buildd/override-sources-list (+0/-31)
lib/canonical/buildd/pottery/generate_translation_templates.py (+0/-114)
lib/canonical/buildd/pottery/intltool.py (+0/-342)
lib/canonical/buildd/remove-build (+0/-25)
lib/canonical/buildd/sbuild (+0/-3658)
lib/canonical/buildd/sbuild-package (+0/-92)
lib/canonical/buildd/sbuild.conf (+0/-155)
lib/canonical/buildd/sbuildrc (+0/-32)
lib/canonical/buildd/scan-for-processes (+0/-43)
lib/canonical/buildd/slave.py (+0/-686)
lib/canonical/buildd/sourcepackagerecipe.py (+0/-144)
lib/canonical/buildd/template-buildd-slave.conf (+0/-32)
lib/canonical/buildd/test_buildd_generatetranslationtemplates (+0/-33)
lib/canonical/buildd/test_buildd_recipe (+0/-48)
lib/canonical/buildd/tests/__init__.py (+0/-4)
lib/canonical/buildd/tests/buildd-slave-test.conf (+0/-27)
lib/canonical/buildd/tests/buildlog (+0/-23)
lib/canonical/buildd/tests/buildlog.long (+0/-82)
lib/canonical/buildd/tests/harness.py (+0/-139)
lib/canonical/buildd/tests/test_1.diff (+0/-17)
lib/canonical/buildd/tests/test_2.diff (+0/-32)
lib/canonical/buildd/tests/test_buildd_slave.py (+0/-198)
lib/canonical/buildd/tests/test_check_implicit_pointer_functions.py (+0/-43)
lib/canonical/buildd/tests/test_harness.py (+0/-10)
lib/canonical/buildd/tests/test_translationtemplatesbuildmanager.py (+0/-173)
lib/canonical/buildd/translationtemplates.py (+0/-99)
lib/canonical/buildd/umount-chroot (+0/-40)
lib/canonical/buildd/unpack-chroot (+0/-52)
lib/canonical/buildd/update-debian-chroot (+0/-45)
lib/canonical/launchpad/daemons/readyservice.py (+0/-6)
lib/lp/buildmaster/model/builder.py (+3/-3)
lib/lp/buildmaster/tests/mock_slaves.py (+1/-1)
lib/lp/buildmaster/tests/test_builder.py (+2/-1)
lib/lp/buildmaster/tests/test_manager.py (+2/-1)
lib/lp/testing/factory.py (+0/-1)
lib/lp/translations/tests/test_generate_translation_templates.py (+5/-2)
lib/lp/translations/tests/test_pottery_detect_intltool.py (+1/-1)
scripts/rosetta/pottery-generate-intltool.py (+1/-1)
utilities/snakefood/lp-sfood-packages (+0/-1)
- Brad Crittenden (community): Approve (code)
-
Diff: 9037 lines (+8598/-19)63 files modified.bzrignore (+8/-0)
buildout.cfg (+2/-4)
lib/canonical/buildd/Makefile (+19/-0)
lib/canonical/buildd/README (+47/-0)
lib/canonical/buildd/__init__.py (+5/-0)
lib/canonical/buildd/binarypackage.py (+133/-0)
lib/canonical/buildd/buildd-config.py (+54/-0)
lib/canonical/buildd/buildd-slave-example.conf (+25/-0)
lib/canonical/buildd/buildd-slave.tac (+55/-0)
lib/canonical/buildd/buildrecipe (+220/-0)
lib/canonical/buildd/check-implicit-pointer-functions (+118/-0)
lib/canonical/buildd/debian.py (+239/-0)
lib/canonical/buildd/debian/changelog (+698/-0)
lib/canonical/buildd/debian/compat (+1/-0)
lib/canonical/buildd/debian/control (+17/-0)
lib/canonical/buildd/debian/launchpad-buildd.cron.daily (+10/-0)
lib/canonical/buildd/debian/launchpad-buildd.examples (+1/-0)
lib/canonical/buildd/debian/launchpad-buildd.init (+98/-0)
lib/canonical/buildd/debian/postinst (+101/-0)
lib/canonical/buildd/debian/rules (+96/-0)
lib/canonical/buildd/debian/source/format (+1/-0)
lib/canonical/buildd/debian/upgrade-config (+122/-0)
lib/canonical/buildd/generate-translation-templates (+66/-0)
lib/canonical/buildd/mount-chroot (+25/-0)
lib/canonical/buildd/override-sources-list (+31/-0)
lib/canonical/buildd/pottery/generate_translation_templates.py (+114/-0)
lib/canonical/buildd/pottery/intltool.py (+342/-0)
lib/canonical/buildd/remove-build (+25/-0)
lib/canonical/buildd/sbuild (+3658/-0)
lib/canonical/buildd/sbuild-package (+92/-0)
lib/canonical/buildd/sbuild.conf (+155/-0)
lib/canonical/buildd/sbuildrc (+32/-0)
lib/canonical/buildd/scan-for-processes (+43/-0)
lib/canonical/buildd/slave.py (+686/-0)
lib/canonical/buildd/sourcepackagerecipe.py (+144/-0)
lib/canonical/buildd/template-buildd-slave.conf (+32/-0)
lib/canonical/buildd/test_buildd_generatetranslationtemplates (+33/-0)
lib/canonical/buildd/test_buildd_recipe (+48/-0)
lib/canonical/buildd/tests/__init__.py (+4/-0)
lib/canonical/buildd/tests/buildd-slave-test.conf (+27/-0)
lib/canonical/buildd/tests/buildlog (+23/-0)
lib/canonical/buildd/tests/buildlog.long (+82/-0)
lib/canonical/buildd/tests/harness.py (+139/-0)
lib/canonical/buildd/tests/test_1.diff (+17/-0)
lib/canonical/buildd/tests/test_2.diff (+32/-0)
lib/canonical/buildd/tests/test_buildd_slave.py (+198/-0)
lib/canonical/buildd/tests/test_check_implicit_pointer_functions.py (+43/-0)
lib/canonical/buildd/tests/test_harness.py (+10/-0)
lib/canonical/buildd/tests/test_translationtemplatesbuildmanager.py (+173/-0)
lib/canonical/buildd/translationtemplates.py (+99/-0)
lib/canonical/buildd/umount-chroot (+40/-0)
lib/canonical/buildd/unpack-chroot (+52/-0)
lib/canonical/buildd/update-debian-chroot (+45/-0)
lib/canonical/launchpad/daemons/readyservice.py (+6/-0)
lib/lp/buildmaster/model/builder.py (+3/-3)
lib/lp/buildmaster/tests/mock_slaves.py (+1/-1)
lib/lp/buildmaster/tests/test_builder.py (+1/-2)
lib/lp/buildmaster/tests/test_manager.py (+1/-2)
lib/lp/testing/factory.py (+1/-0)
lib/lp/translations/tests/test_generate_translation_templates.py (+2/-5)
lib/lp/translations/tests/test_pottery_detect_intltool.py (+1/-1)
scripts/rosetta/pottery-generate-intltool.py (+1/-1)
utilities/snakefood/lp-sfood-packages (+1/-0)
- Launchpad code reviewers: Pending requested
-
Diff: 9033 lines (+18/-8598)63 files modified.bzrignore (+0/-8)
buildout.cfg (+4/-2)
lib/canonical/buildd/Makefile (+0/-19)
lib/canonical/buildd/README (+0/-47)
lib/canonical/buildd/__init__.py (+0/-5)
lib/canonical/buildd/binarypackage.py (+0/-133)
lib/canonical/buildd/buildd-config.py (+0/-54)
lib/canonical/buildd/buildd-slave-example.conf (+0/-25)
lib/canonical/buildd/buildd-slave.tac (+0/-55)
lib/canonical/buildd/buildrecipe (+0/-220)
lib/canonical/buildd/check-implicit-pointer-functions (+0/-118)
lib/canonical/buildd/debian.py (+0/-239)
lib/canonical/buildd/debian/changelog (+0/-698)
lib/canonical/buildd/debian/compat (+0/-1)
lib/canonical/buildd/debian/control (+0/-17)
lib/canonical/buildd/debian/launchpad-buildd.cron.daily (+0/-10)
lib/canonical/buildd/debian/launchpad-buildd.examples (+0/-1)
lib/canonical/buildd/debian/launchpad-buildd.init (+0/-98)
lib/canonical/buildd/debian/postinst (+0/-101)
lib/canonical/buildd/debian/rules (+0/-96)
lib/canonical/buildd/debian/source/format (+0/-1)
lib/canonical/buildd/debian/upgrade-config (+0/-122)
lib/canonical/buildd/generate-translation-templates (+0/-66)
lib/canonical/buildd/mount-chroot (+0/-25)
lib/canonical/buildd/override-sources-list (+0/-31)
lib/canonical/buildd/pottery/generate_translation_templates.py (+0/-114)
lib/canonical/buildd/pottery/intltool.py (+0/-342)
lib/canonical/buildd/remove-build (+0/-25)
lib/canonical/buildd/sbuild (+0/-3658)
lib/canonical/buildd/sbuild-package (+0/-92)
lib/canonical/buildd/sbuild.conf (+0/-155)
lib/canonical/buildd/sbuildrc (+0/-32)
lib/canonical/buildd/scan-for-processes (+0/-43)
lib/canonical/buildd/slave.py (+0/-686)
lib/canonical/buildd/sourcepackagerecipe.py (+0/-144)
lib/canonical/buildd/template-buildd-slave.conf (+0/-32)
lib/canonical/buildd/test_buildd_generatetranslationtemplates (+0/-33)
lib/canonical/buildd/test_buildd_recipe (+0/-48)
lib/canonical/buildd/tests/__init__.py (+0/-4)
lib/canonical/buildd/tests/buildd-slave-test.conf (+0/-27)
lib/canonical/buildd/tests/buildlog (+0/-23)
lib/canonical/buildd/tests/buildlog.long (+0/-82)
lib/canonical/buildd/tests/harness.py (+0/-139)
lib/canonical/buildd/tests/test_1.diff (+0/-17)
lib/canonical/buildd/tests/test_2.diff (+0/-32)
lib/canonical/buildd/tests/test_buildd_slave.py (+0/-198)
lib/canonical/buildd/tests/test_check_implicit_pointer_functions.py (+0/-43)
lib/canonical/buildd/tests/test_harness.py (+0/-10)
lib/canonical/buildd/tests/test_translationtemplatesbuildmanager.py (+0/-173)
lib/canonical/buildd/translationtemplates.py (+0/-99)
lib/canonical/buildd/umount-chroot (+0/-40)
lib/canonical/buildd/unpack-chroot (+0/-52)
lib/canonical/buildd/update-debian-chroot (+0/-45)
lib/canonical/launchpad/daemons/readyservice.py (+0/-6)
lib/lp/buildmaster/model/builder.py (+2/-3)
lib/lp/buildmaster/tests/mock_slaves.py (+1/-1)
lib/lp/buildmaster/tests/test_builder.py (+2/-1)
lib/lp/buildmaster/tests/test_manager.py (+2/-1)
lib/lp/testing/factory.py (+0/-1)
lib/lp/translations/tests/test_generate_translation_templates.py (+5/-2)
lib/lp/translations/tests/test_pottery_detect_intltool.py (+1/-1)
scripts/rosetta/pottery-generate-intltool.py (+1/-1)
utilities/snakefood/lp-sfood-packages (+0/-1)
Changed in launchpad: | |
assignee: | nobody → Martin Pool (mbp) |
importance: | Low → High |
status: | Triaged → In Progress |
summary: |
- Some files in the Launchpad tree have surprisingly strict dependency - requirements + buildd is unnecessarily coupled to the launchpad tree through tac file + and readyservice |
tags: | added: bad-commit-14311 |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
This was mentioned in deploying a new build for bug 884997 and friends.
It looks like readyservice is barely used by the actual buildd code, and so perhaps it can be dispensed with. Alternatively, it's so small that perhaps it can just be copied in. This would be continuing from bug 663828.
The tac file seems like an implementation detail of the buildd that Launchpad itself shouldn't need to know about.
see also https:/ /dev.launchpad. net/CreatingNew Projects for splitting out the buildds