diff options
author | Rob Austein <sra@hactrn.net> | 2014-03-16 17:25:17 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2014-03-16 17:25:17 +0000 |
commit | 7e56d5b54e0ce45929d414de791b3e87d8d088db (patch) | |
tree | 74a38e69f546524d77e9278f066b8abc29e4179f | |
parent | 41b8c99a3c8228c6ebf779b52314371088928582 (diff) |
Add --disable-runtime-dependencies to turn off enforcement in
build-time checks of runtime dependencies (ie, we still whine, but
./configure keeps going rather than exiting with an error).
svn path=/trunk/; revision=5704
-rw-r--r-- | buildtools/freebsd-skeleton/rpki-ca/Makefile | 2 | ||||
-rw-r--r-- | buildtools/freebsd-skeleton/rpki-rp/Makefile | 2 | ||||
-rwxr-xr-x | configure | 38 | ||||
-rw-r--r-- | configure.ac | 28 |
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 @@ -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 |