Subject: [PATCH] guix: build: make-bootstrap: Copy "falloc.h" to the new system.

From: [email-masked]
Date: Sat, 25 Feb 2017 19:20:04 +0200

From: Manolis Ragkousis <[email-masked]>

In glibc-2.25 a dependency on "linux/falloc.h" was added.
This also reverts commit 8f8f250bdca917b3ce38aa0902f01b19081859a4
which is no longer needed. This commit was not compatible with
the glibc version Hurd is using. See
<https://lists.gnu.org/archive/html/guix-devel/2017-02/msg01046.html>

* guix/build/make-bootstrap.scm (make-stripped-libc): Copy "falloc.h"
to the new system.
* gnu/packages/patches/glibc-bootstrap-system.patch: Remove part
that touches fcntl-linux.h.

Problem reported by Andreas Enge <[email-masked]>.
---
 gnu/packages/patches/glibc-bootstrap-system.patch | 24 +----------------------
 guix/build/make-bootstrap.scm                     |  2 +-
 2 files changed, 2 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/patches/glibc-bootstrap-system.patch b/gnu/packages/patches/glibc-bootstrap-system.patch
index 6d09efed2..2f8e7da7e 100644
--- a/gnu/packages/patches/glibc-bootstrap-system.patch
+++ b/gnu/packages/patches/glibc-bootstrap-system.patch
@@ -3,10 +3,6 @@ and popen(3) need to be tweaked to use the right shell.  For the bootstrap
 glibc, we just use whatever `sh' can be found in $PATH.  The final glibc
 instead uses the hard-coded absolute file name of `bash'.
 
-The second part that touches fcntl-linux.h reverts a change from glibc-2.25
-which would require the statically compiled glibc used in bootstrapping to
-depend on the linux kernel headers.
-
 --- a/sysdeps/posix/system.c
 +++ b/sysdeps/posix/system.c
 @@ -134,7 +134,7 @@ do_system (const char *line)
@@ -31,22 +27,4 @@ depend on the linux kernel headers.
      }
    _IO_close (child_end);
 
---- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
-+++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
-@@ -318,7 +318,15 @@ struct f_owner_ex
- 
-  
- /* Flags for fallocate.  */
-+# define FALLOC_FL_KEEP_SIZE           1 /* Don't extend size of file
-+                                            even if offset + len is
-+                                            greater than file size.  */
-+# define FALLOC_FL_PUNCH_HOLE          2 /* Create a hole in the file.  */
-+# define FALLOC_FL_COLLAPSE_RANGE      8 /* Remove a range of a file
-+                                            without leaving a
-+                                            hole.  */
-+# define FALLOC_FL_ZERO_RANGE          16 /* Convert a range of a
-+                                             file to zeros.  */
--# include <linux/falloc.h>
- 
-  
- /* File handle structure.  */
+
diff --git a/guix/build/make-bootstrap.scm b/guix/build/make-bootstrap.scm
index 21c78cc8f..43b136248 100644
--- a/guix/build/make-bootstrap.scm
+++ b/guix/build/make-bootstrap.scm
@@ -55,7 +55,7 @@ when producing a bootstrap libc."
                                 (string-append incdir "/linux")))
                 '("limits.h" "errno.h" "socket.h" "kernel.h"
                   "sysctl.h" "param.h" "ioctl.h" "types.h"
-                  "posix_types.h" "stddef.h"))
+                  "posix_types.h" "stddef.h" "falloc.h"))
 
       (copy-recursively (string-append kernel-headers "/include/asm")
                         (string-append incdir "/asm"))
-- 
2.11.1