summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-02-17 15:10:25 -0500
committerMike Frysinger <vapier@gentoo.org>2016-02-17 15:11:03 -0500
commit0467b30c56b1a345d6740182b21794b183ef1b5b (patch)
tree0645866eda0f8145449ee21a762095c057a8deee /app-admin/setools
parentsys-libs/libsemanage: improve ROOT handling in pkg_postinst (diff)
downloadgentoo-0467b30c56b1a345d6740182b21794b183ef1b5b.tar.gz
gentoo-0467b30c56b1a345d6740182b21794b183ef1b5b.tar.bz2
gentoo-0467b30c56b1a345d6740182b21794b183ef1b5b.zip
app-admin/setools: fix cross-compiling
Diffstat (limited to 'app-admin/setools')
-rw-r--r--app-admin/setools/files/setools-3.3.8-no-check-file.patch15
-rw-r--r--app-admin/setools/files/setools-3.3.8-policy-max.patch29
-rw-r--r--app-admin/setools/setools-3.3.8-r7.ebuild3
3 files changed, 47 insertions, 0 deletions
diff --git a/app-admin/setools/files/setools-3.3.8-no-check-file.patch b/app-admin/setools/files/setools-3.3.8-no-check-file.patch
new file mode 100644
index 000000000000..31848e9564b8
--- /dev/null
+++ b/app-admin/setools/files/setools-3.3.8-no-check-file.patch
@@ -0,0 +1,15 @@
+there's no real need to run AC_CHECK_FILE to see if a file exists. if the
+static link fails later on, then the static lib didn't exist. this also
+breaks cross-compiling.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -448,8 +448,6 @@
+ 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]))
+ else
+ AC_MSG_CHECKING([for compatible sepol source tree])
+ sepol_version=${sepol_srcdir}/VERSION
diff --git a/app-admin/setools/files/setools-3.3.8-policy-max.patch b/app-admin/setools/files/setools-3.3.8-policy-max.patch
new file mode 100644
index 000000000000..cf6917a671d1
--- /dev/null
+++ b/app-admin/setools/files/setools-3.3.8-policy-max.patch
@@ -0,0 +1,29 @@
+trying to run compiled code fails when cross-compiling.
+probe the value using the preprocessor instead.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -621,21 +621,8 @@
+ sepol_new_errcodes="yes",
+ sepol_new_errcodes="no")
+
+-AC_RUN_IFELSE(
+- [AC_LANG_SOURCE([
+-#include <sepol/policydb/policydb.h>
+-#include <stdio.h>
+-#include <stdlib.h>
+-int main(void) {
+- FILE *f = fopen("conftest.data", "w");
+- if (f != NULL && fprintf(f, "%d", POLICYDB_VERSION_MAX) > 0) {
+- fclose(f);
+- exit(EXIT_SUCCESS);
+- }
+- exit(EXIT_FAILURE);
+-}])],
+- sepol_policy_version_max=`cat conftest.data`,
+- AC_MSG_FAILURE([could not determine maximum libsepol policy version]))
++printf "#include <sepol/policydb/policydb.h>\nPOLICYDB_VERSION_MAX\n" > conftest.c
++sepol_policy_version_max=`${CPP} -E -P ${CPPFLAGS} conftest.c | tail -1`
+ 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}"
diff --git a/app-admin/setools/setools-3.3.8-r7.ebuild b/app-admin/setools/setools-3.3.8-r7.ebuild
index 69b4c7c932f5..d719849a9c37 100644
--- a/app-admin/setools/setools-3.3.8-r7.ebuild
+++ b/app-admin/setools/setools-3.3.8-r7.ebuild
@@ -58,6 +58,9 @@ src_prepare() {
EPATCH_FORCE="yes" \
epatch
+ epatch "${FILESDIR}"/${PN}-3.3.8-no-check-file.patch
+ epatch "${FILESDIR}"/${PN}-3.3.8-policy-max.patch
+
# Fix build failure due to double __init__.py installation
sed -e "s/^wrappedpy_DATA = qpol.py \$(pkgpython_PYTHON)/wrappedpy_DATA = qpol.py/" -i libqpol/swig/python/Makefile.am || die
# Disable broken check for SWIG version. Bug #542032