Bug 1791953 - gfal2-util fails to build with Python 3.9
Summary: gfal2-util fails to build with Python 3.9
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: gfal2-util
Version: 33
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Orphan Owner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1842086 (view as bug list)
Depends On:
Blocks: PYTHON39 F33FTBFS F33FailsToInstall
TreeView+ depends on / blocked
 
Reported: 2020-01-16 18:59 UTC by Miro Hrončok
Modified: 2023-09-14 05:50 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-08-18 12:17:51 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2020-01-16 18:59:06 UTC
gfal2-util fails to build with Python 3.9.0a2.

+ /usr/bin/python3 test/functional/test_all.py
<testsuite errors="0" failures="17" name="unittest.suite.TestSuite" tests="22" time="1.408">
  <testcase classname="test_copy.UtilCopyTest" name="test_chain_copy" time="0.0896"></testcase>
  <testcase classname="test_copy.UtilCopyTest" name="test_copy" time="0.0665">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_copy.py", line 15, in test_copy
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_copy.UtilCopyTest" name="test_copy_dir" time="0.0658"></testcase>
  <testcase classname="test_copy.UtilCopyTest" name="test_copy_dst_dir" time="0.0652">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_copy.py", line 70, in test_copy_dst_dir
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_copy.UtilCopyTest" name="test_copy_no_basename" time="0.0649">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_copy.py", line 31, in test_copy_no_basename
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_copy.UtilCopyTest" name="test_copy_parent_enoent" time="0.0630"></testcase>
  <testcase classname="test_copy.UtilCopyTest" name="test_copy_parent_mkdir" time="0.0636"></testcase>
  <testcase classname="test_copy.UtilCopyTest" name="test_copy_pseudotty" time="0.0691">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_copy.py", line 124, in test_copy_pseudotty
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_general.UtilGeneralTest" name="test_protocol_not_supported" time="0.0629">
    <failure type="builtins.AssertionError">1 != 93
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_general.py", line 12, in test_protocol_not_supported
    self.assertEqual(ret, 93)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_ls.UtilLsTest" name="test_basic" time="0.0620">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_ls.py", line 31, in test_basic
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_ls.UtilLsTest" name="test_directory" time="0.0627">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_ls.py", line 36, in test_directory
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_ls.UtilLsTest" name="test_invalid" time="0.0615">
    <failure type="builtins.AssertionError">1 != 2
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_ls.py", line 22, in test_invalid
    self.assertEqual(ret, 2)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_ls.UtilLsTest" name="test_name" time="0.0614">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_ls.py", line 42, in test_name
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_mkdir.UtilMkdirTest" name="test_already_exists" time="0.0614">
    <failure type="builtins.AssertionError">1 != 17
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_mkdir.py", line 51, in test_already_exists
    self.assertEqual(ret, 17)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_mkdir.UtilMkdirTest" name="test_already_exists_p" time="0.0602">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_mkdir.py", line 60, in test_already_exists_p
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_mkdir.UtilMkdirTest" name="test_invalid_mode" time="0.0603"></testcase>
  <testcase classname="test_mkdir.UtilMkdirTest" name="test_mkdir" time="0.0604">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_mkdir.py", line 17, in test_mkdir
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_mkdir.UtilMkdirTest" name="test_mkdir_mode" time="0.0606">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_mkdir.py", line 28, in test_mkdir_mode
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_mkdir.UtilMkdirTest" name="test_mkdir_recursive" time="0.0613">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_mkdir.py", line 40, in test_mkdir_recursive
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_rm.UtilRmTest" name="test_dir_non_rec" time="0.0610">
    <failure type="builtins.AssertionError">1 != 21
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_rm.py", line 19, in test_dir_non_rec
    self.assertEqual(ret, 21)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_rm.UtilRmTest" name="test_multiple" time="0.0613">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_rm.py", line 28, in test_multiple
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <testcase classname="test_rm.UtilRmTest" name="test_recursive" time="0.0621">
    <failure type="builtins.AssertionError">1 != 0
  File "/usr/lib64/python3.9/unittest/case.py", line 60, in testPartExecutor
    yield
  File "/usr/lib64/python3.9/unittest/case.py", line 659, in run
    self._callTestMethod(testMethod)
  File "/usr/lib64/python3.9/unittest/case.py", line 616, in _callTestMethod
    method()
  File "/builddir/build/BUILD/gfal2-util-1.5.3/test/functional/test_rm.py", line 11, in test_recursive
    self.assertEqual(ret, 0)
  File "/usr/lib64/python3.9/unittest/case.py", line 895, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.9/unittest/case.py", line 888, in _baseAssertEqual
    raise self.failureException(msg)
    </failure>
  </testcase>
  <system-out><![CDATA[]]></system-out>
  <system-err><![CDATA[]]></system-err>
</testsuite>

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01148406-gfal2-util/

For all our attempts to build gfal2-util with Python 3.9, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/gfal2-util/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/

Let us know here if you have any questions.

Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Ben Cotton 2020-02-11 17:34:22 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle.
Changing version to 32.

Comment 2 Miro Hrončok 2020-03-16 12:47:58 UTC
Adrien, could you please have look and report this upstream if needed? Thanks.

Comment 3 Miro Hrončok 2020-05-25 13:02:28 UTC
This comment is mass posted to all bugs blocking the Python 3.9 tracker, sorry if it is not 100 % relevant. When in doubt, please ask.


The Python 3.9 rebuild is in progress in a Koji side tag.

If you fix this bug, please don't rebuild the package in regular rawhide, but do it in the side tag with:

    $ fedpkg build --target=f33-python

The rebuild is progressing slowly and it is possible this package won't have all the required build dependencies yet. If that's the case, please just leave the fix committed and pushed and we will eventually rebuild it for you.

You are not asked to go and try rebuild all the missing dependencies yourself. If you know there is a bootstrap loop in the dependencies, let me know and we can untangle it together.

If you want to test your fix or reproduce the failure, you can still use the Copr repo mentioned in the initial comment of this bug: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/

Comment 4 Miro Hrončok 2020-05-29 07:12:11 UTC
Python 3.9 update: The f33-python side tag is currently being merged.

New builds in f33-python are no longer possible, but python3 is not yet updated to Python 3.9 in rawhide. You can check when Python is Python 3.9 with:

    $ koji wait-repo f33-build --build python3.9-3.9.0~b1-3.fc3

And build the packages normally after that.

Comment 5 Tomáš Hrnčiar 2020-06-09 06:29:04 UTC
*** Bug 1842086 has been marked as a duplicate of this bug. ***

Comment 6 Igor Raits 2020-06-16 18:46:11 UTC
Hello,

This is the second reminder (step 4 from https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs).

If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.

Comment 7 Fedora Admin user for bugzilla script actions 2020-07-16 14:51:56 UTC
This package has changed maintainer in the Fedora.
Reassigning to the new maintainer of this component.

Comment 8 Igor Raits 2020-07-18 05:49:58 UTC
This package has been orphaned.

You can pick it up at https://src.fedoraproject.org/rpms/gfal2-util by clicking button "Take". If nobody picks it up, it will be retired and removed from a distribution.

Comment 9 Ben Cotton 2020-08-11 13:07:08 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle.
Changing version to 33.

Comment 10 Miro Hrončok 2020-08-18 12:17:51 UTC
According to https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/ point 9:

> A week before the scheduled beta freeze, any packages which have open FTI bugs in the NEW state for at least 8 weeks with at least 2 reminder comments will be retired from the relevant release and rawhide (in addition to being orphaned).

This package was now orphaned (if not already) and is being retired from F33 and rawhide.

If you like it to be unretired, please open a ticket at https://pagure.io/releng/new_issue?template=package_unretirement

If you believe this was done by an accident and would like to talk to me, please note that this comment is mass posted to several bugzillas and I'm not CCed in all of them. Add me to CC or e-mail me directly if you wish need to respond.

The releng ticket it https://pagure.io/releng/issue/9693

Comment 11 Red Hat Bugzilla 2023-09-14 05:50:05 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days


Note You need to log in before you can comment on or make changes to this bug.