|
@@ -0,0 +1,125 @@
|
|
|
|
+Correct build issues to enable cross compiling. These changes require the
|
|
|
|
+package to be auto reconfigured.
|
|
|
|
+
|
|
|
|
+These updates were not upsteamed as the 3.3.x version has stablized and they
|
|
|
|
+were only taking bug fixes. Also the 4.0 preview has completely reworked
|
|
|
|
+the build infrastructure which will require this to be revisited.
|
|
|
|
+
|
|
|
|
+Signed-off-by Clayton Shotwell <clshotwe@rockwellcollins.com>
|
|
|
|
+
|
|
|
|
+diff -urN a/configure.ac b/configure.ac
|
|
|
|
+--- a/configure.ac 2013-01-16 10:36:24.000000000 -0600
|
|
|
|
++++ b/configure.ac 2013-07-12 08:22:10.380255248 -0500
|
|
|
|
+@@ -448,8 +448,9 @@
|
|
|
|
+ sepol_srcdir="")
|
|
|
|
+ if test "x${sepol_srcdir}" = "x"; then
|
|
|
|
+ sepol_srcdir=${sepol_devel_libdir}
|
|
|
|
+- AC_CHECK_FILE([${sepol_srcdir}/libsepol.a],,
|
|
|
|
+- AC_MSG_ERROR([make sure libsepol-static is installed]))
|
|
|
|
++ if test ! -f ${sepol_srcdir}/libsepol.a; then
|
|
|
|
++ AC_MSG_ERROR([could not find precompiled libsepol.a])
|
|
|
|
++ fi
|
|
|
|
+ else
|
|
|
|
+ AC_MSG_CHECKING([for compatible sepol source tree])
|
|
|
|
+ sepol_version=${sepol_srcdir}/VERSION
|
|
|
|
+@@ -484,8 +485,9 @@
|
|
|
|
+ AC_CHECK_HEADER([sepol/policydb/policydb.h], , AC_MSG_ERROR([could not find sepol source tree]))
|
|
|
|
+ CFLAGS="${sepol_src_save_CFLAGS}"
|
|
|
|
+ CPPFLAGS="${sepol_src_save_CPPFLAGS}"
|
|
|
|
+- AC_CHECK_FILE([${sepol_srcdir}/libsepol.a],,
|
|
|
|
+- AC_MSG_ERROR([could not find precompiled libsepol.a]))
|
|
|
|
++ if test ! -f ${sepol_srcdir}/libsepol.a; then
|
|
|
|
++ AC_MSG_ERROR([could not find precompiled libsepol.a])
|
|
|
|
++ fi
|
|
|
|
+ sepol_devel_incdir="${sepol_srcdir}/../include"
|
|
|
|
+ fi
|
|
|
|
+ SELINUX_CFLAGS="-I${sepol_devel_incdir} -I${selinux_devel_incdir}"
|
|
|
|
+@@ -578,12 +580,13 @@
|
|
|
|
+ [AC_LANG_SOURCE([
|
|
|
|
+ #include <sepol/policydb/expand.h>
|
|
|
|
+ int main () {
|
|
|
|
+- return expand_module_avrules(NULL, NULL, NULL, NULL, NULL, 0, 0);
|
|
|
|
++ return expand_module_avrules(NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0);
|
|
|
|
+ }])],
|
|
|
|
+ AC_MSG_RESULT([yes]),
|
|
|
|
+ AC_MSG_ERROR([this version of libsepol is incompatible with SETools]))
|
|
|
|
+ fi
|
|
|
|
+ sepol_new_expand_boolmap="yes"
|
|
|
|
++ sepol_new_user_role_mapping="yes"
|
|
|
|
+ else
|
|
|
|
+ sepol_new_expand_boolmap="no"
|
|
|
|
+ fi
|
|
|
|
+@@ -607,7 +610,8 @@
|
|
|
|
+ exit(EXIT_FAILURE);
|
|
|
|
+ }])],
|
|
|
|
+ sepol_policy_version_max=`cat conftest.data`,
|
|
|
|
+- AC_MSG_FAILURE([could not determine maximum libsepol policy version]))
|
|
|
|
++ AC_MSG_FAILURE([could not determine maximum libsepol policy version]),
|
|
|
|
++ sepol_policy_version_max="26")
|
|
|
|
+ AC_DEFINE_UNQUOTED(SEPOL_POLICY_VERSION_MAX, ${sepol_policy_version_max}, [maximum policy version supported by libsepol])
|
|
|
|
+ CFLAGS="${sepol_save_CFLAGS}"
|
|
|
|
+ CPPFLAGS="${sepol_save_CPPFLAGS}"
|
|
|
|
+@@ -631,7 +635,7 @@
|
|
|
|
+ changequote([,])dnl
|
|
|
|
+ selinux_save_CFLAGS="${CFLAGS}"
|
|
|
|
+ CFLAGS="${SELINUX_CFLAGS} ${SELINUX_LIB_FLAG} -lselinux -lsepol ${CFLAGS}"
|
|
|
|
+- gcc ${CFLAGS} -o conftest conftest.c >&5
|
|
|
|
++ ${CC} ${CFLAGS} -o conftest conftest.c >&5
|
|
|
|
+ selinux_policy_dir=`./conftest`
|
|
|
|
+ AC_MSG_RESULT(${selinux_policy_dir})
|
|
|
|
+ CFLAGS="${selinux_save_CFLAGS}"
|
|
|
|
+diff -urN a/libqpol/src/policy_define.c b/libqpol/src/policy_define.c
|
|
|
|
+--- a/libqpol/src/policy_define.c 2013-01-16 10:36:24.000000000 -0600
|
|
|
|
++++ b/libqpol/src/policy_define.c 2013-07-12 08:22:10.380255248 -0500
|
|
|
|
+@@ -2135,7 +2135,7 @@
|
|
|
|
+ #ifdef HAVE_SEPOL_ROLE_ATTRS
|
|
|
|
+ if (role_set_expand(&roles, &e_roles, policydbp, NULL, NULL))
|
|
|
|
+ #elif HAVE_SEPOL_USER_ROLE_MAPPING
|
|
|
|
+- if (role_set_expand(&roles, &e_roles, policydbp, NULL))
|
|
|
|
++ if (role_set_expand(&roles, &e_roles, policydbp, NULL, NULL))
|
|
|
|
+ #else
|
|
|
|
+ if (role_set_expand(&roles, &e_roles, policydbp))
|
|
|
|
+ #endif
|
|
|
|
+diff -urN a/m4/ac_python_devel.m4 b/m4/ac_python_devel.m4
|
|
|
|
+--- a/m4/ac_python_devel.m4 2013-01-16 10:36:22.000000000 -0600
|
|
|
|
++++ b/m4/ac_python_devel.m4 2013-07-12 08:22:10.380255248 -0500
|
|
|
|
+@@ -234,7 +234,7 @@
|
|
|
|
+ AC_MSG_CHECKING([consistency of all components of python development environment])
|
|
|
|
+ AC_LANG_PUSH([C])
|
|
|
|
+ # save current global flags
|
|
|
|
+- LIBS="$ac_save_LIBS $PYTHON_LDFLAGS"
|
|
|
|
++ LIBS="$ac_save_LIBS $PYTHON_EXTRA_LIBS $PYTHON_LDFLAGS"
|
|
|
|
+ CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
|
|
|
|
+ AC_TRY_LINK([
|
|
|
|
+ #include <Python.h>
|
|
|
|
+diff -urN a/python/setools/Makefile.am b/python/setools/Makefile.am
|
|
|
|
+--- a/python/setools/Makefile.am 2013-01-16 10:36:22.000000000 -0600
|
|
|
|
++++ b/python/setools/Makefile.am 2013-07-12 08:22:19.200251011 -0500
|
|
|
|
+@@ -22,13 +22,13 @@
|
|
|
|
+ python-build: sesearch.c seinfo.c
|
|
|
|
+ @mkdir -p setools
|
|
|
|
+ @cp __init__.py setools
|
|
|
|
+- LIBS="$(QPOL_LIB_FLAG) $(APOL_LIB_FLAG)" INCLUDES="$(QPOL_CFLAGS) $(APOL_CFLAGS)" $(PYTHON) setup.py build
|
|
|
|
++ LIBS="$(QPOL_LIB_FLAG) $(APOL_LIB_FLAG)" LIBDIRS="$(PYTHON_LDFLAGS)" INCLUDES="$(PYTHON_CPPFLAGS) $(QPOL_CFLAGS) $(APOL_CFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS)" $(PYTHON) setup.py build_ext
|
|
|
|
+
|
|
|
|
+ install-exec-hook:
|
|
|
|
+- $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
|
|
|
|
++ $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --prefix=$(DESTDIR)/usr`
|
|
|
|
+
|
|
|
|
+ uninstall-hook:
|
|
|
|
+- $(PYTHON) setup.py uninstall `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
|
|
|
|
++ $(PYTHON) setup.py uninstall `test -n "$(DESTDIR)" && echo --prefix=$(DESTDIR)/usr`
|
|
|
|
+
|
|
|
|
+ clean-local:
|
|
|
|
+ $(PYTHON) setup.py clean -a
|
|
|
|
+--- a/python/setools/setup.py 2013-01-16 10:36:22.000000000 -0600
|
|
|
|
++++ b/python/setools/setup.py 2013-09-04 09:17:48.452916991 -0500
|
|
|
|
+@@ -8,7 +8,7 @@
|
|
|
|
+ try:
|
|
|
|
+ inc=os.getenv("INCLUDES").split(" ")
|
|
|
|
+ INCLUDES=map(lambda x: x[2:], inc)
|
|
|
|
+- LIBDIRS=map(lambda x: "/".join(x.split("/")[:-1]), os.getenv("LIBS").split())
|
|
|
|
++ LIBDIRS=map(lambda x: "/".join(x.split("/")[:-1]), os.getenv("LIBS").split()) + map(lambda x: x[2:], os.getenv("LIBDIRS").split())
|
|
|
|
+ except:
|
|
|
|
+ INCLUDES=""
|
|
|
|
+ LIBDIRS=""
|