From 26c8cb4e6c790b1d49aee98fff6716a2d93e627b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 13 Jan 2020 12:40:51 +0000 Subject: [PATCH] build: Add distcheck, maintainer-check-extra-dist and maintainer-release. --- Goalfile.in | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ Makefile.in | 3 ++- 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/Goalfile.in b/Goalfile.in index ec423f1..1885d20 100644 --- a/Goalfile.in +++ b/Goalfile.in @@ -257,3 +257,52 @@ goal dist = { mv "$o-t" "$o" rm -rf "$d" } + +goal distcheck = : dist { + d="@PACKAGE_NAME@-@PACKAGE_VERSION@" + tar zxf %tarfile + pushd "$d" + ./configure + make + make check + popd + rm -rf "$d" + print_green "PASS: distcheck" +} + +#---------------------------------------------------------------------- +# Maintainer rules. + +# Check no files are missing from distfiles above by unpacking the +# distribution tarball and comparing it to git. +goal maintainer-check-extra-dist = : dist @{ + tar ztf %tarfile | sort | + sed 's,^@PACKAGE_NAME@-@PACKAGE_VERSION@/,,' > tarfiles + git ls-files | sort > gitfiles + comm -13 tarfiles gitfiles > comm.out + cat comm.out + [ ! -s comm.out ] + rm tarfiles gitfiles comm.out + print_green "PASS: distfiles" +} + +# XXX This should also do a Fedora build. +goal maintainer-release = : dist, + maintainer-check-extra-dist, + distcheck, + maintainer-upload + +let websitedir = "%HOME/d/websites/people.redhat.com/goals" + +# XXX Should actually use the *url tactic here. +goal maintainer-upload = { + [ -d %websitedir ] + cp %tarfile %websitedir/files + cp README %websitedir/README + cp man/goals.1.txt man/Goalfile.5.txt %websitedir + cd %websitedir + git add files/%tarfile README goals.1.txt Goalfile.5.txt + git commit -m "@PACKAGE_NAME@ @PACKAGE_VERSION@" + cd .. + ./.rsync +} diff --git a/Makefile.in b/Makefile.in index 6ae85e8..7b110fc 100644 --- a/Makefile.in +++ b/Makefile.in @@ -18,7 +18,8 @@ # Pass through normal targets to Goalfile.in -all clean depend install check maintainer-clean dist: src/goals +all clean depend install check maintainer-clean dist distcheck \ +maintainer-check-extra-dist maintainer-release: src/goals @./run src/goals $@ # If src/goals doesn't exist then brute-force build it. Once we have -- 1.8.3.1