From 6cd6875e4994376b4fa19574b8f569ccd8fd6477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Wed, 7 Dec 2016 15:59:53 +0000 Subject: [PATCH] build improved for fedora, centos, opensuse --- bootstrap.sh | 15 ++++++++------- build-in-docker.sh | 24 ++++++++++++++++++------ configure.ac | 4 ++-- mrw-c++.spec.in | 4 ++-- resolve-rpmbuilddeps.sh | 9 ++++----- 5 files changed, 34 insertions(+), 22 deletions(-) diff --git a/bootstrap.sh b/bootstrap.sh index 1051bd2..467db61 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -1539,10 +1539,10 @@ BuildRequires: gnupg, ${VCSDEPENDS} make, automake, autoconf, rpm-build$( echo -n ", binutils-devel, gcc-c++" fi if testtag AX_USE_LIBTOOL; then - echo -n ", libtool, libtool-ltdl-devel"; + echo -n ", libtool"; fi if testtag AX_USE_DOXYGEN; then - echo -n ", doxygen, default-jre-headless"; + echo -n ", doxygen, java-openjdk"; fi if testtag AX_USE_PERLDOC; then echo -n ", libpod-tree-perl"; @@ -1552,10 +1552,11 @@ BuildRequires: gnupg, ${VCSDEPENDS} make, automake, autoconf, rpm-build$( $(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: graphviz"; fi) %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?rhl} || 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} -BuildRequires: which, pkgconfig, redhat-lsb$( - if testtag AX_USE_CPPUNIT; then - echo -n ", cppunit-devel"; - fi) +BuildRequires: which, svn2cl, pkgconfig, redhat-lsb$( + if testtag AX_USE_LIBTOOL; then + echo -n ", libtool-ltdl"; + fi +) %if ! ( 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} ) $(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: mscgen"; fi) $(if testtag AX_REQUIRE_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n "BuildRequires: qt5-qtbase-devel, qt5-qttools, qt5-qtwebkit-devel"; fi) @@ -1674,7 +1675,7 @@ for d in src test scripts doc examples html; do done to --mode "u=rwx,g=rwx,o=rx" autogen.sh < ChangeLog";; diff --git a/build-in-docker.sh b/build-in-docker.sh index e88859e..06c01c0 100755 --- a/build-in-docker.sh +++ b/build-in-docker.sh @@ -207,11 +207,11 @@ if ! [[ $arch =~ $myarch ]]; then docker cp "/usr/bin/qemu-${arch}-static" "${DOCKER_ID}:/usr/bin/qemu-${arch}-static" fi docker start "${DOCKER_ID}" -if docker exec ${DOCKER_ID} getent passwd > /dev/null 2>&1; then - docker exec ${DOCKER_ID} groupadd -g $(id -g) build - docker exec ${DOCKER_ID} useradd -g $(id -g) -u $(id -u) build -else - docker exec ${DOCKER_ID} useradd -m -u $(id -u) -g $(id -u) -d"${HOME}" build +if ! docker exec ${DOCKER_ID} getent group $(id -g) > /dev/null 2>&1; then + docker exec ${DOCKER_ID} groupadd -g $(id -g) $(id -gn) +fi +if ! docker exec ${DOCKER_ID} getent passwd $(id -u) > /dev/null 2>&1; then + docker exec ${DOCKER_ID} useradd -m -u $(id -u) -g $(id -u) -d"${HOME}" $(id -un) fi case $mode in (deb|apt) @@ -243,7 +243,19 @@ case $mode in docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh ;; (rpm|yum|dnf|zypper) - docker exec ${DOCKER_ID} ./resolve-rpmbuilddeps.sh || true + 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' <&1 | sed -n 's, is needed by.*,,p') if test -n "${FILES}"; then schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL} install -y ${FILES} fi else - ${INSTALL_TOOL} install -y rpm-build automake - autoconf + ${INSTALL_TOOL} install -y rpm-build automake libtool subversion gcc-c++ pkgconfig + ./bootstrap.sh -c 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 ${INSTALL_TOOL} install -y ${FILES}