Bug 2094005 - python-arrow: FTBFS in Fedora Rawhide
Summary: python-arrow: FTBFS in Fedora Rawhide
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: python-arrow
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fedora Infrastructure SIG
QA Contact: Fedora Extras Quality Assurance
URL: https://koschei.fedoraproject.org/pac...
Whiteboard:
: 2098820 (view as bug list)
Depends On: 2080221
Blocks: PYTHON3.11 F37FTBFS F37FailsToInstall 2047340
TreeView+ depends on / blocked
 
Reported: 2022-06-06 14:25 UTC by Tomáš Hrnčiar
Modified: 2022-06-20 22:55 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2022-06-20 22:55:06 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tomáš Hrnčiar 2022-06-06 14:25:21 UTC
Description of problem:
Package python-arrow fails to build from source in Fedora Rawhide.

Version-Release number of selected component (if applicable):
1.2.1-2.fc36

Steps to Reproduce:
koji build --scratch f37 python-arrow-1.2.1-2.fc36.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/python-arrow

Comment 1 Miro Hrončok 2022-06-20 10:16:53 UTC
*** Bug 2098820 has been marked as a duplicate of this bug. ***

Comment 2 Miro Hrončok 2022-06-20 21:57:40 UTC
___________________ TestGet.test_one_arg_dateparser_datetime ___________________
self = <tests.test_factory.TestGet object at 0x3ff87e06ad0>
    def test_one_arg_dateparser_datetime(self):
        dateparser = pytest.importorskip("dateparser")
        expected = datetime(1990, 1, 1).replace(tzinfo=tz.tzutc())
        # dateparser outputs: datetime.datetime(1990, 1, 1, 0, 0, tzinfo=<StaticTzInfo 'UTC\+00:00'>)
>       parsed_date = dateparser.parse("1990-01-01T00:00:00+00:00")
tests/test_factory.py:130: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3.11/site-packages/dateparser/conf.py:85: in wrapper
    return f(*args, **kwargs)
/usr/lib/python3.11/site-packages/dateparser/__init__.py:53: in parse
    data = parser.get_date_data(date_string, date_formats)
/usr/lib/python3.11/site-packages/dateparser/date.py:417: in get_date_data
    parsed_date = _DateLocaleParser.parse(
/usr/lib/python3.11/site-packages/dateparser/date.py:194: in parse
    return instance._parse()
/usr/lib/python3.11/site-packages/dateparser/date.py:198: in _parse
    date_obj = self._parsers[parser_name]()
/usr/lib/python3.11/site-packages/dateparser/date.py:212: in _try_freshness_parser
    return freshness_date_parser.get_date_data(self._get_translated_date(), self._settings)
/usr/lib/python3.11/site-packages/dateparser/date.py:261: in _get_translated_date
    self._translated_date = self.locale.translate(
/usr/lib/python3.11/site-packages/dateparser/languages/locale.py:135: in translate
    relative_translations = self._get_relative_translations(settings=settings)
/usr/lib/python3.11/site-packages/dateparser/languages/locale.py:164: in _get_relative_translations
    self._generate_relative_translations(normalize=True))
/usr/lib/python3.11/site-packages/dateparser/languages/locale.py:178: in _generate_relative_translations
    pattern = DIGIT_GROUP_PATTERN.sub(r'?P<n>\d+', pattern)
/usr/lib64/python3.11/site-packages/regex/regex.py:702: in _compile_replacement_helper
    is_group, items = _compile_replacement(source, pattern, is_unicode)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
source = <regex._regex_core.Source object at 0x3ff859ecc10>
pattern = regex.Regex('\\\\d\\+', flags=regex.V0), is_unicode = True
    def _compile_replacement(source, pattern, is_unicode):
        "Compiles a replacement template escape sequence."
        ch = source.get()
        if ch in ALPHA:
            # An alphabetic escape sequence.
            value = CHARACTER_ESCAPES.get(ch)
            if value:
                return False, [ord(value)]
    
            if ch in HEX_ESCAPES and (ch == "x" or is_unicode):
                # A hexadecimal escape sequence.
                return False, [parse_repl_hex_escape(source, HEX_ESCAPES[ch], ch)]
    
            if ch == "g":
                # A group preference.
                return True, [compile_repl_group(source, pattern)]
    
            if ch == "N" and is_unicode:
                # A named character.
                value = parse_repl_named_char(source)
                if value is not None:
                    return False, [value]
    
>           raise error("bad escape \\%s" % ch, source.string, source.pos)
E           regex._regex_core.error: bad escape \d at position 7
/usr/lib64/python3.11/site-packages/regex/_regex_core.py:1737: error


The interwebs say this is caused by updated regex package. There is a pending update (bz2047340) but that seems to suffer from the same problem.

Comment 3 Miro Hrončok 2022-06-20 22:05:05 UTC
Most likely boils down to https://github.com/scrapinghub/dateparser/issues/1052

Comment 4 Miro Hrončok 2022-06-20 22:55:06 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

All subpackages of a package against which this bug was filled are now installable or removed from Fedora 37.

Thanks for taking care of it!


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