Bug 1344111

Summary: borgbackup FTBFS on aarch64 epel7
Product: [Fedora] Fedora EPEL Reporter: D. Marlin <dmarlin>
Component: borgbackupAssignee: Benjamin Pereto <bpereto>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: bpereto, yselkowi
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: borgbackup-1.0.6-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-01 16:21:33 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:
Bug Depends On: 1331820    
Bug Blocks: 1285484    

Description D. Marlin 2016-06-08 19:02:14 UTC
Description of problem:

borgbackup fails to build from source for Fedora EPEL7 on RHELSA-7.2.


Version-Release number of selected component (if applicable):

  borgbackup-1.0.3-1.el7.src.rpm

How reproducible:

  consistently

Steps to Reproduce:
1. On a RHELSA-7.2 host:
    mock rebuild borgbackup-1.0.3-1.el7.src.rpm
2.
3.

Actual results:

Fails to complete build with the following test error:

=================================== FAILURES ===================================
______________________ ArchiverTestCase.test_sparse_file _______________________

self = <borg.testsuite.archiver.ArchiverTestCase testMethod=test_sparse_file>

    def test_sparse_file(self):
        # no sparse file support on Mac OS X
        sparse_support = sys.platform != 'darwin'
        filename = os.path.join(self.input_path, 'sparse')
        content = b'foobar'
        hole_size = 5 * (1 << CHUNK_MAX_EXP)  # 5 full chunker buffers
        with open(filename, 'wb') as fd:
            # create a file that has a hole at the beginning and end (if the
            # OS and filesystem supports sparse files)
            fd.seek(hole_size, 1)
            fd.write(content)
            fd.seek(hole_size, 1)
            pos = fd.tell()
            fd.truncate(pos)
        total_len = hole_size + len(content) + hole_size
        st = os.stat(filename)
        self.assert_equal(st.st_size, total_len)
        if sparse_support and hasattr(st, 'st_blocks'):
            self.assert_true(st.st_blocks * 512 < total_len / 9)  # is input sparse?
        self.cmd('init', self.repository_location)
        self.cmd('create', self.repository_location + '::test', 'input')
        with changedir('output'):
            self.cmd('extract', '--sparse', self.repository_location + '::test')
        self.assert_dirs_equal('input', 'output/input')
        filename = os.path.join(self.output_path, 'input', 'sparse')
        with open(filename, 'rb') as fd:
            # check if file contents are as expected
            self.assert_equal(fd.read(hole_size), b'\0' * hole_size)
            self.assert_equal(fd.read(len(content)), content)
            self.assert_equal(fd.read(hole_size), b'\0' * hole_size)
        st = os.stat(filename)
        self.assert_equal(st.st_size, total_len)
        if sparse_support and hasattr(st, 'st_blocks'):
>           self.assert_true(st.st_blocks * 512 < total_len / 9)  # is output sparse?
E           AssertionError: False is not true

borg/testsuite/archiver.py:416: AssertionError
----------------------------- Captured stderr call -----------------------------
Warning: File system encoding is "ascii", extracting non-ascii filenames will not be supported.
Hint: You likely need to fix your locale setup. E.g. install locales and use: LANG=en_US.UTF-8
___________________ RemoteArchiverTestCase.test_sparse_file ____________________

self = <borg.testsuite.archiver.RemoteArchiverTestCase testMethod=test_sparse_file>

    def test_sparse_file(self):
        # no sparse file support on Mac OS X
        sparse_support = sys.platform != 'darwin'
        filename = os.path.join(self.input_path, 'sparse')
        content = b'foobar'
        hole_size = 5 * (1 << CHUNK_MAX_EXP)  # 5 full chunker buffers
        with open(filename, 'wb') as fd:
            # create a file that has a hole at the beginning and end (if the
            # OS and filesystem supports sparse files)
            fd.seek(hole_size, 1)
            fd.write(content)
            fd.seek(hole_size, 1)
            pos = fd.tell()
            fd.truncate(pos)
        total_len = hole_size + len(content) + hole_size
        st = os.stat(filename)
        self.assert_equal(st.st_size, total_len)
        if sparse_support and hasattr(st, 'st_blocks'):
            self.assert_true(st.st_blocks * 512 < total_len / 9)  # is input sparse?
        self.cmd('init', self.repository_location)
        self.cmd('create', self.repository_location + '::test', 'input')
        with changedir('output'):
            self.cmd('extract', '--sparse', self.repository_location + '::test')
        self.assert_dirs_equal('input', 'output/input')
        filename = os.path.join(self.output_path, 'input', 'sparse')
        with open(filename, 'rb') as fd:
            # check if file contents are as expected
            self.assert_equal(fd.read(hole_size), b'\0' * hole_size)
            self.assert_equal(fd.read(len(content)), content)
            self.assert_equal(fd.read(hole_size), b'\0' * hole_size)
        st = os.stat(filename)
        self.assert_equal(st.st_size, total_len)
        if sparse_support and hasattr(st, 'st_blocks'):
>           self.assert_true(st.st_blocks * 512 < total_len / 9)  # is output sparse?
E           AssertionError: False is not true

borg/testsuite/archiver.py:416: AssertionError
----------------------------- Captured stderr call -----------------------------
Warning: File system encoding is "ascii", extracting non-ascii filenames will not be supported.
Hint: You likely need to fix your locale setup. E.g. install locales and use: LANG=en_US.UTF-8
 56 tests deselected by '-knot test_non_ascii_acl and not test_fuse_mount and not benchmark' 
= 2 failed, 415 passed, 51 skipped, 56 deselected, 2 xfailed in 302.00 seconds =


Expected results:

builds without errors.


Additional info:

This occurred using mock on a RHELSA-7.2 builder, which uses an XFS filesystem.

This appears to be the same issue identified in the s390x Fedora-24 Bugzilla:

  https://bugzilla.redhat.com/show_bug.cgi?id=1331820

Comment 1 Fedora Update System 2016-07-08 01:42:24 UTC
borgbackup-1.0.3-2.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-e2b9285caa

Comment 2 Fedora Update System 2016-07-10 03:17:57 UTC
borgbackup-1.0.3-2.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-e2b9285caa

Comment 3 Fedora Update System 2016-07-13 15:13:25 UTC
borgbackup-1.0.6-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-46d99c6930

Comment 4 Fedora Update System 2016-07-15 07:47:14 UTC
borgbackup-1.0.6-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-46d99c6930

Comment 5 Fedora Update System 2016-08-01 16:21:27 UTC
borgbackup-1.0.6-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.