From 8d2b416782e35fc439401f35166091fe0f9de038 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Sun, 5 Aug 2007 11:30:55 +0300 Subject: [PATCH] Automake cleanups. - Replace INCLUDES with AM_CPPFLAGS (INCLUDES has been replaced by AM_CPPFLAGS and is deprecated in modern automakes for several years) - Require autoconf-2.61 and automake-1.10 (already required by autogen.sh) - update mkinstalldirs with the version from automake-1.10 (The version in rpm is ancient and known to be bugged) Patch from Ralf Corsepius --- Makefile.am | 11 ++- build/Makefile.am | 8 +-- configure.ac | 4 +- lib/Makefile.am | 26 ++++--- lua/Makefile.am | 4 +- misc/Makefile.am | 4 +- mkinstalldirs | 167 +++++++++++++++++++++++++++++++++++++------ python/Makefile.am | 6 +- rpmdb/Makefile.am | 8 +-- rpmio/Makefile.am | 8 +-- scripts/Makefile.am | 2 - tests/Makefile.am | 2 - tests/hello-test/Makefile.am | 2 - tools/Makefile.am | 4 +- 14 files changed, 178 insertions(+), 78 deletions(-) diff --git a/Makefile.am b/Makefile.am index 98faf31..46a17e8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,5 @@ # Top level Makefile for rpm -AUTOMAKE_OPTIONS = 1.4 foreign - LINT = splint EXTRA_DIST = CHANGES ChangeLog CREDITS Doxyheader GROUPS INSTALL \ @@ -14,7 +12,7 @@ SUBDIRS = po misc @WITH_ZLIB_SUBDIR@ @WITH_ELFUTILS_SUBDIR@ @WITH_MAGIC_SUBDIR@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = rpm.pc -INCLUDES = \ +AM_CPPFLAGS = \ -I$(top_srcdir)/build \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/rpmdb \ @@ -59,7 +57,8 @@ rpm_LDADD = rpm.o $(top_builddir)/build/.libs/librpmbuild.a $(myLDADD) rpm.o: $(top_srcdir)/rpmqv.c $(COMPILE) -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c $(top_srcdir)/rpmqv.c -rpmb_SOURCES = $(top_srcdir)/build.c +rpmb_SOURCES = build.c +# rpmb_CFLAGS = -DIAM_RPMBT rpmb_LDFLAGS = $(myLDFLAGS) rpmb_LDADD = rpmb.o $(top_builddir)/build/librpmbuild.la $(myLDADD) rpmb.o: $(top_srcdir)/rpmqv.c @@ -104,11 +103,11 @@ splint: -load lib/rpmlib.lcd \ -load rpmdb/rpmdb.lcd \ -load rpmio/rpmio.lcd \ - $(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES) + $(DEFS) $(AM_CPPFLAGS) rpmqv.c $(rpmb_SOURCES) .PHONY: lint lint: - $(LINT) -Dlint $(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES) \ + $(LINT) -Dlint $(DEFS) $(AM_CPPFLAGS) rpmqv.c $(rpmb_SOURCES) \ `make -s sources -C build` \ `make -s sources -C lib` \ `make -s sources -C rpmdb` \ diff --git a/build/Makefile.am b/build/Makefile.am index b40026a..c193023 100644 --- a/build/Makefile.am +++ b/build/Makefile.am @@ -1,10 +1,8 @@ # Makefile for rpmbuild library. -AUTOMAKE_OPTIONS = 1.4 foreign - LINT = splint -INCLUDES = -I. \ +AM_CPPFLAGS = -I. \ -I$(top_srcdir) \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/rpmdb \ @@ -43,7 +41,7 @@ clean-local: #BUILT_SOURCES = rpmbuild.lcd rpmbuild.lcd: Makefile.am ${librpmbuild_la_SOURCES} ${pkginc_HEADERS} ${noinst_HEADERS} - -lclint ${DEFS} ${INCLUDES} ${librpmbuild_la_SOURCES} -dump $@ 2>/dev/null + -lclint ${DEFS} ${AM_CPPFLAGS} ${librpmbuild_la_SOURCES} -dump $@ 2>/dev/null .PHONY: sources sources: @@ -51,4 +49,4 @@ sources: .PHONY: lint lint: - $(LINT) ${DEFS} ${INCLUDES} ${librpmbuild_la_SOURCES} + $(LINT) ${DEFS} ${AM_CPPFLAGS} ${librpmbuild_la_SOURCES} diff --git a/configure.ac b/configure.ac index ad20bff..5cef373 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ -AC_PREREQ(2.59) +AC_PREREQ(2.61) AC_INIT(rpm, 4.4.90, rpm-maint@lists.rpm.org) AC_CANONICAL_TARGET AC_CONFIG_SRCDIR([rpmqv.c]) AM_CONFIG_HEADER([config.h]) -AM_INIT_AUTOMAKE([foreign tar-ustar]) +AM_INIT_AUTOMAKE([1.10 foreign tar-ustar]) AC_AIX AC_MINIX diff --git a/lib/Makefile.am b/lib/Makefile.am index 9c106f4..e3bcbb1 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,10 +1,8 @@ # Makefile for rpm library. -AUTOMAKE_OPTIONS = 1.4 foreign - LINT = splint -INCLUDES = -I. \ +AM_CPPFLAGS = -I. \ -I$(top_srcdir) \ -I$(top_srcdir)/build \ -I$(top_srcdir)/rpmdb \ @@ -84,7 +82,7 @@ BUILT_SOURCES = getdate.c # rpmlib.lcd #tds_LDFLAGS = @LDFLAGS_STATIC@ ./librpm.la rpmlib.lcd: Makefile.am ${librpm_la_SOURCES} ${pkginc_HEADERS} ${noinst_HEADERS} - -lclint ${DEFS} ${INCLUDES} ${librpm_la_SOURCES} -dump $@ 2>/dev/null + -lclint ${DEFS} ${AM_CPPFLAGS} ${librpm_la_SOURCES} -dump $@ 2>/dev/null .PHONY: sources sources: @@ -92,38 +90,38 @@ sources: .PHONY: lint lint: - $(LINT) $(DEFS) $(INCLUDES) $(librpm_la_SOURCES) + $(LINT) $(DEFS) $(AM_CPPFLAGS) $(librpm_la_SOURCES) setfiles: setfiles.o - $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< \ + $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(AM_CPPFLAGS) -o $@ $< \ -lselinux \ $(top_builddir)/rpmio/librpmio.la \ $(top_builddir)/popt/libpopt.la #tds: tds.c librpm.la -# $(CC) $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< $(mylibs) +# $(CC) $(CFLAGS) $(DEFS) $(AM_CPPFLAGS) -o $@ $< $(mylibs) trb: trb.o librpm.la - $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< $(mylibs) + $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(AM_CPPFLAGS) -o $@ $< $(mylibs) tthread: tthread.o librpm.la - $(LINK) $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< $(mylibs) @WITH_LIBELF_LIB@ + $(LINK) $(CFLAGS) $(DEFS) $(AM_CPPFLAGS) -o $@ $< $(mylibs) @WITH_LIBELF_LIB@ tsystem: tsystem.o $(top_builddir)/popt/libpopt.la - $(LINK) $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< $(top_builddir)/rpmio/librpmio.la $(top_builddir)/popt/libpopt.la + $(LINK) $(CFLAGS) $(DEFS) $(AM_CPPFLAGS) -o $@ $< $(top_builddir)/rpmio/librpmio.la $(top_builddir)/popt/libpopt.la tre: tre.o librpm.la - $(LINK) $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< \ + $(LINK) $(CFLAGS) $(DEFS) $(AM_CPPFLAGS) -o $@ $< \ -lselinux librpm.la tcpu: tcpu.o librpm.la - $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< $(mylibs) + $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(AM_CPPFLAGS) -o $@ $< $(mylibs) tplatform: tplatform.o librpm.la - $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< $(mylibs) + $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(AM_CPPFLAGS) -o $@ $< $(mylibs) trhn: trhn.o librpm.la - $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< $(mylibs) + $(LINK) @LDFLAGS_STATIC@ $(CFLAGS) $(DEFS) $(AM_CPPFLAGS) -o $@ $< $(mylibs) tgi_SOURCES = tgi.c tgi_LDFLAGS = @LDFLAGS_STATIC@ diff --git a/lua/Makefile.am b/lua/Makefile.am index 37c126e..3e06278 100644 --- a/lua/Makefile.am +++ b/lua/Makefile.am @@ -12,7 +12,7 @@ EXTRA_DIST = \ local/linit.lua LDADD = liblua.la -INCLUDES = -I$(srcdir)/include -I$(srcdir)/local -I$(includedir) +AM_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/local -I$(includedir) lua_lua_SOURCES = lua/lua.c lua_lua_CFLAGS = -DLUA_USERCONFIG='"$(srcdir)/local/userconfig.c"' @@ -151,5 +151,5 @@ sources: .PHONY: lint lint: - $(LINT) $(DEFS) $(INCLUDES) $(LUA_SPLINT_SRCS) + $(LINT) $(DEFS) $(AM_CPPFLAGS) $(LUA_SPLINT_SRCS) diff --git a/misc/Makefile.am b/misc/Makefile.am index 777ade7..b5f92ee 100644 --- a/misc/Makefile.am +++ b/misc/Makefile.am @@ -1,8 +1,6 @@ # Makefile for misc library. -AUTOMAKE_OPTIONS = 1.4 foreign - -INCLUDES = -I. -I$(top_srcdir) @INCPATH@ +AM_CPPFLAGS = -I. -I$(top_srcdir) @INCPATH@ EXTRA_DIST = \ alloca.c basename.c err.c error.c \ diff --git a/mkinstalldirs b/mkinstalldirs index 167d07b..ef7e16f 100755 --- a/mkinstalldirs +++ b/mkinstalldirs @@ -1,40 +1,161 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain -# $Id: mkinstalldirs,v 1.2 2002/02/10 21:13:52 jbj Exp $ +scriptversion=2006-05-11.19 + +# Original author: Noah Friedman +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . +nl=' +' +IFS=" "" $nl" errstatus=0 +dirmode= + +usage="\ +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" + exit $? + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --version) + echo "$0 $scriptversion" + exit $? + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done for file do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. +case $dirmode in + '') + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version + fi + ;; + *) + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done + fi + ;; +esac + +for file +do + case $file in + /*) pathcomp=/ ;; + *) pathcomp= ;; + esac + oIFS=$IFS + IFS=/ + set fnord $file + shift + IFS=$oIFS + + for d + do + test "x$d" = x && continue + + pathcomp=$pathcomp$d + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" + mkdir "$pathcomp" || lasterr=$? - mkdir "$pathcomp" || lasterr=$? + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr= + chmod "$dirmode" "$pathcomp" || lasterr=$? - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi - pathcomp="$pathcomp/" - done + pathcomp=$pathcomp/ + done done exit $errstatus -# mkinstalldirs ends here +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/python/Makefile.am b/python/Makefile.am index 964b27c..a143b2b 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -1,7 +1,5 @@ # Makefile for rpm library. -AUTOMAKE_OPTIONS = 1.4 foreign - LINT = splint pylibdir = @WITH_PYTHON_LIB@ @@ -11,7 +9,7 @@ SUBDIRS = EXTRA_DIST = system.h rpmdebug-py.c rpm/__init__.py -INCLUDES = -I. \ +AM_CPPFLAGS = -I. \ -I$(top_srcdir)/build \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/rpmdb \ @@ -62,4 +60,4 @@ splint_srcs = \ .PHONY: lint lint: - $(LINT) $(DEFS) $(INCLUDES) $(splint_srcs) + $(LINT) $(DEFS) $(AM_CPPFLAGS) $(splint_srcs) diff --git a/rpmdb/Makefile.am b/rpmdb/Makefile.am index a056f35..ff2d2ee 100644 --- a/rpmdb/Makefile.am +++ b/rpmdb/Makefile.am @@ -1,10 +1,8 @@ # Makefile for rpm library. -AUTOMAKE_OPTIONS = 1.4 foreign - LINT = splint -INCLUDES = -I. \ +AM_CPPFLAGS = -I. \ -I$(top_srcdir) \ -I$(top_srcdir)/build \ -I$(top_srcdir)/lib \ @@ -180,7 +178,7 @@ clean-local: BUILT_SOURCES = tagtbl.c rpmdb.lcd: Makefile.am ${librpmdb_la_SOURCES} ${pkginc_HEADERS} ${noinst_HEADERS} - -splint ${DEFS} ${INCLUDES} ${librpmdb_la_SOURCES} -dump $@ 2>/dev/null + -splint ${DEFS} ${AM_CPPFLAGS} ${librpmdb_la_SOURCES} -dump $@ 2>/dev/null .PHONY: sources sources: @@ -188,7 +186,7 @@ sources: .PHONY: lint lint: - $(LINT) $(DEFS) $(INCLUDES) $(librpmdb_la_SOURCES) $(DBLIBSRCS) + $(LINT) $(DEFS) $(AM_CPPFLAGS) $(librpmdb_la_SOURCES) $(DBLIBSRCS) tdbi: librpmdb.la tdbi.o $(LINK) @LDFLAGS_STATIC@ $@.o $< $(mylibpaths) $(mylibs) $(LIBS) diff --git a/rpmio/Makefile.am b/rpmio/Makefile.am index 86e5f82..2994766 100644 --- a/rpmio/Makefile.am +++ b/rpmio/Makefile.am @@ -1,14 +1,12 @@ # Makefile for rpm library. -AUTOMAKE_OPTIONS = 1.4 foreign - LINT = splint EXTRA_DIST = tax.c tdigest.c tdir.c tficl.c tfts.c tget.c thkp.c tput.c tglob.c tinv.c tkey.c trpmio.c EXTRA_PROGRAMS = tax tdigest tdir tfts tget thkp tput tglob tinv tkey tring trpmio tsw -INCLUDES = -I. \ +AM_CPPFLAGS = -I. \ -I$(top_srcdir) \ @WITH_BEECRYPT_INCLUDE@ \ @WITH_NEON_INCLUDE@ \ @@ -59,7 +57,7 @@ clean-local: #BUILT_SOURCES = rpmio.lcd rpmio.lcd: Makefile.am ${librpmio_la_SOURCES} ${pkginc_HEADERS} ${noinst_HEADERS} - -lclint -load ../beecrypt/beecrypt.lcd $(DEFS) $(INCLUDES) $(librpmio_la_SOURCES) -dump $@ 2>/dev/null + -lclint -load ../beecrypt/beecrypt.lcd $(DEFS) $(AM_CPPFLAGS) $(librpmio_la_SOURCES) -dump $@ 2>/dev/null .PHONY: sources sources: @@ -67,7 +65,7 @@ sources: .PHONY: lint lint: - $(LINT) $(DEFS) $(INCLUDES) $(librpmio_la_SOURCES) + $(LINT) $(DEFS) $(AM_CPPFLAGS) $(librpmio_la_SOURCES) tax_SOURCES = tax.c tax_LDADD = librpmio.la diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 21bc969..41a4883 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -1,7 +1,5 @@ # Makefile for rpm scripts. -AUTOMAKE_OPTIONS = 1.4 foreign - bin_SCRIPTS = gendiff EXTRA_DIST = \ diff --git a/tests/Makefile.am b/tests/Makefile.am index ae0e853..8a46c14 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,5 @@ ## Process this file with automake to produce Makefile.in. -AUTOMAKE_OPTIONS = 1.4 foreign - EXTRA_DIST = SUBDIRS = hello-test diff --git a/tests/hello-test/Makefile.am b/tests/hello-test/Makefile.am index 9a9a6d2..28a6e4f 100644 --- a/tests/hello-test/Makefile.am +++ b/tests/hello-test/Makefile.am @@ -1,7 +1,5 @@ ## Process this file with automake to produce Makefile.in. -AUTOMAKE_OPTIONS = 1.4 foreign - all: EXTRA_DIST = *.exp hello-1.0.tar.gz \ diff --git a/tools/Makefile.am b/tools/Makefile.am index 4b97e87..630e06f 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -1,8 +1,6 @@ # Makefile for rpm tools. -AUTOMAKE_OPTIONS = 1.4 foreign - -INCLUDES = -I. \ +AM_CPPFLAGS = -I. \ -I$(top_srcdir) \ -I$(top_srcdir)/build \ -I$(top_srcdir)/lib \ -- 2.7.4