diff options
author | Niels de Vos <ndevos@redhat.com> | 2014-05-19 09:25:34 +0200 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2014-05-21 22:21:49 -0700 |
commit | 79de5b63775f1ab8e2e498fd51b55509a30cd896 (patch) | |
tree | d5f11ada8dbb389f01711b05eb2530490e17b6a7 | |
parent | 0a77eb1e4576d8722b27a42c98879cc7250e00fe (diff) |
tests/rpm: always run ./autogen.sh to create missing files
In some occasions 'install-sh' seems to be missing in the 'make dist'
tarball when ./autogen.sh has not been run (skipped when 'configure'
exists). With this changes, 'autogen.sh' is always run so that missing
files should get added to the tarball.
Also write the logs from mock to a known location, and copy them to the
'/var/log/' directory that Jenkins archives after a regression test
failure. This makes it easier to find build issues that mock detects.
Change-Id: I8d0cf1afef61ebab0137aa0d20521e75a35ddbdd
BUG: 1038391
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/7786
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
-rw-r--r-- | glusterfs.spec.in | 7 | ||||
-rwxr-xr-x | tests/basic/rpm.t | 35 |
2 files changed, 35 insertions, 7 deletions
diff --git a/glusterfs.spec.in b/glusterfs.spec.in index 6d67a93a338..ca9b2faa4c9 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -473,7 +473,9 @@ This package provides the glusterfs server daemon. %setup -q -n %{name}-%{version}%{?prereltag} %build -./autogen.sh +# For whatever reason, install-sh is sometimes missing. When this gets fixed, +# there is no need to run ./autogen or have a BuildRequires for automake. +[ -e 'install-sh' -o -e 'install.sh' ] || ./autogen.sh %configure \ %{?_without_rdma} \ %{?_without_epoll} \ @@ -1011,6 +1013,9 @@ fi %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid %changelog +* Tue May 20 2014 Niels de Vos <ndevos@redhat.com> +- Almost drop calling ./autogen.sh + * Fri Apr 25 2014 Kaleb S. KEITHLEY <kkeithle@redhat.com> - Sync with Fedora spec (#1091408, #1091392) diff --git a/tests/basic/rpm.t b/tests/basic/rpm.t index a577726a82b..cea56ced6a3 100755 --- a/tests/basic/rpm.t +++ b/tests/basic/rpm.t @@ -52,24 +52,40 @@ REPO=${PWD} COMMIT=$(git describe) mkdir rpmbuild-mock.d pushd rpmbuild-mock.d 2>/dev/null -git clone -q -s file://${REPO} . -git checkout -q -b rpm-test ${COMMIT} + +function git_quiet() { + git ${@} 2>&1 > /dev/null +} + +TEST git_quiet clone -s file://${REPO} . +TEST git_quiet checkout -b rpm-test ${COMMIT} # build the glusterfs-*.tar.gz -[ -e configure ] || ./autogen.sh 2>&1 > /dev/null -TEST ./configure --enable-fusermount +function build_srpm_from_tgz() { + rpmbuild -ts $1 \ + --define "_srcrpmdir ${PWD}" \ + --define '_source_payload w9.gzdio' \ + --define '_source_filedigest_algorithm 1' +} + +TEST ./autogen.sh +TEST ./configure TEST make dist # build the glusterfs src.rpm -ls extras -TEST make -C extras/LinuxRPM testsrpm +TEST build_srpm_from_tgz ${PWD}/*.tar.gz # build for the last two Fedora EPEL releases (x86_64 only) for MOCK_CONF in $(ls -x1 /etc/mock/*.cfg | egrep -e 'epel-[0-9]+-x86_64.cfg$' | tail -n2) do EPEL_RELEASE=$(basename ${MOCK_CONF} .cfg) + mkdir -p "${PWD}/mock.d/${EPEL_RELEASE}" + chgrp mock "${PWD}/mock.d/${EPEL_RELEASE}" + chmod 0775 "${PWD}/mock.d/${EPEL_RELEASE}" + MOCK_RESULTDIR="--resultdir ${PWD}/mock.d/${EPEL_RELEASE}" # expand the mock command line MOCK_CMD="/usr/bin/mock ${MOCK_CLEANUP} \ + ${MOCK_RESULTDIR} \ -r ${EPEL_RELEASE} --rebuild ${PWD}/*.src.rpm" # write the mock command to a file, so that its easier to execute @@ -102,6 +118,13 @@ done # possible on EPEL-5/6 installations, Fedora 17 and newer have unmet # dependencies on the build-server :-/ +# logs are archived by Jenkins +if [ -d '/build/install/var' ] +then + LOGS=$(find mock.d -type f -name '*.log') + [ -n "${LOGS}" ] && xargs cp --parents ${LOGS} /build/install/var/ +fi + popd 2>/dev/null # only remove rpmbuild-mock.d if we're not debugging [ "${DEBUG}" = "0" ] && rm -rf rpmbuild-mock.d |