Bug 1585626 - Move /usr/bin/python into a separate package
Summary: Move /usr/bin/python into a separate package
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Changes Tracking
Version: 29
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Miro Hrončok
QA Contact:
URL:
Whiteboard: ChangeAcceptedF29,SystemWideChange
Depends On: 1603300 1603301 1603303 1603307 1603327 1603441 1603442 1603493 1603536 1603617 1603618 1603639 1603730 1603735 1603827 1603829 1603879 1603886 1603887 1603937 1603954 1603970 1604023 1604074 1604141 1604153 1604155 1604167 1604250 1604253 1604268 1604360 1604393 1604527 1604533 1604534 1604610 1604635 1604661 1604720 1604759 1604760 1604761 1604762 1604822 1604840 1604888 1604902 1604918 1604935 1604956 1604959 1605252 1605253 1605272 1605318 1605322 1605434 1605467 1605483 1605488 1605520 1605522 1605535 1605539 1605541 1605550 1605555 1605562 1605565 1605571 1605572 1605578 1605582 1605584 1605586 1605591 1605593 1605608 1605612 1605631 1605640 1605644 1605648 1605650 1605652 1605654 1605665 1605666 1605667 1605696 1605698 1605701 1605704 1605707 1605709 1605710 1605712 1605717 1605719 1605732 1605733 1605738 1605743 1605744 1605748 1605749 1605758 1605783 1605787 1605796 1605805 1605808 1605820 1605822 1605824 1605825 1605830 1605835 1605836 1605837 1605840 1605843 1605847 1605849 1605859 1605867 1605881 1605882 1605886 1605908 1605910 1605918 1605927 1605928 1605938 1605942 1605946 1605951 1605954 1605961 1605962 1605963 1605964 1605965 1605966 1605970 1605974 1605980 1605981 1605985 1605993 1606000 1606002 1606006 1606019 1606024 1606026 1606029 1606035 1606037 1606099 1606105 1606107 1606109 1606120 1606289 1606293 1606294 1606297 1606363 1606375 1606376 1606385 1606386 1606393 1606417 1606426 1606433 1606442 1606451 1606455 1606462 1606463 1606467 1606474 1606475 1606511 1606548 1606560 1606588 1606609 1606640 1606650 1606706 1606711 1606736 1606763 1606777 1606832 1606900 1650528 1732633 1603243 1603281 1603302 1603304 1603326 1603359 1603468 1603476 1603492 1603535 1603644 1603659 1603664 1603715 1603741 1603742 1603756 1603764 1603779 1603791 1603799 1603802 1603813 1603823 1603851 1603951 1603955 1603956 1603959 1604019 1604022 1604025 1604026 1604062 1604068 1604076 1604110 1604133 1604154 1604179 1604245 1604249 1604271 1604305 1604316 1604329 1604332 1604343 1604379 1604387 1604394 1604486 1604543 1604544 1604547 1604574 1604602 1604608 1604647 1604649 1604650 1604735 1604757 1604778 1604782 1604790 1604807 1604817 1604853 1604871 1604909 1605256 1605281 1605293 1605299 1605327 1605329 1605347 1605352 1605356 1605366 1605393 1605442 1605461 1605466 1605469 1605475 1605511 1605533 1605534 1605536 1605542 1605545 1605546 1605547 1605548 1605549 1605553 1605561 1605570 1605573 1605579 1605581 1605585 1605587 1605588 1605592 1605596 1605597 1605599 1605602 1605613 1605614 1605616 1605618 1605620 1605621 1605623 1605627 1605628 1605629 1605630 1605636 1605638 1605645 1605647 1605649 1605651 1605655 1605658 1605663 1605664 1605669 1605674 1605677 1605678 1605697 1605713 1605716 1605720 1605722 1605723 1605729 1605730 1605731 1605736 1605737 1605742 1605745 1605747 1605757 1605770 1605775 1605779 1605782 1605785 1605786 1605789 1605793 1605795 1605798 1605801 1605802 1605803 1605804 1605806 1605809 1605810 1605813 1605814 1605815 1605816 1605817 1605819 1605826 1605827 1605829 1605831 1605832 1605838 1605839 1605842 1605845 1605848 1605857 1605860 1605861 1605866 1605868 1605869 1605870 1605872 1605874 1605877 1605885 1605888 1605889 1605891 1605893 1605895 1605902 1605903 1605905 1605915 1605923 1605924 1605926 1605929 1605933 1605950 1605959 1605967 1605968 1605969 1605990 1605991 1605992 1605997 1605999 1606003 1606007 1606008 1606009 1606010 1606020 1606021 1606022 1606023 1606054 1606074 1606081 1606090 1606121 1606137 1606141 1606330 1606340 1606341 1606350 1606388 1606398 1606434 1606443 1606447 1606454 1606458 1606508 1606516 1606520 1606529 1606530 1606542 1606544 1606545 1606546 1606547 1606549 1606550 1606551 1606552 1606553 1606554 1606555 1606556 1606558 1606561 1606562 1606563 1606564 1606567 1606612 1606665 1606701 1606710 1606717 1606774 1606775 1606776 1606779 1606784 1606786 1606794 1606837 1606841 1606880 1606901 1674826
Blocks: 1601256
TreeView+ depends on / blocked
 
Reported: 2018-06-04 08:46 UTC by Jan Kurik
Modified: 2019-07-23 22:44 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-11-01 15:49:14 UTC


Attachments (Terms of Use)

Description Jan Kurik 2018-06-04 08:46:00 UTC
This is a tracking bug for Change: Move /usr/bin/python into a separate package
For more details, see: https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package

Reflecting the recent changes of https://www.python.org/dev/peps/pep-0394/ PEP 394 -- ''The "python" Command on Unix-Like Systems'', we are moving /usr/bin/python from the {{package|python2}} package into a separate package called {{package|python-unversioned-command}}.
{{package|python2}} will recommend this package.
This means Fedora users will get it automatically with {{package|python2}}, but they might opt-out and remove it. In Fedora's build system, only packages explicitly buildrequiring /usr/bin/python will get it.
This change obsoletes "Avoid /usr/bin/python in RPM build" change.

Comment 1 Miro Hrončok 2018-06-04 08:57:27 UTC
Setting to depends on PYTHON37.

"This change will be done after the switch to Python 3.7 to avoid work on one change from interfering with work on the other."

Comment 2 Miro Hrončok 2018-06-21 14:06:06 UTC
Prepared in https://src.fedoraproject.org/rpms/python2/pull-request/20

Comment 3 Miro Hrončok 2018-07-03 14:26:05 UTC
Build in progress https://koji.fedoraproject.org/koji/taskinfo?taskID=28001290

Comment 4 Miro Hrončok 2018-07-16 13:47:44 UTC
218 packages list one of the following in %files:

%{python_sitearch}/*

%{python_sitelib}/*


Unfortunately, both statements currently evaluate to /*.

I think we should mass patch those, as this is a kind of error that passes silently. Thoughts?

Comment 5 Zbigniew Jędrzejewski-Szmek 2018-07-16 16:52:09 UTC
Are they actually defined to empty, or are they just undefined? I always thought any undefined macros are not replaced, leading to a non-absolute path, and consequently an error from rpm…

Comment 6 Zbigniew Jędrzejewski-Szmek 2018-07-16 16:52:50 UTC
+1 to mass patching, though, as usual ;)

Comment 7 Miro Hrončok 2018-07-16 17:14:22 UTC
They are basically defined to undefined:

(I know this is bash, but it behaves similarly here)

$ value=$(nonexisting command is here)
bash: nonexisting: command not found
$ echo "$value"
(empty)

Comment 8 Miro Hrončok 2018-07-16 17:22:48 UTC
Also, plenty of those use python or %__python and will fail to build.

So I'd only patch 42 that don't:

abiword
afflib
cwiid
denyhosts
did
dtc
gitosis
gr-air-modes
gr-fcdproplus
gr-iqbal
gr-osmosdr
gtts
langtable
libdasm
libpfm
mathgl
player
pocketsphinx
pyserial
python-alsaaudio
python-ansi
python-anyconfig
python-atomicwrites
python-bottle
python-guppy
python-lyricwiki
python-nitrate
python-openoffice
python-optcomplete
python-ordered-set
python-pygraphviz
python-pylcdsysinfo
python-pymilter
python-repoze-tm2
python-trml2pdf12
python-vkontakte
python-xmpp
python-yenc
stgit
sugar-datastore
sugar-toolkit
wordxtr

Comment 9 Zbigniew Jędrzejewski-Szmek 2018-07-17 10:57:18 UTC
(In reply to Miro Hrončok from comment #7)
> They are basically defined to undefined:
/usr/lib/rpm/macros:%python_sitelib %(%{__python} -Es %{_rpmconfigdir}/python-macro-helper sitelib)
/usr/lib/rpm/macros:%python_sitearch %(%{__python} -Es %{_rpmconfigdir}/python-macro-helper sitearch)

That's ugly. I think we should update those definitions to something like this:
%python_sitelib %{__python} -Es %{_rpmconfigdir}/python-macro-helper sitelib 2>/dev/null || echo %%python_sitelib
%python_sitearch %{__python} -Es %{_rpmconfigdir}/python-macro-helper sitearch 2>/dev/null || echo %%python_sitearch

Comment 10 Miro Hrončok 2018-07-17 11:06:32 UTC
That would work.

Comment 11 Zbigniew Jędrzejewski-Szmek 2018-07-17 11:08:47 UTC
https://github.com/rpm-software-management/rpm/pull/469

Comment 12 Raphael Groner 2018-07-17 22:40:11 UTC
FTBFS of python-jnius:

<snip>
BUILD SUCCESSFUL
Total time: 0 seconds
python setup.py build_ext --inplace -f -g
make: python: Command not found

The above output is a result of calling: CFLAGS="$RPM_OPT_FLAGS" %py2_build

https://koji.fedoraproject.org/koji/taskinfo?taskID=28222392
https://github.com/kivy/pyjnius/blob/a7e791aa26c84645c53dac985dd97183071f7bc4/setup.py

Comment 13 Miro Hrončok 2018-07-17 22:47:32 UTC
Raphael, the above output is a result of calling "make":

https://github.com/kivy/pyjnius/blob/master/Makefile#L20

If you really need to call make, set PYTHON=%{__python2}.

Also note that you don't need to set CFLAGS with %py2_build, the macro does that for you.

Note that I see no reason to call "%py_build" and follow it with "make" that calls python setup.py build_ext, as they both do essentially the same thing.

Comment 14 Miro Hrončok 2018-07-17 23:14:08 UTC
Raphael, here is a PR https://src.fedoraproject.org/rpms/python-jnius/pull-request/1

Comment 15 Miro Hrončok 2018-08-03 19:45:33 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #11)
> https://github.com/rpm-software-management/rpm/pull/469

https://src.fedoraproject.org/rpms/rpm/pull-request/14

Comment 16 Jan Kurik 2018-08-14 11:22:45 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 17 Miro Hrončok 2018-11-01 15:49:14 UTC
This has happened in F29.


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