summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* doc: Update regarding bootstrap split.Bruno Haible2022-07-314-26/+96
| | | | | | | | | | | Reported by Paul Smith <psmith@gnu.org>. * doc/gnulib-tool.texi (gettextize and autopoint): Mention autogen.sh instead of bootstrap. (VCS Issues): Describe three alternative approaches. * doc/gnulib.texi (Developer tools): Mention also autopull.sh and autogen.sh. * top/bootstrap (usage): Fix copy&paste mistake.
* gnulib-tool.py: Follow gnulib-tool changes, part 17.Bruno Haible2022-07-295-19/+37
| | | | | | | | | | Follow gnulib-tool change 2015-10-06 Pavel Raiskup <praiskup@redhat.com> gnulib-tool: fix tests of 'extensions' module * pygnulib/GLEmiter.py (GLEmiter.preEarlyMacros): New function. * pygnulib/GLImport.py (GLImport.gnulib_comp): Invoke it. * pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
* gnulib-tool.py: Follow gnulib-tool changes, part 16.Bruno Haible2022-07-293-30/+12
| | | | | | | | | | Follow gnulib-tool change 2015-09-25 Pavel Raiskup <praiskup@redhat.com> gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash * pygnulib/GLImport.py (GLImport.gnulib_comp): Put the gl_USE_SYSTEM_EXTENSIONS right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the 'extensions' module is used).
* gnulib-tool.py: Modernize coding style.Bruno Haible2022-07-2911-154/+157
| | | | * pygnulib/*.py: Remove parentheses around return value expressions.
* gnulib-tool.py: Modernize the file headers.Bruno Haible2022-07-2913-23/+174
| | | | | * pygnulib/*.py: Remove '#!/usr/bin/python' (not needed) and 'encoding: UTF-8' lines (default in Python 3). Add copyright notice.
* gnulib-tool.py: Use mainstream coding style.Bruno Haible2022-07-296-13/+31
| | | | | | | | | * gnulib-tool.py: Clarify the coding style. Fix some pycodestyle warnings. * pygnulib/constants.py: Likewise. * pygnulib/GLEmiter.py: Likewise. * pygnulib/GLImport.py: Likewise. * pygnulib/GLMakefileTable.py: Likewise.
* gnulib-tool.py: Fix error (regression 2021-04-11).Bruno Haible2022-07-292-1/+4
| | | | * pygnulib/GLConfig.py (GLConfig.getModuleIndicatorPrefix): Fix code.
* gnulib-tool.py: Fix warning from Python 3.10.4.Bruno Haible2022-07-292-1/+5
| | | | | * pygnulib/GLModuleSystem.py (getConditionalName): Fix a string substitution expression.
* gnulib-tool.py: Fix error in Ubuntu 22.04.Bruno Haible2022-07-292-1/+6
| | | | * gnulib-tool.py: Search for python3 in $PATH.
* Update gnulib-tool.py.TODO.Bruno Haible2022-07-291-0/+620
|
* autoupdateKarl Berry2022-07-261-0/+1
|
* bootstrap: Make the automatic sync more resilient.Bruno Haible2022-07-254-25/+47
| | | | | | | | | | Reported by Paul Eggert in <https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00060.html>. * top/bootstrap (bootstrap_sync): Set to true when bootstrap-funclib.sh is not present. * top/gen-bootstrap.sed: Insert a couple of comment lines. * build-aux/bootstrap: Regenerated using "make build-aux/bootstrap".
* Fix comment.Bruno Haible2022-07-255-21/+29
| | | | | | | | | | Reported by Paul Eggert in <https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00058.html>. * top/bootstrap-funclib.sh: Fix comment about canonical location. * top/autopull.sh: Likewise. * top/autogen.sh: Likewise. * top/bootstrap: Likewise.
* Split bootstrap into autopull.sh and autogen.sh.Bruno Haible2022-07-248-645/+1918
| | | | | | | | | | | * top/bootstrap-funclib.sh: New file, based on build-aux/bootstrap. * top/autopull.sh: New file, based on build-aux/bootstrap. * top/autogen.sh: New file, based on build-aux/bootstrap. * top/bootstrap: New file, based on build-aux/bootstrap. * top/gen-bootstrap.sed: New file. * Makefile (build-aux/bootstrap): New rule. (regen): Depend on it. * build-aux/bootstrap: Regenerated using "make build-aux/bootstrap".
* bootstrap: Obey another environment variable GNULIB_REFDIR.Bruno Haible2022-07-243-71/+102
| | | | | | | | | | | * build-aux/bootstrap (usage): Document option --gnulib-refdir and environment variable GNULIB_REFDIR. Accept option --gnulib-refdir. When GNULIB_SRCDIR is specified, verify that it denotes a directory. Use $GNULIB_REFDIR, not $GNULIB_SRCDIR, as argument to git's --reference option. Improve an error message. * NEWS: Mention the change.
* Fix a couple of ShellCheck warnings.Bruno Haible2022-07-239-26/+35
| | | | | | | | | | | | | * MODULES.html.sh (sed_escape_slash): Remove unused variable. * build-aux/bootstrap: Avoid computed printf format strings. * build-aux/do-release-commit-and-tag: Likewise. * build-aux/gendocs.sh: Likewise. * build-aux/declared.sh: Fix "unrecognized option" message. * gnulib-tool (supplied_opts): Remove unused variable. (--single-con): Remove redundant option recognition. * tests/test-parse-duration.sh (nl): Remove unused variable. * tests/test-update-copyright.sh: Use double-quotes instead of single-quotes.
* Avoid DoS vulnerability through unsafe default assignment.Bruno Haible2022-07-23157-225/+387
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://www.shellcheck.net/wiki/SC2223 . * MODULES.html.sh (func_tmpdir): Surround default assignment with double-quotes. * build-aux/bootstrap: Likewise. * build-aux/csharpcomp.sh.in (func_tmpdir): Likewise. * build-aux/gendocs.sh: Likewise. * build-aux/libtool-next-version (func_tmpdir): Likewise. * config/srclist-update: Likewise. * gnulib-tool (func_tmpdir): Likewise. * posix-modules (func_tmpdir): Likewise. * tests/test-atexit.sh: Likewise. * tests/test-btoc32-1.sh: Likewise. * tests/test-btoc32-2.sh: Likewise. * tests/test-btowc1.sh: Likewise. * tests/test-btowc2.sh: Likewise. * tests/test-c-dtoastr.sh: Likewise. * tests/test-c-ldtoastr.sh: Likewise. * tests/test-c-snprintf.sh: Likewise. * tests/test-c-strcase.sh: Likewise. * tests/test-c-vasprintf.sh: Likewise. * tests/test-c-vsnprintf.sh: Likewise. * tests/test-c-xvasprintf.sh: Likewise. * tests/test-c32isalnum.sh: Likewise. * tests/test-c32isalpha.sh: Likewise. * tests/test-c32isblank.sh: Likewise. * tests/test-c32iscntrl.sh: Likewise. * tests/test-c32isdigit.sh: Likewise. * tests/test-c32isgraph.sh: Likewise. * tests/test-c32islower.sh: Likewise. * tests/test-c32isprint.sh: Likewise. * tests/test-c32ispunct.sh: Likewise. * tests/test-c32isspace.sh: Likewise. * tests/test-c32isupper.sh: Likewise. * tests/test-c32isxdigit.sh: Likewise. * tests/test-c32rtomb.sh: Likewise. * tests/test-c32snrtombs-1.sh: Likewise. * tests/test-c32snrtombs-2.sh: Likewise. * tests/test-c32snrtombs-3.sh: Likewise. * tests/test-c32snrtombs-4.sh: Likewise. * tests/test-c32srtombs-1.sh: Likewise. * tests/test-c32srtombs-2.sh: Likewise. * tests/test-c32srtombs-3.sh: Likewise. * tests/test-c32srtombs-4.sh: Likewise. * tests/test-c32stombs-1.sh: Likewise. * tests/test-c32stombs-2.sh: Likewise. * tests/test-c32stombs-3.sh: Likewise. * tests/test-c32stombs-4.sh: Likewise. * tests/test-closein.sh: Likewise. * tests/test-copy-acl.sh (func_tmpdir): Likewise. * tests/test-copy-file.sh (func_tmpdir): Likewise. * tests/test-dprintf-posix.sh: Likewise. * tests/test-execl.sh: Likewise. * tests/test-execle.sh: Likewise. * tests/test-execlp.sh: Likewise. * tests/test-execv.sh: Likewise. * tests/test-execve.sh: Likewise. * tests/test-execvp.sh: Likewise. * tests/test-execvpe.sh: Likewise. * tests/test-file-has-acl.sh (func_tmpdir): Likewise. * tests/test-fprintf-posix.sh: Likewise. * tests/test-init.sh: Likewise. * tests/test-iswdigit.sh: Likewise. * tests/test-iswxdigit.sh: Likewise. * tests/test-mbmemcasecmp1.sh: Likewise. * tests/test-mbmemcasecmp2.sh: Likewise. * tests/test-mbmemcasecmp3.sh: Likewise. * tests/test-mbmemcasecoll1.sh: Likewise. * tests/test-mbmemcasecoll2.sh: Likewise. * tests/test-mbmemcasecoll3.sh: Likewise. * tests/test-mbrtoc32-1.sh: Likewise. * tests/test-mbrtoc32-2.sh: Likewise. * tests/test-mbrtoc32-3.sh: Likewise. * tests/test-mbrtoc32-4.sh: Likewise. * tests/test-mbrtowc1.sh: Likewise. * tests/test-mbrtowc2.sh: Likewise. * tests/test-mbrtowc3.sh: Likewise. * tests/test-mbrtowc4.sh: Likewise. * tests/test-mbscasecmp.sh: Likewise. * tests/test-mbscasestr2.sh: Likewise. * tests/test-mbscasestr3.sh: Likewise. * tests/test-mbscasestr4.sh: Likewise. * tests/test-mbschr.sh: Likewise. * tests/test-mbscspn.sh: Likewise. * tests/test-mbsinit.sh: Likewise. * tests/test-mbsncasecmp.sh: Likewise. * tests/test-mbsnrtoc32s-1.sh: Likewise. * tests/test-mbsnrtoc32s-2.sh: Likewise. * tests/test-mbsnrtoc32s-3.sh: Likewise. * tests/test-mbsnrtoc32s-4.sh: Likewise. * tests/test-mbsnrtowcs1.sh: Likewise. * tests/test-mbsnrtowcs2.sh: Likewise. * tests/test-mbsnrtowcs3.sh: Likewise. * tests/test-mbsnrtowcs4.sh: Likewise. * tests/test-mbspbrk.sh: Likewise. * tests/test-mbspcasecmp.sh: Likewise. * tests/test-mbsrchr.sh: Likewise. * tests/test-mbsrtoc32s-1.sh: Likewise. * tests/test-mbsrtoc32s-2.sh: Likewise. * tests/test-mbsrtoc32s-3.sh: Likewise. * tests/test-mbsrtoc32s-4.sh: Likewise. * tests/test-mbsrtowcs1.sh: Likewise. * tests/test-mbsrtowcs2.sh: Likewise. * tests/test-mbsrtowcs3.sh: Likewise. * tests/test-mbsrtowcs4.sh: Likewise. * tests/test-mbsspn.sh: Likewise. * tests/test-mbsstr2.sh: Likewise. * tests/test-mbsstr3.sh: Likewise. * tests/test-mbstoc32s-1.sh: Likewise. * tests/test-mbstoc32s-2.sh: Likewise. * tests/test-mbstoc32s-3.sh: Likewise. * tests/test-mbstoc32s-4.sh: Likewise. * tests/test-nl_langinfo.sh: Likewise. * tests/test-parse-duration.sh (func_tmpdir): Likewise. * tests/test-perror.sh: Likewise. * tests/test-printf-posix.sh: Likewise. * tests/test-set-mode-acl.sh (func_tmpdir): Likewise. * tests/test-setlocale1.sh: Likewise. * tests/test-strtod1.sh: Likewise. * tests/test-strtold1.sh: Likewise. * tests/test-unicodeio2.sh: Likewise. * tests/test-unicodeio3.sh: Likewise. * tests/test-vasnprintf-posix2.sh: Likewise. * tests/test-vc-list-files-cvs.sh: Likewise. * tests/test-vc-list-files-git.sh: Likewise. * tests/test-vdprintf-posix.sh: Likewise. * tests/test-vfprintf-posix.sh: Likewise. * tests/test-vprintf-posix.sh: Likewise. * tests/test-wcrtomb.sh: Likewise. * tests/test-wcsnrtombs1.sh: Likewise. * tests/test-wcsnrtombs2.sh: Likewise. * tests/test-wcsnrtombs3.sh: Likewise. * tests/test-wcsnrtombs4.sh: Likewise. * tests/test-wcsrtombs1.sh: Likewise. * tests/test-wcsrtombs2.sh: Likewise. * tests/test-wcsrtombs3.sh: Likewise. * tests/test-wcsrtombs4.sh: Likewise. * tests/test-xprintf-posix.sh: Likewise. * tests/test-xstrtoimax.sh: Likewise. * tests/test-xstrtol.sh: Likewise. * tests/test-xstrtoll.sh: Likewise. * tests/test-xstrtoumax.sh: Likewise. * tests/test-yesno.sh: Likewise. * tests/unicase/test-locale-language.sh: Likewise. * tests/unicase/test-ulc-casecmp1.sh: Likewise. * tests/unicase/test-ulc-casecmp2.sh: Likewise. * tests/unicase/test-ulc-casecoll1.sh: Likewise. * tests/unicase/test-ulc-casecoll2.sh: Likewise. * tests/unigbrk/test-ulc-grapheme-breaks.sh: Likewise. * tests/unistdio/test-u16-vasnprintf2.sh: Likewise. * tests/unistdio/test-u16-vasnprintf3.sh: Likewise. * tests/unistdio/test-u32-vasnprintf2.sh: Likewise. * tests/unistdio/test-u32-vasnprintf3.sh: Likewise. * tests/unistdio/test-u8-vasnprintf2.sh: Likewise. * tests/unistdio/test-u8-vasnprintf3.sh: Likewise. * tests/unistdio/test-ulc-vasnprintf2.sh: Likewise. * tests/unistdio/test-ulc-vasnprintf3.sh: Likewise. * tests/uniwbrk/test-ulc-wordbreaks.sh: Likewise. * tests/uniwidth/test-uc_width2.sh: Likewise.
* bootstrap: Comments.Bruno Haible2022-07-182-1/+8
| | | | * build-aux/bootstrap: Comment about two unused variables.
* doc: Update README.Bruno Haible2022-07-172-2/+13
| | | | | * doc/README: Fix stale links (reported by Tzvetelin Katchov). Clarify the relation to build-aux/gnu-web-doc-update.
* doc: Fix typo.Bruno Haible2022-07-142-1/+8
| | | | | | | Reported by Eric Gallager <egall@gwmail.gwu.edu> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00045.html>. * doc/posix-functions/mmap.texi: Add parenthesis.
* * doc/parse-datetime.texi: Tweak wording again.Paul Eggert2022-07-131-7/+10
|
* parse-datetime: improve doc for TZ="<-07>7" etc.Paul Eggert2022-07-122-3/+27
| | | | | * doc/parse-datetime.texi (Specifying time zone rules): Give examples of POSIX TZ strings that specify UTC offsets (Bug#56524).
* sigsegv: Optimize stackvma implementation for AIX 7.Bruno Haible2022-07-103-7/+312
| | | | | | | | | | Reported by Neha Jain <nehajain29@in.ibm.com> in <https://lists.gnu.org/archive/html/bug-m4/2022-06/msg00005.html> via Eric Blake. * lib/stackvma.c: For AIX, add implementation that uses /proc/$pid/map, based on lib/vma-iter.c. (sigsegv_get_vma): Use it on AIX 7 or higher.
* vma-iter: Add support for AIX 7.Bruno Haible2022-07-106-8/+240
| | | | | | | | | | * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on AIX. * lib/vma-iter.c (vma_iterate): Add code for AIX, known to work on AIX 7. * lib/get-rusage-as.c: Update comments. * lib/get-rusage-data.c: Likewise. * tests/test-get-rusage-as.c (main): Take into account the special address space organization on AIX in 32-bit mode.
* iconv: Define a summary result.Bruno Haible2022-07-102-1/+24
| | | | | | | Reported by Simon Josefsson in <https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00020.html>. * m4/iconv.m4 (AM_ICONV): Define also am_cv_func_iconv_summary.
* iconv: Remove obsolete comment.Bruno Haible2022-07-102-7/+7
| | | | | * m4/iconv.m4 (AM_ICONV): Remove comment that is obsolete since 2020-08-16.
* announce-gen: Fix internationalization in verification instructions.Bruno Haible2022-07-102-1/+7
| | | | | * build-aux/announce-gen: Set LC_ALL, not LANG, to "C", to force English output from gpg.
* lib-symbol-visibility: Improve documentation.Bruno Haible2022-07-102-3/+9
| | | | * doc/lib-symbol-visibility.texi: Tweak BUILDING_SHARED snippet.
* doc: Mark Minix as no longer tested.Bruno Haible2022-07-102-2/+11
| | | | | | | | | | Rationale: No commits since 2018 at https://git.minix3.org/. Reported by Paul Eggert and Jim Meyering in <https://lists.gnu.org/archive/html/grep-devel/2022-07/msg00027.html>. * doc/gnulib-intro.texi (Supported Platforms): Mark Minix as no longer tested.
* announce-gen: better diagnose some usage errorsJim Meyering2022-07-092-2/+18
| | | | | | | | | | | * build-aux/announce-gen (main): Erroneous usage would elicit a misleading diagnostic. When --gnulib-version=V was specified: - without --bootstrap-tools=..., or - with --bootstrap-tools=..., but without "gnulib" in that list we would give an inappropriate diagnostic. Now, each diagnostic is tailored to the precise erroneous condition. Reported by Bruno Haible in https://lists.gnu.org/r/bug-gnulib/2022-01/msg00025.html
* git-version-gen: Doc fix.Simon Josefsson2022-07-092-2/+10
| | | | | | | | Reported by Reuben Thomas <rrt@sc3d.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00012.html>. * build-aux/git-version-gen (usage): Replace incorrect text with bug report instructions.
* announce-gen: Improve GnuPG verification instructions.Simon Josefsson2022-07-092-6/+36
| | | | | * build-aux/announce-gen: Add GPG fingerprint to output, and a pointer to GNU keyring.
* lib-symbol-visibility: Improve documentation.Simon Josefsson2022-07-082-0/+16
| | | | | * doc/lib-symbol-visibility.texi: Include BUILDING_SHARED snippet suggested by Bruno Haible.
* havelib: Fix 'configure --help' output.Bruno Haible2022-07-052-3/+8
| | | | * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Fix m4 quoting bug.
* lib-symbol-visibility: Improve documentation.Bruno Haible2022-07-032-4/+35
| | | | | | | | | Reported by Vivien Kraus <vivien@planete-kraus.eu> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00093.html>. * doc/lib-symbol-visibility.texi: List the platforms. Extend the LIBFOO_DLL_EXPORTED to work also with mingw and also with --disable-shared.
* supersede: Support the file name "/dev/null" on native Windows.Bruno Haible2022-07-032-0/+11
| | | | | * lib/supersede.c (open_supersede): On native Windows, map "/dev/null" to "NUL".
* maint.mk: fix syntax-check for unnecessary hash.h header useJim Meyering2022-06-232-2/+11
| | | | | | | | * top/maint.mk (_hash_re): Correct the regexp. It had two problems: - lacked the "hash_" prefix, so would match non-uses - failed to detect uses of the hash_x?initialize functions The former led to an excess/unneeded use of hash.h in coreutils' cut.c. The latter would have led to a FP "not needed" report for copy.c.
* fchmodat: Fix test failure on native Windows.Bruno Haible2022-06-222-0/+6
| | | | * modules/fchmodat (Depends-on): Add 'chmod'.
* chmod: Add tests.Bruno Haible2022-06-223-0/+104
| | | | | * tests/test-chmod.c: New file, based on tests/test-lchmod.c. * modules/chmod-tests: New file.
* chmod: New module.Bruno Haible2022-06-228-8/+221
| | | | | | | | | | | | | | * lib/sys_stat.in.h (chmod): Declare when GNULIB_CHMOD is 1. * lib/chmod.c: New file, based on lib/lchmod.c. * m4/chmod.m4: New file, based on m4/fchmodat.m4. * m4/sys_stat_h.m4 (gl_SYS_STAT_H): Test whether chmod is declared. (gl_SYS_STAT_H_REQUIRE_DEFAULTS): Initialize GNULIB_CHMOD. (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_CHMOD. * modules/sys_stat (Makefile.am): Substitute GNULIB_CHMOD, REPLACE_CHMOD. * modules/chmod: New file, based on modules/lchmod. * doc/posix-functions/chmod.texi: Mention the new module and the problems on IRIX and Windows.
* lchmod: Simplify.Bruno Haible2022-06-212-9/+5
| | | | * lib/lchmod.c: Remove unnecessary include, obsolete since 2020-02-23.
* javacomp-script, javaexec-script: Add support for disabling Java.Bruno Haible2022-06-203-2/+40
| | | | | * m4/javacomp.m4 (gt_JAVACOMP_DISABLED): New macro. * m4/javaexec.m4 (gt_JAVAEXEC_DISABLED): New macro.
* lchmod: port back to AIX 7.2Paul Eggert2022-06-196-6/+36
| | | | | | | | | | | Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2022-06/msg00075.html * lib/lchmod.c: Include string.h, for strlen. (lchmod): Do not depend on HAVE_READLINK since we now depend on the readlink module. Check for AIX 7.2 bug. * m4/lchmod.m4 (gl_PREREQ_LCHMOD): Do not check for readlink since we now depend on the readlink module. * modules/lchmod (Depends-on): Depend on readlink.
* fchmodat: pacify gcc -Wunused-variablePaul Eggert2022-06-192-1/+7
| | | | | | Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2022-06/msg00075.html * lib/fchmodat.c (fchmodat): Remove unused local.
* getlogin, getlogin_r tests: Really avoid test failure.Bruno Haible2022-06-192-6/+23
| | | | | | | | Reported by Letu Ren <fantasquex@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00037.html>. * tests/test-getlogin.h (test_getlogin_result): Parse the contents of /proc/self/loginuid as an unsigned integer.
* fchmodat: port better to MS-Windows etc.Paul Eggert2022-06-129-30/+56
| | | | | | | | | | | | | | | | | | | | | | | | | MS-Windows problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2022-06/msg00041.html Although I don’t use MS-Windows I see some related fstatat etc. problems and am trying to fix them with this further patch. * lib/fchmodat.c (fchmodat): * lib/lchmod.c (lchmod): * lib/lchown.c (lchown) [!HAVE_LCHOWN && HAVE_CHOWN && !CHOWN_MODIFIES_SYMLINK]: * lib/renameatu.c (renameatu) [HAVE_RENAME && RENAME_TRAILING_SLASH_SOURCE_BUG]: Use readlinkat/readlink instead of fstatat/lstat to test merely whether a string names a symlink, as this avoids problems with EOVERFLOW. Also, I hope it works around the MS-Windows issues that Bruno noted. * m4/fchmodat.m4 (gl_PREREQ_FCHMODAT): Check for readlinkat, not lchmod. * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not require AC_CANONICAL_HOST or check for lstat. (gl_PREREQ_LCHMOD): Check for readlink. * modules/lchown (Depends-on): Add readlink. Do not depend on lstat merely because !HAVE_LCHOWN. * modules/renameatu (Depends-on): Add fstatat, readlinkat.
* doc: Update O_PATH platforms list.Bruno Haible2022-06-122-2/+6
| | | | * doc/posix-headers/fcntl.texi: Update O_PATH platforms list.
* fcntl: document O_PATHPaul Eggert2022-06-112-0/+9
| | | | * doc/posix-headers/fcntl.texi: Mention O_PATH.
* fchmodat: port to old Linux kernel + newer headersPaul Eggert2022-06-114-73/+59
| | | | | | | | | | | | | | | | | | | | Problem reported by Lance Fredrickson in: https://lists.gnu.org/r/bug-gnulib/2022-06/msg00038.html * lib/fchmodat.c (fchmodat): * lib/lchmod.c (lchmod): Do not rely on AT_EMPTY_PATH as to whether syscalls work on ""; instead, if a call fails with ENOENT assume that those syscalls do not work. Do not use fstatat to determine whether a file is a symlink, as this has problems with EOVERFLOW. Use readlinkat instead, and if it fails with EINVAL then the file is not a symlink. Remove #if tests on __linux__ || __ANDROID__ || __CYGWIN__ as this has been a maintenance hassle and it’s unlikely these days that a new platform would #define O_PATH without also either supporting /proc or keeping it absent. * modules/fchmodat (Depends-on): Remove fstatat. There should be no need for either fchmodat or lchmod to depend on readlinkat, since they use readlinkat only in contexts where it should work without Gnulib intervention.
* fopen-gnu: Make this module work again (regression 2022-01-03).Bruno Haible2022-06-062-0/+8
| | | | | | | Reported by Nelson H. F. Beebe <beebe@math.utah.edu> in <https://lists.gnu.org/archive/html/platform-testers/2022-04/msg00005.html>. * modules/fopen-gnu (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.