[MERGE] Add 'build_release.py' script

Alexander Belchenko bialix at ukr.net
Wed Nov 26 11:39:57 GMT 2008

I've read the patch and it looks OK for me,

I'd like to point that you added parsing command-line options, but they're not
used actually.

+def main(args):
+    import optparse
+    p = optparse.OptionParser(usage='%prog [OPTIONS]')
+    opts, args = p.parse_args(args)

BTW, I'll use idea of this script as another use case from my scmproj plugin.
I think some of the work you doing in this script (creating checkout of bzr/plugins)
could be specified in the terms of complex project.

John Arbash Meinel пишет:
> Hash: SHA1
> The attached includes the build_release.py script that I'm using to
> build the win32 all-in-one installer.
> I figured it would be good to make this accessible to other people, and
> the best way I could come up with is to just include it in bzr.
> The actual VERSIONS will change over time, and I don't think we need a
> new one for each release. But if there are any major changes to the
> script, we can keep it up-to-date.
> At this point, it
> 1) Will bootstrap all dependencies if someone doesn't have
> bzr-svn/bzrtools/qbzr checked out.
> 2) Wipes the release directory before building.
> 3) Uses the release tags to grab snapshots of plugins.
> 4) Nukes snapshot dirs to help ensure consistent releases.
> 5) Stages the latest version of a bzr release branch, and then
> 'install's all of the plugins into that directory. And then calls "make
> installer".
> 6) Updates your 'tortoisebzr' installation to whatever is the 'tip' of
> lp:tortoisebzr. This may not be the best choice, as I don't know that
> the branch is considered stable. But considering tbzr itself isn't
> really considered stable yet, I figured it was good enough.
> At this point, building a release seems to be as easy as
> python build_release.py
> And if this is not an upgrade from a release candidate, then you just
> have to update the VERSIONS dict with the various packages.
> This is the script I used to build both the 1.8 installer and the
> 1.9rc1-3 installer, so I know it at least works on our shared Windows host.
> Note, it *doesn't* download all the dependencies like PyQt, nor does it
> set up all the ENV vars necessary to build the installer. Off-list I
> documented what it took for me to setup the shared windows host, and it
> was a good 20 steps or so. It would probably be good to write that up as
> more official documentation, and then try to keep it up-to-date. But for
> now, at least we have this.
> John
> =:->
> Version: GnuPG v1.4.9 (Cygwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> pVcAn13Pw4tig+VBKbpLAoxYTgldpycn
> =NnoZ

More information about the bazaar mailing list