build improved for fedora, centos, opensuse
This commit is contained in:
15
bootstrap.sh
15
bootstrap.sh
@@ -1539,10 +1539,10 @@ BuildRequires: gnupg, ${VCSDEPENDS} make, automake, autoconf, rpm-build$(
|
|||||||
echo -n ", binutils-devel, gcc-c++"
|
echo -n ", binutils-devel, gcc-c++"
|
||||||
fi
|
fi
|
||||||
if testtag AX_USE_LIBTOOL; then
|
if testtag AX_USE_LIBTOOL; then
|
||||||
echo -n ", libtool, libtool-ltdl-devel";
|
echo -n ", libtool";
|
||||||
fi
|
fi
|
||||||
if testtag AX_USE_DOXYGEN; then
|
if testtag AX_USE_DOXYGEN; then
|
||||||
echo -n ", doxygen, default-jre-headless";
|
echo -n ", doxygen, java-openjdk";
|
||||||
fi
|
fi
|
||||||
if testtag AX_USE_PERLDOC; then
|
if testtag AX_USE_PERLDOC; then
|
||||||
echo -n ", libpod-tree-perl";
|
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)
|
$(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: graphviz"; fi)
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?rhl} || 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version}
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?rhl} || 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version}
|
||||||
BuildRequires: which, pkgconfig, redhat-lsb$(
|
BuildRequires: which, svn2cl, pkgconfig, redhat-lsb$(
|
||||||
if testtag AX_USE_CPPUNIT; then
|
if testtag AX_USE_LIBTOOL; then
|
||||||
echo -n ", cppunit-devel";
|
echo -n ", libtool-ltdl";
|
||||||
fi)
|
fi
|
||||||
|
)
|
||||||
%if ! ( 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} )
|
%if ! ( 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} )
|
||||||
$(if testtag AX_USE_DOXYGEN; then echo -n "BuildRequires: mscgen"; fi)
|
$(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)
|
$(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
|
done
|
||||||
to --mode "u=rwx,g=rwx,o=rx" autogen.sh <<EOF
|
to --mode "u=rwx,g=rwx,o=rx" autogen.sh <<EOF
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
if test -n "$VCS" -a -d .$VCS -a -e -x $(which ${VCS}2cl); then
|
if test -n "$VCS" -a -d ".$VCS" -a -e -x "\$(which ${VCS}2cl)"; then
|
||||||
$(case "$VCS" in
|
$(case "$VCS" in
|
||||||
(svn) echo " ${VCS}2cl";;
|
(svn) echo " ${VCS}2cl";;
|
||||||
(git) echo " ${VCS}2cl > ChangeLog";;
|
(git) echo " ${VCS}2cl > ChangeLog";;
|
||||||
|
@@ -207,11 +207,11 @@ if ! [[ $arch =~ $myarch ]]; then
|
|||||||
docker cp "/usr/bin/qemu-${arch}-static" "${DOCKER_ID}:/usr/bin/qemu-${arch}-static"
|
docker cp "/usr/bin/qemu-${arch}-static" "${DOCKER_ID}:/usr/bin/qemu-${arch}-static"
|
||||||
fi
|
fi
|
||||||
docker start "${DOCKER_ID}"
|
docker start "${DOCKER_ID}"
|
||||||
if docker exec ${DOCKER_ID} getent passwd > /dev/null 2>&1; then
|
if ! docker exec ${DOCKER_ID} getent group $(id -g) > /dev/null 2>&1; then
|
||||||
docker exec ${DOCKER_ID} groupadd -g $(id -g) build
|
docker exec ${DOCKER_ID} groupadd -g $(id -g) $(id -gn)
|
||||||
docker exec ${DOCKER_ID} useradd -g $(id -g) -u $(id -u) build
|
fi
|
||||||
else
|
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}" build
|
docker exec ${DOCKER_ID} useradd -m -u $(id -u) -g $(id -u) -d"${HOME}" $(id -un)
|
||||||
fi
|
fi
|
||||||
case $mode in
|
case $mode in
|
||||||
(deb|apt)
|
(deb|apt)
|
||||||
@@ -243,7 +243,19 @@ case $mode in
|
|||||||
docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh
|
docker exec ${DOCKER_ID} ./resolve-debbuilddeps.sh
|
||||||
;;
|
;;
|
||||||
(rpm|yum|dnf|zypper)
|
(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' <<EOF
|
||||||
|
[WandiscoSVN]
|
||||||
|
name=Wandisco SVN Repo
|
||||||
|
EOF
|
||||||
|
docker exec -i ${DOCKER_ID} bash -c 'echo "baseurl=http://opensource.wandisco.com/centos/$(lsb_release -sr | sed '"'"'s,[^0-9].*,,'"'"')/svn-'$(svn --version | head -1 | sed 's,[^0-9]*\([0-9]\+\.[0-9]\+\).*,\1,')'/RPMS/$(uname -i)/" >> /etc/yum.repos.d/wandisco-svn.repo'
|
||||||
|
docker exec -i ${DOCKER_ID} bash -c 'cat >> /etc/yum.repos.d/wandisco-svn.repo' <<EOF
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=0
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
docker exec ${DOCKER_ID} ./resolve-rpmbuilddeps.sh
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
docker exec -u $(id -u):$(id -g) ${DOCKER_ID} ./bootstrap.sh -t "${targets}"
|
docker exec -u $(id -u):$(id -g) ${DOCKER_ID} ./bootstrap.sh -t "${targets}"
|
||||||
|
@@ -107,7 +107,7 @@ if test "$have_stacktrace" = "yes"; then
|
|||||||
yours])])
|
yours])])
|
||||||
AC_SEARCH_LIBS(cplus_demangle, [demangle iberty_pic iberty],
|
AC_SEARCH_LIBS(cplus_demangle, [demangle iberty_pic iberty],
|
||||||
[AC_MSG_RESULT([OK, found cplus_demangle])],
|
[AC_MSG_RESULT([OK, found cplus_demangle])],
|
||||||
[AC_MSG_ERROR([Function cplus_demangle not found!
|
[AC_MSG_WARN([Function cplus_demangle not found!
|
||||||
- I looked in libdemangle and libiberty
|
- I looked in libdemangle and libiberty
|
||||||
- Try "find /usr/lib -name 'libdemangle*' -o -name 'libiberty*'"
|
- Try "find /usr/lib -name 'libdemangle*' -o -name 'libiberty*'"
|
||||||
- is one of them installed?
|
- is one of them installed?
|
||||||
@@ -116,7 +116,7 @@ if test "$have_stacktrace" = "yes"; then
|
|||||||
- on Ubuntu (trusty) install libiberty-dev
|
- on Ubuntu (trusty) install libiberty-dev
|
||||||
- Try to compile with option --disable-stacktrace
|
- Try to compile with option --disable-stacktrace
|
||||||
If you are not a developer, you perhaps don't need it...?])])
|
If you are not a developer, you perhaps don't need it...?])])
|
||||||
if test "$have_dynamicstack" != "yes"; then
|
if test "$have_dynamicstack" != "yes" -a "$have_cplus_demangle" = "yes"; then
|
||||||
AC_DEFINE([NO_LTDL])
|
AC_DEFINE([NO_LTDL])
|
||||||
AC_SEARCH_LIBS(compress, z,
|
AC_SEARCH_LIBS(compress, z,
|
||||||
[AC_MSG_RESULT([OK, found libz])],
|
[AC_MSG_RESULT([OK, found libz])],
|
||||||
|
@@ -5,13 +5,13 @@ Release: @BUILD_NUMBER@%{?dist}
|
|||||||
License: LGPL
|
License: LGPL
|
||||||
Group: Development/Libraries/C++
|
Group: Development/Libraries/C++
|
||||||
Source0: %{name}-%{version}.tar.gz
|
Source0: %{name}-%{version}.tar.gz
|
||||||
BuildRequires: rpm-build subversion, automake, autoconf, doxygen, libtool, libtool-ltdl-devel, binutils-devel, gcc-c++
|
BuildRequires: rpm-build, subversion, automake, autoconf, doxygen, java-openjdk, libtool, binutils-devel, gcc-c++
|
||||||
%if 0%{?fedora} != 20
|
%if 0%{?fedora} != 20
|
||||||
BuildRequires: graphviz
|
BuildRequires: graphviz
|
||||||
%endif
|
%endif
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?rhl} || 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version}
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?rhl} || 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version}
|
||||||
BuildRequires: which, pkgconfig, cppunit-devel, redhat-lsb
|
BuildRequires: which, pkgconfig, cppunit-devel, redhat-lsb, libtool-ltdl
|
||||||
%if ! ( 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} )
|
%if ! ( 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} )
|
||||||
BuildRequires: mscgen
|
BuildRequires: mscgen
|
||||||
%endif
|
%endif
|
||||||
|
@@ -10,21 +10,20 @@
|
|||||||
## 1 2 3 4 5 6 7 8
|
## 1 2 3 4 5 6 7 8
|
||||||
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
|
|
||||||
INSTALL_TOOL=${INSTALL_TOOL:-$((est -x /usr/bin/zypper && echo zypper) || (test -x /usr/bin/dnf && echo dnf) || (test -x /usr/bin/yum && echo yum))}
|
INSTALL_TOOL=${INSTALL_TOOL:-$((test -x /usr/bin/zypper && echo zypper) || (test -x /usr/bin/dnf && echo dnf) || (test -x /usr/bin/yum && echo yum))}
|
||||||
SCHROOTNAME="$1"
|
SCHROOTNAME="$1"
|
||||||
PACKAGE_NAME=$(sed -n 's/^ *m4_define(x_package_name, \(.*\)).*/\1/p' configure.ac)
|
PACKAGE_NAME=$(sed -n 's/^ *m4_define(x_package_name, \(.*\)).*/\1/p' configure.ac)
|
||||||
|
|
||||||
if test -n "${SCHROOTNAME}"; then
|
if test -n "${SCHROOTNAME}"; then
|
||||||
schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL} install -y rpm-build automake
|
schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL} install -y rpm-build automake libtool subversion gcc-c++ pkgconfig
|
||||||
autoconf
|
|
||||||
schroot -c ${SCHROOTNAME} -u root -- ./bootstrap.sh -c
|
schroot -c ${SCHROOTNAME} -u root -- ./bootstrap.sh -c
|
||||||
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')
|
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
|
if test -n "${FILES}"; then
|
||||||
schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL} install -y ${FILES}
|
schroot -c ${SCHROOTNAME} -u root -- ${INSTALL_TOOL} install -y ${FILES}
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
${INSTALL_TOOL} install -y rpm-build automake
|
${INSTALL_TOOL} install -y rpm-build automake libtool subversion gcc-c++ pkgconfig
|
||||||
autoconf
|
./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')
|
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
|
if test -n "${FILES}"; then
|
||||||
${INSTALL_TOOL} install -y ${FILES}
|
${INSTALL_TOOL} install -y ${FILES}
|
||||||
|
Reference in New Issue
Block a user