From 09e325f8296eb9e63dc57ed137f4a9940f164563 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 21 Mar 2017 17:11:46 -0700 Subject: [PATCH] check for fstab.h during configure fstab.h is not universally available, checking it during configure creates a knob to disable fstab reads in the plugin Makes it compile/build with musl Upstream-Status: Pending Signed-off-by: Khem Raj Patch Reworked for xfce4-mount-plugin 0.6.4->1.1.2 Signed-off-by: Andreas Müller --- configure.ac | 2 + panel-plugin/devices.c | 22 +++++++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 375e64a..590b7ad 100644 --- a/configure.ac +++ b/configure.ac @@ -65,6 +65,9 @@ dnl param.h is part of libc6 on Linux, but important for old-style Unix and espe AC_CHECK_HEADERS([sys/param.h]) AC_CHECK_HEADERS([sys/mount.h]) +dnl make musl happy +AC_CHECK_HEADERS([fstab.h]) + dnl Add -traditional to output variable CC if using the GNU C compiler and ioctl does not work properly without -traditional. That usually happens when the fixed header files have not been installed on an old system. Leave here commented out to comment in if some older *NIX systems might require it as was recently written on the ML. dnl AC_PROG_GCC_TRADITIONAL diff --git a/panel-plugin/devices.c b/panel-plugin/devices.c index 797b079..d29df56 100644 --- a/panel-plugin/devices.c +++ b/panel-plugin/devices.c @@ -25,7 +25,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #include #endif +#if HAVE_FSTAB_H #include +#endif #include #include #include @@ -468,11 +470,12 @@ disks_new (gboolean include_NFSs, gboolean *showed_fstab_dialog, gint length) { GPtrArray * pdisks; /* to be returned */ t_disk * pdisk; - struct fstab *pfstab; gboolean has_valid_mount_device; pdisks = g_ptr_array_new(); +#if HAVE_FSTAB_H + struct fstab *pfstab; /* open fstab */ if (setfsent()!=1) { @@ -526,7 +529,20 @@ disks_new (gboolean include_NFSs, gboolean *showed_fstab_dialog, gint length) } /* end for */ endfsent(); /* close file */ - +#else + /* popup notification dialog */ + if (! (*showed_fstab_dialog) ) { + xfce_message_dialog (NULL, + _("Xfce 4 Mount Plugin"), + "dialog-info", + _("Your /etc/fstab could not be read because fstab is not supported. This will severely degrade the plugin's abilities."), + NULL, + "gtk-ok", + GTK_RESPONSE_OK, + NULL); + *showed_fstab_dialog = TRUE; + } +#endif return pdisks; } -- 2.9.3