Bug 1377240 - python3: Regenerate `configure` and other files before building
Summary: python3: Regenerate `configure` and other files before building
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python3
Version: rawhide
Hardware: Unspecified
OS: Unspecified
low
unspecified
Target Milestone: ---
Assignee: Miro Hrončok
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: PYTHON38
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-19 09:38 UTC by Tomas Orsava
Modified: 2019-05-26 11:54 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-26 01:03:57 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Tomas Orsava 2016-09-19 09:38:21 UTC
The packaging guidelines suggest that code generated by other code should be regenerated as part of the build process [0].

That is currently not happening: For example the `configure` file should be regenerated from `configure.ac` by running `autoconf`. And while autoconf is listed as a BuildRequirement, the file is not being regenerated:

1. I created a patch #246 for `configure.ac`, but it did not have any effect, I had to include a patch for `configure` as well.
2. If you remove the BuildRequirement on `autoconf` from the spec file, the build still finishes successfully [1].

[0] https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_pregenerated_code
[1] http://koji.fedoraproject.org/koji/taskinfo?taskID=15662697

Comment 1 Fedora End Of Life 2017-02-28 10:19:56 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 2 Petr Viktorin (pviktori) 2017-08-29 13:38:57 UTC
Other generated files include:

Python/importlib*.h
Include/graminit.[ch]
Include/Python-ast.[ch]
Include/opcode.h
Python/opcode_targets.h
Objects/typeslots.inc

However, these need Python to be regenerated, which would lead to bootstrapping issues.

Comment 3 Tomas Orsava 2017-08-29 14:44:16 UTC
(In reply to Petr Viktorin from comment #2)
> However, these need Python to be regenerated, which would lead to
> bootstrapping issues.

Since we're already bootstrapping Python 3, you can regenerate these only when not bootstrapping. Or is there some problem with this approach?

Comment 4 Petr Viktorin (pviktori) 2017-08-29 15:30:15 UTC
I don't see any big problems.
It's just that this rabbit hole turns out to be deeper than I want to go right now, so I'm noting what I found :)

Comment 5 Fedora End Of Life 2018-05-03 08:01:38 UTC
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '26'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

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

Comment 8 Petr Viktorin (pviktori) 2019-01-07 13:20:40 UTC
Setting this to low priority.

It would be great if someone else would get to this earlier than we can. If that's your case, please assign the bug to yourself (and adjust priority accordingly).

Comment 9 Victor Stinner 2019-03-05 13:53:55 UTC
python3.spec now regenerates configure and pyconfig.h using autoconf and autoheader. Python 3 now has a "make regen-all" rule to regenerate (almost) all generated files.

configure and pyconfig.h are not regenerated by "make regen-all", I created an issue upstream to discuss that:
https://bugs.python.org/issue36194

> However, these need Python to be regenerated, which would lead to bootstrapping issues.

Right, "make regen-all" requires a working Python 3 on the host building Python. Python 3 isn't in the base root image using to build python3.spec?

Comment 10 Miro Hrončok 2019-03-05 14:06:04 UTC
> Python 3 isn't in the base root image using to build python3.spec?

It is. But that is a side effect, not a documented feature.

Can we try to run "make regen-all" only if it is there?

Comment 11 Petr Viktorin (pviktori) 2019-03-05 14:34:58 UTC
Perhaps we can conditionalize this using a general bootstrapping bcond. The bootstrap sequence will need to be changed for Python 3.8 anyway.

Comment 12 Miro Hrončok 2019-04-16 13:12:53 UTC
I'll do this together with the 3.8 update.

Comment 14 Fedora Update System 2019-05-15 14:50:09 UTC
python38-3.8.0~a4-1.fc30 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-9f29193907

Comment 15 Fedora Update System 2019-05-15 14:50:21 UTC
python38-3.8.0~a4-1.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-fd2bf1edf3

Comment 16 Fedora Update System 2019-05-16 02:36:42 UTC
python38-3.8.0~a4-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-9f29193907

Comment 17 Fedora Update System 2019-05-16 04:39:52 UTC
python38-3.8.0~a4-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-fd2bf1edf3

Comment 18 Fedora Update System 2019-05-17 21:59:33 UTC
python38-3.8.0~a4-2.fc30 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-9f29193907

Comment 19 Fedora Update System 2019-05-17 22:14:15 UTC
python38-3.8.0~a4-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-fd2bf1edf3

Comment 20 Fedora Update System 2019-05-18 00:53:50 UTC
python38-3.8.0~a4-2.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-9f29193907

Comment 21 Fedora Update System 2019-05-18 04:11:12 UTC
python38-3.8.0~a4-2.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-fd2bf1edf3

Comment 22 Fedora Update System 2019-05-26 01:03:57 UTC
python38-3.8.0~a4-2.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 23 Fedora Update System 2019-05-26 11:54:26 UTC
python38-3.8.0~a4-2.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.


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