Alexander Huemer has submitted this change and it was merged. Change subject: Use stow for dependency management ......................................................................
Use stow for dependency management This commit introduces the usage of GNU stow[1] for dependency management. Stow uses symlinks to make dependencies available in a single directory althoguh they were installed in distinct directories. Keeping installation directories seperate has the advantage of letting the build fail if AM_CFLAGS and LDADD do not contain all dependencies which are actually used. Installing multiple dependencies into a single directory causes x_CFLAGS and x_LIBS variables to magically point where other dependencies are found as well, therefore missing entries can be overlooked. Stow acts as a convenience layer here, making it unnecessary to supply a list of locations in LD_LIBRARY_PATH, PKG_CONFIG_PATH and so forth for building when dependencies are installed in distinct directories manually. Stow has to be present on the jenkins build nodes for successful executing of osmo-build-dep.sh. [1] https://www.gnu.org/software/stow/ Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a --- M scripts/osmo-build-dep.sh 1 file changed, 9 insertions(+), 1 deletion(-) Approvals: Alexander Huemer: Verified Neels Hofmeyr: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/scripts/osmo-build-dep.sh b/scripts/osmo-build-dep.sh index 6e9ef86..35cb373 100755 --- a/scripts/osmo-build-dep.sh +++ b/scripts/osmo-build-dep.sh @@ -43,6 +43,14 @@ osmo-deps.sh "$project" "$branch" cd "$project" +# Keep the installation targets of the dependencies in a seperate directory +# hierarchy before stowing them to avoid wrongly suggesting that they are part +# of the -I and -L search paths +mkdir -p "$inst/stow" + autoreconf --install --force -./configure --prefix="$inst" $cfg +./configure --prefix="$inst/stow/$project" $cfg $MAKE $PARALLEL_MAKE install + +# Make the dependencies available through symlinks in $deps ($PWD/..). +STOW_DIR="$inst/stow" stow --restow $project -- To view, visit https://gerrit.osmocom.org/2691 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a Gerrit-PatchSet: 5 Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Owner: Alexander Huemer <alexander.hue...@xx.vu> Gerrit-Reviewer: Alexander Huemer <alexander.hue...@xx.vu> Gerrit-Reviewer: André Boddenberg <dr.bl...@gmail.com> Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org> Gerrit-Reviewer: Holger Freyther <hol...@freyther.de> Gerrit-Reviewer: Neels Hofmeyr <nhofm...@sysmocom.de> Gerrit-Reviewer: blobb <dr.bl...@gmail.com> Gerrit-Reviewer: neels <nhofm...@sysmocom.de>