diff --git a/Make.mk b/Make.mk index e1198158..3787a3a5 100644 --- a/Make.mk +++ b/Make.mk @@ -386,7 +386,7 @@ info.ps: info/TROFF.MAC info/INFO.MAC info/TOP.t $(tsubj) $(tsrc) .PHONY: dist-source dist-source: $(addprefix $(srcdir)/, $(src_distgen)) - $(tarball) $(TARNAME) $(version) -C $(srcdir) $(src_distgen) $(src) + $(tarball) -x $(srcdir)/src/scripts/gen-tarball-version $(TARNAME) $(version) -C $(srcdir) $(src_distgen) $(src) ifeq ($(revctrl),git) .PHONY: $(srcdir)/sources.mk @@ -396,7 +396,8 @@ endif .PHONY: dist-client dist-client: $(addprefix $(srcdir)/, $(cli_distgen)) - $(tarball) $(TARNAME)-client $(version) \ + $(tarball) -x $(srcdir)/src/scripts/gen-tarball-version \ + $(TARNAME)-client $(version) \ -C $(srcdir)/src/client \ $(notdir $(filter src/client/%, $(src)) $(cli_distgen)) \ -C $(srcdir)/include fnameat.h proto.h version.h \ diff --git a/src/scripts/gen-tarball-version b/src/scripts/gen-tarball-version new file mode 100755 index 00000000..20398afa --- /dev/null +++ b/src/scripts/gen-tarball-version @@ -0,0 +1,11 @@ +#!/bin/sh -e + +if [ $# = 0 ]; then + echo "Usage: $0 NAME VERSION (FILE | -C DIR)..." + exit 1 +fi + +nv=$1-$2 + +printf "%s" "$2" >$nv/.tarball-version +>$nv/.dirty-stamp diff --git a/src/scripts/tarball b/src/scripts/tarball index 3426203e..217594f6 100755 --- a/src/scripts/tarball +++ b/src/scripts/tarball @@ -1,18 +1,23 @@ #!/bin/sh -e if [ $# = 0 ]; then - echo "Usage: $0 NAME (FILE | -C DIR)..." + echo "Usage: $0 [-x TWEAK-SCRIPT ] NAME VERSION (FILE | -C DIR)..." exit 1 fi +script=: +if [ "$1" == -x ] +then + script=$2 + shift; shift +fi + name="$1" version="$2" shift; shift nv=$name-$version mkdir $nv -printf "%s" $version >$nv/.tarball-version ->$nv/.dirty-stamp # arrange cleanup trap 'rm -rf "$nv"' 0 @@ -30,4 +35,6 @@ until [ $# = 0 ]; do shift done +$script $name $version + tar -czf $nv.tar.gz --owner=0 --group=0 --mode=ug+w,a+rX $nv