summaryrefslogtreecommitdiff
path: root/build-aux/bootstrap
Commit message (Collapse)AuthorAgeFilesLines
* bootstrap: Implement --version option according to GCS.Bruno Haible2021-04-111-1/+13
| | | | | * build-aux/bootstrap (copyright_year, copyright): New variables. (--version): New option processing.
* Use https:// instead of git://.Simon Josefsson2021-01-101-2/+2
| | | | | | | | * build-aux/bootstrap (default_gnulib_url): Ditto. * config/srclistvars.sh: Ditto. * doc/gnulib-readme.texi (Git Checkout): Ditto. * doc/gnulib-tool.texi (VCS Issues): Ditto. * top/gitsub.sh: Update link.
* bootstrap: Fix parsing of package name.Simon Josefsson2021-01-081-4/+7
| | | | | * build-aux/bootstrap (package): Attempt to use autoconf --trace to parse AC_INIT before falling back to sed expression.
* maint: run 'make update-copyright'Paul Eggert2020-12-311-1/+1
|
* bootstrap: add option hooksJose E. Marchesi2020-11-221-3/+17
| | | | | | * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define. (bootstrap_option_hook): Likewise. (usage): Call bootstrap_print_option_usage_hook.
* bootstrap: recommend git submodule update --initAkim Demaille2020-04-131-2/+2
| | | | | | | | Reported by Bruno Haible. <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html> * build-aux/bootstrap: recommand "git submodule update --init" rather than "git submodule init".
* maint: Run 'make update-copyright'Paul Eggert2019-12-311-1/+1
|
* bootstrap: simplify debugging of wget failuresPaul Eggert2019-10-051-1/+1
| | | | | | | Problem reported by Tim Rühsen in: https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html * build-aux/bootstrap (po_download_command_format): Invoke wget with -nv instead of -q, to make debugging easier.
* bootstrap: die when some submodules are not initializedAkim Demaille2019-01-041-1/+11
| | | | * build-aux/bootstrap: Make sure all submodules are initialized.
* maint: Run 'make update-copyright'Paul Eggert2019-01-011-1/+1
|
* bootstrap: fix wget command for po files.Akim Demaille2018-10-131-5/+5
| | | | | * build-aux/bootstrap (po_download_command_format): Fix comment, and adjust callers.
* bootstrap, gnulib-tool: use https instead of insecure rsyncBenno Schulenberg2018-10-071-11/+1
| | | | | | | | | | | The rsync command does not do any authentication and thus allows man-in-the-middle attacks. Better use wget over https, although this is slower. * build-aux/bootstrap (download_po_files, po_download_command_format): Don't try using rsync; always use wget over https to fetch PO files. * gnulib-tool (func_import): Likewise. * pygnulib/GLImport.py (GLImport.execute): Likewise.
* bootstrap, gnulib-tool: correct the translations wget commandBenno Schulenberg2018-10-071-1/+1
| | | | | | | | | | | | | | | | | | | Using the -np (--no-parent) option doesn't prevent wget from traversing the given URL to a default depth of 5, and since the domain directory contains a href="/latest/" link, this means that wget searches through all domains anyway and will also download PO files that are meant for other packages. When getting the PO files for the nano domain, for example, you will end up with af.po and ast.po (and many others) too, but there are no African nor Asturian translations for nano. So, use the --level option instead, to stop wget from looking any further than the given URL. * build-aux/bootstrap (po_download_command_format2): Restrict recursion to a single level. * gnulib-tool (func_import): Likewise. * pygnulib/GLImport.py (GLImport.execute): Likewise.
* bootstrap, gnulib-tool: fix translations rsyncColin Watson2018-07-261-1/+1
| | | | | | | | | | Previously, we created files such as $pobase/Makefile.in.in and then the subsequent rsync would immediately delete them. * build-aux/bootstrap (po_download_command_format): Avoid deleting non-.po files in target directory when rsyncing translations. * gnulib-tool (func_import): Likewise. * pygnulib/GLImport.py (GLImport.execute): Likewise.
* bootstrap: reinstate definition fo gnulib_mk.Jim Meyering2018-07-251-1/+4
| | | | | | That variable is used at least by cppi. * build-aux/bootstrap (gnulib_mk): Restore definition. This reverts the deletion from v0.1-1844-gc66dba9ba.
* bootstrap: s/--option val/--option=val/Jim Meyering2018-07-011-8/+8
| | | | | | | | * build-aux/bootstrap (gnulib_tool_options): Change the spelling of "--option val" pairs to "--option=val", for aesthetics, and also so that this file no longer triggers a common help2man syntax-check warning when copied into projects like grep, gzip, etc.
* bootstrap: document source fetching in --helpColin Watson2018-05-271-2/+35
| | | | | | | There are many possibilities for how Gnulib sources are fetched, and they're rather hard to figure out without reading the code. * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
* bootstrap: allow non-submodule control of gnulibColin Watson2018-05-271-4/+11
| | | | | | | | | | | Some projects prefer to avoid git submodules for various reasons (they have rather strange UI), but at present they're the only way to pin a particular gnulib commit. Add a couple of extra variables which can be set in bootstrap.conf to control this separately. * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in bootstrap.conf when fetching gnulib using "git clone" or via GNULIB_SRCDIR.
* bootstrap: Avoid gnulib operations if not neededPaul Smith2018-04-281-108/+110
| | | | | | | | | * build-aux/bootstrap: Remove unused variable gnulib_mk. Set $gnulib_extra_files early so it can be overridden in .conf. Remove redundant --import flag from $gnulib_tool_options. Set $use_gnulib to false if no gnulib modules or files are needed. If $use_gnulib is false, don't do anything related to gnulib. A lot of this is just whitespace (indentation) changes.
* maint: write-file-hooks -> before-save-hookPaul Eggert2018-03-071-2/+2
| | | | | | | | | | | | | | | write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and it's time to use the recommended replacement. Problem reported by Glenn Morris in: https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html * build-aux/announce-gen, build-aux/bootstrap: * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh: * build-aux/git-version-gen, build-aux/gitlog-to-changelog: * build-aux/gnu-web-doc-update, build-aux/gnupload: * build-aux/move-if-change, build-aux/prefix-gnulib-mk: * build-aux/update-copyright, build-aux/useless-if-before-free: * build-aux/vc-list-files: Update hook usage for files where Gnulib is the canonical source.
* maint: Run 'make update-copyright'Paul Eggert2018-01-011-1/+1
|
* maint: shorten https://lists.gnu.org/archive/html/... linksJim Meyering2017-11-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each /archive/html/ part can be replace with /r/. Run this to induce the change: git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g' * ChangeLog: Perform that substitution. * Makefile: Likewise. * STATUS-libposix: Likewise. * build-aux/bootstrap: Likewise. * doc/maintain.texi: Likewise. * gnulib-tool: Likewise. * lib/allocator.h: Likewise. * lib/argp-ba.c: Likewise. * lib/argp-pv.c: Likewise. * lib/canon-host.c: Likewise. * lib/canonicalize-lgpl.c: Likewise. * lib/float.in.h: Likewise. * lib/fstat.c: Likewise. * lib/getdelim.c: Likewise. * lib/getprogname.c: Likewise. * lib/glthread/thread.h: Likewise. * lib/intprops.h: Likewise. * lib/mbsrtowcs-state.c: Likewise. * lib/safe-read.c: Likewise. * lib/signal.in.h: Likewise. * lib/stat.c: Likewise. * lib/stdbool.in.h: Likewise. * lib/stdio-impl.h: Likewise. * lib/stdio.in.h: Likewise. * lib/sysexits.in.h: Likewise. * lib/timespec.h: Likewise. * lib/wcsrtombs-state.c: Likewise. * m4/alloca.m4: Likewise. * m4/extern-inline.m4: Likewise. * m4/fstatat.m4: Likewise. * m4/gnulib-common.m4: Likewise. * m4/lib-ignore.m4: Likewise. * m4/printf.m4: Likewise. * m4/regex.m4: Likewise. * m4/stat-size.m4: Likewise. * m4/std-gnu11.m4: Likewise. * m4/stdbool.m4: Likewise. * m4/sys_types_h.m4: Likewise. * m4/threadlib.m4: Likewise. * m4/vararrays.m4: Likewise. * pygnulib/GLImport.py: Likewise. * tests/test-exp.h: Likewise. * tests/test-exp2.h: Likewise. * tests/test-expm1.h: Likewise. * tests/test-fflush2.c: Likewise. * tests/test-getopt_long.h: Likewise. * tests/test-intprops.c: Likewise. * tests/test-log.h: Likewise. * tests/test-log10.h: Likewise. * tests/test-log1p.h: Likewise. * tests/test-log2.h: Likewise. * tests/test-printf-posix.h: Likewise. * tests/test-regex.c: Likewise. * tests/test-snprintf-posix.h: Likewise. * tests/test-sprintf-posix.h: Likewise. * tests/test-stdalign.c: Likewise. * tests/test-stdbool.c: Likewise. * tests/test-vasnprintf-posix.c: Likewise. * tests/test-vasprintf-posix.c: Likewise. * top/maint.mk: Likewise.
* * build-aux/bootstrap: fix HTTPS typo in commentPaul Eggert2017-09-191-2/+2
|
* all: Replace many more http URLs by https URLs. Update stale URLs.Bruno Haible2017-09-141-2/+2
| | | | | * users.txt: Remove mention of 'newts'. * lib/localename.c: Update comment about LANG_SOTHO.
* all: prefer https: URLsPaul Eggert2017-09-131-2/+2
|
* maint: time stamp -> timestampPaul Eggert2017-01-091-2/+2
| | | | Use the spelling "timestamp", as that is what POSIX uses.
* version-etc: new yearPaul Eggert2017-01-011-1/+1
| | | | | | | | | | * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
* bootstrap: Fix get_version() for AIX 5.3Eric Blake2016-11-041-17/+19
| | | | | | | | * build-aux/bootstrap (get_version): Factor out sed script, since indented comments choke AIX 5.3 sed. Reported-by: Michael Felt <aixtools@gmail.com> Signed-off-by: Eric Blake <eblake@redhat.com>
* bootstrap: use American spellingPaul Eggert2016-01-231-2/+2
| | | | * build-aux/bootstrap: Honor American spelling.
* Port Universal Time settings to strict POSIXPaul Eggert2016-01-121-2/+2
| | | | | | | | | | | | * build-aux/announce-gen, build-aux/bootstrap: * build-aux/do-release-commit-and-tag, build-aux/git-version-gen: * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update: * build-aux/gnupload, build-aux/mkinstalldirs: * build-aux/move-if-change, build-aux/prefix-gnulib-mk: * build-aux/update-copyright, build-aux/useless-if-before-free: * build-aux/vc-list-files, tests/test-strftime.c: Use TZ="UTC0", not TZ="UTC". Either works on GNU platforms, but POSIX says the behavior of TZ="UTC" is undefined.
* version-etc: new yearPaul Eggert2016-01-011-1/+1
| | | | | | | | | | * build-aux/gendocs.sh (version): * doc/gendocs_template: * doc/gendocs_template_min: * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright dates by hand in templates and the like. * all files: Run 'make update-copyright'.
* bootstrap: exit immediately upon gnulib-tool failurePádraig Brady2015-02-031-1/+2
| | | | | | | * build-aux/bootstrap: Exit immediately if gnulib-tool fails. This was noticed when gnulib-tool exited early due to failure to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233, but various confusing errors were then given as the build proceeded.
* version-etc: new yearPaul Eggert2014-12-311-1/+1
| | | | | | * doc/gnulib.texi: * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date. * all files: Run 'make update-copyright'.
* bootstrap: Allow perl modules in $buildreqMartin Kletzander2014-12-081-1/+16
| | | | | | | | | | | | | | | | With this patch it is possible to put e.g. "perl::XML:XPath -" in $buildreq in bootstrap.conf which will cause a check for perl module XML::XPath using: perl -m"XML::XPath" -e 'exit 0' >/dev/null 2>&1 If this fails due to any other error than XML::XPath missing, it is left on the user to fix up his/her bootstrap.conf. One of the examples might be perl itself missing, which should be in $buildreq and precede any perl::Module specifications. Versioning of perl modules is not supported. Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
* bootstrap: print more diagnostics for missing programsPádraig Brady2014-10-231-3/+13
| | | | | | | | * build-aux/bootstrap: only suppress stderr when checking for alternative program names. This supports programs issuing non standard error messages like: "Provide an AUTOMAKE_VERSION environment variable, please" Reported by Ingo Schwarze with OpenBSD
* bootstrap: only update the gnulib submodulePádraig Brady2014-10-231-4/+5
| | | | | | | * build-aux/bootstrap: Restrict the "submodule update" command to the gnulib path. Reported by Reuben Thomas
* maint: update copyrightEric Blake2014-01-011-1/+1
| | | | | | I ran 'make update-copyright'. Signed-off-by: Eric Blake <eblake@redhat.com>
* bootstrap: warn about BSD toolchain snafuEric Blake2013-12-051-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | With my help on IRC, Roman Bogorodskiy identified a bug where the BSD autoconf wrapper script eats stdin[1], which in turn causes autopoint from gettext 0.18.3 to fail to find AM_GNU_GETTEXT_VERSION out of configure.ac[2], with this error: ./bootstrap: autopoint --force autopoint: *** Missing version: please specify in configure.ac through a line 'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using [1] http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/184479 [2] http://git.sv.gnu.org/cgit/gettext.git/commit/gettext-tools/misc/autopoint.in?id=eea2dddde The workaround would be painful to automate (because gettext hardcodes the use of autom4te rather than honoring ${AUTOM4TE}, we'd have to create a temporary wrapper earlier in $PATH that forwards to the real autom4te-x.yz - basically, repeating the logic of what a wrapper script was supposed to do). Further, while the broken autom4te definitely hurts gettext 0.18.3, it tends to have no issues with gettext 0.18.2; and since the problem has been identified, it will not be long before fixed autom4te and/or improved gettext that is not so stubborn about using exactly 'autom4te' will be available. Therefore, for now we just warn about the situation. * build-aux/bootstrap: Alert users to a broken autom4te. Signed-off-by: Eric Blake <eblake@redhat.com>
* bootstrap: remove the --version requirement from ancillary toolsPádraig Brady2013-08-291-8/+11
| | | | | | | | * build-aux/bootstrap (check_exists): A new refactored function to determine if a command exists. (find_tool): Use the new function which does not require the --version option to be supported. (check_versions): Use the new function.
* bootstrap: port to OpenBSD sedMike Miller2013-08-151-2/+2
| | | | | | | * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which does not interpret `-' as a file argument to mean stdin. Signed-off-by: Eric Blake <eblake@redhat.com>
* bootstrap: support checksum utils without a --status optionPádraig Brady2013-08-101-18/+17
| | | | | | | | | | | | | | | | * build-aux/bootstrap: Only look for sha1sum if updating po files. Add sha1 to the list of supported checksum utils since it's now supported through adjustments below. (update_po_files): Remove the use of --status in a way that will suppress all error messages, but since this is only used to minimize updates, it shouldn't cause an issue. Exit early if there is a problem updating the po file checksums. (find_tool): Remove the check for --version support as this is optional as per commit 86186b17. Don't even check for the presence of the command as if that is needed, it's supported through configuring prerequisites in bootstrap.conf. Prompt that when a tool isn't found, one can define an environment variable to add to the hardcoded search list.
* bootstrap: use correct source when copying build-aux filesWerner LEMBERG2013-07-181-6/+6
| | | | | | | | | | | | | | | | | | in my setup for ttfautohint (http://repo.or.cz/w/ttfautohint.git) I have the following assignment in `bootstrap.conf': build_aux=gnulib It seems that the patch below is necessary to make this really work (at least it works for me): if I understand the issue correctly, $build_aux is a *destination* variable, so it must not be used for the files listed in $gnulib_extra_files which uses the directory structure of the `gnulib' repository. * build-aux/bootstrap (gnulib_extra_files): This variable is relative to upstream gnulib layout, not downstream. Signed-off-by: Eric Blake <eblake@redhat.com>
* bootstrap: honor --no-gitEric Blake2013-07-031-7/+14
| | | | | | | | | | | | | | | | | | | | | | | Based on a report by Chandrashekar Shastri, at https://bugzilla.redhat.com/show_bug.cgi?id=979360 The intent behind the original addition of --no-git in commit 824f8d16 was to allow builds on a machine that either has no git, or where git is prevented from using the network; yet where the user had other means of checking out the correct version of gnulib (such as using an NFS share). But in practice, we were still trying to use git, in spite of being told where gnulib-tool already lives. This fixes bootstrap to match the original intent, by avoiding all direct use of git or submodules (any indirect use of git, such as by autopoint, is beyond our control; but at least that use does not require network access). It is still up to the end user to ensure that GNULIB_SRCDIR points to the intended gnulib commit. * build-aux/bootstrap: Don't even try to use git when user is pointing to a static checkout. Signed-off-by: Eric Blake <eblake@redhat.com>
* bootstrap: AC_INIT may have more than four parametersEric Blake2013-05-081-9/+10
| | | | | | | | | | | | | | | | | For packages that did AC_INIT([package], [version], [bug-report], [], [url]) the extraction script was grabbing url instead of package for the value of $package. Furthermore, while we guarantee LC_ALL=C, this code is liable to be copied and pasted to a script that doesn't use the C locale and thus where a range expression may misbehave. * build-aux/bootstrap (extract_package_name): Correctly extract non-empty tarname field. Avoid range in regex. Based on a report by Sami Kerola <kerolasa@iki.fi>. Signed-off-by: Eric Blake <eblake@redhat.com>
* bootstrap: port to FreeBSDPaul Eggert2013-03-081-2/+6
| | | | | | * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells that treat '--' differently. Reported by Mats Erik Andersson in <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
* bootstrap: remove the need for a sorted .gitignoreBernhard Voelker2013-01-261-22/+22
| | | | | | | | | | | | | | | | | | During bootstrap, files may be created which are already included in .gitignore, but the test to add such a file relied on the sort order. Now, it just adds such a new entry and thus only changes the file if the line count would change. * bootstrap (insert_if_absent): Instead of comparing the sorted new file with the original, the function compares the line count, and only in case of a difference, the given file is changed. Also ensure that the given ignore file does not already include duplicate entries, as otherwise, the entry count would be innacurate. (sort_patterns): Remove this now redundant function. (gitignore_entries): A new function to return significant entries from .gitignore. Improved-by: Pádraig Brady
* maint: update all copyright year number rangesEric Blake2013-01-011-1/+1
| | | | | | Run "make update-copyright". Compare to commit 1602f0a from last year. Signed-off-by: Eric Blake <eblake@redhat.com>
* bootstrap: pass --force to autoreconf.Akim Demaille2012-12-281-7/+8
| | | | | | | | * build-aux/bootstrap (no_recursive): Remove, replaced by... (AUTORECONFFLAGS): this new variable. Add "--force" so that Automake's ylwrap and other such tools be updated at each bootstrap invocation. Use it.
* gnu-web-doc-update: check the requirements.Akim Demaille2012-07-191-1/+3
| | | | | | * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap. ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New. * build-aux/bootstrap (find_tool): Comment change.
* bootstrap: let warn be like tests/init.sh's warn_Akim Demaille2012-07-101-15/+32
| | | | | | | | Reported by Jim Meyering. * build-aux/bootstrap (warn): Remove, replaced by... (warnf_, warn_): these. Adjust callers. Shorten messages that no longer fit in 80 columns.