[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PROPOSED] renameatu: rename from renameat2
From: |
Bruno Haible |
Subject: |
Re: [PROPOSED] renameatu: rename from renameat2 |
Date: |
Fri, 06 Jul 2018 23:01:33 +0200 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-128-generic; KDE/5.18.0; x86_64; ; ) |
Paul Eggert wrote:
> > I would add a placeholder for the old module name,
> > for a period of transition. ...
>
> In the past, we've often avoided such placeholders, as Gnulib is a
> source-code
> module and people can upgrade at their leisure.
I disagree with the "can upgrade at their leisure" statement:
* Suppose a package that uses gnulib needs to upgrade to the newest gnulib,
urgently before their next release, to fix (say) a problem on Android. The
renameat2 change happened before it, therefore the package maintainer must
deal with the implications of the renameat2 change in a hurry. That's not
"smooth", and the maintainers of that package might start to curse.
* More generally, an incompatible change without transition time introduces a
versioning constraint: "if we use renameat2, we need gnulib < 2018-07,
if we use renameatu, we need gnulib >= 2018-07". There are other versioning
constraints as well, like "if we use a pre-C99 compiler, we need gnulib
< 2018-03". The more versioning constraints you get, the more complex it
becomes. Often a system with 5 versioning constraints is already desparate.
> I'm somewhat inclined to avoid the placeholder.
I agree only because 'coreutils' is the only user of 'renameat2', and Pádraig
is surely aware of the issue.
Bruno