Summary: | autotools.eclass will require changes for autoconf-2.70 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Lars Wendler (Polynomial-C) (RETIRED) <polynomial-c> |
Component: | Eclasses | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | CC: | hydrapolic |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://www.mail-archive.com/autoconf-patches@gnu.org/msg06599.html | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 732648 | ||
Attachments: | Patch |
Description
Lars Wendler (Polynomial-C) (RETIRED)
2020-12-02 00:51:11 UTC
sys-devel/automake and sys-devel/libtool install config.guess and config.sub which are symbolic links pointing to regular files provided by sys-devel/gnuconfig: /usr/share/automake-1.15/config.guess -> ../gnuconfig/config.guess /usr/share/automake-1.15/config.sub -> ../gnuconfig/config.sub /usr/share/automake-1.16/config.guess -> ../gnuconfig/config.guess /usr/share/automake-1.16/config.sub -> ../gnuconfig/config.sub /usr/share/libtool/build-aux/config.guess -> /usr/share/gnuconfig/config.guess /usr/share/libtool/build-aux/config.sub -> /usr/share/gnuconfig/config.sub /usr/share/gnuconfig/config.guess /usr/share/gnuconfig/config.sub Symbolic links are created manually by ebuilds: https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/automake/automake-1.15.1-r2.ebuild?id=0ae69faf0a570e57ea9a8c54308770e2c0fd3962#n98 https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/automake/automake-1.16.3-r1.ebuild?id=b68ed1d0de974f2bb97f526db4619b575b233d12#n112 https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/libtool/libtool-2.4.6-r6.ebuild?id=0dce3dc0aa1341155a31407122e079632fcd07ca#n110 sys-devel/automake and sys-devel/libtool also have RDEPEND="... sys-devel/gnuconfig ...". sys-devel/autoconf-2.70_beta4 does not have this dependency. https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/automake/automake-1.15.1-r2.ebuild?id=0ae69faf0a570e57ea9a8c54308770e2c0fd3962#n38 https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/automake/automake-1.16.3-r1.ebuild?id=b68ed1d0de974f2bb97f526db4619b575b233d12#n41 https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/libtool/libtool-2.4.6-r6.ebuild?id=0dce3dc0aa1341155a31407122e079632fcd07ca#n27 sys-devel/autoconf-2.70_beta4 installs config.guess and config.sub regular files, which are currently identical to config.guess and config.sub regular files provided by sys-devel/gnuconfig-20200621: /usr/share/autoconf-2.69e/build-aux/config.guess /usr/share/autoconf-2.69e/build-aux/config.sub Suggested solution: 1. In ebuilds of >=sys-devel/autoconf-2.70_beta, add code replacing config.guess and config.sub regular files with symbolic links pointing to regular files provided by sys-devel/gnuconfig, and add sys-devel/gnuconfig to RDEPEND. 2. In autotools.eclass, for simplicity, manually copy config.guess and config.sub to each directory with configure, regardless of version of sys-devel/autoconf. Probably optimal place is eautoconf() function: case ${EAPI:-0} in 0|1|2|3|4|5|6) cp "${EPREFIX}/usr/share/gnuconfig/config.guess" . || die cp "${EPREFIX}/usr/share/gnuconfig/config.sub" . || die ;; *) cp "${BROOT}/usr/share/gnuconfig/config.guess" . || die cp "${BROOT}/usr/share/gnuconfig/config.sub" . || die ;; esac (For packages with multiple configure files, eautoreconf() recursively runs eautoreconf() in appropriate subdirectories, and calls eautoconf().) Contrarily to sys-devel/autoconf, sys-devel/automake and sys-devel/libtool, sys-devel/gnuconfig is actually in @system set in base profile: https://gitweb.gentoo.org/repo/gentoo.git/tree/profiles/base/packages?id=7b31de882d430f1b625ee9dcb960323f71d5a757#n54 So it is maybe unnecessary to add dependency on sys-devel/gnuconfig in autotools.eclass. (Currently this dependency is not specified for pre-existent usage by eautomake() function.) Created attachment 676372 [details, diff]
Patch
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d047fb73043b86599bceb23060bacc725b393696 commit d047fb73043b86599bceb23060bacc725b393696 Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> AuthorDate: 2020-12-03 01:00:00 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2020-12-09 14:17:57 +0000 sys-devel/autoconf: Use config.guess and config.sub from sys-devel/gnuconfig. Make config.guess and config.sub symbolic links pointing to files provided by sys-devel/gnuconfig. Closes: https://bugs.gentoo.org/757996 Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> sys-devel/autoconf/autoconf-2.70_beta4.ebuild | 14 ++++++++++++-- sys-devel/autoconf/autoconf-9999.ebuild | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=509275acfc734c578754f3f57f0c710e9b98329c commit 509275acfc734c578754f3f57f0c710e9b98329c Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> AuthorDate: 2020-12-03 00:00:00 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2020-12-09 14:17:56 +0000 autotools.eclass: eautoconf(): Install config.guess and config.sub. Bug: https://bugs.gentoo.org/757996 Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> eclass/autotools.eclass | 12 ++++++++++++ 1 file changed, 12 insertions(+) |