Re: PyPI and pypi_source changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 26. 09. 24 15:57, Miroslav Suchý wrote:
If you maintain a package from PyPI, I wanted to give you a heads-up. It took me two hours to resolve this issue today as it started with "why Packit did not created new PR when upstream has new version".
And quick check shows that about one thousand packages may be affected.

It seems that PyPI recently started to enforce https://setuptools.pypa.io/en/latest/history.html#id118

AFAIK PyPI did not enforce this, it's just the sdists being uploaded to PyPI by their owners/maintainers were created with a newer version of setuptools or even with a different build backend. Each project is different, hence %{pypi_source} implementation cannot do any string-manipulation to make this "automatic".

And if project name of your package is affected you will likely hit https://bugzilla.redhat.com/show_bug.cgi?id=2278073

In my case:

%{pypi_source ibm-cloud-sdk-core}

stopped working and I had to replace it by

%{pypi_source ibm_cloud_sdk_core}

But the new variant works only for recently uploaded tarballs. Not sure where is the cut date.

There is not cut date, it depends on how the sdist tarball was created -- some maintainers use the newest version of setutpools, some might use the old one. It is even possible (unlikely) that a newer version of a package will use dashes, when an older one already used underscores.

You will be likely affected if the project name contains dashes, uppercase letters or dots.

It will affect you if you do not pass argument to pypi_source macro too. I.e.

./python-azure-cosmos.spec
Source0:        %pypi_source

Have to be replaced by %{pypi_source azure_cosmos} when there will be a new release.

Invoking %{pypi_source} without the name argument is deprecated and only works for backwards compatibility reasons. Always pass the name, use the same name as the project owners used whent hey uploaded the sdist to PyPI.

https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#pypi_source

When your package is one-word only, it will likely not affect you. E.g.,

./python-winacl.spec:Source0:        %{pypi_source}

will continue to work without a problem.

Please update to %{pypi_source winacl} anyway.

--
Miro Hrončok
--
Phone: +420777974800
Fedora Matrix: mhroncok

--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux