Re: F29 System Wide Change: Move /usr/bin/python into a separate package

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

 





On 05/24/18 01:01, Miro Hrončok wrote:
On 24.5.2018 00:56, Adam Williamson wrote:
The thing you're missing - which the Change doesn't explicitly state,
so it's understandable - is the effect of having the python2 package
Recommend the package with /usr/bin/python in it.

For *user* systems that will mean that package always gets installed
alongside python2, including that it should get installed on
update/upgrade. They could then manually remove it, but this is the
only way they could get into trouble - by default, both existing and
new installs should have /usr/bin/python. This is because dnf's default
behaviour is to install Recommends/Supplements.

However, for *package builds*, Recommends/Supplements are not
installed. So *package builds* which only BuildRequire python2 or
whatever would not get /usr/bin/python , and would thus fail. The
packager could always just add BuildRequires python-unversioned-command
to "fix" the problem, which is probably the fix we don't want them to
do, but at least then we have a handy way to identify recalcitrant
packages, and their maintainers can't pretend they weren't aware of the
problem and didn't actively decide to take the lazy way out.

I guess this needs to be added to the change proposal. I won't have time to do this now, so cc'ing Petr.

I'm not sure where to add this information. I see the Change as full of clear explanations of the above, but since I helped write it and know the technical details, it's hard for me to communicate this to people (especially those biased towards the view that we're breaking things without cause).

Could you help me out with a more concrete proposal on what to change in the text?



For reference:

# Abstract:

In Fedora's build system, only packages explicitly buildrequiring /usr/bin/python will get it.

# Detailed description:

Packages that need /usr/bin/python to build will need to BuildRequire it. Packages that need /usr/bin/python to be used by users will need to Require it. In both cases, the packager should avoid the need and only fallback to (Build)Requiring /usr/bin/python as a temporary workaround.

The new package will virtually provide python, ensuring that dnf install python will make the python command available.

# Don't (Build)Require python-unversioned-command, but /usr/bin/python

If this change ever gets obsoleted, or for older Fedoras support, we ask the maintainers who fallback to (Build)Requiring /usr/bin/python, not to use the package name for the dependency, but the executable path instead.

# Scope:

Maintainers of packages that use /usr/bin/python need to switch to using /usr/bin/python3 or /usr/bin/python2 explicitly (with help from Proposal owners if needed). [further instructions/recommendations follow]

# Upgrade/compatibility impact:

All packages that rely on /usr/bin/python need to change to /usr/bin/python2, or add explicit (Build)Requires.

Advanced users that don't install recommended packages by default will either have to install /usr/bin/python manually or live without it. Generally, the users should not be affected by this change.

User Experience

Advanced users might uninstall the /usr/bin/python link if they want to. Others don't need to deal with this change.


_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/AL33T23VH6KNAL4WVFZLOJBCZJ56H73A/




[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