linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
* [linux-lvm] [PATCH 0/2] Move AC_PYTHON_MODULE() macro definition
@ 2016-11-18 21:59 Bart Van Assche
  2016-11-18 22:00 ` [linux-lvm] [PATCH 1/2] Move AC_PYTHON_MODULE() macro definition to m4/ac_python_module.m4 Bart Van Assche
  2016-11-18 22:02 ` [linux-lvm] [PATCH 2/2] m4/ac_python_module.m4: Add missing double quotes Bart Van Assche
  0 siblings, 2 replies; 3+ messages in thread
From: Bart Van Assche @ 2016-11-18 21:59 UTC (permalink / raw)
  To: Bryn M. Reeves, Zdenek Kabelac; +Cc: Alasdair G Kergon, linux-lvm

Hello Bryn, Zdenek and Alasdair,

While building lvm2 I noticed that AC_PYTHON_MODULE() has been defined 
in aclocal.m4. I think that is wrong because that file can get 
overwritten by the autotools, e.g. when running autoreconf -ivf. Hence 
this patch series. Please take these patches in consideration for 
integration in the upstream lvm2 repository.

Thanks,

Bart.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [linux-lvm] [PATCH 1/2] Move AC_PYTHON_MODULE() macro definition to m4/ac_python_module.m4
  2016-11-18 21:59 [linux-lvm] [PATCH 0/2] Move AC_PYTHON_MODULE() macro definition Bart Van Assche
@ 2016-11-18 22:00 ` Bart Van Assche
  2016-11-18 22:02 ` [linux-lvm] [PATCH 2/2] m4/ac_python_module.m4: Add missing double quotes Bart Van Assche
  1 sibling, 0 replies; 3+ messages in thread
From: Bart Van Assche @ 2016-11-18 22:00 UTC (permalink / raw)
  To: Bryn M. Reeves, Zdenek Kabelac; +Cc: Alasdair G Kergon, linux-lvm

Adding m4 macros in aclocal.m4 is wrong because the file aclocal.m4
gets overwritten when running e.g. "autoreconf -ivf". Hence move the
AC_PYTHON_MODULE() macro definition into a separate file.

Fixes: commit 5987562cf924 ("lvmdbus: Add new daemon")
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Alasdair G Kergon <agk@redhat.com>
---
 aclocal.m4             | 57 --------------------------------------------------
 configure.in           |  1 +
 m4/ac_python_module.m4 | 56 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 57 insertions(+), 57 deletions(-)
 create mode 100755 m4/ac_python_module.m4

diff --git a/aclocal.m4 b/aclocal.m4
index 35107ac..b1d71d7 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -12,63 +12,6 @@
 # PARTICULAR PURPOSE.
 
 m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
-# ===========================================================================
-#     http://www.gnu.org/software/autoconf-archive/ax_python_module.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_PYTHON_MODULE(modname[, fatal, python])
-#
-# DESCRIPTION
-#
-#   Checks for Python module.
-#
-#   If fatal is non-empty then absence of a module will trigger an error.
-#   The third parameter can either be "python" for Python 2 or "python3" for
-#   Python 3; defaults to Python 3.
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Andrew Collier
-#
-#   Copying and distribution of this file, with or without modification, are
-#   permitted in any medium without royalty provided the copyright notice
-#   and this notice are preserved. This file is offered as-is, without any
-#   warranty.
-
-#serial 8
-
-AU_ALIAS([AC_PYTHON_MODULE], [AX_PYTHON_MODULE])
-AC_DEFUN([AX_PYTHON_MODULE],[
-    if test -z $PYTHON;
-    then
-        if test -z "$3";
-        then
-            PYTHON="python3"
-        else
-            PYTHON="$3"
-        fi
-    fi
-    PYTHON_NAME=`basename $PYTHON`
-    AC_MSG_CHECKING($PYTHON_NAME module: $1)
-    $PYTHON -c "import $1" 2>/dev/null
-    if test $? -eq 0;
-    then
-        AC_MSG_RESULT(yes)
-        eval AS_TR_CPP(HAVE_PYMOD_$1)=yes
-    else
-        AC_MSG_RESULT(no)
-        eval AS_TR_CPP(HAVE_PYMOD_$1)=no
-        #
-        if test -n "$2"
-        then
-            AC_MSG_ERROR(failed to find required module $1)
-            exit 1
-        fi
-    fi
-])
-
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
 # serial 1 (pkg-config-0.24)
 # 
diff --git a/configure.in b/configure.in
index cc77aab..b75c950 100644
--- a/configure.in
+++ b/configure.in
@@ -21,6 +21,7 @@ AC_CONFIG_HEADERS([include/configure.h])
 ################################################################################
 dnl -- Setup the directory where autoconf has auxilary files
 AC_CONFIG_AUX_DIR(autoconf)
+AC_CONFIG_MACRO_DIR(m4)
 
 ################################################################################
 dnl -- Get system type
diff --git a/m4/ac_python_module.m4 b/m4/ac_python_module.m4
new file mode 100755
index 0000000..f182c48
--- /dev/null
+++ b/m4/ac_python_module.m4
@@ -0,0 +1,56 @@
+# ===========================================================================
+#     http://www.gnu.org/software/autoconf-archive/ax_python_module.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PYTHON_MODULE(modname[, fatal, python])
+#
+# DESCRIPTION
+#
+#   Checks for Python module.
+#
+#   If fatal is non-empty then absence of a module will trigger an error.
+#   The third parameter can either be "python" for Python 2 or "python3" for
+#   Python 3; defaults to Python 3.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Andrew Collier
+#
+#   Copying and distribution of this file, with or without modification, are
+#   permitted in any medium without royalty provided the copyright notice
+#   and this notice are preserved. This file is offered as-is, without any
+#   warranty.
+
+#serial 8
+
+AU_ALIAS([AC_PYTHON_MODULE], [AX_PYTHON_MODULE])
+AC_DEFUN([AX_PYTHON_MODULE],[
+    if test -z $PYTHON;
+    then
+        if test -z "$3";
+        then
+            PYTHON="python3"
+        else
+            PYTHON="$3"
+        fi
+    fi
+    PYTHON_NAME=`basename $PYTHON`
+    AC_MSG_CHECKING($PYTHON_NAME module: $1)
+    $PYTHON -c "import $1" 2>/dev/null
+    if test $? -eq 0;
+    then
+        AC_MSG_RESULT(yes)
+        eval AS_TR_CPP(HAVE_PYMOD_$1)=yes
+    else
+        AC_MSG_RESULT(no)
+        eval AS_TR_CPP(HAVE_PYMOD_$1)=no
+        #
+        if test -n "$2"
+        then
+            AC_MSG_ERROR(failed to find required module $1)
+            exit 1
+        fi
+    fi
+])
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [linux-lvm] [PATCH 2/2] m4/ac_python_module.m4: Add missing double quotes
  2016-11-18 21:59 [linux-lvm] [PATCH 0/2] Move AC_PYTHON_MODULE() macro definition Bart Van Assche
  2016-11-18 22:00 ` [linux-lvm] [PATCH 1/2] Move AC_PYTHON_MODULE() macro definition to m4/ac_python_module.m4 Bart Van Assche
@ 2016-11-18 22:02 ` Bart Van Assche
  1 sibling, 0 replies; 3+ messages in thread
From: Bart Van Assche @ 2016-11-18 22:02 UTC (permalink / raw)
  To: Bryn M. Reeves, Zdenek Kabelac; +Cc: Alasdair G Kergon, linux-lvm

Ensure that the shell code generated by AC_PYTHON_MODULE() does not fail if
$PYTHON contains spaces or other separator or metacharacters. Use $() instead
of the obsolete ``. Surround expansion of macro arguments with "" before
passing these to the shell.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
---
 configure              | 42 ++++++++++++++++--------------------------
 m4/ac_python_module.m4 | 19 +++++++------------
 2 files changed, 23 insertions(+), 38 deletions(-)

diff --git a/configure b/configure
index c82a19b..0eef3a5 100755
--- a/configure
+++ b/configure
@@ -13419,21 +13419,17 @@ fi
 if test "$BUILD_LVMDBUSD" = yes; then
 	# To get this macro, install autoconf-archive package then run autoreconf
 
-    if test -z $PYTHON;
-    then
-        if test -z "python3";
-        then
+    if test -z "$PYTHON"; then
+        if test -z "python3"; then
             PYTHON="python3"
         else
             PYTHON="python3"
         fi
     fi
-    PYTHON_NAME=`basename $PYTHON`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking $PYTHON_NAME module: pyudev" >&5
-$as_echo_n "checking $PYTHON_NAME module: pyudev... " >&6; }
-    $PYTHON -c "import pyudev" 2>/dev/null
-    if test $? -eq 0;
-    then
+    PYTHON_NAME=$(basename "$PYTHON")
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking \"$PYTHON_NAME module: pyudev\"" >&5
+$as_echo_n "checking \"$PYTHON_NAME module: pyudev\"... " >&6; }
+    if "$PYTHON" -c "import pyudev" 2>/dev/null; then
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
         eval HAVE_PYMOD_PYUDEV=yes
@@ -13442,29 +13438,24 @@ $as_echo "yes" >&6; }
 $as_echo "no" >&6; }
         eval HAVE_PYMOD_PYUDEV=no
         #
-        if test -n "Required"
-        then
-            as_fn_error $? "failed to find required module pyudev" "$LINENO" 5
+        if test -n "Required"; then
+            as_fn_error $? "\"failed to find required module pyudev\"" "$LINENO" 5
             exit 1
         fi
     fi
 
 
-    if test -z $PYTHON;
-    then
-        if test -z "python3";
-        then
+    if test -z "$PYTHON"; then
+        if test -z "python3"; then
             PYTHON="python3"
         else
             PYTHON="python3"
         fi
     fi
-    PYTHON_NAME=`basename $PYTHON`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking $PYTHON_NAME module: dbus" >&5
-$as_echo_n "checking $PYTHON_NAME module: dbus... " >&6; }
-    $PYTHON -c "import dbus" 2>/dev/null
-    if test $? -eq 0;
-    then
+    PYTHON_NAME=$(basename "$PYTHON")
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking \"$PYTHON_NAME module: dbus\"" >&5
+$as_echo_n "checking \"$PYTHON_NAME module: dbus\"... " >&6; }
+    if "$PYTHON" -c "import dbus" 2>/dev/null; then
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
         eval HAVE_PYMOD_DBUS=yes
@@ -13473,9 +13464,8 @@ $as_echo "yes" >&6; }
 $as_echo "no" >&6; }
         eval HAVE_PYMOD_DBUS=no
         #
-        if test -n "Required"
-        then
-            as_fn_error $? "failed to find required module dbus" "$LINENO" 5
+        if test -n "Required"; then
+            as_fn_error $? "\"failed to find required module dbus\"" "$LINENO" 5
             exit 1
         fi
     fi
diff --git a/m4/ac_python_module.m4 b/m4/ac_python_module.m4
index f182c48..9ed4eae 100755
--- a/m4/ac_python_module.m4
+++ b/m4/ac_python_module.m4
@@ -27,29 +27,24 @@
 
 AU_ALIAS([AC_PYTHON_MODULE], [AX_PYTHON_MODULE])
 AC_DEFUN([AX_PYTHON_MODULE],[
-    if test -z $PYTHON;
-    then
-        if test -z "$3";
-        then
+    if test -z "$PYTHON"; then
+        if test -z "$3"; then
             PYTHON="python3"
         else
             PYTHON="$3"
         fi
     fi
-    PYTHON_NAME=`basename $PYTHON`
-    AC_MSG_CHECKING($PYTHON_NAME module: $1)
-    $PYTHON -c "import $1" 2>/dev/null
-    if test $? -eq 0;
-    then
+    PYTHON_NAME=$(basename "$PYTHON")
+    AC_MSG_CHECKING(["$PYTHON_NAME module: $1"])
+    if "$PYTHON" -c "import $1" 2>/dev/null; then
         AC_MSG_RESULT(yes)
         eval AS_TR_CPP(HAVE_PYMOD_$1)=yes
     else
         AC_MSG_RESULT(no)
         eval AS_TR_CPP(HAVE_PYMOD_$1)=no
         #
-        if test -n "$2"
-        then
-            AC_MSG_ERROR(failed to find required module $1)
+        if test -n "$2"; then
+            AC_MSG_ERROR(["failed to find required module $1"])
             exit 1
         fi
     fi
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-11-18 22:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-18 21:59 [linux-lvm] [PATCH 0/2] Move AC_PYTHON_MODULE() macro definition Bart Van Assche
2016-11-18 22:00 ` [linux-lvm] [PATCH 1/2] Move AC_PYTHON_MODULE() macro definition to m4/ac_python_module.m4 Bart Van Assche
2016-11-18 22:02 ` [linux-lvm] [PATCH 2/2] m4/ac_python_module.m4: Add missing double quotes Bart Van Assche

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).