diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9ee9a5b4..d567897a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,6 +20,7 @@ jobs: ./configure --with-standalone --bindir=/ make DESTDIR=. install-exec echo VERSION=$(cat .version) >> $GITHUB_ENV + sha256sum vcsh-standalone.sh - name: Post standalone script artifact uses: actions/upload-artifact@v4 with: @@ -48,7 +49,7 @@ jobs: - name: Configure run: | ./bootstrap.sh - ./configure + ./configure --enable-developer-mode - name: Run tests run: | make check diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 45e6bfe3..c2e02750 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: echo "VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV echo "${GITHUB_REF#refs/*/v}" > .tarball-version ./bootstrap.sh - ./configure + ./configure --enable-developer-mode - name: Generate release-specific changelog run: | echo "PRERELEASE=${{ contains(env.VERSION, '-alpha') || contains(env.VERSION, '-beta') || contains(env.VERSION, '-rc') }}" >> $GITHUB_ENV @@ -41,8 +41,9 @@ jobs: prerelease: ${{ env.PRERELEASE }} body_path: changelog-HEAD files: | + vcsh-${{ env.VERSION }}.tar.zst vcsh-${{ env.VERSION }}.zip - vcsh-${{ env.VERSION }}.tar.xz + vcsh-${{ env.VERSION }}.sha256.txt deploy-standalone: runs-on: ubuntu-latest @@ -56,9 +57,11 @@ jobs: ./bootstrap.sh ./configure --with-standalone --bindir=/ make DESTDIR=. install-exec + sha256sum vcsh-standalone.sh | tee vcsh-standalone.sha256.txt - name: Add standalone deployment to release uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ github.token }} - file: vcsh-standalone.sh tag: ${{ github.ref }} + file_glob: true + file: vcsh-standalone.{sh,sha256.txt} diff --git a/.gitignore b/.gitignore index 2562f6ab..db46c3d3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ vcsh.1 +doc/vcsh.1.ronn *.patch *.swp .swp @@ -16,5 +17,6 @@ completions/vcsh config.log config.status configure +aminclude.am /vcsh vcsh-* diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 8cd4d5f3..329b3ec6 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -37,12 +37,16 @@ Harendra Kumar <harendra.kumar@gmail.com> James Davidson <james@greycastle.net> Jeff Fein-Worton <jeff@fein-worton.com> Jochen Keil <jochen.keil@gmail.com> +John Karahalis <john.karahalis@gmail.com> +John Whitley <whitley@bangpath.org> Jonathan Sternberg <jonathansternberg@gmail.com> Julien Lecomte <julien@lecomte.at> Kevin Lyda <kevin@lyda.ie> leycec <leycec@gmail.com> +Lyderic Landry <lyderic@lyderic.com> Markus Martin <markus@archwyrm.net> martin f. krafft <madduck@madduck.net> +Martin Kühl <martin.kuehl@posteo.net> Mathias Svensson <freaken@freaken.dk> mek-apelsin <mek@pels.in> Mert Dirik <mertdirik@gmail.com> diff --git a/Makefile.am b/Makefile.am index 87e69aaa..8e209fb1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,5 @@ ACLOCAL_AMFLAGS = -I build-aux +AM_DISTCHECK_CONFIGURE_FLAGS = --enable-developer-mode .ONESHELL: .SECONDARY: @@ -23,12 +24,22 @@ EXTRA_DIST += t/000-tear-env.t t/001-setup-env.t t/100-init.t t/300-add.t t/950- BUILT_SOURCES = CLEANFILES = $(dist_man_MANS) $(bin_SCRIPTS) -include $(top_srcdir)/build-aux/git_version.mk -include $(top_srcdir)/build-aux/shell_completion_dirs.mk +# A classical use of the autoconf-archive include macro would expand +# INC_AMINCLUDE here, but the perl script that inlines include statements +# runs before the automake that organizes logic and performs substitution. +# Consequentially with a substitution here it becomes impossible to use +# automake conditionals and substitutions in the included Makefile fragments. +# By entering the expanded value directly we are ready in time for the inlining +# functionality and hence can use conditionals in included makefile fragments. +include $(top_srcdir)/aminclude.am + +DISTCLEANFILES = @AMINCLUDE@ + +if !SOURCE_IS_DIST -if !IS_SDIST doc/vcsh.1: doc/vcsh.1.ronn $(RONN) < $< > $@ + endif $(COMPLETIONS_OUT_DIR)/$(TRANSFORMED_PACKAGE_NAME): completions/vcsh.bash @@ -40,7 +51,7 @@ $(COMPLETIONS_OUT_DIR)/_$(TRANSFORMED_PACKAGE_NAME): completions/vcsh.zsh install $< $@ if ENABLE_TESTS -_CHECKDEPS = prove +_CHECKDEPS = $(PROVE) endif check-local: $(_CHECKDEPS) @@ -58,17 +69,28 @@ prove: .PHONY: test test: prove -.PHONY: lint +PHONY_DEVELOPER_TARGETS = lint lint-editor-config lint-shellheck +.PHONY: $(PHONY_DEVELOPER_TARGETS) + +if DEVELOPER_MODE + lint: lint-editor-config lint-shellcheck -.PHONY: lint-editor-config lint-editor-config: ec -.PHONY: lint-shellheck lint-shellcheck: $(PACKAGE_NAME) shellcheck $< +else !DEVELOPER_MODE + +$(PHONY_DEVELOPER_TARGETS): + @: $(error "Please reconfigure using --enable-developer-mode to use developer tooling") + +endif !DEVELOPER_MODE + +if SOURCE_IS_GIT + CONTRIBUTORS: exec > $@ echo 'Alphabetical list of names of everyone who ever committed to this repository.' @@ -78,3 +100,5 @@ CONTRIBUTORS: changelog-HEAD: changelog sed -nEe '2d;s/^\t//p;/^$$/q;' $< > $@ + +endif SOURCE_IS_GIT diff --git a/bootstrap.sh b/bootstrap.sh index 0d8d2841..94f6b762 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -21,4 +21,14 @@ else ./build-aux/git-version-gen .tarball-version > .version fi +# Autoreconf uses a perl script to inline includes from Makefile.am into +# Makefile.in before ./configure is ever run even once ... which typically means +# AX_AUTOMAKE_MACROS forfeit access to substitutions or conditional logic +# because they enter the picture after those steps. We're intentially using the +# expanded value of @INC_AMINCLUDE@ directly so the include will be inlined. To +# bootstrap we must pre-seed an empty file to avoid a 'file not found' error on +# first run. Subsequently running ./configure will generate the correct content +# based on the configuration flags and also get re-inline into Makefile.in. +touch aminclude.am + autoreconf --install diff --git a/build-aux/ax_add_am_macro.m4 b/build-aux/ax_add_am_macro.m4 new file mode 100644 index 00000000..3962002b --- /dev/null +++ b/build-aux/ax_add_am_macro.m4 @@ -0,0 +1,29 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_add_am_macro.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_ADD_AM_MACRO([RULE]) +# +# DESCRIPTION +# +# Adds the specified rule to $AMINCLUDE. This macro will only work +# properly with implementations of Make which allow include statements. +# See also AX_ADD_AM_MACRO_STATIC. +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard <tomhoward@users.sf.net> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 10 + +AC_DEFUN([AX_ADD_AM_MACRO],[ + AC_REQUIRE([AX_AM_MACROS]) + AX_APPEND_TO_FILE([$AMINCLUDE],[$1]) +]) diff --git a/build-aux/ax_am_macros.m4 b/build-aux/ax_am_macros.m4 new file mode 100644 index 00000000..36c3ab6a --- /dev/null +++ b/build-aux/ax_am_macros.m4 @@ -0,0 +1,44 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_am_macros.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_AM_MACROS +# +# DESCRIPTION +# +# Adds support for macros that create Make rules. You must manually add +# the following line +# +# @INC_AMINCLUDE@ +# +# to your Makefile.in (or Makefile.am if you use Automake) files. +# +# LICENSE +# +# Copyright (c) 2009 Tom Howard <tomhoward@users.sf.net> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +AC_DEFUN([AX_AM_MACROS], +[ +AC_MSG_NOTICE([adding automake macro support]) +AMINCLUDE="aminclude.am" +AC_SUBST(AMINCLUDE) +AC_MSG_NOTICE([creating $AMINCLUDE]) +AMINCLUDE_TIME=`LC_ALL=C date` +AX_PRINT_TO_FILE([$AMINCLUDE],[[ +# generated automatically by configure from AX_AUTOMAKE_MACROS +# on $AMINCLUDE_TIME + +]]) + +INC_AMINCLUDE="include \$(top_builddir)/$AMINCLUDE" +AC_SUBST(INC_AMINCLUDE) +]) diff --git a/build-aux/ax_append_to_file.m4 b/build-aux/ax_append_to_file.m4 new file mode 100644 index 00000000..fca57083 --- /dev/null +++ b/build-aux/ax_append_to_file.m4 @@ -0,0 +1,27 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_append_to_file.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_APPEND_TO_FILE([FILE],[DATA]) +# +# DESCRIPTION +# +# Appends the specified data to the specified file. +# +# LICENSE +# +# Copyright (c) 2008 Tom Howard <tomhoward@users.sf.net> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 9 + +AC_DEFUN([AX_APPEND_TO_FILE],[ +AC_REQUIRE([AX_FILE_ESCAPES]) +printf "%s" "$2" >> "$1" +]) diff --git a/build-aux/ax_file_escapes.m4 b/build-aux/ax_file_escapes.m4 new file mode 100644 index 00000000..a86fdc32 --- /dev/null +++ b/build-aux/ax_file_escapes.m4 @@ -0,0 +1,30 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_file_escapes.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FILE_ESCAPES +# +# DESCRIPTION +# +# Writes the specified data to the specified file. +# +# LICENSE +# +# Copyright (c) 2008 Tom Howard <tomhoward@users.sf.net> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_FILE_ESCAPES],[ +AX_DOLLAR="\$" +AX_SRB="\\135" +AX_SLB="\\133" +AX_BS="\\\\" +AX_DQ="\"" +]) diff --git a/build-aux/ax_git_version.m4 b/build-aux/ax_git_version.m4 deleted file mode 100644 index b5980783..00000000 --- a/build-aux/ax_git_version.m4 +++ /dev/null @@ -1,9 +0,0 @@ -AC_DEFUN([AX_GIT_VERSION], [ - - AC_PROG_AWK - AC_PROG_GREP - AX_PROGVAR([cmp]) - - AX_TRANSFORM_PACKAGE_NAME - -]) diff --git a/build-aux/ax_print_to_file.m4 b/build-aux/ax_print_to_file.m4 new file mode 100644 index 00000000..8aa71120 --- /dev/null +++ b/build-aux/ax_print_to_file.m4 @@ -0,0 +1,27 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_print_to_file.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PRINT_TO_FILE([FILE],[DATA]) +# +# DESCRIPTION +# +# Writes the specified data to the specified file. +# +# LICENSE +# +# Copyright (c) 2008 Tom Howard <tomhoward@users.sf.net> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 8 + +AC_DEFUN([AX_PRINT_TO_FILE],[ +AC_REQUIRE([AX_FILE_ESCAPES]) +printf "$2" > "$1" +]) diff --git a/build-aux/que_developer_mode.m4 b/build-aux/que_developer_mode.m4 new file mode 100644 index 00000000..18bd29fe --- /dev/null +++ b/build-aux/que_developer_mode.m4 @@ -0,0 +1,19 @@ +# Like AM_MAINTAINER_MODE, but doesn't touch automake internals and so +# can be used freely to control access to project specific developer +# tooling without breaking autotools if disabled. +AC_DEFUN([QUE_DEVELOPER_MODE], [ + m4_case(m4_default([$1], [disable]), + [enable], [m4_define([_que_developer_def], [disable])], + [disable], [m4_define([_que_developer_def], [enable])], + [m4_define([_que_developer_def], [enable]) + m4_warn([syntax], [unexpected argument to AM@&t@_DEVELOPER_MODE: $1])]) + AC_MSG_CHECKING([whether to enable developer-specific portions of Makefiles]) + AC_ARG_ENABLE([developer-mode], + [AS_HELP_STRING([--]_que_developer_def[-developer-mode], + _que_developer_def[ dependencies and make targets only useful for developers])], + [USE_DEVELOPER_MODE=$enableval], + [USE_DEVELOPER_MODE=]m4_if(_que_developer_def, [enable], [no], [yes])) + AC_MSG_RESULT([$USE_DEVELOPER_MODE]) + AM_CONDITIONAL([DEVELOPER_MODE], [test $USE_DEVELOPER_MODE = yes]) + +]) diff --git a/build-aux/que_dist_checksums.am b/build-aux/que_dist_checksums.am new file mode 100644 index 00000000..0e63f281 --- /dev/null +++ b/build-aux/que_dist_checksums.am @@ -0,0 +1,19 @@ +# Output both a file that can be attatched to releases and also write STDOUT +# for the sake of CI build logs so they can be audited as matching what is +# eventually posted. The list of files checksummed is a glob (even though we +# know an exact pattern) to avoid errors for formats not generated. +checksum_dist = \ + shopt -s nullglob ; \ + $(SHA256SUM) $(distdir)*.{tar.{gz,bz2,lz,xz,zst},zip} |\ + $(TEE) $(distdir).sha256.txt + +# Since the checksums file isn't an artifact produced by the default source dist +# creation process, we have to clean it up ourselves so distcheck can see that +# everything round-tripped cleanly. +distclean-local: + rm -f $(distdir).sha256.txt + +# Append checksum operation to function that runs after compressing dist archives +am__post_remove_distdir = $(am__remove_distdir); $(checksum_dist) + +# vim: ft=automake diff --git a/build-aux/que_dist_checksums.m4 b/build-aux/que_dist_checksums.m4 new file mode 100644 index 00000000..6848cdcc --- /dev/null +++ b/build-aux/que_dist_checksums.m4 @@ -0,0 +1,16 @@ +AC_DEFUN_ONCE([QUE_DIST_CHECKSUMS], [ + + AM_COND_IF([DEVELOPER_MODE], [ + + QUE_PROGVAR([sha256sum]) + QUE_PROGVAR([tee]) + + QUE_TRANSFORM_PACKAGE_NAME + + AC_REQUIRE([AX_AM_MACROS]) + AX_ADD_AM_MACRO([dnl +$(cat build-aux/que_dist_checksums.am) +])dnl + + ]) +]) diff --git a/build-aux/git_version.mk b/build-aux/que_git_version.am similarity index 95% rename from build-aux/git_version.mk rename to build-aux/que_git_version.am index 58e16119..6b9e8098 100644 --- a/build-aux/git_version.mk +++ b/build-aux/que_git_version.am @@ -1,6 +1,5 @@ .SECONDEXPANSION: -# EXTRA_@PACKAGE_VAR@_SOURCES += .version EXTRA_DIST += build-aux/git-version-gen BUILT_SOURCES += .version CLEANFILES += .version .version-prev diff --git a/build-aux/que_git_version.m4 b/build-aux/que_git_version.m4 new file mode 100644 index 00000000..56e7f18b --- /dev/null +++ b/build-aux/que_git_version.m4 @@ -0,0 +1,24 @@ +AC_DEFUN_ONCE([QUE_GIT_VERSION], [ + + AM_CONDITIONAL([SOURCE_IS_GIT], + [test -d .git]) + + AM_CONDITIONAL([SOURCE_IS_DIST], + [test -f .tarball-version]) + + AM_CONDITIONAL([SOURCE_IS_ARCHIVE], + [test ! -d .git -a ! -f .tarball-version]) + + AC_PROG_AWK + AC_PROG_GREP + + QUE_TRANSFORM_PACKAGE_NAME + + AM_COND_IF([SOURCE_IS_DIST], [], [QUE_PROGVAR([cmp])]) + + AC_REQUIRE([AX_AM_MACROS]) + AX_ADD_AM_MACRO([dnl +$(cat build-aux/que_git_version.am) +])dnl + +]) diff --git a/build-aux/ax_progvar.m4 b/build-aux/que_progvar.m4 similarity index 87% rename from build-aux/ax_progvar.m4 rename to build-aux/que_progvar.m4 index e584ed4a..20d1288b 100644 --- a/build-aux/ax_progvar.m4 +++ b/build-aux/que_progvar.m4 @@ -1,4 +1,4 @@ -AC_DEFUN([AX_PROGVAR], [ +AC_DEFUN([QUE_PROGVAR], [ test -n "$m4_toupper($1)" || { AC_PATH_PROG(m4_toupper($1), m4_default($2,$1)) } test -n "$m4_toupper($1)" || AC_MSG_ERROR([m4_default($2,$1) is required]) ]) diff --git a/build-aux/shell_completion_dirs.mk b/build-aux/que_shell_completion_dirs.am similarity index 67% rename from build-aux/shell_completion_dirs.mk rename to build-aux/que_shell_completion_dirs.am index 1f52ea7c..354a0b19 100644 --- a/build-aux/shell_completion_dirs.mk +++ b/build-aux/que_shell_completion_dirs.am @@ -6,12 +6,6 @@ nodist_bashcompletion_DATA = $(COMPLETIONS_OUT_DIR)/$(TRANSFORMED_PACKAGE_NAME) CLEANFILES += $(nodist_bashcompletion_DATA) endif -# if ENABLE_FISH_COMPLETION -# fishcompletiondir = $(FISH_COMPLETION_DIR) -# nodist_fishcompletion_DATA = $(COMPLETIONS_OUT_DIR)/$(TRANSFORMED_PACKAGE_NAME).fish -# CLEANFILES += $(nodist_fishcompletion_DATA) -# endif - if ENABLE_ZSH_COMPLETION zshcompletiondir = $(ZSH_COMPLETION_DIR) nodist_zshcompletion_DATA = $(COMPLETIONS_OUT_DIR)/_$(TRANSFORMED_PACKAGE_NAME) diff --git a/build-aux/ax_shell_completion_dirs.m4 b/build-aux/que_shell_completion_dirs.m4 similarity index 87% rename from build-aux/ax_shell_completion_dirs.m4 rename to build-aux/que_shell_completion_dirs.m4 index 2f455be0..6ceed855 100644 --- a/build-aux/ax_shell_completion_dirs.m4 +++ b/build-aux/que_shell_completion_dirs.m4 @@ -1,6 +1,8 @@ -AC_DEFUN_ONCE([AX_SHELL_COMPLETION_DIRS], [ +AC_DEFUN_ONCE([QUE_SHELL_COMPLETION_DIRS], [ - AX_TRANSFORM_PACKAGE_NAME + QUE_TRANSFORM_PACKAGE_NAME + + AC_PROG_SED AC_ARG_WITH([bash-completion-dir], AS_HELP_STRING([--with-bash-completion-dir[=PATH]], @@ -30,4 +32,9 @@ AC_DEFUN_ONCE([AX_SHELL_COMPLETION_DIRS], [ [ZSH_COMPLETION_DIR="$with_zsh_completion_dir"]) AC_SUBST([ZSH_COMPLETION_DIR]) + AC_REQUIRE([AX_AM_MACROS]) + AX_ADD_AM_MACRO([dnl +$(cat build-aux/que_shell_completion_dirs.am) +])dnl + ]) diff --git a/build-aux/ax_transform_package_name.m4 b/build-aux/que_transform_package_name.m4 similarity index 93% rename from build-aux/ax_transform_package_name.m4 rename to build-aux/que_transform_package_name.m4 index ff53dd93..ee1e8972 100644 --- a/build-aux/ax_transform_package_name.m4 +++ b/build-aux/que_transform_package_name.m4 @@ -3,7 +3,7 @@ # This isn't convenient to use if we're just renaming the top level package, so # we go ahead and *do* the transformation and save for use as a substitution. -AC_DEFUN_ONCE([AX_TRANSFORM_PACKAGE_NAME], [ +AC_DEFUN_ONCE([QUE_TRANSFORM_PACKAGE_NAME], [ AC_PROG_SED diff --git a/configure.ac b/configure.ac index e86649cb..928033aa 100644 --- a/configure.ac +++ b/configure.ac @@ -2,12 +2,9 @@ AC_PREREQ([2.69]) AC_INIT([vcsh], [m4_esyscmd(build-aux/git-version-gen .tarball-version)]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([build-aux]) -AM_INIT_AUTOMAKE([foreign tar-pax dist-xz dist-zip no-dist-gzip color-tests]) +AM_INIT_AUTOMAKE([foreign tar-pax dist-zstd dist-zip no-dist-gzip color-tests]) AM_SILENT_RULES([yes]) -AM_CONDITIONAL([IS_SDIST], - [test ! -e .gitignore]) - AC_ARG_WITH([standalone], AS_HELP_STRING([--with-standalone], [Use configuration presets for a standalone script deployment @<:@default=no@:>@]), @@ -28,18 +25,21 @@ AC_ARG_WITH([standalone], ], []) -# These three macros must be run after processing our standalone setup because +QUE_TRANSFORM_PACKAGE_NAME +QUE_DEVELOPER_MODE + +# These macros must be run after processing our standalone setup because # they all expect the program name transformation setup to be complete. -AX_GIT_VERSION -AX_SHELL_COMPLETION_DIRS -AX_TRANSFORM_PACKAGE_NAME +QUE_GIT_VERSION +QUE_SHELL_COMPLETION_DIRS +QUE_DIST_CHECKSUMS AC_PROG_GREP AC_PROG_SED -AX_PROGVAR([comm]) -AX_PROGVAR([git]) -AX_PROGVAR([wc]) +QUE_PROGVAR([comm]) +QUE_PROGVAR([git]) +QUE_PROGVAR([wc]) AC_ARG_WITH([deployment], AS_HELP_STRING([--with-deployment], @@ -56,13 +56,12 @@ AC_ARG_WITH([man-page], AM_CONDITIONAL([ENABLE_MAN_PAGE], [test x"$with_man_page" != x"no"]) -AM_COND_IF([IS_SDIST], - [], +AM_COND_IF([SOURCE_IS_GIT], [AM_COND_IF([ENABLE_MAN_PAGE], - [AX_PROGVAR([ronn])]) + [QUE_PROGVAR([ronn])]) ]) -AM_COND_IF([IS_SDIST], +AM_COND_IF([SOURCE_IS_GIT], m4_define([TESTDEF], [yes]), m4_define([TESTDEF], [no])) AC_ARG_ENABLE([tests], @@ -74,7 +73,7 @@ AM_CONDITIONAL([ENABLE_TESTS], [test x"$enable_tests" != x"no"]) AM_COND_IF([ENABLE_TESTS], [ - AX_PROGVAR([prove]) + QUE_PROGVAR([prove]) AX_PROG_PERL_MODULES(Shell::Command, [], AC_MSG_ERROR(Perl module required for testing not found)) AX_PROG_PERL_MODULES(Test::Most, [], diff --git a/doc/INSTALL.md b/doc/INSTALL.md index 6d067688..4be9cd0f 100644 --- a/doc/INSTALL.md +++ b/doc/INSTALL.md @@ -81,7 +81,7 @@ $ pkg install vcsh First you’ll want a copy of the source code. The easiest to use place to get this is the [latest release](https://github.com/RichiH/vcsh/releases/latest) posted on GitHub. -The souree distribution will have a name such as `vcsh-2.0.0.tar.xz`. +The souree distribution will have a name such as `vcsh-2.0.0.tar.zst`. Note under each release GitHub also show two “Source code” links that will download a snapshot of the repository; this is **not** the file you want (unless you want to jump through extra hoops). The official source release packages with the release version in the file names are the ones you want.