| From 09e325f8296eb9e63dc57ed137f4a9940f164563 Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| 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 |
| |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| |
| Patch Reworked for xfce4-mount-plugin 0.6.4->1.1.2 |
| Signed-off-by: Andreas MΓΌller <schnitzeltony@googlemail.com> |
| --- |
| 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 <config.h> |
| #endif |
| |
| +#if HAVE_FSTAB_H |
| #include <fstab.h> |
| +#endif |
| #include <glib.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| @@ -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 |
| |