Re: %pyproject_save_files license handlers

2023-09-27 Thread Miro Hrončok

On 19. 08. 23 23:57, Maxwell G wrote:

On Sat Aug 19, 2023 at 22:13 +0200, Miro Hrončok wrote:

On 19. 08. 23 19:44, Maxwell G wrote:

Hi Pythonistas,

%pyproject_save_files automatically handles marking license files
with %license when a build backend installs them into a package's
dist-info directory and the License-File header is specified in the
METADATA file. Currently, only setuptools and hatchling meet this
criteria. Notably, poetry and flit do not support this. They will
install license texts into the dist-info directory, but they do not add
the License-File metadata. The License-File tag is not standardized, and
discussion on PEP 639 which defines this standard has stalled. I believe
relying on this feature is a problem, as if a project changes build
systems or some other config and a packager doesn't realize, suddenly
the license file won't be marked with %license or even worse, not
installed at all. Since the pyproject macros read the build backend from
pyproject.toml without packagers having to manually specify anything
(which is generally great!), this situation seems likely to occur.

Until these issues are resolved, I propose banning this in Fedora and
requiring packagers to manually mark files with %license or at least
adding a large warning to the Packaging Guidelines. It can be similar to
the `'*' +auto` flags which are used by pyp2spec for automatic PyPI
builds in Copr but not allowed in Fedora proper.
What do y'all think? Am I missing something?


Hey. Alternatively to banning this: what if we make %pyproject_save_files fail
without a license? Obviously, that would be a breaking change, so it could be
opt-in first.

%pyproject_save_files -l ...

When used like this, no License-File header would result in an error.




We could introduce a reverse flag -L (don't fail without a license), and have a
discussion about changing the default later.

The guidelines could than say something like: If there is a license file you
MUST do one of the following when using %pyproject_save_files:

   1) use -l and don't list it in %files explicitly
   2) use -L and list it in %files explicitly

That way, we ensure the license is packaged (and marked as %license) while not
reducing automation.



I like -l flag idea, but I don't think we can make it fail by default
for the foreseeable future, given the status of PEP 639 and build system
adoption.
We could use a heuristic (such as a hardcoded list of globs) to match
license files in dist-info directories if License-File doesn't exist,
but I'm not sure that's the best idea.
I'm hesitant about adding a noop -L flag until we actually have a
plan/criteria on when to start enforcing -l, but I don't feel strongly.


I've drafted the implementation:

https://src.fedoraproject.org/rpms/pyproject-rpm-macros/pull-request/422

The -l flag asserts at least 1 License-File is present.
The -L flag disables the assert (i.e. it does nothing).

I was considering the idea that the -L flag would assert no License-File was 
found, but I don't think that will be that useful.


--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
___
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-le...@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-devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: 16 packages still need a Python 3.12 rebuild, final freeze in 6 days

2023-09-27 Thread Miro Hrončok

On 27. 09. 23 15:58, Zbigniew Jędrzejewski-Szmek wrote:

On Wed, Sep 27, 2023 at 11:56:01AM +0200, Miro Hrončok wrote:

Hello packagers,
here is the list of packages that still need a Python 3.12 rebuild for Fedora 
39+.



zbyszekpython-igor


I retired it now in f39 and rawhide. The first attempt failed halfway
because I didn't have a valid token. I repeated the 'fedpkg retire …' command,
but I'm not sure if the state got updated correctly.


Thanks.
The failed token failure is not real. It only fails to disable monitoring.
What matters is the dead.package file dist git.

See https://pagure.io/fedpkg/issue/505 (opened 6 months ago).

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
___
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-le...@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-devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: 16 packages still need a Python 3.12 rebuild, final freeze in 6 days

2023-09-27 Thread Zbigniew Jędrzejewski-Szmek
On Wed, Sep 27, 2023 at 11:56:01AM +0200, Miro Hrončok wrote:
> Hello packagers,
> here is the list of packages that still need a Python 3.12 rebuild for Fedora 
> 39+.

> zbyszekpython-igor

I retired it now in f39 and rawhide. The first attempt failed halfway
because I didn't have a valid token. I repeated the 'fedpkg retire …' command,
but I'm not sure if the state got updated correctly.

Zbyszek
___
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-le...@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-devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


16 packages still need a Python 3.12 rebuild, final freeze in 6 days

2023-09-27 Thread Miro Hrončok

Hello packagers,
here is the list of packages that still need a Python 3.12 rebuild for Fedora 
39+.

Packages on this list have broken dependencies and hence the users of Fedora 
Linux 39+ cannot install them at all.
Moreover, users of Fedora Linux 37 or 38 with the listed packages installed are 
unable to upgrade to Fedora Linux 39+.


We need to either rebuild those packages in Fedora Linux 39+ or retire+obsolete 
them to clear the upgrade path. Package retirement is not a "punishment" for 
not fixing the package, it is merely a way to allow our users to upgrade.
When a retired package is fixed after Fedora Linux 39 final release, it can be 
added back to the distribution.


The Fedora 39 Final Freeze starts on 2023-10-03 14:00 UTC -- that leaves only 6 
days to push updates via Bodhi, meaning they will not be autopushed in time.


Please, if you are planning to fix the packages, set low karma limits and ask 
another packager to test it and add karma.
Request freeze exceptions when needed: 
https://qa.fedoraproject.org/blockerbugs/propose_bug


I plan to propose "mass" retirement of the remaining packages without a 
requested freeze exception and a clear path forward a couple days after the 
freeze starts, so we have time to ship an updated fedora-obsolete-packages.


Packages broken in Rawhide by maintainer:
atkac  fail2ban
cottsaypython-bloom
dcavalca   python-mathics3 python-mathicsscript
echevemaster python-protego
hobbes1069 fail2ban freecad python-pyside2
jcaratzas  python-logutils
jkastner   freecad
luya   openshadinglanguage
matyas condor
music  openshadinglanguage
orion  fail2ban
qulogicpython-geomet
rebus  dionaea python-smbpasswd
rmattespython-bloom
salimmapython-rust-update-set
sdyroffpython-ansi
slaanesh   openshadinglanguage
tmzfail2ban
ttheisen   condor
valtri condor
zbyszekpython-igor

Details:

condor
==
https://bugzilla.redhat.com/2172684
Bugzilla ASSIGNED half a year ago, no update since.
Maintainer NEEDINFOed today.
Seems to a problem with Boost since Fedora 38.

dionaea
===
https://bugzilla.redhat.com/2219972
Bugzilla ASSIGNED 2 months ago, no update since.
Maintainer NEEDINFOed last week.

fail2ban

https://bugzilla.redhat.com/2219991
https://github.com/fail2ban/fail2ban/issues/3487
Bugzilla ASSIGNED 2 months ago, no update since.
Maintainers NEEDINFOed last week.

freecad
===
Bugzilla ASSIGNED 2 months ago, no update since.
Maintainer NEEDINFOed last week.
Blocked on pyside2.

openshadinglanguage
===
https://bugzilla.redhat.com/2220055
Seems to be actively progressing, blocked on this clang15 PR:
https://src.fedoraproject.org/rpms/clang15/pull-request/1

python-ansi
===
https://bugzilla.redhat.com/2220110
Bugzilla ASSIGNED 2 months ago, no update since.
Maintainers NEEDINFOed last week.
The fix of FTBFS is trivial (BR python3-setuptools, as described in 
https://bugzilla.redhat.com/2155030 in December 2022).
However, package has no %check, so I am reluctant to fix it myself, not knowing 
if it even works.


python-bloom

https://bugzilla.redhat.com/2220133
Maintainer said to retire it last week.

python-geomet
=
https://bugzilla.redhat.com/2220250
https://github.com/geomet/geomet/issues/92
Bugzilla ASSIGNED 2 months ago, no update since.
Maintainer NEEDINFOed last week.

python-igor
===
https://bugzilla.redhat.com/2220275
Bugzilla ASSIGNED a month ago, no update since.
Maintainer NEEDINFOed last week.

python-logutils
===
https://bugzilla.redhat.com/2220313
https://src.fedoraproject.org/rpms/python-logutils/pull-request/2
PR opened a month ago, no progress since.
New maintainer NEEDINFOed this week.

python-mathics3
===
https://bugzilla.redhat.com/2220323
https://src.fedoraproject.org/rpms/python-mathics3/pull-request/2 (still fails)
Bugzilla ASSIGNED a month ago, no update since.
Maintainer NEEDINFOed last week.

python-mathicsscript

https://bugzilla.redhat.com/2220324
Depends on mathics3
Bugzilla ASSIGNED a month ago, no update since.
Maintainer NEEDINFOed last week.

python-protego
==
https://bugzilla.redhat.com/2240746
Built in Fedora 39 only (the f39 branch is ahead of rawhide).
I'd normally just go ahead and merge the branches myself,
but the "fix" was to remove all the tests and add redundant manual Requires,
so I am reluctant to do that.

python-pyside2
==
https://bugzilla.redhat.com/2155447
https://bugzilla.redhat.com/2220452
https://bugreports.qt.io/browse/PYSIDE-2388 (WONTFIX)
Upstream no longer cares about this pyside2 version.
Bugzilla ASSIGNED 2 months ago, no update since.
Maintainer NEEDINFOed last week.

python-rust-update-set
==
https://bugzilla.redhat.com/2220488
Bugzilla ASSIGNED 2 months ago, no update since.
Maintainer NEEDINFOed last week.

python-smbpasswd

https://bugzilla.redhat.com/2154979
Bugzilla ASSIGNED 8 months