[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,
bb:approve
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 пишет:
> -----BEGIN PGP SIGNED MESSAGE-----
> 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
> =:->
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (Cygwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAkkTOUEACgkQJdeBCYSNAAM5wACgqPgwf+mL66SojjEcGOn87jpv
> pVcAn13Pw4tig+VBKbpLAoxYTgldpycn
> =NnoZ
> -----END PGP SIGNATURE-----
>
More information about the bazaar
mailing list