Discussion:
Heads-up: RPM 4.17 alpha coming to rawhide near you (broken python-srpm-macros)
Miro Hrončok
2021-04-26 21:47:15 UTC
Permalink
It's spring, it's raining sleet where I live, and it's also the season for new
rpm in rawhide. As per https://fedoraproject.org/wiki/Changes/RPM-4.17.
The changes to the macro subsystem internals have been quite large, and while
it's supposed to be backwards compatible with changes this big it'd be foolish
not to expect some amount of the unexpected. So please pay attention, and don't
be shy about filing bugs.
error: lua script failed: /usr/libexec/copy_jdk_configs.lua:43: attempt to
index a nil value (global 'arg')
That is already reported against the java packages as
https://bugzilla.redhat.com/show_bug.cgi?id=1892224, please don't file
duplicates on that. It needs to be addressed in the java packaging.
For more details, see upstream release notes at
https://rpm.org/wiki/Releases/4.17.0
We see a problem with this construct:

Source0: %{pypi_source}

It used to work:

$ rpmspec -P python-asyncpg.spec | grep Source0
Source0:
https://files.pythonhosted.org/packages/source/a/asyncpg/asyncpg-0.22.0.tar.gz

$ rpm --define 'name foo' --define 'version 1.2.3' --eval '%{pypi_source}'
https://files.pythonhosted.org/packages/source/f/foo/foo-1.2.3.tar.gz

$ rpm --showrc | grep pypi_source -A3
-13: pypi_source %{lua:
local src = rpm.expand('%1')
local ver = rpm.expand('%2')
local ext = rpm.expand('%3')

Now we get:

error: Bad source: /builddir/build/SOURCES/%{pypi_source}: No such file or directory

when building the package.

In mock:

<mock-chroot> sh-5.1# rpmspec -P python-asyncpg.spec | grep Source0
Source0: %{pypi_source}

<mock-chroot> sh-5.1# rpm --define 'name foo' --define 'version 1.2.3' --eval
'%{pypi_source}'
%{pypi_source}

<mock-chroot> sh-5.1# rpm --showrc | grep pypi_source -A3
(empty)


The file is /usr/lib/rpm/macros.d/macros.python-srpm. None of the Lua macros
there seem to be known to RPM, but other macros from that file work fine.

Is it possible that some Lua code there breaks all the other Lua macros from
that file? I see no error, just the macros are not recognized, as if they don't
exist.

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
python-devel mailing list -- python-***@lists.fedoraproject.org
To unsubscribe send an email to python-devel-***@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/python-***@lists.fedoraproject.org
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
Miro Hrončok
2021-04-27 07:28:36 UTC
Permalink
Source0:        %{pypi_source}
$ rpmspec -P python-asyncpg.spec | grep Source0
https://files.pythonhosted.org/packages/source/a/asyncpg/asyncpg-0.22.0.tar.gz
$ rpm --define 'name foo' --define 'version 1.2.3' --eval '%{pypi_source}'
https://files.pythonhosted.org/packages/source/f/foo/foo-1.2.3.tar.gz
$ rpm --showrc | grep pypi_source -A3
     local src = rpm.expand('%1')
     local ver = rpm.expand('%2')
     local ext = rpm.expand('%3')
error: Bad source: /builddir/build/SOURCES/%{pypi_source}: No such file or directory
when building the package.
<mock-chroot> sh-5.1# rpmspec -P python-asyncpg.spec | grep Source0
Source0:        %{pypi_source}
<mock-chroot> sh-5.1# rpm --define 'name foo' --define 'version 1.2.3' --eval
'%{pypi_source}'
%{pypi_source}
<mock-chroot> sh-5.1# rpm --showrc | grep pypi_source -A3
(empty)
The file is /usr/lib/rpm/macros.d/macros.python-srpm. None of the Lua macros
there seem to be known to RPM, but other macros from that file work fine.
Is it possible that some Lua code there breaks all the other Lua macros from
that file? I see no error, just the macros are not recognized, as if they
don't exist.
Sounds strange. I'll look into it, but please file a bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1953910

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
python-devel mailing list -- python-***@lists.fedoraproject.org
To unsubscribe send an email to python-devel-***@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/python-***@lists.fedoraproject.org
Do not reply to spam on the li
Loading...