Subject: Re: bug#10791: aclocal fails if /usr/share/aclocal does not exist

From: Stefano Lattarini <[email-masked]>
Date: Sun, 26 Feb 2012 11:01:39 +0100

On 02/22/2012 10:30 AM, Stefano Lattarini wrote:
>
> On 02/22/2012 10:25 AM, Tim Retout wrote:
> 
>> Adding a README file will cause us problems if automake-1.11 and
>> automake-1.12 (say) are installed on the same system - who owns the
>> README?
>>
> Good point.  Let's just drop my patch for now.
> 
But the more I think about it, the more I dislike the idea of creating
an empty directory whose existence is required by aclocal in order for
it to function at all.  Moreover, the objection you've raised might be
applied to the aclocal and automake (unversioned) scripts themselves,
but that doesn't prevent us from installing them.

So I've committed the patch after all (see attachment).

Regards,
  Stefano
>From 550ad47805cbd1f3cb0ca998bcdd02526c73214b Mon Sep 17 00:00:00 2001
Message-Id: <550ad4780[email-masked]>
From: Stefano Lattarini <[email-masked]>
Date: Wed, 22 Feb 2012 10:12:02 +0100
Subject: [PATCH] aclocal: don't create /usr/share/aclocal as empty

Related to automake bug#10791.

Since automake 1.11.2, aclocal no longer succeeds if the system
acdir '${datadir}/aclocal' (i.e., "/usr/share/aclocal" when
${prefix} is "/usr") does not exist.  So we now have a directory
*installed empty by default*, but whose existence is required by
aclocal in order for it to function at all.  This might be
confusing, and sounds like asking for trouble in the long term.

So we now also install a simple README file in that directory,
which briefly explains its purpose and warn that its existence
is required by the normal aclocal functioning.

* m4/acdir/README: New file.
* m4/Makefile.am (dist_system_ac_DATA): Add it.
* m4/acdir/.placeholder: Delete, no more needed.
* m4/Makefile.am (EXTRA_DIST): Remove it.
* THANKS: Update.
---
 THANKS                |    1 +
 m4/Makefile.am        |    5 ++---
 m4/acdir/.placeholder |    2 --
 m4/acdir/README       |    9 +++++++++
 4 files changed, 12 insertions(+), 5 deletions(-)
 delete mode 100644 m4/acdir/.placeholder
 create mode 100644 m4/acdir/README

diff --git a/THANKS b/THANKS
index 36f8f4b..7b7c9df 100644
--- a/THANKS
+++ b/THANKS
@@ -360,6 +360,7 @@ Thomas Tanner		[email-masked]
 Toralf Förster		[email-masked]
 Tim Goodwin		[email-masked]
 Tim Mooney		[email-masked]
+Tim Retout		[email-masked]
 Tim Rice		[email-masked]
 Tim Van Holder		[email-masked]
 Toshio Kuratomi		[email-masked]
diff --git a/m4/Makefile.am b/m4/Makefile.am
index 2f5ead3..c281e28 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -55,10 +55,9 @@ tar.m4 \
 upc.m4 \
 vala.m4
 
-# So that $(system_acdir) will be created by "make install".
-dist_system_ac_DATA =
+dist_system_ac_DATA = acdir/README
 
-EXTRA_DIST = acdir/.placeholder amversion.in
+EXTRA_DIST = amversion.in
 
 # We build amversion.m4 here, instead of from config.status,
 # because config.status is rerun each time one of configure's
diff --git a/m4/acdir/.placeholder b/m4/acdir/.placeholder
deleted file mode 100644
index 8dd7f67..0000000
--- a/m4/acdir/.placeholder
+++ /dev/null
@@ -1,2 +0,0 @@
-This file is here only to ensure the directory containing it exists
-in the git repository, and goes in the distribution tarball.
diff --git a/m4/acdir/README b/m4/acdir/README
new file mode 100644
index 0000000..c2bf903
--- /dev/null
+++ b/m4/acdir/README
@@ -0,0 +1,9 @@
+This directory is where .m4 files providing third-party autoconf
+macros can be placed to be automatically found by the aclocal(1)
+program.
+
+The .m4 files placed here could be shared among different versions
+of aclocal, so be careful.
+
+Even no actual .m4 files are present, this directory is required
+in order for aclocal to work properly.  Please do not remove it.
-- 
1.7.9