Bug 1035340

Summary: RFE: fail gracefully when being rebuilt by root user
Product: Red Hat Enterprise Linux 7 Reporter: Karel Volný <kvolny>
Component: subversionAssignee: Joe Orton <jorton>
Status: CLOSED ERRATA QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: azelinka, lpol, tlavigne
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: subversion-1.7.14-8.el7 Doc Type: Bug Fix
Doc Text:
Some tests contained in the Subversion source code failed if executed as root. Consequently, the source RPM for the subversion package could be rebuilt only by non-root users. With this update, the tests which fail as root are disabled if running as root. As a result, the subversion source RPM can be rebuilt by both non-root or root users.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 14:43:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Karel Volný 2013-11-27 15:19:21 UTC
Description of problem:
The subversion testsuite which is being run during rebuild fails if the package is being rebuilt by the root user.
The testsuite should either be fixed or rebuild as root discouraged and the testsuite problem workarounded.

Version-Release number of selected component (if applicable):
subversion-1.7.14-1.el7.src.rpm

How reproducible:
always

Steps to Reproduce:
1. su -
2. yumdownloader --source subversion
3. (install the missing dependencies)
4. rpmbuild --rebuild subversion*src.rpm

Actual results:
There was 1 failure:
1) testBasicLocking(org.apache.subversion.javahl.BasicTests)junit.framework.AssertionFailedError: file should be read only now expected:<false> but was:<true>
        at org.apache.subversion.javahl.BasicTests.testBasicLocking(BasicTests.java:2027)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.apache.subversion.javahl.RunTests.main(RunTests.java:116)

FAILURES!!!
Tests run: 54,  Failures: 1,  Errors: 0

make: *** [check-javahl] Error 1


Expected results:
the build fails more gracefully and suggests a way to workaround (to disable the tests)

Additional info:
for example, the mariadb spec has this:

# fail quickly and obviously if user tries to build as root
%if %runselftest
        if [ x"`id -u`" = x0 ]; then
                echo "The mariadb's regression tests may fail if run as root."
                echo "If you really need to build the RPM as root, use"
                echo "--define='runselftest 0' to skip the regression tests."
                exit 1
        fi
%endif

Comment 2 Joe Orton 2013-11-27 16:19:41 UTC
We can add the workaround as described, very simple/low risk.

Comment 7 Joe Orton 2015-01-16 09:27:31 UTC
*** Bug 1182572 has been marked as a duplicate of this bug. ***

Comment 10 Leos Pol 2015-08-26 06:55:20 UTC
subversion-1.7.14-10.el7
When I do rebuild by non-root user, make check-javahl is executed only if "id -u" is not zero, which corresponds with fix.

Comment 11 errata-xmlrpc 2015-11-19 14:43:11 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2425.html