Have autogen.sh copy in some files#1848
Conversation
Debian policy calls for these files not to be duplicated. However, we need to do it in a portable way (e.g., works on RPM-based systems so /usr/share/misc/config.guess is not OK; does not touch network, so doing curl/wget of the canonical config.guess file is not OK) While there should be an obvious way to copy these files, there's .. not. This is the best I could come up with, using files from automake without actually invoking it. While I did not actually BUILD on an rpm-based system, I checked the content of the automake rpm of fedora 36 and it looks like it should work. I'd rather avoid the new build-time dependency on automake, but "automake --print-libdir" was the only 'portable' way I found to print the location of a directory containing config.guess, config.sub and install-sh. Alternative to LinuxCNC#1625
|
Did you consider automake -ac ? |
|
Yes, automake -ac refuses to work if it didn't think configure.ac uses automake. The whole auto* ecosystem feels very hostile to projects that don't want to use all parts of it. |
|
|
After checking the alternative sources to find config.* and install-sh in Debian, three obvious packages are available, libtool, autotools-dev and automake. Of these three, the former and the latter seem equally out of place for linuxcnc, and autotools-dev is depricated. From this I conclude that your approach of copying them from automake is the best of these options. The only alternative I can think of is to fetch it from the source, ie wget from https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess and https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub . No idea where the latest edition of install-sh originates. |
|
I did consider using the networked version, but aside from the problem with install-sh, network activity is either discouraged our outright forbidden during debian package building so it didn't seem like an improvement from the status quo. |
FYI, I did a build with that change and it looks that it works on fedora-36 while it broke on fedora-35 log and CentOS-9 log: The thing which affected it was that I'm not using Despite of that - it works while using:
but doesn't for the following:
Switching to use
while (as you might noticed above) Those two Happily, they are almost identical: Summing up, if one wants to use |
Debian policy calls for these files not to be duplicated. However, we need to do it in a portable way (e.g., works on RPM-based systems so /usr/share/misc/config.guess is not OK; does not touch network, so doing curl/wget of the canonical config.guess file is not OK)
While there should be an obvious way to copy these files, there's .. not. This is the best I could come up with, using files from automake without actually invoking it.
While I did not actually BUILD on an rpm-based system, I checked the content of the automake rpm of fedora 36 and it looks like it should work.
I'd rather avoid the new build-time dependency on automake, but "automake --print-libdir" was the only 'portable' way I found to print the location of a directory containing config.guess, config.sub and install-sh.
Alternative to #1625
Closes #1628