Resolves: #1948437 - fix FTBFS due of distutils issue

This commit is contained in:
Josef Řídký 2021-08-02 15:36:38 +02:00
parent 6ae83e6e9b
commit 4a7c04fd69
3 changed files with 257 additions and 1 deletions

12
OpenIPMI-ax-python.patch Normal file
View File

@ -0,0 +1,12 @@
diff -urNp a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
--- a/m4/ax_python_devel.m4 2021-08-02 13:15:04.122972905 +0200
+++ b/m4/ax_python_devel.m4 2021-08-02 13:16:17.407749535 +0200
@@ -143,7 +143,7 @@ variable to configure. See ``configure -
#
AC_MSG_CHECKING([for the distutils Python package])
ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
- if test -z "$ac_distutils_result"; then
+ if test $? -eq 0; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])

239
OpenIPMI-sysconfig.patch Normal file
View File

@ -0,0 +1,239 @@
diff -urNp a/configure b/configure
--- a/configure 2021-08-02 13:38:21.012807239 +0200
+++ b/configure 2021-08-02 14:32:29.884167376 +0200
@@ -13535,20 +13535,20 @@ variable to configure. See \`\`configure
fi
#
- # Check if you have distutils, else fail
+ # Check if you have sysconfig, else fail
#
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
-$as_echo_n "checking for the distutils Python package... " >&6; }
- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
- if test -z "$ac_distutils_result"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the sysconfig Python package" >&5
+$as_echo_n "checking for the sysconfig Python package... " >&6; }
+ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`
+ if test -z "$ac_sysconfig_result"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- as_fn_error $? "cannot import Python module \"distutils\".
+ as_fn_error $? "cannot import Python module \"sysconfig\".
Please check your Python installation. The error was:
-$ac_distutils_result" "$LINENO" 5
+$ac_sysconfig_result" "$LINENO" 5
PYTHON_VERSION=""
fi
@@ -13558,10 +13558,10 @@ $ac_distutils_result" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
$as_echo_n "checking for Python include path... " >&6; }
if test -z "$PYTHON_CPPFLAGS"; then
- python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc ());"`
- plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
+ python_path=`$PYTHON -c "import sysconfig; \
+ print (sysconfig.get_path('include'));"`
+ plat_python_path=`$PYTHON -c "import sysconfig; \
+ print (sysconfig.get_path('include'));"`
if test -n "${python_path}"; then
if test "${plat_python_path}" != "${python_path}"; then
python_path="-I$python_path -I$plat_python_path"
@@ -13587,7 +13587,7 @@ $as_echo_n "checking for Python library
# join all versioning strings, on some systems
# major/minor numbers could be in different list elements
-from distutils.sysconfig import *
+from sysconfig import *
e = get_config_var('VERSION')
if e is not None:
print(e)
@@ -13613,8 +13613,8 @@ _ACEOF
ac_python_libdir=`cat<<EOD | $PYTHON -
# There should be only one
-import distutils.sysconfig
-e = distutils.sysconfig.get_config_var('LIBDIR')
+import sysconfig
+e = sysconfig.get_config_var('LIBDIR')
if e is not None:
print (e)
EOD`
@@ -13622,8 +13622,8 @@ EOD`
# Now, for the library:
ac_python_library=`cat<<EOD | $PYTHON -
-import distutils.sysconfig
-c = distutils.sysconfig.get_config_vars()
+import sysconfig
+c = sysconfig.get_config_vars()
if 'LDVERSION' in c:
print ('python'+c['LDVERSION'])
else:
@@ -13642,9 +13642,9 @@ EOD`
else
# old way: use libpython from python_configdir
ac_python_libdir=`$PYTHON -c \
- "from distutils.sysconfig import get_python_lib as f; \
+ "from sysconfig import get_path as f; \
import os; \
- print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
+ print (os.path.join(f('platstdlib'), 'config'));"`
PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
fi
@@ -13665,8 +13665,8 @@ $as_echo "$PYTHON_LIBS" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
$as_echo_n "checking for Python site-packages path... " >&6; }
if test -z "$PYTHON_SITE_PKG"; then
- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_lib(0,0));"`
+ PYTHON_SITE_PKG=`$PYTHON -c "import sysconfig; \
+ print (sysconfig.get_path('platlib'));"`
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
$as_echo "$PYTHON_SITE_PKG" >&6; }
@@ -13678,8 +13678,8 @@ $as_echo "$PYTHON_SITE_PKG" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
$as_echo_n "checking python extra libraries... " >&6; }
if test -z "$PYTHON_EXTRA_LDFLAGS"; then
- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import sysconfig; \
+ conf = sysconfig.get_config_var; \
print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
@@ -13692,8 +13692,8 @@ $as_echo "$PYTHON_EXTRA_LDFLAGS" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
$as_echo_n "checking python extra linking flags... " >&6; }
if test -z "$PYTHON_EXTRA_LIBS"; then
- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "import sysconfig; \
+ conf = sysconfig.get_config_var; \
print (conf('LINKFORSHARED'))"`
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
diff -urNp a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
--- a/m4/ax_python_devel.m4 2021-08-02 13:38:21.025807373 +0200
+++ b/m4/ax_python_devel.m4 2021-08-02 14:36:33.262720424 +0200
@@ -139,17 +139,17 @@ variable to configure. See ``configure -
fi
#
- # Check if you have distutils, else fail
+ # Check if you have sysconfig, else fail
#
- AC_MSG_CHECKING([for the distutils Python package])
- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+ AC_MSG_CHECKING([for the sysconfig Python package])
+ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`
if test $? -eq 0; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
- AC_MSG_ERROR([cannot import Python module "distutils".
+ AC_MSG_ERROR([cannot import Python module "sysconfig".
Please check your Python installation. The error was:
-$ac_distutils_result])
+$ac_sysconfig_result])
PYTHON_VERSION=""
fi
@@ -158,10 +158,10 @@ $ac_distutils_result])
#
AC_MSG_CHECKING([for Python include path])
if test -z "$PYTHON_CPPFLAGS"; then
- python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc ());"`
- plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
+ python_path=`$PYTHON -c "import sysconfig; \
+ print (sysconfig.get_path('include'));"`
+ plat_python_path=`$PYTHON -c "import sysconfig; \
+ print (sysconfig.get_path('include'));"`
if test -n "${python_path}"; then
if test "${plat_python_path}" != "${python_path}"; then
python_path="-I$python_path -I$plat_python_path"
@@ -185,7 +185,7 @@ $ac_distutils_result])
# join all versioning strings, on some systems
# major/minor numbers could be in different list elements
-from distutils.sysconfig import *
+from sysconfig import *
e = get_config_var('VERSION')
if e is not None:
print(e)
@@ -208,8 +208,8 @@ EOD`
ac_python_libdir=`cat<<EOD | $PYTHON -
# There should be only one
-import distutils.sysconfig
-e = distutils.sysconfig.get_config_var('LIBDIR')
+import sysconfig
+e = sysconfig.get_config_var('LIBDIR')
if e is not None:
print (e)
EOD`
@@ -217,8 +217,8 @@ EOD`
# Now, for the library:
ac_python_library=`cat<<EOD | $PYTHON -
-import distutils.sysconfig
-c = distutils.sysconfig.get_config_vars()
+import sysconfig
+c = sysconfig.get_config_vars()
if 'LDVERSION' in c:
print ('python'+c[['LDVERSION']])
else:
@@ -237,9 +237,9 @@ EOD`
else
# old way: use libpython from python_configdir
ac_python_libdir=`$PYTHON -c \
- "from distutils.sysconfig import get_python_lib as f; \
+ "from sysconfig import get_path as f; \
import os; \
- print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
+ print (os.path.join(f('platstdlib'), 'config'));"`
PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
fi
@@ -258,8 +258,8 @@ EOD`
#
AC_MSG_CHECKING([for Python site-packages path])
if test -z "$PYTHON_SITE_PKG"; then
- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_lib(0,0));"`
+ PYTHON_SITE_PKG=`$PYTHON -c "import sysconfig; \
+ print (sysconfig.get_path('platlib'));"`
fi
AC_MSG_RESULT([$PYTHON_SITE_PKG])
AC_SUBST([PYTHON_SITE_PKG])
@@ -269,8 +269,8 @@ EOD`
#
AC_MSG_CHECKING(python extra libraries)
if test -z "$PYTHON_EXTRA_LDFLAGS"; then
- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import sysconfig; \
+ conf = sysconfig.get_config_var; \
print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
fi
AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
@@ -281,8 +281,8 @@ EOD`
#
AC_MSG_CHECKING(python extra linking flags)
if test -z "$PYTHON_EXTRA_LIBS"; then
- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "import sysconfig; \
+ conf = sysconfig.get_config_var; \
print (conf('LINKFORSHARED'))"`
fi
AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])

View File

@ -4,7 +4,7 @@ Summary: IPMI (Intelligent Platform Management Interface) library and tools
Name: OpenIPMI
Version: 2.0.31
Release: 6%{?dist}
Release: 7%{?dist}
License: LGPLv2+ and GPLv2+ or BSD
URL: http://sourceforge.net/projects/openipmi/
Source: http://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz
@ -12,6 +12,8 @@ Source1: openipmi.sysconf
Source2: openipmi-helper
Source3: ipmi.service
Patch1: 0001-man.patch
Patch2: OpenIPMI-ax-python.patch
Patch3: OpenIPMI-sysconfig.patch
BuildRequires: make
BuildRequires: gdbm-devel swig glib2-devel net-snmp-devel ncurses-devel
@ -198,6 +200,9 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1
%{_mandir}/man5/ipmi_sim_cmd.5*
%changelog
* Mon Aug 02 2021 Josef Ridky <jrikdy@redhat.com> - 2.0.31-7
- replace distutils and fix FTBFS (#1948437)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.31-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild