Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1038 from stilor/make-fix-glob
Fix make's glob() with new glibc
- Loading branch information
Showing
14 changed files
with
188 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
commit 48c8a116a914a325a0497721f5d8b58d5bba34d4 | ||
Author: Paul Smith <psmith@gnu.org> | ||
Date: Sun Nov 19 15:09:16 2017 -0500 | ||
|
||
* configure.ac: Support GLIBC glob interface version 2 | ||
|
||
--- | ||
configure | 3 +-- | ||
configure.ac | 3 +-- | ||
2 files changed, 2 insertions(+), 4 deletions(-) | ||
|
||
--- a/configure.ac | ||
+++ b/configure.ac | ||
@@ -399,10 +399,9 @@ | ||
#include <glob.h> | ||
#include <fnmatch.h> | ||
|
||
-#define GLOB_INTERFACE_VERSION 1 | ||
#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 | ||
# include <gnu-versions.h> | ||
-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION | ||
+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 | ||
gnu glob | ||
# endif | ||
#endif], | ||
--- a/configure | ||
+++ b/configure | ||
@@ -11481,10 +11481,9 @@ | ||
#include <glob.h> | ||
#include <fnmatch.h> | ||
|
||
-#define GLOB_INTERFACE_VERSION 1 | ||
#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 | ||
# include <gnu-versions.h> | ||
-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION | ||
+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 | ||
gnu glob | ||
# endif | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
commit 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4 | ||
Author: Paul Eggert <eggert@cs.ucla.edu> | ||
Date: Sun Sep 24 09:12:58 2017 -0400 | ||
|
||
glob: Do not assume glibc glob internals. | ||
|
||
It has been proposed that glibc glob start using gl_lstat, | ||
which the API allows it to do. GNU 'make' should not get in | ||
the way of this. See: | ||
https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html | ||
|
||
* dir.c (local_lstat): New function, like local_stat. | ||
(dir_setup_glob): Use it to initialize gl_lstat too, as the API | ||
requires. | ||
|
||
--- | ||
dir.c | 29 +++++++++++++++++++++++++++-- | ||
1 file changed, 27 insertions(+), 2 deletions(-) | ||
|
||
--- a/dir.c | ||
+++ b/dir.c | ||
@@ -1299,15 +1299,40 @@ | ||
} | ||
#endif | ||
|
||
+/* Similarly for lstat. */ | ||
+#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS) | ||
+# ifndef VMS | ||
+# ifndef HAVE_SYS_STAT_H | ||
+int lstat (const char *path, struct stat *sbuf); | ||
+# endif | ||
+# else | ||
+ /* We are done with the fake lstat. Go back to the real lstat */ | ||
+# ifdef lstat | ||
+# undef lstat | ||
+# endif | ||
+# endif | ||
+# define local_lstat lstat | ||
+#elif defined(WINDOWS32) | ||
+/* Windows doesn't support lstat(). */ | ||
+# define local_lstat local_stat | ||
+#else | ||
+static int | ||
+local_lstat (const char *path, struct stat *buf) | ||
+{ | ||
+ int e; | ||
+ EINTRLOOP (e, lstat (path, buf)); | ||
+ return e; | ||
+} | ||
+#endif | ||
+ | ||
void | ||
dir_setup_glob (glob_t *gl) | ||
{ | ||
gl->gl_opendir = open_dirstream; | ||
gl->gl_readdir = read_dirstream; | ||
gl->gl_closedir = free; | ||
+ gl->gl_lstat = local_lstat; | ||
gl->gl_stat = local_stat; | ||
- /* We don't bother setting gl_lstat, since glob never calls it. | ||
- The slot is only there for compatibility with 4.4 BSD. */ | ||
} | ||
|
||
void |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,10 @@ | ||
FROM base/archlinux:latest | ||
ARG CTNG_UID | ||
ARG CTNG_GID | ||
RUN groupadd -g $CTNG_GID ctng | ||
RUN useradd -d /home/ctng -m -g $CTNG_GID -u $CTNG_UID -s /bin/bash ctng | ||
RUN pacman -Syu --noconfirm | ||
RUN pacman -S --noconfirm base-devel git help2man python unzip | ||
RUN wget -O /sbin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64 | ||
RUN chmod a+x /sbin/dumb-init | ||
ENTRYPOINT [ "/sbin/dumb-init", "--" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
FROM centos:6 | ||
ARG CTNG_UID | ||
ARG CTNG_GID | ||
RUN groupadd -g $CTNG_GID ctng | ||
RUN useradd -d /home/ctng -m -g $CTNG_GID -u $CTNG_UID -s /bin/bash ctng | ||
RUN yum install -y autoconf gperf bison flex texinfo help2man gcc-c++ patch \ | ||
ncurses-devel python-devel perl-Thread-Queue bzip2 git wget xz unzip | ||
RUN wget -O /sbin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64 | ||
RUN chmod a+x /sbin/dumb-init | ||
ENTRYPOINT [ "/sbin/dumb-init", "--" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/bin/bash | ||
|
||
for c in `docker ps -a -q`; do | ||
docker rm $c | ||
done | ||
for i in `docker images -q`; do | ||
docker rmi --force $i | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,8 @@ | ||
FROM gentoo/stage3-amd64-hardened | ||
ARG CTNG_UID | ||
ARG CTNG_GID | ||
RUN groupadd -g $CTNG_GID ctng | ||
RUN useradd -d /home/ctng -m -g $CTNG_GID -u $CTNG_UID -s /bin/bash ctng | ||
RUN wget -O /sbin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64 | ||
RUN chmod a+x /sbin/dumb-init | ||
ENTRYPOINT [ "/sbin/dumb-init", "--" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
FROM linuxmintd/mint19-amd64 | ||
ARG CTNG_UID | ||
ARG CTNG_GID | ||
RUN groupadd -g $CTNG_GID ctng | ||
RUN useradd -d /home/ctng -m -g $CTNG_GID -u $CTNG_UID -s /bin/bash ctng | ||
RUN apt-get update | ||
RUN apt-get install -y gcc gperf bison flex texinfo help2man make libncurses5-dev \ | ||
python-dev autoconf automake libtool libtool-bin gawk | ||
RUN wget -O /sbin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64 | ||
RUN chmod a+x /sbin/dumb-init | ||
ENTRYPOINT [ "/sbin/dumb-init", "--" ] |