diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/charm/Makefile launchpad-buildd-209~528~ubuntu16.04.1/charm/Makefile --- launchpad-buildd-208~526~ubuntu16.04.1/charm/Makefile 2022-02-09 14:36:42.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/charm/Makefile 2022-02-10 14:31:35.000000000 +0000 @@ -3,7 +3,7 @@ BUILDDIR ?= $(CURDIR)/dist TMPDIR ?= $(CURDIR)/tmp -CHARM_SERIES ?= xenial +CHARM_SERIES ?= bionic CHARM_SRC ?= $(CURDIR) JUJU_REPOSITORY = $(BUILDDIR) CHARMDIR = $(BUILDDIR)/$(CHARM_SERIES)/$(NAME) @@ -34,7 +34,7 @@ rm -rf $(CHARMDIR) charm build -o $(BUILDDIR) -s $(CHARM_SERIES) -n $(NAME) $(EXTRA_CHARM_BUILD_ARGS) touch $(CHARMDIR)/dummy-launchpad-buildd.deb - touch $(CHARMDIR)/dummy-python-lpbuildd.deb + touch $(CHARMDIR)/dummy-python3-lpbuildd.deb touch $@ clean: @@ -48,7 +48,7 @@ mkdir -p $(RESOURCES) cp -a $(TMPDIR)/launchpad-buildd_*.deb \ $(RESOURCES)/launchpad-buildd.deb - cp -a $(TMPDIR)/python-lpbuildd_*.deb $(RESOURCES)/python-lpbuildd.deb + cp -a $(TMPDIR)/python3-lpbuildd_*.deb $(RESOURCES)/python3-lpbuildd.deb create-privileged-model: juju add-model privileged localhost @@ -60,7 +60,7 @@ deploy-with-packages: juju deploy \ --resource=launchpad-buildd=$(RESOURCES)/launchpad-buildd.deb \ - --resource=python-lpbuildd=$(RESOURCES)/python-lpbuildd.deb \ + --resource=python3-lpbuildd=$(RESOURCES)/python3-lpbuildd.deb \ $(CHARMDIR) push: @@ -69,7 +69,7 @@ push-with-packages: charm push \ --resource=launchpad-buildd=$(CHARMDIR)/dummy-launchpad-buildd.deb \ - --resource=python-lpbuildd=$(CHARMDIR)/dummy-python-lpbuildd.deb \ + --resource=python3-lpbuildd=$(CHARMDIR)/dummy-python3-lpbuildd.deb \ $(CHARMDIR) $(CHARM_STORE_URL) .PHONY: build packages build-with-packages clean diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/charm/metadata.yaml launchpad-buildd-209~528~ubuntu16.04.1/charm/metadata.yaml --- launchpad-buildd-208~526~ubuntu16.04.1/charm/metadata.yaml 2022-02-09 14:36:42.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/charm/metadata.yaml 2022-02-10 14:31:35.000000000 +0000 @@ -8,14 +8,14 @@ maintainer: Colin Watson subordinate: false series: - - xenial + - bionic resources: launchpad-buildd: type: file filename: launchpad-buildd.deb description: The main Launchpad builder package. - python-lpbuildd: + python3-lpbuildd: type: file - filename: python-lpbuildd.deb + filename: python3-lpbuildd.deb description: Python libraries supporting the Launchpad builder. min-juju-version: 2.0.0 diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/charm/reactive/launchpad-buildd.py launchpad-buildd-209~528~ubuntu16.04.1/charm/reactive/launchpad-buildd.py --- launchpad-buildd-208~526~ubuntu16.04.1/charm/reactive/launchpad-buildd.py 2022-02-09 14:36:42.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/charm/reactive/launchpad-buildd.py 2022-02-10 14:31:35.000000000 +0000 @@ -42,7 +42,7 @@ cache_dir = os.path.join(hookenv.charm_dir(), "cache") host.mkdir(cache_dir, perms=0o755) to_install = [] - packages = ["launchpad-buildd", "python-lpbuildd"] + packages = ["launchpad-buildd", "python3-lpbuildd"] options = ["--option=Dpkg::Options::=--force-confold"] resource_paths = [hookenv.resource_get(package) for package in packages] if all(path and os.path.getsize(path) for path in resource_paths): diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/debian/changelog launchpad-buildd-209~528~ubuntu16.04.1/debian/changelog --- launchpad-buildd-208~526~ubuntu16.04.1/debian/changelog 2022-02-09 14:36:43.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/debian/changelog 2022-02-10 14:31:35.000000000 +0000 @@ -1,8 +1,14 @@ -launchpad-buildd (208~526~ubuntu16.04.1) xenial; urgency=low +launchpad-buildd (209~528~ubuntu16.04.1) xenial; urgency=low * Auto build. - -- Jürgen Gmach Wed, 09 Feb 2022 14:36:43 +0000 + -- Launchpad Package Builder Thu, 10 Feb 2022 14:31:35 +0000 + +launchpad-buildd (209) UNRELEASED; urgency=medium + + * Upgrade charm to bionic and Python 3. + + -- Colin Watson Thu, 10 Feb 2022 09:27:28 +0000 launchpad-buildd (208) bionic; urgency=medium diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/debian/git-build-recipe.manifest launchpad-buildd-209~528~ubuntu16.04.1/debian/git-build-recipe.manifest --- launchpad-buildd-208~526~ubuntu16.04.1/debian/git-build-recipe.manifest 2022-02-09 14:36:43.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/debian/git-build-recipe.manifest 2022-02-10 14:31:35.000000000 +0000 @@ -1,2 +1,2 @@ -# git-build-recipe format 0.4 deb-version {debupstream}~526 -lp:launchpad-buildd git-commit:617d2278816f8c4bb99e485f3bba3878dd6d8bae +# git-build-recipe format 0.4 deb-version {debupstream}~528 +lp:launchpad-buildd git-commit:b573952ac5f336ca6ca3ee821eae00f454abacd9 diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/building.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/building.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/building.rst 2022-02-09 14:36:42.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/building.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -Building the project -******************** - -In order to build the package you need ``dpkg-dev`` and ``fakeroot``. - -To build the package, do: - -.. code:: bash - - debian/rules package - dpkg-buildpackage -rfakeroot -b - -It will "fail" because the package built in the "wrong" place. -Don't worry about that. - -To clean up, do: - -.. code:: bash - - fakeroot debian/rules clean - rm launchpad-buildd*deb - rm ../launchpad-buildd*changes diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/deployment.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/deployment.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/deployment.rst 2022-02-09 14:36:42.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/deployment.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -Production deployment notes -*************************** - -In Launchpad's production build farm, launchpad-buildd is deployed via base -virtual machine images constructed by taking standard Ubuntu cloud images -and installing launchpad-buildd in them from -https://launchpad.net/~canonical-is-sa/+archive/ubuntu/buildd. This is done -by -https://code.launchpad.net/~canonical-sysadmins/canonical-is-charms/launchpad-buildd-image-modifier -(currently private, sorry). - -At present (November 2020), most of these base VM images are built from -Ubuntu bionic, and launchpad-buildd runs on Python 3. However, it's -necessary to support the powerpc architecture until at least April 2021 (end -of standard maintenance for xenial), and the powerpc base images need to -stay on xenial since that architecture is no longer supported by bionic; -furthermore, the version of Twisted in xenial has some bugs that break -launchpad-buildd when running on Python 3. As a result, launchpad-buildd -must run on both Python 2 and 3 for the time being. \ No newline at end of file diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/developing.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/developing.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/developing.rst 2022-02-09 14:36:42.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/developing.rst 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -Developing -********** - -First of all, it is recommended that you create an lxc container, since the -following steps will make changes in your system. And since some build types -will only work with virtualized containers, creating an lxc vm is the best way -to go. If you just want to run the test suite, creating a container is -sufficient. - -You can create a container with the following command: - -.. code:: bash - - lxc launch --vm ubuntu:18.04 lp-builddev - -Note that you may want to have a profile to share the source code with the -container before running the above command. - -Then, inside the container, install the necessary dependencies: - -.. code:: bash - - sudo apt-get update - cat system-dependencies.txt | sudo xargs apt-get install -y - -This should be enough for you to be able to run `make check`, which runs the -test suite both in python2 and python3. - -More information on how to integrate it with Launchpad can be found here: -https://dev.launchpad.net/Soyuz/HowToDevelopWithBuildd - - -Creating a changelog entry --------------------------- - -In order to create a changelog entry in ``debian/changelog``, -you need to run ``dch`` from the ``devscripts`` package. - -.. code:: bash - - dch -U diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/explanation/deployment.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/explanation/deployment.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/explanation/deployment.rst 1970-01-01 00:00:00.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/explanation/deployment.rst 2022-02-10 14:31:35.000000000 +0000 @@ -0,0 +1,19 @@ +Production deployment notes +*************************** + +In Launchpad's production build farm, launchpad-buildd is deployed via base +virtual machine images constructed by taking standard Ubuntu cloud images +and installing launchpad-buildd in them from +https://launchpad.net/~canonical-is-sa/+archive/ubuntu/buildd. This is done +by +https://code.launchpad.net/~canonical-sysadmins/canonical-is-charms/launchpad-buildd-image-modifier +(currently private, sorry). + +At present (November 2020), most of these base VM images are built from +Ubuntu bionic, and launchpad-buildd runs on Python 3. However, it's +necessary to support the powerpc architecture until at least April 2021 (end +of standard maintenance for xenial), and the powerpc base images need to +stay on xenial since that architecture is no longer supported by bionic; +furthermore, the version of Twisted in xenial has some bugs that break +launchpad-buildd when running on Python 3. As a result, launchpad-buildd +must run on both Python 2 and 3 for the time being. \ No newline at end of file diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/building.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/building.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/building.rst 1970-01-01 00:00:00.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/building.rst 2022-02-10 14:31:35.000000000 +0000 @@ -0,0 +1,22 @@ +How to build the project +************************ + +In order to build the package you need ``dpkg-dev`` and ``fakeroot``. + +To build the package, do: + +.. code:: bash + + debian/rules package + dpkg-buildpackage -rfakeroot -b + +It will "fail" because the package built in the "wrong" place. +Don't worry about that. + +To clean up, do: + +.. code:: bash + + fakeroot debian/rules clean + rm launchpad-buildd*deb + rm ../launchpad-buildd*changes diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/changelog_entry.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/changelog_entry.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/changelog_entry.rst 1970-01-01 00:00:00.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/changelog_entry.rst 2022-02-10 14:31:35.000000000 +0000 @@ -0,0 +1,20 @@ + +How to create a changelog entry +******************************* + +Prerequisites +------------- + +.. code:: bash + + sudo apt install devscripts + +Create the changelog entry +-------------------------- + +In order to create a changelog entry in ``debian/changelog``, +you need to run the following command: + +.. code:: bash + + dch -U diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/deployment.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/deployment.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/deployment.rst 1970-01-01 00:00:00.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/deployment.rst 2022-02-10 14:31:35.000000000 +0000 @@ -0,0 +1,29 @@ +How to deploy launchpad-buildd +****************************** + +The following steps need to be performed before `Upgrading the builders +`_. + +1. Ensure everything has been merged to master. + +2. Create a new release branch, based on master. + +3. Run ``DEBEMAIL="" DEBFULLNAME="" dch -rD bionic``. + The later recipe build will prepend the correct preamble for each Ubuntu release. + +4. Commit and push this branch, open a MergeProposal for review. + +5. Once the release branch has merged to master, + tag the release commit and check https://code.launchpad.net/~launchpad/+recipe/launchpad-buildd-daily + for the recipe build to happen. + You can start a build if required. + +6. Upgrade the dogfood builders + (you may need someone on the LP team with permissions to help with this; + see `documentation `_). + +7. Perform QA + +8. File an upgrade RT (`sample `_), + noting the version number and possibly multiple suites/releases + (`IS procedure `_). diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/developing.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/developing.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/developing.rst 1970-01-01 00:00:00.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/developing.rst 2022-02-10 14:31:35.000000000 +0000 @@ -0,0 +1,31 @@ +How to set up a development environment +*************************************** + +First of all, it is recommended that you create an lxc container, since the +following steps will make changes in your system. And since some build types +will only work with virtualized containers, creating an lxc vm is the best way +to go. If you just want to run the test suite, creating a container is +sufficient. + +You can create a container with the following command: + +.. code:: bash + + lxc launch --vm ubuntu:18.04 lp-builddev + +Note that you may want to have a profile to share the source code with the +container before running the above command. + +Then, inside the container, install the necessary dependencies: + +.. code:: bash + + sudo apt-get update + cat system-dependencies.txt | sudo xargs apt-get install -y + +This should be enough for you to be able to run `make check`, which runs the +test suite both in python2 and python3. + +More information on how to integrate it with Launchpad can be found here: +https://dev.launchpad.net/Soyuz/HowToDevelopWithBuildd + diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/qa.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/qa.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/how-to/qa.rst 1970-01-01 00:00:00.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/how-to/qa.rst 2022-02-10 14:31:35.000000000 +0000 @@ -0,0 +1,11 @@ +How to perform QA +***************** + +Depending on the applied changes, +you may need to perform the following build types: + +1. `TranslationTemplates `_ +2. Source Package Recipe Build +3. OCI Image Build +4. Snap Build +5. Binary Package Build diff -Nru launchpad-buildd-208~526~ubuntu16.04.1/docs/index.rst launchpad-buildd-209~528~ubuntu16.04.1/docs/index.rst --- launchpad-buildd-208~526~ubuntu16.04.1/docs/index.rst 2022-02-09 14:36:42.000000000 +0000 +++ launchpad-buildd-209~528~ubuntu16.04.1/docs/index.rst 2022-02-10 14:31:35.000000000 +0000 @@ -20,6 +20,24 @@ :maxdepth: 2 self - developing - building - deployment + +How-to guides +------------- + +.. toctree:: + :maxdepth: 1 + + how-to/developing + how-to/changelog_entry + how-to/building + how-to/deployment + how-to/qa + + +Explanation +----------- + +.. toctree:: + :maxdepth: 1 + + explanation/deployment