From f06b8fcf0c37e4f9378ef42451c67d5158b3d2d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Thu, 5 May 2016 10:10:44 +0000 Subject: [PATCH] updated build system --- ChangeLog | 33 +++++++ autogen.sh | 8 ++ ax_init_standard_project.m4 | 137 +++++++++++++++++++------- bootstrap.sh | 147 +++++++++++++++++++++++----- build-in-docker.sh | 91 ++++++++++++----- mac-create-app-bundle.sh | 4 +- resolve-rpmbuilddeps.sh | 4 +- scripts/ax_init_standard_project.m4 | 3 + scripts/build-in-docker.sh | 6 +- scripts/makefile.am | 13 +++ 10 files changed, 356 insertions(+), 90 deletions(-) create mode 100755 autogen.sh create mode 100644 scripts/makefile.am diff --git a/ChangeLog b/ChangeLog index 7f63ca6..51542e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,36 @@ +2016-04-22 08:27 + + * scripts/build-in-docker.sh: basic support for centos rpm docker + build + +2016-04-04 14:55 + + * scripts/ax_init_standard_project.m4, scripts/bootstrap.sh, + scripts/makefile.am, scripts/resolve-rpmbuilddeps.sh: after + migration to new svn server + +2016-02-25 08:58 marc + + * scripts/ax_init_standard_project.m4, scripts/bootstrap.sh, + scripts/build-in-docker.sh, scripts/mac-create-app-bundle.sh: + support git and subversion; new possibility to set x_least_fix to + a fix value without automated increase + +2016-02-24 11:43 marc + + * scripts/ax_init_standard_project.m4: add directory variables + +2016-01-20 15:56 marc + + * scripts/ax_init_standard_project.m4, scripts/build-in-docker.sh: + build improvements + +2016-01-12 00:24 marc + + * ChangeLog, build-in-docker.sh, resolve-debbuilddeps.sh, + scripts/build-in-docker.sh: build in docker with new option + --wait + 2015-12-18 16:05 marc * build-in-docker.sh: need upgrade on sid diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..5a05af9 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,8 @@ +#!/bin/bash -e +if test -n "svn" -a -d .svn -a -e -x /usr/bin/svn2cl; then + svn2cl +fi +aclocal + +automake -a +autoconf diff --git a/ax_init_standard_project.m4 b/ax_init_standard_project.m4 index 0e41482..f487c68 100644 --- a/ax_init_standard_project.m4 +++ b/ax_init_standard_project.m4 @@ -8,43 +8,57 @@ m4_define([mrw_esyscmd_s], [m4_normalize(m4_esyscmd([$1]))]) # define least version number from subversion's revision number: # it is taken modulo 256 due to a bug on Apple's MacOSX -m4_define(x_least, m4_ifdef([x_least_diff], mrw_esyscmd_s([ - SVN_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout" - for path in . .. ../..; do - if svn info $path 2>&1 > /dev/null; then - SVN_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') - if test -z "${SVN_REVISION}"; then SVN_REVISION=0; fi - break; - fi - done - echo $ECHO_N $(($SVN_REVISION)) -]), mrw_esyscmd_s([ - SVN_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout" - for path in . .. ../..; do - if svn info $path 2>&1 > /dev/null; then - SVN_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') - if test -z "${SVN_REVISION}"; then SVN_REVISION=0; fi - break; - fi - done - # Mac does not support LEAST > 255 - echo $ECHO_N $(($SVN_REVISION%256)) -]))) +m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], + m4_ifdef([x_least_diff], + mrw_esyscmd_s([ + VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" + for path in . .. ../.. ../../..; do + if test -d .svn; then + svn upgrade 1>&2 > /dev/null || true + VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') + if test -n "${VCS_REVISION}"; then break; fi + elif test -d .git; then + VCS_REVISION=$(git rev-list --all --count) + if test -n "${VCS_REVISION}"; then break; fi + fi + done + echo $ECHO_N $(($VCS_REVISION)) + ]), mrw_esyscmd_s([ + VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" + for path in . .. ../.. ../../..; do + if test -d .svn; then + svn upgrade 1>&2 > /dev/null || true + VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') + if test -n "${VCS_REVISION}"; then break; fi + elif test -d .git; then + VCS_REVISION=$(git rev-list --all --count) + if test -n "${VCS_REVISION}"; then break; fi + fi + done + # Mac does not support LEAST > 255 + echo $ECHO_N $(($VCS_REVISION%256)) + ]) + ) +)) + # define version number from subversion's revision number: # it is taken modulo 256 due to a bug on Apple's MacOSX # add to x_minor if revision number is > 256 -m4_define(x_minor_diff, mrw_esyscmd_s([ - SVN_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout" - for path in . .. ../..; do - if svn info $path 2>&1 > /dev/null; then - SVN_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') - if test -z "${SVN_REVISION}"; then SVN_REVISION=0; fi - break; +m4_define(x_minor_diff, m4_ifdef([x_least_fix], 0, mrw_esyscmd_s([ + VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" + for path in . .. ../.. ../../..; do + if test -d .svn; then + svn upgrade 1>&2 > /dev/null || true + VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') + if test -n "${VCS_REVISION}"; then break; fi + elif test -d .git; then + VCS_REVISION=$(git rev-list --all --count) + if test -n "${VCS_REVISION}"; then break; fi fi; done # Mac does not support LEAST > 255 - echo $ECHO_N $(($SVN_REVISION/256)) -])) + echo $ECHO_N $(($VCS_REVISION/256)) +]))) # setup version number m4_define(x_version, [x_major.m4_ifdef([x_least_diff], x_minor, m4_eval(x_minor+x_minor_diff)).m4_eval(m4_ifdef([x_least_diff], [x_least-x_least_diff], [x_least]))]) @@ -122,6 +136,16 @@ AC_DEFUN([AX_SUBST], [ # # configures the basic environment AC_DEFUN([AX_INIT_STANDARD_PROJECT], [ + PREFIX=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${prefix}") + AX_SUBST(PREFIX) + SYSCONFDIR=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${sysconfdir}") + AX_SUBST(SYSCONFDIR) + DATADIR=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${datadir}") + AX_SUBST(DATADIR) + PKGDATADIR=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${DATADIR}/${PACKAGE_NAME}") + AX_SUBST(PKGDATADIR) + LOCALSTATEDIR=$(test "$prefix" = NONE && prefix=$ac_default_prefix; eval echo "${localstatedir}") + AX_SUBST(LOCALSTATEDIR) AC_MSG_CHECKING([target platfrom]) UNIX=1 MINGW= @@ -178,8 +202,14 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [ PACKAGE_LOGO="${PACKAGE_NAME}-logo.png" fi AX_SUBST(PACKAGE_LOGO) - if test -f "${PACKAGE_NAME}-icon.png"; then + if test -f "${PACKAGE_NAME}-icon.svg"; then + PACKAGE_ICON="${PACKAGE_NAME}-icon.svg" + elif test -f "${PACKAGE_NAME}-icon.png"; then PACKAGE_ICON="${PACKAGE_NAME}-icon.png" + elif test -f "${PACKAGE_NAME}.svg"; then + PACKAGE_ICON="${PACKAGE_NAME}.svg" + elif test -f "${PACKAGE_NAME}.png"; then + PACKAGE_ICON="${PACKAGE_NAME}.png" fi AX_SUBST(PACKAGE_ICON) @@ -279,6 +309,43 @@ maintainer-clean-cxx-targets: EOF ]) +# use this in configure.ac to support old school C +AC_DEFUN([AX_USE_C], [ + AC_LANG(C) + AC_PROG_CC + AC_PROG_CPP + + AC_CONFIG_FILES([src/makefile]) + + AM_CPPFLAGS+=' -I ${top_srcdir}/src -I ${top_builddir}/src -I ${srcdir} -I ${builddir}' + AM_LDFLAGS+=' -L ${top_srcdir}/src -L ${top_builddir}/src' + + # Get rid of those stupid -g -O2 options! + CXXFLAGS="${CXXFLAGS//-g -O2/}" + CFLAGS="${CFLAGS//-g -O2/}" + + # pass compile flags to make distcheck + AM_DISTCHECK_CONFIGURE_FLAGS="CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'" + AC_SUBST(AM_DISTCHECK_CONFIGURE_FLAGS) + + AC_SUBST(AM_CFLAGS) + AC_SUBST(AM_CPPFLAGS) + AC_SUBST(AM_LDFLAGS) + AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-c-targets], [src/makefile.in]) + test -f src/makefile.in && cat >> src/makefile.in <> makefile.in < rebild specific file (can be added multiple times) + --no-vcs, -n do not automatically add files to version control + --exclude-vcs, -x exclude specific file from version control --help, -h show this help --version, -v show version and date of this file @@ -61,7 +67,7 @@ DESCRIPTION configure.ac. Automatically copies or creates all required template files. - From your new and empty project's subversion path, call $0 to + From your new and empty project's subversion or git path, call $0 to initialize your build environment. Before you call ${MY_NAME} the very first time, edit ${0#/*}/AUTHORS @@ -80,16 +86,27 @@ DESCRIPTION https://dev.marc.waeckerlin.org/, and the path from where you call ${MY_NAME} (which is actually ${PROJECT_PATH}) should be the path to your newly created project. Please note that your project must be a - checked out subversion repository, since this build environment - relies on subversion. + checked out subversion or git repository, since this build + environment relies on subversion or git. Example for an initial run, where your new projet is stored in - subversion on svn:/path/to/your/new-project: + subversion on https:/path/to/your/new-project: cd ~/svn svn co https://dev.marc.waeckerlin.org/svn/bootstrap-build-environment/trunk \\ bootstrap-build-environment - svn co svn:/path/to/your/new-project/trunk new-project + svn co https:/path/to/your/new-project/trunk new-project + cd new-project + ../bootstrap-build-environment/bootstrap.sh + + Example for an initial run, where your new projet is stored in + git on https:/path/to/your/new-project: + + cd ~/svn + svn co https://dev.marc.waeckerlin.org/svn/bootstrap-build-environment/trunk \\ + bootstrap-build-environment + cd ~/git + git clone https:/path/to/your/new-project cd new-project ../bootstrap-build-environment/bootstrap.sh @@ -98,12 +115,14 @@ RUNNING If you run ${MY_NAME}, it first generates the necessary files (see below), then first runs make distclean if a makefile exists. After this it calles aclocal, libtoolize, automake, autoconf and - optionally ./configure. + optionally ./configure. If necessary, files are added to version + control. GENERATED FILES This script copies the following files into your project environment: * ${MY_NAME} + * autogen.sh - just the basics to initialize auto tools and create configure * ax_init_standard_project.m4 - auxiliary macro definition file * ax_cxx_compile_stdcxx_11.m4 - auxiliary macro definition file * ax_check_qt.m4 - auxiliary macro definition file @@ -201,13 +220,14 @@ FILES ${DEFAULT_PROJECT_NAME}::description(). * ChangeLog: Your changelog is automatically maintained from subversion history, using svn2cl. You don't need to - care about. + care about. It uses git2cl on git repositories. * configure.ac: This file becomes very short and simple. You provide the project name, the major and minor version. The least version number is automatically taken from subversion's revision, so every checkin automatically increments the least version - number. The following macros are supported: + number. In git, git rev-list --all --count is used. + The following macros are supported in configure.ac: * Enable C++: AX_USE_CXX * Enable LibTool library creation: AX_USE_LIBTOOL * Enable Scripts: AX_USE_SCRIPTS @@ -247,6 +267,20 @@ EOF shift; done +echo -en "\e[1m-> checking:\e[0m for version control system ..." +VCS="" +VCSDEPENDS="" +if test -d .svn; then + VCS="svn" + VCSDEPENDS="subversion," + echo -e " \e[32msuccess\e[0m detected ${VCS}" +elif test -d .git; then + VCS="git" + VCSDEPENDS="git," + echo -e " \e[32msuccess\e[0m detected ${VCS}" +else + echo -e " \e[33mignored\e[0m" +fi HEADER='## @id '"\$Id\$"' ## @@ -270,6 +304,7 @@ CHEADER='/** @id '"\$Id\$"' // 1 2 3 4 5 6 7 8 // 45678901234567890123456789012345678901234567890123456789012345678901234567890 + ' notice() { @@ -318,7 +353,9 @@ contains() { checkdir() { if ! test -d "$1"; then # create path run mkdir -p "$1" - run svn add "$1" + if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then + run ${VCS} add "$1" + fi fi } @@ -331,13 +368,17 @@ checkfile() { } to() { + mode="u=rw,g=rw,o=r" while test $# -gt 0; do - mode="u=rw,g=rw,o=r" case "$1" in (--condition) shift # test for a tag, abort if not set if ! testtag "$1"; then return 0 fi;; + (--unless) shift # test for a tag, abort if set + if testtag "$1"; then + return 0 + fi;; (--mode) shift # test for a tag, abort if not set mode="$1";; (*) break;; @@ -363,10 +404,14 @@ to() { else echo -e " \e[32msuccess\e[0m" fi - chmod $mode $1 + run chmod $mode $1 if test $exists -eq 0; then - run svn add "$1" - run svn propset svn:keywords "Id" "$1" + if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then + run ${VCS} add "$1" + if test "${VCS}" = "svn"; then + run svn propset svn:keywords "Id" "$1" + fi + fi fi return 0 } @@ -386,8 +431,12 @@ copy() { fi run cp "${source}" "$1" if test $exists -eq 0; then - run svn add "$1" - run svn propset svn:keywords "Id" "$1" + if test -n "${VCS}" -a $novcs -eq 0 && ! contains "$1" "${excludevcs[@]}"; then + run ${VCS} add "$1" + if test "${VCS}" = "svn"; then + run svn propset svn:keywords "Id" "$1" + fi + fi fi } @@ -413,10 +462,33 @@ doxyadd() { fi } +vcs2cl() { + exists=0 + if test -f "ChangeLog"; then + exists=1 + else + touch "ChangeLog" + fi + if test -x $(which ${VCS}2cl); then + if test "${VCS}" = "git"; then + ${VCS}2cl > ChangeLog + elif test -n "${VCS}"; then + ${VCS}2cl + fi + fi + if test $exists -eq 0; then + if test -n "${VCS}" -a $novcs -eq 0 && ! contains "ChangeLog" "${excludevcs[@]}"; then + run ${VCS} add ChangeLog + fi + fi +} + # Check if we are in subversion root, if so, create trunk, branches, tags: -if test "$(LANG= svn info | sed -n 's,Relative URL: *,,p')" = "^/"; then - svn mkdir trunk branches tags - cd trunk +if test "${VCS}" = "svn" -a $novcs -eq 0; then + if test "$(LANG= svn info | sed -n 's,Relative URL: *,,p')" = "^/"; then + svn mkdir trunk branches tags + cd trunk + fi fi # Initialize the environment: @@ -723,7 +795,9 @@ ${HEADER}dist_bin_SCRIPTS = MAINTAINERCLEANFILES = makefile.in EOF echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_DOXYGEN doc/makefile.am -to --condition AX_BUILD_TEST test/runtests.sh < ${0%/*}/test/runtests.sh +if testtag AX_BUILD_TEST; then + to test/runtests.sh < ${0%/*}/test/runtests.sh +fi to --condition 'AX_BUILD_TEST|AX_USE_CPPUNIT' test/makefile.am < ChangeLog";; +esac) +fi +aclocal +$(if testtag AX_USE_LIBTOOL; then echo libtoolize --force; fi) +automake -a +autoconf +EOF to makefile.am< mode: apt or yum, default: ${mode}" echo " -i, --image use given docker image instead of ${img}" echo " -t, --targets targets specify build targets, default: ${targets}" echo " -r, --repo add given apt repository" @@ -34,6 +36,8 @@ while test $# -gt 0; do echo " -c, --cmd execute commands as root in docker" echo " -w, --wait on error keep docker container and wait for enter" echo + echo " The option -i must be after -m, because mode sets a new default image" + echo echo " The options -r -k -e -d -p -c can be repeated several times." echo echo " The options -r -p -c allow an if-then-else contruct" @@ -60,6 +64,17 @@ while test $# -gt 0; do echo exit 0 ;; + (-m|--mode) shift; + mode="$1" + case "$mode" in + (apt) img="ubuntu:latest";; + (yum) img="centos:latest";; + (*) + echo "**** ERROR: unknown mode '$1', try --help" 1>&2 + exit 1 + ;; + esac + ;; (-i|--image) shift; img="$1" ;; @@ -120,7 +135,7 @@ function traperror() { fi if [ "$wait" -eq 1 ]; then echo " ... now you can access the docker container:" - echo " docker exec -u $(id -u) ${DOCKER_ID} -it bash" + echo " docker exec -u $(id -u) -it ${DOCKER_ID} bash" echo -n " ... press enter to cleanup: " read fi @@ -133,7 +148,7 @@ function traperror() { done if [ "$wait" -eq 1 ]; then echo " ... now you can access the docker container:" - echo " docker exec -u $(id -u) ${DOCKER_ID} -it bash" + echo " docker exec -u $(id -u) -it ${DOCKER_ID} bash" echo -n " ... press enter to cleanup: " read fi @@ -170,25 +185,53 @@ set -x docker pull $img DOCKER_ID=$(docker run -d ${dirs[@]} ${envs[@]} -w /workdir $img sleep infinity) trap 'traperror '"${DOCKER_ID}"' "$? ${PIPESTATUS[@]}" $LINENO $BASH_LINENO "$BASH_COMMAND" "${FUNCNAME[@]}" "${FUNCTION}"' SIGINT INT TERM EXIT -docker exec ${DOCKER_ID} apt-get update -docker exec ${DOCKER_ID} apt-get upgrade -y -docker exec ${DOCKER_ID} apt-get install -y python-software-properties software-properties-common apt-transport-https dpkg-dev lsb-release || \ - docker exec ${DOCKER_ID} apt-get install -y software-properties-common apt-transport-https dpkg-dev lsb-release || \ - docker exec ${DOCKER_ID} apt-get install -y python-software-properties apt-transport-https dpkg-dev lsb-release; -for repo in "${repos[@]}"; do - ifthenelse "${repo}" "apt-add-repository ARG" -done -for key in "${keys[@]}"; do - wget -O- "$key" \ - | docker exec -i ${DOCKER_ID} apt-key add - -done -docker exec ${DOCKER_ID} apt-get update -for package in "${packages[@]}"; do - ifthenelse "${package}" "apt-get install -y --force-yes ARG" -done -for command in "${commands[@]}"; do - ifthenelse "${command}" "ARG" -done -docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh -docker exec -u $(id -u) ${DOCKER_ID} svn upgrade || true -docker exec -u $(id -u) ${DOCKER_ID} ./bootstrap.sh -t "${targets}" +case $mode in + (apt) + OPTIONS='-o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -y --force-yes --no-install-suggests --no-install-recommends' + for f in 'libpam-systemd:amd64' 'policykit*' 'colord'; do + docker exec ${DOCKER_ID} bash -c "echo 'Package: $f' >> /etc/apt/preferences" + docker exec ${DOCKER_ID} bash -c "echo 'Pin-Priority: -100' >> /etc/apt/preferences" + docker exec ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences" + done + docker exec ${DOCKER_ID} apt-get update ${OPTIONS} + docker exec ${DOCKER_ID} apt-get upgrade ${OPTIONS} + docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties software-properties-common apt-transport-https dpkg-dev lsb-release || \ + docker exec ${DOCKER_ID} apt-get install ${OPTIONS} software-properties-common apt-transport-https dpkg-dev lsb-release || \ + docker exec ${DOCKER_ID} apt-get install ${OPTIONS} python-software-properties apt-transport-https dpkg-dev lsb-release; + for repo in "${repos[@]}"; do + ifthenelse "${repo}" "apt-add-repository ARG" + done + for key in "${keys[@]}"; do + wget -O- "$key" \ + | docker exec -i ${DOCKER_ID} apt-key add - + done + docker exec ${DOCKER_ID} apt-get update ${OPTIONS} + for package in "${packages[@]}"; do + ifthenelse "${package}" "apt-get install ${OPTIONS} ARG" + done + for command in "${commands[@]}"; do + ifthenelse "${command}" "ARG" + done + docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh + ;; + (yum) + ./bootstrap.sh -t dist + if [[ "$img" =~ "centos" ]]; then + docker exec ${DOCKER_ID} yum install -y redhat-lsb + docker exec -i ${DOCKER_ID} bash -c 'cat > /etc/yum.repos.d/wandisco-svn.repo' <> /etc/yum.repos.d/wandisco-svn.repo' + docker exec -i ${DOCKER_ID} bash -c 'cat >> /etc/yum.repos.d/wandisco-svn.repo' < EOF -fi \ No newline at end of file +fi diff --git a/resolve-rpmbuilddeps.sh b/resolve-rpmbuilddeps.sh index f36a875..2a5df60 100755 --- a/resolve-rpmbuilddeps.sh +++ b/resolve-rpmbuilddeps.sh @@ -14,15 +14,13 @@ SCHROOTNAME="$1" PACKAGE_NAME=$(sed -n 's/^ *m4_define(x_package_name, \(.*\)).*/\1/p' configure.ac) if test -n "${SCHROOTNAME}"; then - schroot -c ${SCHROOTNAME} -- ./bootstrap.sh -t dist FILES=$(LANG= schroot -c ${SCHROOTNAME} -- rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p') if test -n "${FILES}"; then schroot -c ${SCHROOTNAME} -u root -- yum install -y ${FILES} || \ schroot -c ${SCHROOTNAME} -u root -- zypper install -y ${FILES} || \ - schroot -c ${SCHROOTNAME} -u root -- dnf install -y ${FILES} + schroot -c ${SCHROOTNAME} -u root -- dnf install -y ${FILES} fi else - ./bootstrap.sh -t dist FILES=$(LANG= rpmbuild -bb --clean --nobuild --define "_topdir ." --define "_sourcedir ." ${PACKAGE_NAME}.spec 2>&1 | sed -n 's, is needed by.*,,p') if test -n "${FILES}"; then yum install -y ${FILES} || \ diff --git a/scripts/ax_init_standard_project.m4 b/scripts/ax_init_standard_project.m4 index e3fd147..b6f64dc 100644 --- a/scripts/ax_init_standard_project.m4 +++ b/scripts/ax_init_standard_project.m4 @@ -14,6 +14,7 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" for path in . .. ../.. ../../..; do if test -d .svn; then + svn upgrade 1>&2 > /dev/null || true VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') if test -n "${VCS_REVISION}"; then break; fi elif test -d .git; then @@ -26,6 +27,7 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" for path in . .. ../.. ../../..; do if test -d .svn; then + svn upgrade 1>&2 > /dev/null || true VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') if test -n "${VCS_REVISION}"; then break; fi elif test -d .git; then @@ -46,6 +48,7 @@ m4_define(x_minor_diff, m4_ifdef([x_least_fix], 0, mrw_esyscmd_s([ VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" for path in . .. ../.. ../../..; do if test -d .svn; then + svn upgrade 1>&2 > /dev/null || true VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') if test -n "${VCS_REVISION}"; then break; fi elif test -d .git; then diff --git a/scripts/build-in-docker.sh b/scripts/build-in-docker.sh index 27e9f78..8bca39c 100755 --- a/scripts/build-in-docker.sh +++ b/scripts/build-in-docker.sh @@ -189,9 +189,9 @@ case $mode in (apt) OPTIONS='-o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -y --force-yes --no-install-suggests --no-install-recommends' for f in 'libpam-systemd:amd64' 'policykit*' 'colord'; do - docker exec -it ${DOCKER_ID} bash -c "echo 'Package: $f' >> /etc/apt/preferences" - docker exec -it ${DOCKER_ID} bash -c "echo 'Pin-Priority: -100' >> /etc/apt/preferences" - docker exec -it ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences" + docker exec ${DOCKER_ID} bash -c "echo 'Package: $f' >> /etc/apt/preferences" + docker exec ${DOCKER_ID} bash -c "echo 'Pin-Priority: -100' >> /etc/apt/preferences" + docker exec ${DOCKER_ID} bash -c "echo >> /etc/apt/preferences" done docker exec ${DOCKER_ID} apt-get update ${OPTIONS} docker exec ${DOCKER_ID} apt-get upgrade ${OPTIONS} diff --git a/scripts/makefile.am b/scripts/makefile.am new file mode 100644 index 0000000..b93dc24 --- /dev/null +++ b/scripts/makefile.am @@ -0,0 +1,13 @@ +## @id $Id$ +## +## This file has been added: +## - by bootstrap.sh +## - on Thu, 05 May 2016 12:08:23 +0200 +## Feel free to change it or even remove and rebuild it, up to your needs +## +## 1 2 3 4 5 6 7 8 +## 45678901234567890123456789012345678901234567890123456789012345678901234567890 + +dist_bin_SCRIPTS = + +MAINTAINERCLEANFILES = makefile.in