Release scripts ready for 3.27.3 - Quick HOWTO



    So this week I ploughed through this convert-to-tarballs.py script
and I believe it's the last piece we are depending specifically on
jhbuild for.

So I did end up documenting how I did the 3.27.2 release here[0], but
as things have changed in this particular regard I'll lay out an
outline for Matthias's sake since he will be doing the release next
week I believe - I will be in Montreal time and should be available and
reachable during the week.

So, to make the 3.27.3 release, just completely disregard the jhbuild
modulesets, and start by cloning the read-only converted set of
modulesets, and then run the conversion, as such:

$ git clone https://gnome7.codethink.co.uk/gnome-modulesets.git
$ git clone git://git.gnome.org/releng
$ mkdir 3.27.3
$ cd 3.27.3
$ ../releng/smoketesting/bst-to-tarballs.py \
             -v 3.27.3
             -t tarballs/
             -c ../releng/smoketesting/tarball-conversion.config
             -d ../gnome-modulesets

This will take a long time, similar to convert-to-tarballs.py, and at
the end you will have your 3.27.3 directory containing a versions file
and a tarballs directory.

Before performing a build, you will need to track a couple things which
are not a part of the release and we dont make tarballs for:

$ cd ../gnome-modulesets
$ bst track core-deps/m4-common.bst base/crates.bst

The result of this is we'll have specific commit references for the
above two components which dont have any corresponding tarballs, which
is fine.

Now to run the build, I recommend this invocation:

$ bst --log-file ../build.log \
      --on-error continue \
      --error-lines 80 \
      build core/meta-gnome-core.bst apps/meta-gnome-apps-tested.bst

This will build everything that is a part of the release in one go, it
will build as much as possible in the case that anything fails, and
will save the complete log into ../build.log

Finally, to wrap up the converted project nicely in a tarball for the
releng directory https://download.gnome.org/teams/releng/3.27.3, just
do the following to the gnome-modulesets project:

$ rm -rf gnome-modulesets/.git
$ rm -rf gnome-modulesets/.bst
$ mv gnome-modulesets gnome-3.27.3
$ tar
-zcf gnome-3.27.3.tgz gnome-3.27.3
$ mv gnome-3.27.3.tgz 3.27.3/

Now you have a 3.27.3 directory with everything you need for the
release, also the master build log is possibly interesting to
distribute beside the gnome-3.27.3.tgz.

Do the regular thing with the versions file and ftpadmin scripts and
all should be well, afaics the versions script we're generating is
mostly the same as the one generated by convert-to-tarballs.py. I was
worried about handling non standard versions (which we do inĀ 
bst-to-tarballs.py), but since no weirdly revisioned tarballs are in
the configuration whitelist (tarball-conversions.config), those awkward
version numbers still dont make it into the versions file; so I'm not
worried about this part failing (although looks like we may need a bit
of work to handle the non standard versioning numbers, like with
libgudev).

Cheers,
    -Tristan


[0]: https://mail.gnome.org/archives/release-team/2017-November/msg00027.html




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]