fixed rpm build

master
Marc Wäckerlin 8 years ago
parent 59ceb76b8f
commit db6ca5d2bf
  1. 2
      INSTALL
  2. 202
      ax_init_standard_project.m4
  3. 89
      bootstrap.sh
  4. 7
      build-in-docker.conf
  5. 37
      build-in-docker.sh
  6. 2
      configure.ac
  7. 4
      examples/makefile.am
  8. 49
      libxml-cxx.spec.in
  9. 2
      resolve-rpmbuilddeps.sh

@ -1 +1 @@
/usr/share/automake-1.14/INSTALL /usr/share/automake-1.15/INSTALL

@ -225,6 +225,9 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
VENDOR=$((lsb_release -is 2>/dev/null || echo unknown) | tr ' ' '_') VENDOR=$((lsb_release -is 2>/dev/null || echo unknown) | tr ' ' '_')
AX_SUBST(VENDOR) AX_SUBST(VENDOR)
DISTRO=$(lsb_release -sc 2>/dev/null || uname -s 2>/dev/null) DISTRO=$(lsb_release -sc 2>/dev/null || uname -s 2>/dev/null)
if test "${DISTRO}" = "n/a"; then
DISTRO="${VENDOR}_$(lsb_release -sr 2>/dev/null | tr ' ' '_')"
fi
AX_SUBST(DISTRO) AX_SUBST(DISTRO)
ARCH=$((@<:@@<:@ $(uname -sm) =~ 64 @:>@@:>@ && echo amd64) || (@<:@@<:@ $(uname -sm) =~ 'i?86' @:>@@:>@ && echo i386 || uname -sm)) ARCH=$((@<:@@<:@ $(uname -sm) =~ 64 @:>@@:>@ && echo amd64) || (@<:@@<:@ $(uname -sm) =~ 'i?86' @:>@@:>@ && echo i386 || uname -sm))
AX_SUBST(ARCH) AX_SUBST(ARCH)
@ -594,7 +597,7 @@ AC_DEFUN([AX_USE_DOXYGEN], [
AC_CHECK_PROG(have_doxygen, doxygen, yes, no) AC_CHECK_PROG(have_doxygen, doxygen, yes, no)
AC_CHECK_PROG(have_dot, dot, yes, no) AC_CHECK_PROG(have_dot, dot, yes, no)
AC_CHECK_PROG(have_mscgen, mscgen, yes, no) AC_CHECK_PROG(have_mscgen, mscgen, yes, no)
AM_CONDITIONAL(NEED_PLANTUML, test "$have_doxygen" = "yes" -a "1.8.11" != $((echo "1.8.11"; doxygen -v) | sort -V | head -1)) AM_CONDITIONAL(NEED_PLANTUML, test "$have_doxygen" = "yes" -a "1.8.11" != $((echo "1.8.11"; doxygen -v 2>/dev/null) | sort -V | head -1))
PDF_DOC=${PACKAGE_NAME}-${PACKAGE_VERSION}.pdf PDF_DOC=${PACKAGE_NAME}-${PACKAGE_VERSION}.pdf
AC_SUBST(PDF_DOC) AC_SUBST(PDF_DOC)
if test "$have_doxygen" = "no"; then if test "$have_doxygen" = "no"; then
@ -714,6 +717,15 @@ EOF
# $4 = alternative module names (space separated, optional) # $4 = alternative module names (space separated, optional)
# $5 = optional flags: # $5 = optional flags:
# manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged # manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged
# $6 = optional parameters, allowed are (evaluated in this order):
# - RPM_DIST_PKG=<name>
# special name for the RPM package
# - DEB_DIST_PKG=<name>
# special name for the debian package
# - DIST_PKG=<name>
# if the name of the package is different
# - DEV_DIST_PKG=<name>
# if the name of the development package is different
# #
# uses PKG_CHECK_MODULES to test for a module # uses PKG_CHECK_MODULES to test for a module
# then, if given, looks for the header file # then, if given, looks for the header file
@ -723,119 +735,12 @@ EOF
AC_DEFUN([AX_PKG_REQUIRE], [ AC_DEFUN([AX_PKG_REQUIRE], [
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
optional_flags="$5" optional_flags="$5"
$1_found=no $6
secondpar="m4_default([$2], [$1])" if test -n "$DEV_DIST_PKG"; then
PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ DEV_DEB_DIST_PKG=${DEV_DIST_PKG}-dev
$1_found=$secondpar DEV_RPM_DIST_PKG=${DEV_DIST_PKG}-devel
PKG_REQUIREMENTS+=" $secondpar"
], [
if test -n "$4"; then
AC_MSG_WARN([Recommended package $secondpar for feature $1 not installed, trying $4])
for pkg in $4; do
PKG_CHECK_MODULES([$1], [$pkg], [
PKG_REQUIREMENTS+=" $pkg"
$1_found=$pkg
break;
], [
AC_MSG_WARN([Recommended package $pkg for feature $1 not installed])
])
done
fi
])
AC_SUBST(CPPFLAGS)
AC_SUBST(CXXFLAGS)
AC_SUBST(PKG_REQUIREMENTS)
if test -n "$3"; then
if test "${$1_found}" = "no"; then
tmp_package="yes"
else
tmp_package=${$1_found}
fi fi
$1_found=no $1_found=no
old_CPPFLAGS=${CPPFLAGS}
CPPFLAGS=" ${$1_CFLAGS} ${CPPFLAGS}"
AC_CHECK_HEADER([$3], [
$1_found=${tmp_package}
], [
for x in ${$1_CFLAGS}; do
AC_MSG_NOTICE([search for $3 in ${x[#]-I}])
for f in $(find ${x[#]-I} -name "$3" 2> /dev/null); do
if test -f "$f"; then
$1_found=${tmp_package}
$1_CFLAGS+=" -I${f%/*}"
AC_MSG_NOTICE([added path ${f%/*}])
break;
fi
done
if test "${$1_found}" != "no"; then
break;
fi
done
if test "${$1_found}" = "no"; then
tmp_includedir=$(${PKG_CONFIG} --variable=includedir $tmp_package)
for x in ${tmp_includedir}; do
AC_MSG_NOTICE([search for $3 in $x])
for f in $(find ${x} -name "$3" 2> /dev/null); do
if test -f "$f"; then
$1_found=${tmp_package}
$1_CFLAGS+=" -I${f%/*}"
AC_MSG_NOTICE([added path ${f%/*}])
break;
fi
done
if test "${$1_found}" != "no"; then
break;
fi
done
fi
])
CPPFLAGS=${old_CPPFLAGS}
fi
if test "${$1_found}" = "no"; then
if test -n "$3"; then
if test -n "$4"; then
AC_MSG_ERROR([Feature $1 not found, need header $3 in modules $secondpar or $4])
else
AC_MSG_ERROR([Feature $1 not found, need header $3 in module $secondpar])
fi
else
AC_MSG_ERROR([Feature $1 not found please install module $secondpar])
fi
fi
AX_DEB_DEPEND([${$1_found}])
AX_RPM_DEPEND([${$1_found}])
[$1]_CPPFLAGS="${$1_CFLAGS}"
[$1]_CXXFLAGS="${$1_CFLAGS}"
AC_SUBST([$1]_CPPFLAGS)
AC_SUBST([$1]_CXXFLAGS)
if test "${optional_flags/manualflags/}" = "${optional_flags}"; then
CPPFLAGS+=" ${$1_CPPFLAGS}"
CXXFLAGS+=" ${$1_CXXFLAGS}"
LIBS+=" ${$1_LIBS}"
AC_MSG_NOTICE([Adding flags for $1])
else
AC_MSG_NOTICE([To enable $1, add $1_CPPFLAGS, $1_CXXFLAGS and $1_LIBS])
fi
])
# require a specific development package, with fallback: test for a header
# - parameter:
# $1 = unique id (no special characters)
# $2 = module name (optional, if different from id)
# $3 = a header file to find (optional)
# $4 = alternative module names (space separated, optional)
# $5 = optional flags:
# manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged
#
# uses PKG_CHECK_MODULES to test for a module
# then, if given, looks for the header file
# if header file is not found, searches in alternative modules
# sets all flags, so that the module can be used everywhere
# fails if not found
AC_DEFUN([AX_PKG_REQUIRE_DEV], [
PKG_PROG_PKG_CONFIG
optional_flags="$5"
$1_found=no
secondpar="m4_default([$2], [$1])" secondpar="m4_default([$2], [$1])"
PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [
$1_found=$secondpar $1_found=$secondpar
@ -914,8 +819,10 @@ AC_DEFUN([AX_PKG_REQUIRE_DEV], [
AC_MSG_ERROR([Feature $1 not found please install module $secondpar]) AC_MSG_ERROR([Feature $1 not found please install module $secondpar])
fi fi
fi fi
AX_DEB_BUILD_DEPEND([${$1_found}-dev]) AX_DEB_BUILD_DEPEND([${DEV_DEB_DIST_PKG:-${DEB_DIST_PKG:-${DIST_PKG:-${$1_found}-dev}}}])
AX_RPM_BUILD_DEPEND([${$1_found}-devel]) AX_RPM_BUILD_DEPEND([${DEV_RPM_DIST_PKG:-${RPM_DIST_PKG:-${DIST_PKG:-${$1_found}-devel}}}])
AX_DEB_DEPEND([${DEB_DIST_PKG:-${DIST_PKG:-${$1_found}}}])
AX_RPM_DEPEND([${RPM_DIST_PKG:-${DIST_PKG:-${$1_found}}}])
[$1]_CPPFLAGS="${$1_CFLAGS}" [$1]_CPPFLAGS="${$1_CFLAGS}"
[$1]_CXXFLAGS="${$1_CFLAGS}" [$1]_CXXFLAGS="${$1_CFLAGS}"
AC_SUBST([$1]_CPPFLAGS) AC_SUBST([$1]_CPPFLAGS)
@ -936,56 +843,26 @@ AC_DEFUN([AX_PKG_REQUIRE_DEV], [
# $2 = module name (optional, if different from id) # $2 = module name (optional, if different from id)
# $3 = optional flags: # $3 = optional flags:
# manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged # manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged
# $4 = optional parameters, allowed are (evaluated in this order):
# - RPM_DIST_PKG=<name>
# special name for the RPM package
# - DEB_DIST_PKG=<name>
# special name for the debian package
# - DIST_PKG=<name>
# if the name of the package is different
# - DEV_DIST_PKG=<name>
# if the name of the development package is different
# #
# uses PKG_CHECK_MODULES to test for a module # uses PKG_CHECK_MODULES to test for a module
# sets automake conditional HAVE_$1 to 0 (not found) or 1 (found) # sets automake conditional HAVE_$1 to 0 (not found) or 1 (found)
# sets all flags, so that the module can be used everywhere # sets all flags, so that the module can be used everywhere
AC_DEFUN([AX_PKG_CHECK], [ AC_DEFUN([AX_PKG_CHECK], [
optional_flags="$3" optional_flags="$3"
PKG_PROG_PKG_CONFIG $4
PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ if test -n "$DEV_DIST_PKG"; then
HAVE_$1=1 DEV_DEB_DIST_PKG=${DEV_DIST_PKG}-dev
[$1]_CPPFLAGS="${$1_CFLAGS}" DEV_RPM_DIST_PKG=${DEV_DIST_PKG}-devel
[$1]_CXXFLAGS="${$1_CFLAGS}"
AC_SUBST([$1]_CPPFLAGS)
AC_SUBST([$1]_CXXFLAGS)
if test "${optional_flags/manualflags/}" = "${optional_flags}"; then
CPPFLAGS+=" ${$1_CPPFLAGS}"
CXXFLAGS+=" ${$1_CXXFLAGS}"
LIBS+=" ${$1_LIBS}"
AC_MSG_NOTICE([Adding flags for $1])
else
AC_MSG_NOTICE([To enable $1, add $1_CPPFLAGS, $1_CXXFLAGS and $1_LIBS])
fi fi
if test -z "$PKG_REQUIREMENTS"; then
PKG_REQUIREMENTS="m4_default([$2], [$1])"
else
PKG_REQUIREMENTS="${PKG_REQUIREMENTS}, m4_default([$2], [$1])"
fi
], [
HAVE_$1=0
])
AX_DEB_BUILD_DEPEND(m4_default([$2], [$1]))
AX_RPM_BUILD_DEPEND(m4_default([$2], [$1]))
AM_CONDITIONAL(HAVE_$1, test $HAVE_[$1] -eq 1)
AC_SUBST(HAVE_$1)
AC_SUBST(CPPFLAGS)
AC_SUBST(CXXFLAGS)
AC_SUBST(PKG_REQUIREMENTS)
])
# check if a specific development package exists
# - parameter:
# $1 = unique id (no special characters)
# $2 = module name (optional, if different from id)
# $3 = optional flags:
# manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged
#
# uses PKG_CHECK_MODULES to test for a module
# sets automake conditional HAVE_$1 to 0 (not found) or 1 (found)
# sets all flags, so that the module can be used everywhere
AC_DEFUN([AX_PKG_CHECK_DEV], [
optional_flags="$3"
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [
HAVE_$1=1 HAVE_$1=1
@ -1009,8 +886,10 @@ AC_DEFUN([AX_PKG_CHECK_DEV], [
], [ ], [
HAVE_$1=0 HAVE_$1=0
]) ])
AX_DEB_BUILD_DEPEND(m4_default([$2], [$1])-dev) AX_DEB_BUILD_DEPEND([${DEV_DEB_DIST_PKG:-${DEB_DIST_PKG:-${DIST_PKG:-m4_default([$2], [$1])-dev}}}])
AX_RPM_BUILD_DEPEND(m4_default([$2], [$1])-devel) AX_RPM_BUILD_DEPEND([${DEV_RPM_DIST_PKG:-${RPM_DIST_PKG:-${DIST_PKG:-m4_default([$2], [$1])-devel}}}])
AX_DEB_DEPEND([${DEB_DIST_PKG:-${DIST_PKG:-m4_default([$2], [$1])}}])
AX_RPM_DEPEND([${RPM_DIST_PKG:-${DIST_PKG:-m4_default([$2], [$1])}}])
AM_CONDITIONAL(HAVE_$1, test $HAVE_[$1] -eq 1) AM_CONDITIONAL(HAVE_$1, test $HAVE_[$1] -eq 1)
AC_SUBST(HAVE_$1) AC_SUBST(HAVE_$1)
AC_SUBST(CPPFLAGS) AC_SUBST(CPPFLAGS)
@ -1278,8 +1157,8 @@ AC_DEFUN([AX_ALL_BUILD_DEPEND], [
# $1 = package name # $1 = package name
AC_DEFUN([AX_ALL_BUILD_DEPEND_DEV], [ AC_DEFUN([AX_ALL_BUILD_DEPEND_DEV], [
pkg="$1" pkg="$1"
DEB_BUILD_DEPEND="${DEB_BUILD_DEPEND}, ${pkg}-dev" DEB_BUILD_DEPEND="${DEB_BUILD_DEPEND}, ${pkg// /-dev}-dev"
RPM_BUILD_DEPEND="${RPM_BUILD_DEPEND}, ${pkg}-devel" RPM_BUILD_DEPEND="${RPM_BUILD_DEPEND}, ${pkg// /-devel}-devel"
]) ])
# require package in .spec.in append @ALL_DEPEND@ to Depends # require package in .spec.in append @ALL_DEPEND@ to Depends
@ -1295,6 +1174,7 @@ AC_DEFUN([AX_ALL_DEPEND], [
fi fi
]) ])
# finish configuration - to be called instead of AC_OUTPUT
AC_DEFUN([AX_OUTPUT], [ AC_DEFUN([AX_OUTPUT], [
AX_DEB_RESOLVE AX_DEB_RESOLVE
AX_RPM_RESOLVE AX_RPM_RESOLVE

@ -1290,6 +1290,9 @@ ${HEADER}AM_CPPFLAGS = -I\${top_srcdir}/src -I\${top_builddir}/src
AM_LDFLAGS = -L\${abs_top_builddir}/src/.libs AM_LDFLAGS = -L\${abs_top_builddir}/src/.libs
LDADD = -l${PACKAGE_NAME#lib} LDADD = -l${PACKAGE_NAME#lib}
exampledir = ${docdir}/examples
example_DATA =
MAINTAINERCLEANFILES = makefile.in MAINTAINERCLEANFILES = makefile.in
EOF EOF
to --condition AX_BUILD_HTML_NPM html/package.json.in <<EOF to --condition AX_BUILD_HTML_NPM html/package.json.in <<EOF
@ -1603,7 +1606,7 @@ to --condition AX_USE_RPM_PACKAGING ${PACKAGE_NAME}.spec.in <<EOF
Summary: @DESCRIPTION@ Summary: @DESCRIPTION@
Name: @PACKAGE_NAME@ Name: @PACKAGE_NAME@
Version: @VERSION@ Version: @VERSION@
Release: @BUILD_NUMBER@%{?dist} Release: @BUILD_NUMBER@.@DISTRO@
License: LGPL License: LGPL
Group: $(if testtag AX_USE_LIBTOOL; then Group: $(if testtag AX_USE_LIBTOOL; then
echo Development/Libraries/C++; echo Development/Libraries/C++;
@ -1613,62 +1616,49 @@ fi)
$(if testtag AX_RPM_DEPEND; then echo "Requires: @RPM_DEPEND@"; fi) $(if testtag AX_RPM_DEPEND; then echo "Requires: @RPM_DEPEND@"; fi)
Source0: %{name}-%{version}.tar.gz Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: gnupg, expect, ${VCSDEPENDS_RPM} make, automake, autoconf, rpm-build$( BuildRequires: which, pkgconfig, gnupg, expect, ${VCSDEPENDS_RPM}make, automake, autoconf, rpm-build$(
if testtag AX_USE_CXX; then if testtag AX_USE_CXX; then
echo -n ", binutils-devel, gcc-c++" echo -n ", binutils-devel, gcc-c++"
fi fi
if testtag AX_USE_LIBTOOL; then if testtag AX_USE_CPPUNIT; then
echo -n ", libtool"; echo -n ", cppunit-devel"
fi fi
if testtag AX_USE_DOXYGEN; then if testtag AX_USE_DOXYGEN; then
echo -n ", doxygen, java-openjdk"; echo -n ", doxygen, graphviz, 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";
fi fi
) @RPM_BUILD_DEPEND@ @RPM_DEPEND_IFEXISTS@ if testtag AX_REQUIRE_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then
%if 0%{?fedora} != 20 echo -n ", qt-devel, libqt5-qtbase-devel, libqt5-qttools, libQt5WebKit5-devel";
$(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} || 0%{?mageia}
BuildRequires: which, pkgconfig$(
if testtag AX_USE_LIBTOOL; then
echo -n ", cppunit-devel"
fi fi
) ) @RPM_BUILD_DEPEND@ @RPM_DEPEND_IFEXISTS@
%if 0%{?rhel} > 6 || 0%{?rhl} > 6 || 0%{?centos} > 6 || 0%{?fedora} || 0%{?mageia}
BuildRequires: rpm-sign #### os dependent definitions ####
%endif %if 0%{?suse_version} || 0%{?sles_version}
BuildRequires: lsb-release
%else
%if 0%{?mageia} %if 0%{?mageia}
BuildRequires: gnupg, lsb-release$( BuildRequires: rpm-sign, lsb-release
if testtag AX_USE_LIBTOOL; then
echo -n ", libltdl-devel"
fi
)
%else %else
BuildRequires: gpg, redhat-lsb$( BuildRequires: rpm-sign, redhat-lsb
if testtag AX_USE_LIBTOOL; then
echo -n ", libtool-ltdl-devel"
fi
)
%endif %endif
%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)
%else
$(if testtag AX_REQUIRE_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n "BuildRequires: qt-devel"; fi)
%endif %endif
%else%if 0%{?suse_version} || 0%{?sles_version} $(
BuildRequires: pkg-config, lsb-release$( if testtag AX_USE_DOXYGEN; then cat <<EOS
if testtag AX_USE_CPPUNIT; then %if ! 0%{?centos}
echo -n ", libcppunit-devel"; BuildRequires: mscgen
fi) %endif
%if 0%{?suse_version} < 1200 || 0%{?sles_version} < 1200 EOS
$(if testtag AX_REQUIRE_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n "BuildRequires: libqt4-devel, qt4-x11-tools, libQtWebKit-devel"; fi) fi
if testtag AX_USE_LIBTOOL; then cat <<EOS
%if 0%{?mageia}
BuildRequires: libtool, libltdl-devel
%else %else
$(if testtag AX_REQUIRE_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n "BuildRequires: libqt5-qtbase-devel, libqt5-qttools, libQt5WebKit5-devel"; fi) BuildRequires: libtool, libtool-ltdl-devel
%endif %endif
%endif%endif EOS
fi)
%description %description
@README@ @README@
@ -1825,21 +1815,23 @@ Requires: @PKG_REQUIREMENTS@
EOF EOF
to build-in-docker.conf <<EOF to build-in-docker.conf <<EOF
${HEADER}# Use Ubuntu Universe Repository ${HEADER}# Use Ubuntu Universe Repository
repos+=("Ubuntu:::universe") repos+=("ubuntu:::universe")
# Use Marc Wäckerlin's Repository, see https://dev.marc.waeckerlin.org # Use Marc Wäckerlin's Repository, see https://dev.marc.waeckerlin.org
repos+=("Debian|Ubuntu:::https://dev.marc.waeckerlin.org/repository") repos+=("debian|ubuntu:::https://dev.marc.waeckerlin.org/repository:::https://dev.marc.waeckerlin.org/repository/@DISTRIBUTOR@/marc-waeckerlin.repo")
repos+=("openSUSE:::https://dev.marc.waeckerlin.org/repository/opensuse/marc-waeckerlin.repo")
repos+=("Fedora:::https://dev.marc.waeckerlin.org/repository/fedora/marc-waeckerlin.repo")
repos+=("CentOS:::https://dev.marc.waeckerlin.org/repository/centos/marc-waeckerlin.repo")
keys+=("https://dev.marc.waeckerlin.org/repository/PublicKey") keys+=("https://dev.marc.waeckerlin.org/repository/PublicKey")
EOF EOF
#### Cleanup If Makefile Exists #### #### Cleanup If Makefile Exists ####
if test -f makefile; then if test -f makefile; then
run --no-check make distclean run --no-check make maintainer-clean
fi fi
#### Build In Docker If User Requires ####
if test "$docker" -eq 1; then
./build-in-docker.sh $buildtarget $* || exit 1
else
#### Bootstrap Before Configure #### #### Bootstrap Before Configure ####
run --no-check vcs2cl run --no-check vcs2cl
run aclocal run aclocal
@ -1857,7 +1849,4 @@ if test "$build" -eq 1; then
make $buildtarget || exit 1 make $buildtarget || exit 1
fi fi
#### Build In Docker If User Requires ####
if test "$docker" -eq 1; then
./build-in-docker.sh || exit 1
fi fi

@ -9,11 +9,8 @@
## 45678901234567890123456789012345678901234567890123456789012345678901234567890 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890
# Use Ubuntu Universe Repository # Use Ubuntu Universe Repository
repos+=("Ubuntu:::universe") repos+=("ubuntu:::universe")
# Use Marc Wäckerlin's Repository, see https://dev.marc.waeckerlin.org # Use Marc Wäckerlin's Repository, see https://dev.marc.waeckerlin.org
repos+=("Debian|Ubuntu:::https://dev.marc.waeckerlin.org/repository") repos+=("debian|ubuntu:::https://dev.marc.waeckerlin.org/repository:::https://dev.marc.waeckerlin.org/repository/@DISTRIBUTOR@/marc-waeckerlin.repo")
repos+=("openSUSE:::https://dev.marc.waeckerlin.org/repository/opensuse/marc-waeckerlin.repo")
repos+=("Fedora:::https://dev.marc.waeckerlin.org/repository/fedora/marc-waeckerlin.repo")
repos+=("CentOS:::https://dev.marc.waeckerlin.org/repository/centos/marc-waeckerlin.repo")
keys+=("https://dev.marc.waeckerlin.org/repository/PublicKey") keys+=("https://dev.marc.waeckerlin.org/repository/PublicKey")

@ -7,7 +7,7 @@ if test "${arch}" = "amd64"; then
myarch="amd64|i386" myarch="amd64|i386"
fi fi
mode="deb" mode="deb"
img="ubuntu:latest" img="mwaeckerlin/ubuntu:latest"
repos=() repos=()
keys=() keys=()
envs=("-e LANG=${LANG}" "-e HOME=${HOME}" "-e TERM=xterm" "-e DEBIAN_FRONTEND=noninteractive" "-e DEBCONF_NONINTERACTIVE_SEEN=true") envs=("-e LANG=${LANG}" "-e HOME=${HOME}" "-e TERM=xterm" "-e DEBIAN_FRONTEND=noninteractive" "-e DEBCONF_NONINTERACTIVE_SEEN=true")
@ -82,12 +82,12 @@ while test $# -gt 0; do
(-m|--mode) shift; (-m|--mode) shift;
mode="$1" mode="$1"
case "$mode" in case "$mode" in
(deb|apt) img="ubuntu:latest";; (deb|apt) img="mwaeckerlin/ubuntu:latest";;
(rpm|zypper) img="opensuse:latest";; (rpm|zypper) img="opensuse:latest";;
(yum) img="centos:latest";; (yum) img="centos:latest";;
(dnf) img="fedora:latest";; (dnf) img="fedora:latest";;
(win) (win)
img="ubuntu:latest"; host="${host:---host=i686-w64-mingw32}" img="mwaeckerlin/ubuntu:latest"; host="${host:---host=i686-w64-mingw32}"
targets="all install" targets="all install"
flags+=("--prefix=/workdir/usr") flags+=("--prefix=/workdir/usr")
packages1=("mingw-w64") packages1=("mingw-w64")
@ -172,7 +172,8 @@ function traperror() {
echo echo
fi fi
if [ "$wait" -eq 1 ]; then if [ "$wait" -eq 1 ]; then
echo " ... now you can access the docker container:" echo " ... now you can access the docker container as root or user:"
echo " docker exec -it ${DOCKER_ID} bash"
echo " docker exec -u $(id -u) -it ${DOCKER_ID} bash" echo " docker exec -u $(id -u) -it ${DOCKER_ID} bash"
echo -n " ... press enter to cleanup: " echo -n " ... press enter to cleanup: "
read read
@ -185,12 +186,6 @@ function traperror() {
exit $e exit $e
fi fi
done done
if [ "$wait" -eq 1 ]; then
echo " ... now you can access the docker container:"
echo " docker exec -u $(id -u) -it ${DOCKER_ID} bash"
echo -n " ... press enter to cleanup: "
read
fi
echo -n "SUCCESS ... cleanup docker: " echo -n "SUCCESS ... cleanup docker: "
docker rm -f "${DOCKER_ID}" docker rm -f "${DOCKER_ID}"
exit 0 exit 0
@ -200,20 +195,26 @@ function ifthenelse() {
arg="$1" arg="$1"
shift shift
cmd="$*" cmd="$*"
DISTRIBUTOR=$(docker exec ${DOCKER_ID} lsb_release -si | sed 's, .*,,' | tr [:upper:] [:lower:])
CODENAME=$(docker exec ${DOCKER_ID} lsb_release -cs)
ARCH=$((docker exec ${DOCKER_ID} which dpkg > /dev/null 2> /dev/null && docker exec ${DOCKER_ID} dpkg --print-architecture) || echo amd64)
if test "${arg/:::/}" = "${arg}"; then if test "${arg/:::/}" = "${arg}"; then
docker exec ${DOCKER_ID} bash -c "${cmd//ARG/${arg}}" docker exec ${DOCKER_ID} bash -c "${cmd//ARG/${arg//@DISTRIBUTOR@/${DISTRIBUTOR}}}"
else else
os="${arg%%:::*}" os="${arg%%:::*}"
thenpart="${arg#*:::}" thenpart="${arg#*:::}"
if test "${thenpart/:::/}" = "${thenpart}"; then elsepart=
docker exec ${DOCKER_ID} bash -c 'os="'$os'"; if [[ "$(lsb_release -is)-$(lsb_release -cs)-$((which dpkg > /dev/null 2> /dev/null && dpkg --print-architecture) || echo amd64)" =~ ${os} ]]; then '"${cmd//ARG/${thenpart}}"'; fi' if test "${thenpart/:::/}" != "${thenpart}"; then
else
elsepart="${thenpart##*:::}" elsepart="${thenpart##*:::}"
thenpart="${thenpart%:::*}" thenpart="${thenpart%%:::*}"
fi
if [[ "${DISTRIBUTOR}-${CODENAME}-${ARCH}" =~ ${os} ]]; then
if test -n "${thenpart}"; then if test -n "${thenpart}"; then
docker exec ${DOCKER_ID} bash -c 'os="'$os'"; if [[ "$(lsb_release -is)-$(lsb_release -cs)-$((which dpkg > /dev/null 2> /dev/null && dpkg --print-architecture) || echo amd64)" =~ ${os} ]]; then '"${cmd//ARG/${thenpart}}"'; else '"${cmd//ARG/${elsepart}}"'; fi' docker exec ${DOCKER_ID} bash -c "${cmd//ARG/${thenpart//@DISTRIBUTOR@/${DISTRIBUTOR}}}"
fi
else else
docker exec ${DOCKER_ID} bash -c 'os="'$os'"; if [[ "$(lsb_release -is)-$(lsb_release -cs)-$((which dpkg > /dev/null 2> /dev/null && dpkg --print-architecture) || echo amd64)" =~ ${os} ]]; then true; else '"${cmd//ARG/${elsepart}}"'; fi' if test -n "${elsepart}"; then
docker exec ${DOCKER_ID} bash -c "${cmd//ARG/${elsepart//@DISTRIBUTOR@/${DISTRIBUTOR}}}"
fi fi
fi fi
fi fi
@ -295,7 +296,7 @@ EOF
rm rpm-key rm rpm-key
done done
for repo in "${repos[@]}"; do for repo in "${repos[@]}"; do
INSTALL_REPO=$((docker exec ${DOCKER_ID} test -x /usr/bin/zypper && echo zypper ar) || (docker exec ${DOCKER_ID} test -x /usr/bin/dnf && echo dnf config-manager --add-repo) || (docker exec ${DOCKER_ID} test -x /usr/bin/yum && echo wget -O/etc/yum.repos.d/additional$i.repo) || (docker exec ${DOCKER_ID} test -x /usr/sbin/urpmi && echo true)) INSTALL_REPO=$((docker exec ${DOCKER_ID} test -x /usr/bin/zypper && echo zypper ar) || (docker exec ${DOCKER_ID} test -x /usr/bin/dnf && echo dnf config-manager --add-repo) || (docker exec ${DOCKER_ID} test -x /usr/bin/yum && echo wget -O/etc/yum.repos.d/additional$i.repo) || (docker exec ${DOCKER_ID} test -x /usr/sbin/urpmi && echo false))
ifthenelse "${repo}" "${INSTALL_REPO} 'ARG'" ifthenelse "${repo}" "${INSTALL_REPO} 'ARG'"
((++i)) ((++i))
done done

@ -30,7 +30,7 @@ AX_BUILD_EXAMPLES
#AX_QT_NO_KEYWORDS #AX_QT_NO_KEYWORDS
AX_PKG_REQUIRE(mrwcxx, mrw-c++) AX_PKG_REQUIRE(mrwcxx, mrw-c++)
AX_DEB_BUILD_DEPEND(mrw-c++-dev) AX_ALL_BUILD_DEPEND_DEV(mrw-c++)
# create output # create output
AX_OUTPUT AX_OUTPUT

@ -10,9 +10,11 @@ AM_CPPFLAGS = -I${top_srcdir}/src -I${top_srcdir}/src
AM_LDFLAGS = -L${abs_top_builddir}/src/.libs AM_LDFLAGS = -L${abs_top_builddir}/src/.libs
LDADD = -lxml-cxx LDADD = -lxml-cxx
noinst_PROGRAMS = address node_macros serialization \ exampledir = ${docdir}/examples
example_PROGRAMS = address node_macros serialization \
contain_serialization inherit_serialization \ contain_serialization inherit_serialization \
list_serialization optional_serialization list_serialization optional_serialization
example_DATA = ${example_PROGRAMS:*=*.cxx}
address_SOURCES = address.cxx address_SOURCES = address.cxx
node_macros_SOURCES = node_macros.cxx node_macros_SOURCES = node_macros.cxx

@ -1,39 +1,32 @@
Summary: @DESCRIPTION@ Summary: @DESCRIPTION@
Name: @PACKAGE_NAME@ Name: @PACKAGE_NAME@
Version: @VERSION@ Version: @VERSION@
Release: @BUILD_NUMBER@%{?dist} Release: @BUILD_NUMBER@.@DISTRO@
License: LGPL License: LGPL
Group: Development/Libraries/C++ Group: Development/Libraries/C++
Source0: %{name}-%{version}.tar.gz Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: gnupg, subversion, subversion-tools, make, automake, autoconf, rpm-build, binutils-devel, gcc-c++, libtool, doxygen, java-openjdk, mrw-c++-devel BuildRequires: which, pkgconfig, gnupg, expect, subversion, make, automake, autoconf, rpm-build, binutils-devel, gcc-c++, cppunit-devel, doxygen, graphviz, java-openjdk @RPM_BUILD_DEPEND@ @RPM_DEPEND_IFEXISTS@
%if 0%{?fedora} != 20
BuildRequires: graphviz #### os dependent definitions ####
%endif %if 0%{?suse_version} || 0%{?sles_version}
%if 0%{?fedora} || 0%{?rhel} || 0%{?rhl} || 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} || 0%{?mageia} BuildRequires: lsb-release
BuildRequires: which, pkgconfig, cppunit-devel %else
%if 0%{?rhel} > 6 || 0%{?rhl} > 6 || 0%{?centos} > 6 || 0%{?fedora} || 0%{?mageia}
BuildRequires: rpm-sign
%endif
%if 0%{?mageia} %if 0%{?mageia}
BuildRequires: gnupg, lsb-release, libltdl-devel BuildRequires: rpm-sign, lsb-release
%else %else
BuildRequires: gpg, redhat-lsb, libtool-ltdl-devel BuildRequires: rpm-sign, redhat-lsb
%endif
%endif %endif
%if ! ( 0%{?centos} || 0%{?centos_ver} || 0%{?centos_version} ) %if ! 0%{?centos}
BuildRequires: mscgen BuildRequires: mscgen
%else
%endif %endif
%else%if 0%{?suse_version} || 0%{?sles_version} %if 0%{?mageia}
BuildRequires: pkg-config, lsb-release, libcppunit-devel BuildRequires: libtool, libltdl-devel
%if 0%{?suse_version} < 1200 || 0%{?sles_version} < 1200
%else %else
BuildRequires: libtool, libtool-ltdl-devel
%endif %endif
%endif%endif
%description %description
@README@ @README@
@ -59,7 +52,8 @@ rm -rf $RPM_BUILD_ROOT
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
/usr/%_lib/@PACKAGE_NAME@.so.* /usr/%_lib/*.so.*
%doc %doc
/usr/share/doc/packages/@PACKAGE_NAME@/AUTHORS /usr/share/doc/packages/@PACKAGE_NAME@/AUTHORS
/usr/share/doc/packages/@PACKAGE_NAME@/COPYING /usr/share/doc/packages/@PACKAGE_NAME@/COPYING
@ -71,7 +65,7 @@ rm -rf $RPM_BUILD_ROOT
%package devel %package devel
Summary: @DESCRIPTION@ Summary: @DESCRIPTION@
Group: Development/Libraries/C++ Group: Development/Libraries/C++
Requires: @PACKAGE_NAME@ = @VERSION@ Requires: @PACKAGE_NAME@ = @VERSION@ @RPM_BUILD_DEPEND@
%description devel %description devel
@README@ @README@
@ -80,13 +74,14 @@ This Package contains all files required for developement.
%files devel %files devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
/usr/%_lib/@PACKAGE_NAME@.so /usr/%_lib/*.so
/usr/%_lib/@PACKAGE_NAME@.a /usr/%_lib/*.a
/usr/%_lib/@PACKAGE_NAME@.la /usr/%_lib/*.la
/usr/%_lib/pkgconfig /usr/%_lib/pkgconfig
/usr/include/* /usr/include/*
%doc %doc
/usr/share/doc/packages/@PACKAGE_NAME@/html /usr/share/doc/packages/@PACKAGE_NAME@/html
/usr/share/doc/packages/@PACKAGE_NAME@/examples
%changelog %changelog

@ -14,7 +14,7 @@ INSTALL_TOOL=${INSTALL_TOOL:-$((test -x /usr/bin/zypper && echo zypper install -
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)
TRAP_CMD= TRAP_CMD="sleep ${SLEEP:-0};"
DEPS= DEPS=
for f in BUILD BUILDROOT RPMS SPECS SRPMS; do for f in BUILD BUILDROOT RPMS SPECS SRPMS; do
if ! test -d $f; then if ! test -d $f; then

Loading…
Cancel
Save