Fix deprecation warning about AM_PROG_MKDIR_P
Closed, ResolvedPublic

Description

PLATFORM:Darwin mothership-2.local 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19
00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64

Symptom
~/src/gpg/gnupg(master✔) ./autogen.sh

<snip>

configure.ac:1151: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is
discouraged.
configure.ac:1151: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro
instead,
configure.ac:1151: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am
files.

<snip>

Automake Version:
~/src/gpg/gnupg(master✔) automake --version
automake (GNU automake) 1.14.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later http://gnu.org/licenses/gpl-2.0.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Tom Tromey <tromey@redhat.com>

       and Alexandre Duret-Lutz <adl@gnu.org>.

Fix:
Replace the AM_PROG_MKDIR_P macro with AC_PROG_MKDIR_P in
m4/intl.m4
m4/po.m4

Result:
With automake 1.14.1, the deprecation warnings no longer appear

With automake 1.9, I cannot build gnupg-2.1.1-beta51 - message that automake is too old

~/src/gpg/gnupg(master✗) automake --version
Useless use of /d modifier in transliteration operator at /usr/local/share/automake-
1.9/Automake/Wrap.pm line 60.
automake (GNU automake) 1.9
Written by Tom Tromey <tromey@redhat.com>.

Copyright 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~/src/gpg/gnupg(master✗) ./autogen.sh
Useless use of /d modifier in transliteration operator at /usr/local/share/automake-
1.9/Automake/Wrap.pm line 60.
Error: `automake' not installed or too old.

           Version 1.10 or newer is required.

Note that you may use alternative versions of the tools by setting
the corresponding environment variables; see README.GIT for details.

autogen.sh: Stop.

With automake 1.10, deprecation warnings suppressed as in 1.14.1.

I chose regression testing with 1.9 and 1.10 of automake, based on the comments in
po/Makefile.in.in about the different handling of MKDIR_P/mkdir_p. But given that the
current version of gnupg wont build with automake<=1.9, I dont think any futher
regression testing is warranted. I also don't think any changes are required to
po/Makefile.in.in, but not certain about that.

Patch:
diff --git a/m4/intl.m4 b/m4/intl.m4
index dcefb11..3906a17 100644

  • a/m4/intl.m4

+++ b/m4/intl.m4
@@ -25,7 +25,7 @@ dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
AC_DEFUN([AM_INTL_SUBDIR],
[

AC_REQUIRE([AC_PROG_INSTALL])dnl
  • AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake

+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl

AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([gt_GLIBC2])dnl

diff --git a/m4/po.m4 b/m4/po.m4
index 0734762..f7c9c06 100644

  • a/m4/po.m4

+++ b/m4/po.m4
@@ -24,7 +24,7 @@ AC_DEFUN([AM_PO_SUBDIRS],
[

AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
  • AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake

+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl

  AC_REQUIRE([AM_NLS])dnl

  dnl Release version of the gettext macros. This is used to ensure that

Details

Version
2.1.1-beta51

Related Objects

leriksen set Version to 2.1.1-beta51.Nov 29 2014, 6:53 AM
leriksen added projects: gnupg (gpg21), gnupg, patch.
werner added a subscriber: werner.Dec 4 2014, 8:59 AM

automake 1.14 is not yet supported becuase it defaults to the new parallel tests
and automake 1.11 has no way to disable this tests (serial-tests option in 1.14).

After the release of Debian Jessie I plan to migrate to 1.14 and drop support
form earlier automakes.

Understood - would you like me to fix with automake 1.10, or park this
for a merge post-Jessie ?

regards
Leif

On 4/12/2014 6:59 pm, Werner Koch via BTS wrote:

Werner Koch <wk@gnupg.org> added the comment:

automake 1.14 is not yet supported becuase it defaults to the new parallel tests
and automake 1.11 has no way to disable this tests (serial-tests option in 1.14).

After the release of Debian Jessie I plan to migrate to 1.14 and drop support
form earlier automakes.


status: unread -> chatting


g10 Code's BTS <gnupg@bugs.g10code.com>
<T1776>


Give that the macro change is a no-brainer I will do that immediatly. Which
means this bug report can be closed.

marcus closed this task as Resolved.Jun 22 2017, 9:05 PM
marcus claimed this task.