Merge lp://staging/~sinzui/juju-release-tools/build-source-packages into lp://staging/juju-release-tools

Proposed by Curtis Hovey
Status: Merged
Approved by: Martin Packman
Approved revision: 221
Merged at revision: 200
Proposed branch: lp://staging/~sinzui/juju-release-tools/build-source-packages
Merge into: lp://staging/juju-release-tools
Diff against target: 525 lines (+433/-2)
2 files modified
build_package.py (+260/-2)
tests/test_build_package.py (+173/-0)
To merge this branch: bzr merge lp://staging/~sinzui/juju-release-tools/build-source-packages
Reviewer Review Type Date Requested Status
Martin Packman (community) Approve
Review via email: mp+266564@code.staging.launchpad.net

Description of the change

Add source package creation to build_packages.py

This branch rethinks how we make source packages to reduce duplication, run unattended, and run faster. The shell scripts were tuned and inlined into the python.

1. Add JujuSeries to help find series, versions codenames, and status
2. Instead of creating a new source pacakage branch by importing the
   release tarfile for each series, the action is done once.
3. The rules to create the ubuntu version string and changelog
   message are simplified because we now trust CI to make source
   packages
4. Source packages are always made unsigned, if a gpgcmd is provided,
   the package will be signed afterwards. We don't have two ways to build
   a package now. The call to dch now uses "--force-distribution" to
   prevent a prompt to approve unknowwn series (like wily)
5. The directory tree is very regular:
   SPB: $WORKSPACE/juju-build-any-all
   SP: $WORKSPACE/juju-build-<series>-all
   build: $WORKSPACE/juju-build-<series>-all/build-area
   source: $WORKSPACE/juju-build-<series>-all/source
   ^ We care about the files in each $WORKSPACE/juju-build-<series>-all/*.*

I used this script yesterday when attempting a release of 1.24 (we aborted)

build_package.py -v source \
    --debemail "$DEBEMAIL" --debfullname "$DEBFULLNAME" \
    --gpgcmd $JUJU_HOME/cloudgpg \
    juju-core_$VERSION.tar.gz ./ LIVING $BUGS

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

Looks good! Some nits and style comments inline, nothing actually must be done before landing this.

review: Approve
222. By Curtis Hovey

_JujuSeries is a singleton.

223. By Curtis Hovey

rename STABLE_PATTERN to VERSION_PATTERN

224. By Curtis Hovey

upatch is '1' not 0 per the rule we current build with. Added test for LIVING.

225. By Curtis Hovey

Removed crack from hacking with a mac.

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