Update release script to include submodules in the archives

Use "git submodule foreach" to run "git archive" in all of the
submodules as well.

Also document the requirement to have GNU tar which is needed to be able
to successfully extract several concatenated tar archives.
This commit is contained in:
Vadim Zeitlin 2017-11-16 22:16:12 +01:00
parent 6471933857
commit 7fd25de661
2 changed files with 9 additions and 2 deletions

View File

@ -37,7 +37,14 @@ trap cleanup INT TERM EXIT
cleanup cleanup
mkdir -p $destdir mkdir -p $destdir
git archive --prefix=$prefix/ HEAD | (cd $destdir; tar x)
# We use GNU tar -i option to allow successfully extracting files from several
# tar archives concatenated together, without it we'd have to pipe output of
# each git-archive separately.
(git archive --prefix=$prefix/ HEAD;
git submodule foreach --quiet "cd $root/\$path && git archive --prefix=$prefix/\$path/ HEAD") |
tar x -C $destdir -i
cd $destdir cd $destdir
# All setup0.h files are supposed to be renamed to just setup.h when checked # All setup0.h files are supposed to be renamed to just setup.h when checked
# out and in the distribution. # out and in the distribution.

View File

@ -2,7 +2,7 @@
Creating a new release requires a few things before getting started: Creating a new release requires a few things before getting started:
* Linux or OSX. * Linux (or another Unix but GNU tar is required).
* Windows 7+ with HTML Help Workshop, and Inno Setup installed. * Windows 7+ with HTML Help Workshop, and Inno Setup installed.
* 7-Zip, Doxygen 1.8.8, and GraphViz installed on both machines. * 7-Zip, Doxygen 1.8.8, and GraphViz installed on both machines.