[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13355: Deprecating and removing the 'mkinstalldir' script
From: |
Stefano Lattarini |
Subject: |
bug#13355: Deprecating and removing the 'mkinstalldir' script |
Date: |
Sun, 13 Jan 2013 21:51:39 +0100 |
On 01/12/2013 09:35 PM, Stefano Lattarini wrote:
> On 01/04/2013 11:15 AM, Stefano Lattarini wrote:
>> Severity: wishlist
>>
>> The 'mksintalldirs' script has been by long superseded by "install-sh -d",
>> has already deprecated in the documentation, and already removed in
>> Automake-NG. I'd like to remove it in future Automake versions.
>>
>> However, we must first find a viable way to non-fatally deprecate it
>> with some form of runtime warning.
>>
> Here is a tentative roadmap:
>
> For Automake 1.13.x:
>
> - edit 'mkinstalldirs' print a non-fatal warning when invoked (keeping
> its behaviour unchanged in every other aspect); this warning should
> reference the use of "install-sh -d".
>
Actually, I'm no longer sure there is a point in mangling a working script
with warnings of dubious usefulness. A warning at Automake runtime should
be good enough. Speaking of which ...
> - have automake print a warning in the 'obsolete' category when it
> decides to distribute the 'mkinstalldirs' script only because it
> is found in the AC_CONFIG_AUX_DIR directory (but *not* if the user
> distributes it explicitly, by listing it in EXTRA_DIST).
>
... this is isn't the truly correct path to deprecation. A better and
simpler one would be to warn only if 'mkinstalldirs' is *not* listen in
an explicit AC_REQUIRE_AUX_FILE call (which is *the* correct and documented
interface to require auxiliary scripts in Autotools-based projects).
I'll try to cook up a patch along that line (it should be really easy and
minimal at this point).
> For Automake 1.14, or even 1.15:
>
> - turn both the warnings above into fatal errors.
>
Now, s/both the warnings/the warning/ of course.
> For the next major version after that:
>
> - remove the mkinstalldir script from our Git repository altogether,
> and drop any special handling of it from the automake script.
>
This stands.
> This will allow anyone using older Automake versions to still be compatible
> with 1.13.2, 1.14 and 1.15 by simply:
>
> - committing a copy of 'mkinstalldirs' in his repository;
>
This stands too.
> - explicitly distributing it by having it listed in EXTRA_DIST.
>
Rather, 'mkinstalldirs' should just be given in a AC_REQUIRE_AUX_FILE
invocation. This sounds more natural, and is the correct use of APIs.
Regards,
Stefano