Fix tests for RHEL5+, except for RHEL8
- put dnf-plugins-core and yum-utils into Requires in Makefile (it is OK to put non-installable package names there?) - add builddep() handler which accepts package names; this isn't working with spec file or SRPM file, but only with package names but it doesn't matter much (we take srpm from repository anyways, so using source repository for build deps is fine as well). - on rhel5/rhel6 is /bin/tar, not /usr/bin/tar; so use /bin/tar everywhere to keep things simple - better prepare $HOME for 'tar-testsuite' user on RHEL5
This commit is contained in:
parent
1899fbe52e
commit
a348706f4a
2 changed files with 27 additions and 6 deletions
|
|
@ -52,9 +52,9 @@ $(METADATA): Makefile
|
|||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: TAR testsuite" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 60m" >> $(METADATA)
|
||||
@echo "TestTime: 120m" >> $(METADATA)
|
||||
@echo "RunFor: tar" >> $(METADATA)
|
||||
@echo "Requires: tar texinfo libacl-devel rsh libselinux-devel rpm-build gcc wget" >> $(METADATA)
|
||||
@echo "Requires: tar rpm-build gcc dnf-plugins-core yum-utils" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
|
|
|
|||
|
|
@ -33,6 +33,20 @@
|
|||
PACKAGE="tar"
|
||||
TESTUSER="tar-testsuite"
|
||||
|
||||
install_build_deps()
|
||||
{
|
||||
if rlIsFedora || rlIsRHEL '>7'; then
|
||||
rlIsRHEL 8 && additional_repo='--enablerepo rhel-buildroot'
|
||||
rlRun "dnf -y $additional_repo builddep $*"
|
||||
else
|
||||
# WARNING: yum-builddep doesn't work on RHEL5 as we would expect from
|
||||
# modern RHEL/Fedora distributions. Only "package names" are accepted,
|
||||
# not SRPMs or SPEC files. On RHEL6 this seems to work fine with SRPMs
|
||||
# only.
|
||||
rlRun "yum-builddep -y $*"
|
||||
fi
|
||||
}
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
|
|
@ -40,6 +54,12 @@ rlJournalStart
|
|||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "chmod -R 777 $TmpDir"
|
||||
rlRun "pushd $TmpDir"
|
||||
if rlIsRHEL 5; then
|
||||
fix_rpm='echo %_topdir $HOME > $HOME/.rpmmacros'
|
||||
rlRun "su - $TESTUSER -c '$fix_rpm'"
|
||||
# on RHEL5, this isn't create automatically for some reason
|
||||
rlRun "su - $TESTUSER -c 'mkdir \$HOME/BUILD'"
|
||||
fi
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
|
|
@ -49,8 +69,9 @@ rlJournalStart
|
|||
VERSION=`ls -1 *.src.rpm | head -1 | sed 's/tar-\([0-9.]*\).*src.rpm/\1/'`
|
||||
RPM_NAME=`ls -1 *.src.rpm | head -1`
|
||||
RPM_FULL_NAME=`readlink -f $RPM_NAME`
|
||||
SPECFILE=/home/$TESTUSER/rpmbuild/SPECS/tar.spec
|
||||
BUILDDIR=/home/$TESTUSER/rpmbuild/BUILD/tar-$VERSION
|
||||
TOPDIR=$(su - "$TESTUSER" -c 'rpm --eval %_topdir')
|
||||
SPECFILE=$TOPDIR/SPECS/tar.spec
|
||||
BUILDDIR=$TOPDIR/BUILD/tar-$VERSION
|
||||
|
||||
rlRun "chmod -R 777 $TmpDir"
|
||||
|
||||
|
|
@ -63,14 +84,14 @@ rlJournalStart
|
|||
rlLog "Version: $VERSION"
|
||||
|
||||
# Dependencies
|
||||
rlRun "yum-builddep -y $SPECFILE"
|
||||
install_build_deps tar
|
||||
|
||||
# Building
|
||||
rlRun -s "su $TESTUSER -c \"rpmbuild -bc $SPECFILE\""
|
||||
rlRun "mv $rlRun_LOG $TmpDir/rpmbuild.log"
|
||||
|
||||
# Using system /bin/tar for testsuite
|
||||
wrapper='export PATH=/usr/bin ; exec tar "$@"'
|
||||
wrapper='export PATH=/bin ; exec tar "$@"'
|
||||
wrapper=`printf "%q" "$wrapper"`
|
||||
rlRun "echo $wrapper > $BUILDDIR/src/tar"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue