mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 00:14:44 +01:00
replace deprecated distutils with setuptools
Adds python3 setuptools as a build dependency for libapparmor Fixes: https://gitlab.com/apparmor/apparmor/-/issues/202 MR: https://gitlab.com/apparmor/apparmor/-/merge_requests/813 Signed-off-by: Georgia Garcia <georgia.garcia@canonical.com> Acked-by: Christian Boltz <apparmor@cboltz.de>
This commit is contained in:
parent
ca276d2bfd
commit
21e5a721ab
11 changed files with 32 additions and 28 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -160,6 +160,7 @@ libraries/libapparmor/swig/perl/libapparmor_wrap.c
|
||||||
libraries/libapparmor/swig/perl/libapparmor_wrap.o
|
libraries/libapparmor/swig/perl/libapparmor_wrap.o
|
||||||
libraries/libapparmor/swig/perl/pm_to_blib
|
libraries/libapparmor/swig/perl/pm_to_blib
|
||||||
libraries/libapparmor/swig/python/LibAppArmor.py
|
libraries/libapparmor/swig/python/LibAppArmor.py
|
||||||
|
libraries/libapparmor/swig/python/LibAppArmor.egg-info/
|
||||||
libraries/libapparmor/swig/python/build/
|
libraries/libapparmor/swig/python/build/
|
||||||
libraries/libapparmor/swig/python/libapparmor_wrap.c
|
libraries/libapparmor/swig/python/libapparmor_wrap.c
|
||||||
libraries/libapparmor/swig/python/Makefile
|
libraries/libapparmor/swig/python/Makefile
|
||||||
|
@ -204,6 +205,8 @@ utils/*.tmp
|
||||||
utils/po/*.mo
|
utils/po/*.mo
|
||||||
utils/apparmor/*.pyc
|
utils/apparmor/*.pyc
|
||||||
utils/apparmor/rule/*.pyc
|
utils/apparmor/rule/*.pyc
|
||||||
|
utils/apparmor.egg-info/
|
||||||
|
utils/build/
|
||||||
utils/htmlcov/
|
utils/htmlcov/
|
||||||
utils/test/common_test.pyc
|
utils/test/common_test.pyc
|
||||||
utils/test/.coverage
|
utils/test/.coverage
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
image: ubuntu:latest
|
image: ubuntu:latest
|
||||||
before_script:
|
before_script:
|
||||||
- export DEBIAN_FRONTEND=noninteractive && apt-get update -qq && apt-get install --no-install-recommends -y build-essential apache2-dev autoconf automake bison dejagnu flex libjs-jquery libjs-jquery-throttle-debounce libjs-jquery-isonscreen libjs-jquery-tablesorter libpam-dev libtool perl liblocale-gettext-perl pkg-config python-all-dev python3-all-dev pyflakes3 ruby-dev swig lsb-release python3-coverage python3-notify2 python3-psutil zlib1g-dev
|
- export DEBIAN_FRONTEND=noninteractive && apt-get update -qq && apt-get install --no-install-recommends -y build-essential apache2-dev autoconf automake bison dejagnu flex libjs-jquery libjs-jquery-throttle-debounce libjs-jquery-isonscreen libjs-jquery-tablesorter libpam-dev libtool perl liblocale-gettext-perl pkg-config python-all-dev python3-all-dev pyflakes3 ruby-dev swig lsb-release python3-coverage python3-notify2 python3-psutil python3-setuptools zlib1g-dev
|
||||||
- lsb_release -a
|
- lsb_release -a
|
||||||
- uname -a
|
- uname -a
|
||||||
|
|
||||||
|
|
|
@ -66,17 +66,17 @@ variable to configure. See ``configure --help'' for reference.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# Check if you have distutils, else fail
|
# Check if you have setuptools, else fail
|
||||||
#
|
#
|
||||||
AC_MSG_CHECKING([for the distutils Python package])
|
AC_MSG_CHECKING([for the setuptools Python package])
|
||||||
ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
|
ac_setuptools_result=`$PYTHON -c "import setuptools" 2>&1`
|
||||||
if test -z "$ac_distutils_result"; then
|
if test -z "$ac_setuptools_result"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
AC_MSG_ERROR([cannot import Python module "distutils".
|
AC_MSG_ERROR([cannot import Python module "setuptools".
|
||||||
Please check your Python installation. The error was:
|
Please check your Python installation. The error was:
|
||||||
$ac_distutils_result])
|
$ac_setuptools_result])
|
||||||
PYTHON_VERSION=""
|
PYTHON_VERSION=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -88,8 +88,8 @@ $ac_distutils_result])
|
||||||
PYTHON_CPPFLAGS=`$PYTHON_CONFIG --includes`
|
PYTHON_CPPFLAGS=`$PYTHON_CONFIG --includes`
|
||||||
fi
|
fi
|
||||||
if test -z "$PYTHON_CPPFLAGS"; then
|
if test -z "$PYTHON_CPPFLAGS"; then
|
||||||
python_path=`$PYTHON -c "import sys; import distutils.sysconfig;\
|
python_path=`$PYTHON -c "import sys; import sysconfig;\
|
||||||
sys.stdout.write('%s\n' % distutils.sysconfig.get_python_inc());"`
|
sys.stdout.write('%s\n' % sysconfig.get_path('include'));"`
|
||||||
if test -n "${python_path}"; then
|
if test -n "${python_path}"; then
|
||||||
python_path="-I$python_path"
|
python_path="-I$python_path"
|
||||||
fi
|
fi
|
||||||
|
@ -108,8 +108,8 @@ sys.stdout.write('%s\n' % distutils.sysconfig.get_python_inc());"`
|
||||||
if test -z "$PYTHON_LDFLAGS"; then
|
if test -z "$PYTHON_LDFLAGS"; then
|
||||||
# (makes two attempts to ensure we've got a version number
|
# (makes two attempts to ensure we've got a version number
|
||||||
# from the interpreter)
|
# from the interpreter)
|
||||||
py_version=`$PYTHON -c "import sys; from distutils.sysconfig import *; \
|
py_version=`$PYTHON -c "import sys; import sysconfig; \
|
||||||
sys.stdout.write('%s\n' % ''.join(get_config_vars('VERSION')))"`
|
sys.stdout.write('%s\n' % ''.join(sysconfig.get_config_vars('VERSION')))"`
|
||||||
if test "$py_version" == "[None]"; then
|
if test "$py_version" == "[None]"; then
|
||||||
if test -n "$PYTHON_VERSION"; then
|
if test -n "$PYTHON_VERSION"; then
|
||||||
py_version=$PYTHON_VERSION
|
py_version=$PYTHON_VERSION
|
||||||
|
@ -119,8 +119,8 @@ sys.stdout.write("%s\n" % sys.version[[:3]])"`
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PYTHON_LDFLAGS=`$PYTHON -c "import sys; from distutils.sysconfig import *; \
|
PYTHON_LDFLAGS=`$PYTHON -c "import sys; import sysconfig; \
|
||||||
sys.stdout.write('-L' + get_python_lib(0,1) + ' -lpython\n')"`$py_version`$PYTHON -c \
|
sys.stdout.write('-L' + sysconfig.get_path('stdlib') + ' -lpython\n')"`$py_version`$PYTHON -c \
|
||||||
"import sys; sys.stdout.write('%s' % getattr(sys,'abiflags',''))"`
|
"import sys; sys.stdout.write('%s' % getattr(sys,'abiflags',''))"`
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT([$PYTHON_LDFLAGS])
|
AC_MSG_RESULT([$PYTHON_LDFLAGS])
|
||||||
|
@ -131,8 +131,8 @@ sys.stdout.write('-L' + get_python_lib(0,1) + ' -lpython\n')"`$py_version`$PYTHO
|
||||||
#
|
#
|
||||||
AC_MSG_CHECKING([for Python site-packages path])
|
AC_MSG_CHECKING([for Python site-packages path])
|
||||||
if test -z "$PYTHON_SITE_PKG"; then
|
if test -z "$PYTHON_SITE_PKG"; then
|
||||||
PYTHON_SITE_PKG=`$PYTHON -c "import sys; import distutils.sysconfig; \
|
PYTHON_SITE_PKG=`$PYTHON -c "import sys; import sysconfig; \
|
||||||
sys.stdout.write('%s\n' % distutils.sysconfig.get_python_lib(0,0));"`
|
sys.stdout.write('%s\n' % sysconfig.get_path('purelib'));"`
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT([$PYTHON_SITE_PKG])
|
AC_MSG_RESULT([$PYTHON_SITE_PKG])
|
||||||
AC_SUBST([PYTHON_SITE_PKG])
|
AC_SUBST([PYTHON_SITE_PKG])
|
||||||
|
@ -146,8 +146,8 @@ sys.stdout.write('%s\n' % distutils.sysconfig.get_python_lib(0,0));"`
|
||||||
PYTHON_EXTRA_LIBS=''
|
PYTHON_EXTRA_LIBS=''
|
||||||
fi
|
fi
|
||||||
if test -z "$PYTHON_EXTRA_LIBS"; then
|
if test -z "$PYTHON_EXTRA_LIBS"; then
|
||||||
PYTHON_EXTRA_LIBS=`$PYTHON -c "import sys; import distutils.sysconfig; \
|
PYTHON_EXTRA_LIBS=`$PYTHON -c "import sys; import sysconfig; \
|
||||||
conf = distutils.sysconfig.get_config_var; \
|
conf = sysconfig.get_config_var; \
|
||||||
sys.stdout.write('%s %s %s\n' % (conf('BLDLIBRARY'), conf('LOCALMODLIBS'), conf('LIBS')))"`
|
sys.stdout.write('%s %s %s\n' % (conf('BLDLIBRARY'), conf('LOCALMODLIBS'), conf('LIBS')))"`
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
|
AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
|
||||||
|
@ -162,8 +162,8 @@ sys.stdout.write('%s %s %s\n' % (conf('BLDLIBRARY'), conf('LOCALMODLIBS'), conf(
|
||||||
PYTHON_EXTRA_LDFLAGS=''
|
PYTHON_EXTRA_LDFLAGS=''
|
||||||
fi
|
fi
|
||||||
if test -z "$PYTHON_EXTRA_LDFLAGS"; then
|
if test -z "$PYTHON_EXTRA_LDFLAGS"; then
|
||||||
PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import sys; import distutils.sysconfig; \
|
PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import sys; import sysconfig; \
|
||||||
conf = distutils.sysconfig.get_config_var; \
|
conf = sysconfig.get_config_var; \
|
||||||
sys.stdout.write('%s\n' % conf('LINKFORSHARED'))"`
|
sys.stdout.write('%s\n' % conf('LINKFORSHARED'))"`
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
|
AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
|
||||||
|
|
|
@ -21,7 +21,7 @@ install-exec-local:
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
if test -x "$(PYTHON)"; then $(PYTHON) setup.py clean; fi
|
if test -x "$(PYTHON)"; then $(PYTHON) setup.py clean; fi
|
||||||
rm -rf build
|
rm -rf build LibAppArmor.egg-info
|
||||||
if test $(top_srcdir) != $(top_builddir) ; then rm -f libapparmor_wrap.c ; fi
|
if test $(top_srcdir) != $(top_builddir) ; then rm -f libapparmor_wrap.c ; fi
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from distutils.core import setup, Extension
|
from setuptools import setup, Extension
|
||||||
import string
|
import string
|
||||||
|
|
||||||
setup(name = 'LibAppArmor',
|
setup(name = 'LibAppArmor',
|
||||||
|
|
|
@ -11,7 +11,7 @@ test_python.py: test_python.py.in $(top_builddir)/config.status
|
||||||
CLEANFILES = test_python.py
|
CLEANFILES = test_python.py
|
||||||
|
|
||||||
# bah, how brittle is this?
|
# bah, how brittle is this?
|
||||||
PYTHON_DIST_BUILD_PATH = '$(builddir)/../build/$$($(PYTHON) -c "import distutils.util; import platform; print(\"lib.%s-%s\" %(distutils.util.get_platform(), platform.python_version()[:3]))")'
|
PYTHON_DIST_BUILD_PATH = '$(builddir)/../build/$$($(PYTHON) -c "import sysconfig; print(\"lib.%s-%s\" %(sysconfig.get_platform(), sysconfig.get_python_version()))")'
|
||||||
|
|
||||||
TESTS = test_python.py
|
TESTS = test_python.py
|
||||||
TESTS_ENVIRONMENT = \
|
TESTS_ENVIRONMENT = \
|
||||||
|
|
|
@ -41,7 +41,7 @@ ifdef USE_SYSTEM
|
||||||
LOGPROF?=aa-logprof
|
LOGPROF?=aa-logprof
|
||||||
else
|
else
|
||||||
# PYTHON_DIST_BUILD_PATH based on libapparmor/swig/python/test/Makefile.am
|
# PYTHON_DIST_BUILD_PATH based on libapparmor/swig/python/test/Makefile.am
|
||||||
PYTHON_DIST_BUILD_PATH = ../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import distutils.util; import platform; print(\"lib.%s-%s\" %(distutils.util.get_platform(), platform.python_version()[:3]))")
|
PYTHON_DIST_BUILD_PATH = ../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import sysconfig; print(\"lib.%s-%s\" %(sysconfig.get_platform(), sysconfig.get_python_version()))")
|
||||||
LIBAPPARMOR_PATH=../libraries/libapparmor/src/.libs/
|
LIBAPPARMOR_PATH=../libraries/libapparmor/src/.libs/
|
||||||
LD_LIBRARY_PATH=$(LIBAPPARMOR_PATH):$(PYTHON_DIST_BUILD_PATH)
|
LD_LIBRARY_PATH=$(LIBAPPARMOR_PATH):$(PYTHON_DIST_BUILD_PATH)
|
||||||
PYTHONPATH=../utils/:$(PYTHON_DIST_BUILD_PATH)
|
PYTHONPATH=../utils/:$(PYTHON_DIST_BUILD_PATH)
|
||||||
|
|
|
@ -72,6 +72,7 @@ clean: pod_clean
|
||||||
rm -rf staging/ build/
|
rm -rf staging/ build/
|
||||||
rm -f apparmor/*.pyc apparmor/rule/*.pyc
|
rm -f apparmor/*.pyc apparmor/rule/*.pyc
|
||||||
rm -rf apparmor/__pycache__/ apparmor/rule/__pycache__/
|
rm -rf apparmor/__pycache__/ apparmor/rule/__pycache__/
|
||||||
|
rm -rf apparmor.egg-info/
|
||||||
|
|
||||||
# ${CAPABILITIES} is defined in common/Make.rules
|
# ${CAPABILITIES} is defined in common/Make.rules
|
||||||
.PHONY: check_severity_db
|
.PHONY: check_severity_db
|
||||||
|
|
|
@ -20,14 +20,14 @@
|
||||||
# Note: --version=... must be the last argument to this script
|
# Note: --version=... must be the last argument to this script
|
||||||
#
|
#
|
||||||
|
|
||||||
from distutils.command.install import install as _install
|
from setuptools.command.install import install as _install
|
||||||
from distutils.core import setup
|
from setuptools import setup
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
class Install(_install, object):
|
class Install(_install, object):
|
||||||
'''Override distutils to install the files where we want them.'''
|
'''Override setuptools to install the files where we want them.'''
|
||||||
def run(self):
|
def run(self):
|
||||||
# Now byte-compile everything
|
# Now byte-compile everything
|
||||||
super(Install, self).run()
|
super(Install, self).run()
|
||||||
|
|
|
@ -32,7 +32,7 @@ ifdef USE_SYSTEM
|
||||||
PARSER=
|
PARSER=
|
||||||
else
|
else
|
||||||
# PYTHON_DIST_BUILD_PATH based on libapparmor/swig/python/test/Makefile.am
|
# PYTHON_DIST_BUILD_PATH based on libapparmor/swig/python/test/Makefile.am
|
||||||
PYTHON_DIST_BUILD_PATH = ../../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import distutils.util; import platform; print(\"lib.%s-%s\" %(distutils.util.get_platform(), platform.python_version()[:3]))")
|
PYTHON_DIST_BUILD_PATH = ../../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import sysconfig; print(\"lib.%s-%s\" %(sysconfig.get_platform(), sysconfig.get_python_version()))")
|
||||||
LIBAPPARMOR_PATH=../../libraries/libapparmor/src/.libs/
|
LIBAPPARMOR_PATH=../../libraries/libapparmor/src/.libs/
|
||||||
LD_LIBRARY_PATH=$(LIBAPPARMOR_PATH):$(PYTHON_DIST_BUILD_PATH)
|
LD_LIBRARY_PATH=$(LIBAPPARMOR_PATH):$(PYTHON_DIST_BUILD_PATH)
|
||||||
PYTHONPATH=..:$(PYTHON_DIST_BUILD_PATH)
|
PYTHONPATH=..:$(PYTHON_DIST_BUILD_PATH)
|
||||||
|
|
|
@ -7,7 +7,7 @@ For more information, refer to the [unittest documentation](https://docs.python.
|
||||||
Make sure to set the environment variables pointing to the in-tree apparmor modules, and the in-tree libapparmor and its python wrapper:
|
Make sure to set the environment variables pointing to the in-tree apparmor modules, and the in-tree libapparmor and its python wrapper:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ export PYTHONPATH=..:../../libraries/libapparmor/swig/python/build/$(/usr/bin/python3 -c "import distutils.util; import platform; print(\"lib.%s-%s\" %(distutils.util.get_platform(), platform.python_version()[:3]))")
|
$ export PYTHONPATH=..:../../libraries/libapparmor/swig/python/build/$(/usr/bin/python3 -c "import sysconfig; print(\"lib.%s-%s\" %(sysconfig.get_platform(), sysconfig.get_python_version()))")
|
||||||
$ export __AA_CONFDIR=.
|
$ export __AA_CONFDIR=.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue