add check whether built package can be installed

master
Marc Wäckerlin 6 years ago
parent f17ce34d98
commit 7a7aa32a10
  1. 9
      ax_init_standard_project.m4
  2. 19
      build-in-docker.sh

@ -1203,6 +1203,15 @@ AC_DEFUN([AX_ALL_BUILD_DEPEND], [
RPM_BUILD_DEPEND="${RPM_BUILD_DEPEND}, ${pkg}" RPM_BUILD_DEPEND="${RPM_BUILD_DEPEND}, ${pkg}"
]) ])
# require package in .spec.in and control.in, append to runtime depends
# - parameter:
# $1 = package name
AC_DEFUN([AX_ALL_DEPEND], [
pkg="$1"
DEB_DEPEND="${DEB_DEPEND}, ${pkg}"
RPM_DEPEND="${RPM_DEPEND}, ${pkg}"
])
# require package in .spec.in append @ALL_BUILD_DEPEND@ to Build-Depends # require package in .spec.in append @ALL_BUILD_DEPEND@ to Build-Depends
# - parameter: # - parameter:
# $1 = package name # $1 = package name

@ -264,7 +264,7 @@ case "$mode" in
docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT// /- }- software-properties-common apt-transport-https dpkg-dev lsb-release wget || \ docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT// /- }- software-properties-common apt-transport-https dpkg-dev lsb-release wget || \
docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT// /- }- python-software-properties apt-transport-https dpkg-dev lsb-release wget; docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT// /- }- python-software-properties apt-transport-https dpkg-dev lsb-release wget;
if [[ "${img}" =~ "ubuntu" ]]; then if [[ "${img}" =~ "ubuntu" ]]; then
docker exec ${DOCKER_ID} apt-get install ${OPTIONS} locales docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT} locales
docker exec ${DOCKER_ID} locale-gen ${LANG} docker exec ${DOCKER_ID} locale-gen ${LANG}
docker exec ${DOCKER_ID} update-locale LANG=${LANG} docker exec ${DOCKER_ID} update-locale LANG=${LANG}
fi fi
@ -274,7 +274,7 @@ case "$mode" in
docker exec ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences" docker exec ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences"
done done
if test -n "${keys[@]}"; then # fix dependency bug in cosmic and stretch if test -n "${keys[@]}"; then # fix dependency bug in cosmic and stretch
docker exec ${DOCKER_ID} apt-get install ${OPTIONS} gnupg docker exec ${DOCKER_ID} apt-get install ${OPTIONS} ${PREVENT} gnupg
for key in "${keys[@]}"; do for key in "${keys[@]}"; do
wget -O- "$key" \ wget -O- "$key" \
| docker exec -i ${DOCKER_ID} apt-key add - | docker exec -i ${DOCKER_ID} apt-key add -
@ -284,8 +284,6 @@ case "$mode" in
ifthenelse "${repo}" "apt-add-repository 'ARG'" ifthenelse "${repo}" "apt-add-repository 'ARG'"
done done
docker exec ${DOCKER_ID} apt-get update ${OPTIONS} docker exec ${DOCKER_ID} apt-get update ${OPTIONS}
for package in "${packages[@]}"; do for package in "${packages[@]}"; do
ifthenelse "${package}" "apt-get install ${OPTIONS} ${PREVENT} ARG" ifthenelse "${package}" "apt-get install ${OPTIONS} ${PREVENT} ARG"
@ -344,3 +342,16 @@ for f in "${flags[@]}"; do
done done
docker exec -u $(id -u):$(id -g) ${DOCKER_ID} ./bootstrap.sh -t "${targets}" ${host} "${FLAGS[@]}" docker exec -u $(id -u):$(id -g) ${DOCKER_ID} ./bootstrap.sh -t "${targets}" ${host} "${FLAGS[@]}"
# last check: try to install built deb or rpm files (if not already cleaned up)
if test "${targets//deb/}" != "${targets}"; then
if ls *.deb > /dev/null 2> /dev/null; then
docker exec ${DOCKER_ID} bash -c "apt-get install ${OPTIONS} ${PREVENT} /workdir/*.deb"
fi
fi
if test "${targets//rpm/}" != "${targets}"; then
if ls *.rpm > /dev/null 2> /dev/null; then
docker exec ${DOCKER_ID} bash -c "${INSTALL_TOOL} /workdir/*.rpm"
fi
fi
echo "done."

Loading…
Cancel
Save