On 01/02/2012 02:30 PM, Dennis Schridde wrote:
> Hello!
>
Hi Dennis, thanks for the report.

> The automake-1.11.2 manual says:
> "Scripts can be installed in bindir, sbindir, libexecdir, or pkgdatadir."
> and about the pkg dirs it says:
> "these are the same as the non-ā€˜pkg’ versions, but with ā€˜$(PACKAGE)’ 
> appended."
> 
> Further automake outputs here:
> `pkglibexecdir' is not a legitimate directory for `SCRIPTS'
> 
> Please explain to me why libexecdir is valid, but pkglibexecdir is not.
>
That's the result of an oversight I say.  In fact, it's quite contradictory
that a `foo_BAR' combination is valid while `pkgfoo_BAR' is not.

The attached patch should fix the issue.  I will push it to maint by this
evening if there are no objections.

Thanks,
  Stefano
>From 377d2ffe399df60d2a98cb891f2c5c7d314e918a Mon Sep 17 00:00:00 2001
Message-Id: <377d2ffe399df60d2a98cb891f2c5c7d314e918a.1325578183.git.stefano.lattar...@gmail.com>
From: Stefano Lattarini <stefano.lattar...@gmail.com>
Date: Tue, 3 Jan 2012 09:06:09 +0100
Subject: [PATCH] install: pkglibexec_SCRIPTS is a valid prefix/primary
 combination

Problem introduced by commit `v1.11-373-g9ca6326' "Warnings about
primary/prefix mismatch fixed and extended".

* automake.in (handle_scripts): Also list `pkglibexec' among the
prefixes valid for the `SCRIPTS' primary.
* doc/automake.texi (Scripts): Likewise.
* tests/primary-prefix-valid-couples.test: Update.
* THANKS: Likewise.
* NEWS: Likewise.

Reported by Dennis Schridde on the automake list:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00002.html>
---
 NEWS                                    |    5 +++++
 THANKS                                  |    1 +
 automake.in                             |    2 +-
 doc/automake.texi                       |    3 ++-
 tests/primary-prefix-valid-couples.test |    2 +-
 5 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index fa1e75e..fbc2e59 100644
--- a/NEWS
+++ b/NEWS
@@ -77,6 +77,11 @@ New in 1.11.0a:
 
 Bugs fixed in 1.11.0a:
 
+* Bugs introduced by 1.11.2:
+
+  - Automake does not erroneously flag the valid `pkglibexec_SCRIPTS'
+    prefix/primary combination as invalid.
+
 * Bugs introduced by 1.11:
 
   - The `parallel-tests' test driver works around a GNU make 3.80 bug with
diff --git a/THANKS b/THANKS
index e9da06c..e9c6db8 100644
--- a/THANKS
+++ b/THANKS
@@ -78,6 +78,7 @@ David Pashley		da...@davidpashley.com
 David Zaroski		cz...@cleveland.freenet.edu
 Dean Povey		dpo...@wedgetail.com
 Dennis J. Linse		dennis.j.li...@saic.com
+Dennis Schridde		devuran...@gmx.net
 Derek R. Price		derek.pr...@openavenue.com
 Diab Jerius		djer...@cfa.harvard.edu
 Didier Cassirame	fa...@free.fr
diff --git a/automake.in b/automake.in
index f235c9d..6e3bf0f 100644
--- a/automake.in
+++ b/automake.in
@@ -3088,7 +3088,7 @@ sub handle_scripts
     # useful to sometimes distribute scripts verbatim.  This happens
     # e.g. in Automake itself.
     &am_install_var ('-candist', 'scripts', 'SCRIPTS',
-		     'bin', 'sbin', 'libexec', 'pkgdata',
+		     'bin', 'sbin', 'libexec', 'pkglibexec', 'pkgdata',
 		     'noinst', 'check');
 }
 
diff --git a/doc/automake.texi b/doc/automake.texi
index dd87e93..d6cd139 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -7088,11 +7088,12 @@ prefix as with other primaries.
 @vindex sbin_SCRIPTS
 @vindex libexec_SCRIPTS
 @vindex pkgdata_SCRIPTS
+@vindex pkglibexec_SCRIPTS
 @vindex noinst_SCRIPTS
 @vindex check_SCRIPTS
 
 Scripts can be installed in @code{bindir}, @code{sbindir},
-@code{libexecdir}, or @code{pkgdatadir}.
+@code{libexecdir}, @code{pkglibexecdir}, or @code{pkgdatadir}.
 
 Scripts that need not be installed can be listed in
 @code{noinst_SCRIPTS}, and among them, those which are needed only by
diff --git a/tests/primary-prefix-valid-couples.test b/tests/primary-prefix-valid-couples.test
index 36ff5d8..6eb4149 100755
--- a/tests/primary-prefix-valid-couples.test
+++ b/tests/primary-prefix-valid-couples.test
@@ -57,7 +57,7 @@ for p in lib pkglib; do
   echo "${p}_LTLIBRARIES = libd-$p.la" >> Makefile.am
 done
 
-for p in bin sbin libexec pkgdata; do
+for p in bin sbin libexec pkglibexec pkgdata; do
   echo "${p}_SCRIPTS = $p.sh" >> Makefile.am
 done
 
-- 
1.7.7.3

Reply via email to