Handling cross-distro variations when running autoreconf?

Hi folks, While reviewing https://github.com/python/cpython/pull/17303/files, I noticed that the configure script update removed the options for `--runstatedir`. Those options appear to come from a Debian patch that other distros don't yet have: https://sources.debian.org/patches/autoconf/2.69-11/add-runstatedir.patch/ Since I use Fedora, running autoreconf locally on the review branch didn't add those options back, but did add in various macros related to Fedora's modular build system (we don't use those macros explicitly ourselves, but presumably some of the m4 macros we do use include them in their expansions when run on Fedora systems, so aclocal picked them up). Does anyone have any recommendations for dealing with this? My current plan is to revert back to the configure script from master, run autoreconf, and then use `git add -p` to only add in the desired changes, leaving everything else as it was on master. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia

FYI the Fedora package always re-generate the configure script as part of the package build ;-) https://src.fedoraproject.org/rpms/python3/blob/master/f/python3.spec#_639 """ %build # Regenerate the configure script and pyconfig.h.in autoconf autoheader (...) """ It's part of Fedora packaging guidelines to regenerate most (if not all) generated files. Victor Le dim. 8 déc. 2019 à 15:04, Nick Coghlan <ncoghlan@gmail.com> a écrit :
Hi folks,
While reviewing https://github.com/python/cpython/pull/17303/files, I noticed that the configure script update removed the options for `--runstatedir`. Those options appear to come from a Debian patch that other distros don't yet have: https://sources.debian.org/patches/autoconf/2.69-11/add-runstatedir.patch/
Since I use Fedora, running autoreconf locally on the review branch didn't add those options back, but did add in various macros related to Fedora's modular build system (we don't use those macros explicitly ourselves, but presumably some of the m4 macros we do use include them in their expansions when run on Fedora systems, so aclocal picked them up).
Does anyone have any recommendations for dealing with this? My current plan is to revert back to the configure script from master, run autoreconf, and then use `git add -p` to only add in the desired changes, leaving everything else as it was on master.
Cheers, Nick.
-- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/L3EBGBFE... Code of Conduct: http://python.org/psf/codeofconduct/
-- Night gathers, and now my watch begins. It shall not end until my death.

----- Original Message -----
From: "Nick Coghlan" <ncoghlan@gmail.com> To: "python-dev" <python-dev@python.org> Sent: Sunday, December 8, 2019 2:58:24 PM Subject: [Python-Dev] Handling cross-distro variations when running autoreconf?
Hi folks,
While reviewing https://github.com/python/cpython/pull/17303/files, I noticed that the configure script update removed the options for `--runstatedir`. Those options appear to come from a Debian patch that other distros don't yet have: https://sources.debian.org/patches/autoconf/2.69-11/add-runstatedir.patch/
Since I use Fedora, running autoreconf locally on the review branch didn't add those options back, but did add in various macros related to Fedora's modular build system (we don't use those macros explicitly ourselves, but presumably some of the m4 macros we do use include them in their expansions when run on Fedora systems, so aclocal picked them up).
Does anyone have any recommendations for dealing with this? My current plan is to revert back to the configure script from master, run autoreconf, and then use `git add -p` to only add in the desired changes, leaving everything else as it was on master.
Cheers, Nick.
-- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/L3EBGBFE... Code of Conduct: http://python.org/psf/codeofconduct/
Yep I've seen many PR's having the same things, basically the runstatedir options just keep appearing and disappearing on the cpython repo. I think 'git add -p' is the most sensible option and maybe a warning on the dev guide to check the configure when running autoreconf. -- Regards, Charalampos Stratakis Software Engineer Python Maintenance Team, Red Hat

On Sun, 8 Dec 2019 at 23:58, Nick Coghlan <ncoghlan@gmail.com> wrote:
Does anyone have any recommendations for dealing with this? My current plan is to revert back to the configure script from master, run autoreconf, and then use `git add -p` to only add in the desired changes, leaving everything else as it was on master.
I didn't end up using this plan. Instead, I copied the configure script *output* from master, and then used "git add -p" to revert the changes that arose solely from running autoreconf on a non-Debian system, while keeping the intentional changes from the PR. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia

I personally think we shouldn't worry about it. I *try* to use an autoconf version at least as recent as what was used for the current file, but beyond that it is unlikely anything depends on autoconf distroisms within our own in tree configure. Forcing humans to do weird tricks (always guaranteed to fail) to keep this in some I'll defined state or another seems odd given anyone can rerun autoconf (as the F package apparently does?) themselves if an issue with it ever comes up. We only check it in and ship it in source tarballs as a convenience. -- blame half the typos on my phone. On Sun, Dec 15, 2019, 5:33 AM Nick Coghlan <ncoghlan@gmail.com> wrote:
On Sun, 8 Dec 2019 at 23:58, Nick Coghlan <ncoghlan@gmail.com> wrote:
Does anyone have any recommendations for dealing with this? My current plan is to revert back to the configure script from master, run autoreconf, and then use `git add -p` to only add in the desired changes, leaving everything else as it was on master.
I didn't end up using this plan. Instead, I copied the configure script *output* from master, and then used "git add -p" to revert the changes that arose solely from running autoreconf on a non-Debian system, while keeping the intentional changes from the PR.
Cheers, Nick.
-- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/5T4UY6WO... Code of Conduct: http://python.org/psf/codeofconduct/
participants (4)
-
Charalampos Stratakis
-
Gregory P. Smith
-
Nick Coghlan
-
Victor Stinner