remove intl/ directory?
Eric Gallager
egall@gwmail.gwu.edu
Mon Jun 20 19:45:56 GMT 2022
On Sat, Jun 18, 2022 at 1:01 PM Bruno Haible <bruno@clisp.org> wrote:
>
> Hi,
>
> As the long-term GNU gettext maintainer, I would suggest to remove the intl/
> directory from the GCC distribution.
>
> The effect for the users would be:
> * On systems without glibc, users who want an internationalized GCC
> installation would have to install GNU gettext first. Then the GCC
> binaries would be linked with the shared library libintl.so
> (unless gettext was built with --disable-shared); they would no longer
> contain the libintl code in 'cc1', 'cc1plus', etc.
> * On systems with glibc, no change.
>
> The effect for the GCC maintainers would be:
> * Easier to stay up-to-date with upstream libintl.
> * Less maintenance work with *.m4 files such as
> codeset.m4
> glibc21.m4
> intdiv0.m4
> inttypes_h.m4
> inttypes.m4
> inttypes-pri.m4
> lcmessage.m4
> stdint_h.m4
> uintmax_t.m4
> ulonglong.m4
> * Reduced risk of a CVE that would impact GCC binaries.
>
> Rationale:
> * This intl/ code is from 2003; of course several bugs have been
> fixed in it over the last 19 years.
> * At that time GNU packages were still favouring static libraries.
> GNU libtool became widely reliable only about in 2005.
> * Since then, distros have been favouring shared libraries over
> static libraries, in order to be able to fix CVEs without
> rebuilding many dependent binaries.
> * For this reason, GNU gettext removed the support for this way
> of packaging libintl in version 0.20 (May 2019). The NEWS entry
> said:
> - The --intl option of the gettextize program (deprecated since 2010) is
> no longer available. Instead of including the intl sources in your
> package, we suggest making the libintl library an optional prerequisite
> of your package. This will simplify the build system of your package.
> - Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone
> as well.
>
> This point came up while discussing with Eric Gallager, who is working on
> the GCC configury.
>
Hi, just for some additional context for anyone reading from the
archives, but this conversation came out of autoconf sr #110324:
https://savannah.gnu.org/support/?110324
My work can be seen in the
refs/users/egallager/heads/autotools-tinkering branch, which I'm also
mirroring on GitHub here:
https://github.com/cooljeanius/gcc/tree/me/autotools-tinkering
The latest pending patch I've submitted from this branch is here:
https://gcc.gnu.org/pipermail/gcc-patches/2022-June/596654.html
As for the underlying topic of this thread, personally I see removing
the intl/ subdirectory as just one possible solution to the issue of
its autoconf macros being outdated, the other would be to fix
autoupdate so that it can handle things properly, but I can see how
that would be harder. Whichever solution turns out to be the simplest
for everyone involved will be the one I'll support.
Thanks,
Eric
> I don't volunteer to implement this suggestion, but I can give advice where
> needed.
>
> Bruno
>
More information about the Gcc
mailing list