blob: 0fb3953cf3bc979965af25c67fac1ca6ba52166e [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001From 80628047a6cc83f82e0c410a82b8f7facd9d50f2 Mon Sep 17 00:00:00 2001
2From: Eric Blake <eblake@redhat.com>
3Date: Wed, 14 Sep 2016 19:21:42 -0500
4Subject: [PATCH] mountlist: include sysmacros.h for glibc
5
6On Fedora rawhide (glibc 2.25), './gnulib-tool --test mountlist'
7reports:
8../../gllib/mountlist.c: In function 'read_file_system_list':
9../../gllib/mountlist.c:534:13: warning: '__makedev_from_sys_types' is deprecated:
10 In the GNU C Library, `makedev' is defined by <sys/sysmacros.h>.
11 For historical compatibility, it is currently defined by
12 <sys/types.h> as well, but we plan to remove this soon.
13 To use `makedev', include <sys/sysmacros.h> directly.
14 If you did not intend to use a system-defined macro `makedev',
15 you should #undef it after including <sys/types.h>.
16 [-Wdeprecated-declarations]
17 me->me_dev = makedev (devmaj, devmin);
18 ^~
19In file included from /usr/include/features.h:397:0,
20 from /usr/include/sys/types.h:25,
21 from ./sys/types.h:28,
22 from ../../gllib/mountlist.h:23,
23 from ../../gllib/mountlist.c:20:
24/usr/include/sys/sysmacros.h:89:1: note: declared here
25 __SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_FST_IMPL_TEMPL)
26 ^
27
28Fix it by including the right headers. We also need a fix to
29autoconf's AC_HEADER_MAJOR, but that's a separate patch.
30
31* m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
32AC_HEADER_MAJOR.
33* lib/mountlist.c (includes): Use correct headers.
34
35Signed-off-by: Eric Blake <eblake@redhat.com>
36
37Upstream-commit: 4da63c5881f60f71999a943612da9112232b9161
38Signed-off-by: Kamil Dudka <kdudka@redhat.com>
39Upstream-Status: Backport [4da63c5881f60f71999a943612da9112232b9161]
40---
41 gl/lib/mountlist.c | 6 ++++++
42 gl/m4/mountlist.m4 | 3 ++-
43 2 files changed, 8 insertions(+), 1 deletion(-)
44
45Index: findutils-4.6.0/gl/lib/mountlist.c
46===================================================================
47--- findutils-4.6.0.orig/gl/lib/mountlist.c
48+++ findutils-4.6.0/gl/lib/mountlist.c
49@@ -37,6 +37,12 @@
50 # include <sys/param.h>
51 #endif
52
53+#if MAJOR_IN_MKDEV
54+# include <sys/mkdev.h>
55+#elif MAJOR_IN_SYSMACROS
56+# include <sys/sysmacros.h>
57+#endif
58+
59 #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */
60 # if HAVE_SYS_UCRED_H
61 # include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
62Index: findutils-4.6.0/gl/m4/mountlist.m4
63===================================================================
64--- findutils-4.6.0.orig/gl/m4/mountlist.m4
65+++ findutils-4.6.0/gl/m4/mountlist.m4
66@@ -1,4 +1,4 @@
67-# serial 11
68+# serial 12
69 dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
70 dnl This file is free software; the Free Software Foundation
71 dnl gives unlimited permission to copy and/or distribute it,
72@@ -15,5 +15,6 @@ AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA],
73 [
74 dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h.
75 AC_CHECK_HEADERS([sys/mntent.h])
76+ AC_HEADER_MAJOR()dnl for use of makedev ()
77 gl_FSTYPENAME
78 ])