From 7a9513ae1a7209073e7ee6128f23778070af1e02 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sat, 23 May 2020 10:56:13 +0100 Subject: split out the all source package release process --- release/allsource.mdwn | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++ release/process.mdwn | 92 ++---------------------------------------------- 2 files changed, 97 insertions(+), 89 deletions(-) create mode 100644 release/allsource.mdwn diff --git a/release/allsource.mdwn b/release/allsource.mdwn new file mode 100644 index 0000000..ca7cf01 --- /dev/null +++ b/release/allsource.mdwn @@ -0,0 +1,94 @@ +[[!meta title="Releasing All source package"]] +[[!meta author="VincentSanders"]] +[[!meta date="2020-05-23T10:40:07Z"]] + +# Release process for all source package + +clone the all repo + + git clone ssh://nsgit@git.netsurf-browser.org/netsurf-all.git + +ensure ther submodules are initialised + + git submodule init + +output will be something like + + Submodule 'buildsystem' (git://git.netsurf-browser.org/buildsystem.git) registered for path 'buildsystem' + Submodule 'libcss' (git://git.netsurf-browser.org/libcss.git) registered for path 'libcss' + Submodule 'libdom' (git://git.netsurf-browser.org/libdom.git) registered for path 'libdom' + Submodule 'libhubbub' (git://git.netsurf-browser.org/libhubbub.git) registered for path 'libhubbub' + Submodule 'libnsbmp' (git://git.netsurf-browser.org/libnsbmp.git) registered for path 'libnsbmp' + Submodule 'libnsfb' (git://git.netsurf-browser.org/libnsfb.git) registered for path 'libnsfb' + Submodule 'libnsgif' (git://git.netsurf-browser.org/libnsgif.git) registered for path 'libnsgif' + Submodule 'libnspsl' (http://git.netsurf-browser.org/libnspsl.git) registered for path 'libnspsl' + Submodule 'libnsutils' (http://git.netsurf-browser.org/libnsutils.git/) registered for path 'libnsutils' + Submodule 'libparserutils' (git://git.netsurf-browser.org/libparserutils.git) registered for path 'libparserutils' + Submodule 'libpencil' (git://git.netsurf-browser.org/libpencil.git) registered for path 'libpencil' + Submodule 'librosprite' (git://git.netsurf-browser.org/librosprite.git) registered for path 'librosprite' + Submodule 'librufl' (git://git.netsurf-browser.org/librufl.git) registered for path 'librufl' + Submodule 'libsvgtiny' (git://git.netsurf-browser.org/libsvgtiny.git) registered for path 'libsvgtiny' + Submodule 'libutf8proc' (http://git.netsurf-browser.org/libutf8proc.git/) registered for path 'libutf8proc' + Submodule 'libwapcaplet' (git://git.netsurf-browser.org/libwapcaplet.git) registered for path 'libwapcaplet' + Submodule 'netsurf' (git://git.netsurf-browser.org/netsurf.git) registered for path 'netsurf' + Submodule 'nsgenbind' (git://git.netsurf-browser.org/nsgenbind.git) registered for path 'nsgenbind' + +ensure the submodules are updated + + git submodule update + +If a new submodule is required (e.g. new library) it must be added and then the .gitmodules file checked for correctnes. +Once happy commit the changes. Note use the git uri for the submodules not http + + git submodule add git://git.netsurf-browser.org/libnslog.git + vi .gitmodules + git commit -a -m 'Add libnslog submodule' + +if adding a submodule the Makefile may require editing to build the library or utility + +for each submodule listed above the correct revision must be set. A utility target is provided in the makefile + + make checkout-release + +This obtains the most recent release tag for each submodule and checks it out, equivalent to: + + cd buildsystem + git checkout origin/HEAD + git checkout $(git describe --abbrev=0 --match="release/*" ) + cd .. + +once each submodule has been updated in the top level netsurf-all directory. +The modified submodules should then be added ready for commit + + git add buildsystem libcss libdom libhubbub libnsbmp libnsfb libnsgif libparserutils librosprite libsvgtiny libwapcaplet netsurf nsgenbind + git commit -m 'Update submodules for 3.7 release' + +ensure the component version in the Makefile has been updated + +finally tag the branch for release + + git tag -s -m 'Official Release' release/ + +make the distribution tarball and check its contents + + make dist + +The git-archive-all module is needed for the dist step from + + https://github.com/Kentzo/git-archive-all + +Next do a dry run push + + git push -n --tags + +ensure this shown the correct repo and the release tag something like + + [gitano] Welcome to the NetSurf Gitano instance. + To ssh://nsgit@git.netsurf-browser.org/netsurf-all.git + * [new tag] release/3.7 -> release/3.7 + +If that verifies as correct + + git push && git push --tags + +and the release tag is pushed, too late now so be careful and check! diff --git a/release/process.mdwn b/release/process.mdwn index 13661fe..24701a9 100644 --- a/release/process.mdwn +++ b/release/process.mdwn @@ -27,7 +27,7 @@ source-buildsystem job has successfully run and produced output in The public suffix list library should be updated for each release after the buildsystem. -Delete the 'public_suffix_list.dat' file and run make, this will cause a +Delete the `public_suffix_list.dat` file and run make, this will cause a fresh copy to be downloaded and converted. You will need the correct perl modules installed for this step. @@ -70,97 +70,11 @@ NetSurf itself does not use the core buildsystem and has its own [[release proce # Releasing the all source -clone the all repo +The [[all source release process|release/allsource]] should then be followed. - git clone ssh://nsgit@git.netsurf-browser.org/netsurf-all.git - -ensure ther submodules are initialised - - git submodule init - -output will be something like - - Submodule 'buildsystem' (git://git.netsurf-browser.org/buildsystem.git) registered for path 'buildsystem' - Submodule 'libcss' (git://git.netsurf-browser.org/libcss.git) registered for path 'libcss' - Submodule 'libdom' (git://git.netsurf-browser.org/libdom.git) registered for path 'libdom' - Submodule 'libhubbub' (git://git.netsurf-browser.org/libhubbub.git) registered for path 'libhubbub' - Submodule 'libnsbmp' (git://git.netsurf-browser.org/libnsbmp.git) registered for path 'libnsbmp' - Submodule 'libnsfb' (git://git.netsurf-browser.org/libnsfb.git) registered for path 'libnsfb' - Submodule 'libnsgif' (git://git.netsurf-browser.org/libnsgif.git) registered for path 'libnsgif' - Submodule 'libnspsl' (http://git.netsurf-browser.org/libnspsl.git) registered for path 'libnspsl' - Submodule 'libnsutils' (http://git.netsurf-browser.org/libnsutils.git/) registered for path 'libnsutils' - Submodule 'libparserutils' (git://git.netsurf-browser.org/libparserutils.git) registered for path 'libparserutils' - Submodule 'libpencil' (git://git.netsurf-browser.org/libpencil.git) registered for path 'libpencil' - Submodule 'librosprite' (git://git.netsurf-browser.org/librosprite.git) registered for path 'librosprite' - Submodule 'librufl' (git://git.netsurf-browser.org/librufl.git) registered for path 'librufl' - Submodule 'libsvgtiny' (git://git.netsurf-browser.org/libsvgtiny.git) registered for path 'libsvgtiny' - Submodule 'libutf8proc' (http://git.netsurf-browser.org/libutf8proc.git/) registered for path 'libutf8proc' - Submodule 'libwapcaplet' (git://git.netsurf-browser.org/libwapcaplet.git) registered for path 'libwapcaplet' - Submodule 'netsurf' (git://git.netsurf-browser.org/netsurf.git) registered for path 'netsurf' - Submodule 'nsgenbind' (git://git.netsurf-browser.org/nsgenbind.git) registered for path 'nsgenbind' - -ensure the submodules are updated - - git submodule update - -If a new submodule is required (e.g. new library) it must be added and then the .gitmodules file checked for correctnes. -Once happy commit the changes. Note use the git uri for the submodules not http - - git submodule add git://git.netsurf-browser.org/libnslog.git - vi .gitmodules - git commit -a -m 'Add libnslog submodule' - -if adding a submodule the Makefile may require editing to build the library or utility - -for each submodule listed above the correct revision must be set. A utility target is provided in the makefile - - make checkout-release - -This obtains the most recent release tag for each submodule and checks it out, equivalent to: - - cd buildsystem - git checkout origin/HEAD - git checkout $(git describe --abbrev=0 --match="release/*" ) - cd .. - -once each submodule has been updated in the top level netsurf-all directory. -The modified submodules should then be added ready for commit - - git add buildsystem libcss libdom libhubbub libnsbmp libnsfb libnsgif libparserutils librosprite libsvgtiny libwapcaplet netsurf nsgenbind - git commit -m 'Update submodules for 3.7 release' - -ensure the component version in the Makefile has been updated - -finally tag the branch for release - - git tag -s -m 'Official Release' release/ - -make the distribution tarball and check its contents - - make dist - -The git-archive-all module is needed for the dist step from - - https://github.com/Kentzo/git-archive-all - -Next do a dry run push - - git push -n --tags - -ensure this shown the correct repo and the release tag something like - - [gitano] Welcome to the NetSurf Gitano instance. - To ssh://nsgit@git.netsurf-browser.org/netsurf-all.git - * [new tag] release/3.7 -> release/3.7 - -If that verifies as correct - - git push && git push --tags - -and the release tag is pushed, too late now so be careful and check! # Bugtracker The netsurf release version must be marked as released in mantis and the -next development version added if its not already present +next development version added if its not already present. -- cgit v1.2.3