changeset 18419:d81946484cce

mountlist: include sysmacros.h for glibc On Fedora rawhide (glibc 2.25), './gnulib-tool --test mountlist' reports: ../../gllib/mountlist.c: In function 'read_file_system_list': ../../gllib/mountlist.c:534:13: warning: '__makedev_from_sys_types' is deprecated: In the GNU C Library, `makedev' is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use `makedev', include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro `makedev', you should #undef it after including <sys/types.h>. [-Wdeprecated-declarations] me->me_dev = makedev (devmaj, devmin); ^~ In file included from /usr/include/features.h:397:0, from /usr/include/sys/types.h:25, from ./sys/types.h:28, from ../../gllib/mountlist.h:23, from ../../gllib/mountlist.c:20: /usr/include/sys/sysmacros.h:89:1: note: declared here __SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_FST_IMPL_TEMPL) ^ Fix it by including the right headers. We also need a fix to autoconf's AC_HEADER_MAJOR, but that's a separate patch. * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include AC_HEADER_MAJOR. * lib/mountlist.c (includes): Use correct headers. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Wed, 14 Sep 2016 19:21:42 -0500
parents f40cbff19a96
children 6131f0e7856c
files ChangeLog lib/mountlist.c m4/mountlist.m4
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Sep 15 10:32:54 2016 -0700
+++ b/ChangeLog	Wed Sep 14 19:21:42 2016 -0500
@@ -1,3 +1,10 @@
+2016-09-15  Eric Blake  <eblake@redhat.com>
+
+	mountlist: include sysmacros.h for glibc
+	* m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
+	AC_HEADER_MAJOR.
+	* lib/mountlist.c (includes): Use correct headers.
+
 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
 
 	extensions: port to more ISO C TSes
--- a/lib/mountlist.c	Thu Sep 15 10:32:54 2016 -0700
+++ b/lib/mountlist.c	Wed Sep 14 19:21:42 2016 -0500
@@ -37,6 +37,12 @@
 # include <sys/param.h>
 #endif
 
+#if MAJOR_IN_MKDEV
+# include <sys/mkdev.h>
+#elif MAJOR_IN_SYSMACROS
+# include <sys/sysmacros.h>
+#endif
+
 #if defined MOUNTED_GETFSSTAT   /* OSF_1 and Darwin1.3.x */
 # if HAVE_SYS_UCRED_H
 #  include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
--- a/m4/mountlist.m4	Thu Sep 15 10:32:54 2016 -0700
+++ b/m4/mountlist.m4	Wed Sep 14 19:21:42 2016 -0500
@@ -1,4 +1,4 @@
-# serial 11
+# serial 12
 dnl Copyright (C) 2002-2006, 2009-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -15,5 +15,6 @@
 [
   dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h.
   AC_CHECK_HEADERS([sys/mntent.h])
+  AC_HEADER_MAJOR()dnl for use of makedev ()
   gl_FSTYPENAME
 ])