Git init
[external/insserv.git] / packaging / 96_hurd_no_at_funcs.patch
1 Purpose: Try to get insserv building on hurd, by avoiding the dummy *at
2          functions which exist in libc but always return an error.
3 Status:  Not yet submitted upstream.
4
5 ---
6 Index: insserv/listing.h
7 ===================================================================
8 --- insserv.orig/listing.h      2009-09-27 15:45:38.000000000 +0200
9 +++ insserv/listing.h   2009-09-27 15:45:38.000000000 +0200
10 @@ -307,7 +307,7 @@
11  #define xreset(ptr)    \
12         {char *restrict tmp = (char *restrict)ptr; if (ptr && *tmp) free(ptr);} ptr = NULL
13  
14 -#if defined(HAS_unlinkat) && defined(_ATFILE_SOURCE)
15 +#if defined(HAS_unlinkat) && defined(_ATFILE_SOURCE) && !defined(__stub_unlinkat)
16  # define xremove(d,x) (__extension__ ({ if ((dryrun ? 0 : \
17         (unlinkat(d,x,0) != 0 && (errno != EISDIR || unlinkat(d,x,AT_REMOVEDIR) != 0)))) \
18         warn ("can not remove(%s%s): %s\n", rcd, x, strerror(errno)); \
19 @@ -319,7 +319,7 @@
20         else \
21         info(1, "remove service %s/%s%s\n", path, rcd, x); }))
22  #endif
23 -#if defined(HAS_symlinkat) && defined(_ATFILE_SOURCE)
24 +#if defined(HAS_symlinkat) && defined(_ATFILE_SOURCE) && !defined(__stub_symlinkat)
25  # define xsymlink(d,x,y) (__extension__ ({ if ((dryrun ? 0 : (symlinkat(x, d, y) != 0))) \
26         warn ("can not symlink(%s, %s%s): %s\n", x, rcd, y, strerror(errno)); \
27         else \
28 @@ -330,19 +330,19 @@
29         else \
30         info(1, "enable service %s -> %s/%s%s\n", x, path, rcd, y); }))
31  #endif
32 -#if defined(HAS_fstatat) && defined(_ATFILE_SOURCE)
33 +#if defined(HAS_fstatat) && defined(_ATFILE_SOURCE) && !defined(__stub_fstatat)
34  # define xstat(d,x,s)  (__extension__ ({ fstatat(d,x,s, 0); }))
35  # define xlstat(d,x,s) (__extension__ ({ fstatat(d,x,s, AT_SYMLINK_NOFOLLOW); }))
36  #else
37  # define xstat(d,x,s)  (__extension__ ({ stat(x,s); }))
38  # define xlstat(d,x,s) (__extension__ ({ lstat(x,s); }))
39  #endif
40 -#if defined(HAS_readlinkat) && defined(_ATFILE_SOURCE)
41 +#if defined(HAS_readlinkat) && defined(_ATFILE_SOURCE) && !defined(__stub_readlinkat)
42  # define xreadlink(d,x,b,l)    (__extension__ ({ readlinkat(d,x,b,l); }))
43  #else
44  # define xreadlink(d,x,b,l)    (__extension__ ({ readlink(x,b,l); }))
45  #endif
46 -#if defined(HAS_openat) && defined(_ATFILE_SOURCE)
47 +#if defined(HAS_openat) && defined(_ATFILE_SOURCE) && !defined(__stub_openat)
48  # define xopen(d,x,f)  (__extension__ ({ openat(d,x,f); }))
49  #else
50  # define xopen(d,x,f)  (__extension__ ({ open(x,f); }))