All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.