aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildtools/freebsd-skeleton/rpki-ca/Makefile2
-rw-r--r--buildtools/freebsd-skeleton/rpki-rp/Makefile2
-rwxr-xr-xconfigure38
-rw-r--r--configure.ac28
4 files changed, 56 insertions, 14 deletions
diff --git a/buildtools/freebsd-skeleton/rpki-ca/Makefile b/buildtools/freebsd-skeleton/rpki-ca/Makefile
index 8e723d34..71f38436 100644
--- a/buildtools/freebsd-skeleton/rpki-ca/Makefile
+++ b/buildtools/freebsd-skeleton/rpki-ca/Makefile
@@ -46,7 +46,7 @@ RUN_DEPENDS+= ${APACHE_PKGNAMEPREFIX}mod_wsgi3>0:${PORTSDIR}/www/mod_wsgi3
# Try to use system OpenSSL if we can.
CONFIGURE_ENV= CFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib"
-CONFIGURE_ARGS= --disable-target-installation --disable-rp-tools APACHE_VERSION=${APACHE_VERSION}
+CONFIGURE_ARGS= --disable-target-installation --disable-runtime-dependencies --disable-rp-tools APACHE_VERSION=${APACHE_VERSION}
pre-install:
@test -d ${STAGEDIR}${PREFIX}/etc/rc.d || mkdir -p ${STAGEDIR}${PREFIX}/etc/rc.d
diff --git a/buildtools/freebsd-skeleton/rpki-rp/Makefile b/buildtools/freebsd-skeleton/rpki-rp/Makefile
index f0fe61aa..adae6ef0 100644
--- a/buildtools/freebsd-skeleton/rpki-rp/Makefile
+++ b/buildtools/freebsd-skeleton/rpki-rp/Makefile
@@ -36,7 +36,7 @@ RUN_DEPENDS+= rrdtool>0:${PORTSDIR}/databases/rrdtool
# Just want relying party tools, try to use system OpenSSL if we can.
-CONFIGURE_ARGS= --disable-target-installation --disable-ca-tools APACHE_VERSION=${APACHE_VERSION}
+CONFIGURE_ARGS= --disable-target-installation --disable-runtime-dependencies --disable-ca-tools APACHE_VERSION=${APACHE_VERSION}
CONFIGURE_ENV= CFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib"
# Disable parallel builds, they failed the last time I tried and we don't really need them
diff --git a/configure b/configure
index 56198a2a..c0d6ffcc 100755
--- a/configure
+++ b/configure
@@ -726,6 +726,7 @@ enable_target_installation
enable_wsgi_daemon_mode
enable_python_install_layout
enable_wsgi_python_egg_cache
+enable_runtime_dependencies
enable_python
enable_django
enable_rpki_rtr
@@ -1366,6 +1367,8 @@ Optional Features:
Specify Python --install-layout
--enable-wsgi-python-egg-cache=dir[:user]
Set up PYTHON_EGG_CACHE in wsgi wrapper
+ --disable-runtime-dependencies
+ Don't enforce runtime dependencies
--disable-python (Obsolete, do not use)
--disable-django (Obsolete, do not use)
--disable-rpki-rtr (Obsolete, do not use)
@@ -2474,6 +2477,13 @@ else
enable_wsgi_python_egg_cache=auto
fi
+# Check whether --enable-runtime_dependencies was given.
+if test "${enable_runtime_dependencies+set}" = set; then :
+ enableval=$enable_runtime_dependencies;
+else
+ enable_runtime_dependencies=yes
+fi
+
@@ -4233,6 +4243,20 @@ fi
+# See whether we need to check for dependencies that we only need at
+# runtime. We do this by default when compiling from source to avoid
+# surprises after installation, but this just adds pain when building
+# binary packages within a platform framework which already handles
+# all the dependencies for us, so we need a way to turn it off.
+
+case $enable_runtime_dependencies in
+ yes|no)
+ ;;
+ *)
+ as_fn_error $? "Unrecognized value for --enable-runtime-dependencies: $enable_runtime_dependencies" "$LINENO" 5
+ ;;
+esac
+
# Figure out whether we need to build our own OpenSSL library or can
# use the system libraries. We're looking for two recent features:
# CMS and RFC 3779 support. We also have to check whether the user
@@ -4528,11 +4552,7 @@ fi
# Check whether to do "final target installation". This means actions
# that can only be done when installing a package, as opposed to when
-# building a package. On FreeBSD this is sort of irrelevant, because
-# of the way package installs work when building from source, but on
-# Debian and Ubuntu, for example, there's a strict separation between
-# things that are done during package build and things that are done
-# by the binary package's {pre,post}inst scripts.
+# building a package.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to do final target installation on \"make install\"" >&5
$as_echo_n "checking whether to do final target installation on \"make install\"... " >&6; }
@@ -4858,7 +4878,13 @@ fi
if test $ok = no
then
- as_fn_error $? "Please correct the problems above then re-run this configuration script." "$LINENO" 5
+ if test $enable_runtime_dependencies = yes
+ then
+ as_fn_error $? "Please correct the problems above then re-run this configuration script." "$LINENO" 5
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Runtime dependency enforcement disabled, proceeding (at your own risk)" >&5
+$as_echo "$as_me: WARNING: Runtime dependency enforcement disabled, proceeding (at your own risk)" >&2;}
+ fi
fi
# Figure out whether we are on a Debian-derived system where we need
diff --git a/configure.ac b/configure.ac
index 0d8f15c5..adeb2fa1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,6 +41,7 @@ AC_ARG_ENABLE([target_installation], [AS_HELP_STRING([--disable-target-installat
AC_ARG_ENABLE([wsgi_daemon_mode], [AS_HELP_STRING([--enable-wsgi-daemon-mode=user[[:group]]], [Run the web portal as a separate process])], [], [enable_wsgi_daemon_mode=no])
AC_ARG_ENABLE([python_install_layout], [AS_HELP_STRING([--enable-python-install-layout=layout], [Specify Python --install-layout])], [], [enable_python_install_layout=auto])
AC_ARG_ENABLE([wsgi_python_egg_cache], [AS_HELP_STRING([--enable-wsgi-python-egg-cache=dir[[:user]]], [Set up PYTHON_EGG_CACHE in wsgi wrapper])], [], [enable_wsgi_python_egg_cache=auto])
+AC_ARG_ENABLE([runtime_dependencies], [AS_HELP_STRING([--disable-runtime-dependencies], [Don't enforce runtime dependencies])], [], [enable_runtime_dependencies=yes])
AC_ARG_VAR([RCYNIC_DIR], [Where to put output files from rcynic and rtr-origin; also controls jail location for --enable-rcynic-jail])
AC_ARG_VAR([APACHE_VERSION], [Version of Apache httpd, mostly used on FreeBSD where it determines some of the directory names])
@@ -138,6 +139,20 @@ AC_PATH_PROG([RRDTOOL], [rrdtool])
AC_PATH_PROG([TRANG], [trang], [\${abs_top_srcdir}/buildtools/trang-not-found])
AC_PATH_PROG([RSYNC], [rsync])
+# See whether we need to check for dependencies that we only need at
+# runtime. We do this by default when compiling from source to avoid
+# surprises after installation, but this just adds pain when building
+# binary packages within a platform framework which already handles
+# all the dependencies for us, so we need a way to turn it off.
+
+case $enable_runtime_dependencies in
+ yes|no)
+ ;;
+ *)
+ AC_MSG_ERROR([Unrecognized value for --enable-runtime-dependencies: $enable_runtime_dependencies])
+ ;;
+esac
+
# Figure out whether we need to build our own OpenSSL library or can
# use the system libraries. We're looking for two recent features:
# CMS and RFC 3779 support. We also have to check whether the user
@@ -351,11 +366,7 @@ AC_SUBST(RCYNIC_STATIC_RSYNC)
# Check whether to do "final target installation". This means actions
# that can only be done when installing a package, as opposed to when
-# building a package. On FreeBSD this is sort of irrelevant, because
-# of the way package installs work when building from source, but on
-# Debian and Ubuntu, for example, there's a strict separation between
-# things that are done during package build and things that are done
-# by the binary package's {pre,post}inst scripts.
+# building a package.
AC_MSG_CHECKING([whether to do final target installation on "make install"])
@@ -636,7 +647,12 @@ fi
if test $ok = no
then
- AC_MSG_ERROR([Please correct the problems above then re-run this configuration script.])
+ if test $enable_runtime_dependencies = yes
+ then
+ AC_MSG_ERROR([Please correct the problems above then re-run this configuration script.])
+ else
+ AC_MSG_WARN([Runtime dependency enforcement disabled, proceeding (at your own risk)])
+ fi
fi
# Figure out whether we are on a Debian-derived system where we need