2b3154
From 80628047a6cc83f82e0c410a82b8f7facd9d50f2 Mon Sep 17 00:00:00 2001
2b3154
From: Eric Blake <eblake@redhat.com>
2b3154
Date: Wed, 14 Sep 2016 19:21:42 -0500
2b3154
Subject: [PATCH] mountlist: include sysmacros.h for glibc
2b3154
2b3154
On Fedora rawhide (glibc 2.25), './gnulib-tool --test mountlist'
2b3154
reports:
2b3154
../../gllib/mountlist.c: In function 'read_file_system_list':
2b3154
../../gllib/mountlist.c:534:13: warning: '__makedev_from_sys_types' is deprecated:
2b3154
  In the GNU C Library, `makedev' is defined by <sys/sysmacros.h>.
2b3154
  For historical compatibility, it is currently defined by
2b3154
  <sys/types.h> as well, but we plan to remove this soon.
2b3154
  To use `makedev', include <sys/sysmacros.h> directly.
2b3154
  If you did not intend to use a system-defined macro `makedev',
2b3154
  you should #undef it after including <sys/types.h>.
2b3154
  [-Wdeprecated-declarations]
2b3154
             me->me_dev = makedev (devmaj, devmin);
2b3154
             ^~
2b3154
In file included from /usr/include/features.h:397:0,
2b3154
                 from /usr/include/sys/types.h:25,
2b3154
                 from ./sys/types.h:28,
2b3154
                 from ../../gllib/mountlist.h:23,
2b3154
                 from ../../gllib/mountlist.c:20:
2b3154
/usr/include/sys/sysmacros.h:89:1: note: declared here
2b3154
 __SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_FST_IMPL_TEMPL)
2b3154
 ^
2b3154
2b3154
Fix it by including the right headers.  We also need a fix to
2b3154
autoconf's AC_HEADER_MAJOR, but that's a separate patch.
2b3154
2b3154
* m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
2b3154
AC_HEADER_MAJOR.
2b3154
* lib/mountlist.c (includes): Use correct headers.
2b3154
2b3154
Signed-off-by: Eric Blake <eblake@redhat.com>
2b3154
2b3154
Upstream-commit: 4da63c5881f60f71999a943612da9112232b9161
2b3154
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
2b3154
---
2b3154
 gl/lib/mountlist.c | 6 ++++++
2b3154
 gl/m4/mountlist.m4 | 3 ++-
2b3154
 2 files changed, 8 insertions(+), 1 deletion(-)
2b3154
2b3154
diff --git a/gl/lib/mountlist.c b/gl/lib/mountlist.c
2b3154
index c3d2852..0b6f92e 100644
2b3154
--- a/gl/lib/mountlist.c
2b3154
+++ b/gl/lib/mountlist.c
2b3154
@@ -37,6 +37,12 @@
2b3154
 # include <sys/param.h>
2b3154
 #endif
2b3154
 
2b3154
+#if MAJOR_IN_MKDEV
2b3154
+# include <sys/mkdev.h>
2b3154
+#elif MAJOR_IN_SYSMACROS
2b3154
+# include <sys/sysmacros.h>
2b3154
+#endif
2b3154
+
2b3154
 #if defined MOUNTED_GETFSSTAT   /* OSF_1 and Darwin1.3.x */
2b3154
 # if HAVE_SYS_UCRED_H
2b3154
 #  include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
2b3154
diff --git a/gl/m4/mountlist.m4 b/gl/m4/mountlist.m4
2b3154
index ec58dc8..82b2dcb 100644
2b3154
--- a/gl/m4/mountlist.m4
2b3154
+++ b/gl/m4/mountlist.m4
2b3154
@@ -1,4 +1,4 @@
2b3154
-# serial 11
2b3154
+# serial 12
2b3154
 dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
2b3154
 dnl This file is free software; the Free Software Foundation
2b3154
 dnl gives unlimited permission to copy and/or distribute it,
2b3154
@@ -15,5 +15,6 @@ AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA],
2b3154
 [
2b3154
   dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h.
2b3154
   AC_CHECK_HEADERS([sys/mntent.h])
2b3154
+  AC_HEADER_MAJOR()dnl for use of makedev ()
2b3154
   gl_FSTYPENAME
2b3154
 ])
2b3154
-- 
2b3154
2.16.2
2b3154