summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2002-06-28 23:03:08 +0000
committerMartin Schlemmer <azarah@gentoo.org>2002-06-28 23:03:08 +0000
commitb7ed7a4f7e29c8f5e461d9a59d76bf2d8cdb5070 (patch)
tree1c58bd7d75fb0cb218921e40c506e2fbaa038491 /sys-devel/automake
parentflag fixor (diff)
downloadgentoo-2-b7ed7a4f7e29c8f5e461d9a59d76bf2d8cdb5070.tar.gz
gentoo-2-b7ed7a4f7e29c8f5e461d9a59d76bf2d8cdb5070.tar.bz2
gentoo-2-b7ed7a4f7e29c8f5e461d9a59d76bf2d8cdb5070.zip
fix aclocal-1.4 not to error out on duplicates; try to remove dups in pkg_preinst()
Diffstat (limited to 'sys-devel/automake')
-rw-r--r--sys-devel/automake/ChangeLog8
-rw-r--r--sys-devel/automake/automake-1.6.1-r4.ebuild260
-rw-r--r--sys-devel/automake/automake-1.6.1-r6.ebuild (renamed from sys-devel/automake/automake-1.6.1-r5.ebuild)61
-rw-r--r--sys-devel/automake/files/automake-1.4_p5-ignore-duplicates.patch29
-rw-r--r--sys-devel/automake/files/digest-automake-1.6.1-r53
-rw-r--r--sys-devel/automake/files/digest-automake-1.6.1-r6 (renamed from sys-devel/automake/files/digest-automake-1.6.1-r4)0
6 files changed, 97 insertions, 264 deletions
diff --git a/sys-devel/automake/ChangeLog b/sys-devel/automake/ChangeLog
index 49a07790869d..5839cdf10849 100644
--- a/sys-devel/automake/ChangeLog
+++ b/sys-devel/automake/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-devel/automake
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake/ChangeLog,v 1.11 2002/06/21 22:14:59 azarah Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake/ChangeLog,v 1.12 2002/06/28 23:03:08 azarah Exp $
+
+automake-1.6.1-r6 (28 Jun 2002)
+
+ 28 Jun 2002; Martin Schlemmer <azarah@gentoo.org> automake-1.6.1-r6.ebuild :
+ Patch aclocal-1.4 to behave like 1.5 and 1.6, and not error our on duplicates.
+ This should fix bug #4157 and others.
automake-1.6.1-r5 (21 Jun 2002)
diff --git a/sys-devel/automake/automake-1.6.1-r4.ebuild b/sys-devel/automake/automake-1.6.1-r4.ebuild
deleted file mode 100644
index 56a659422ba1..000000000000
--- a/sys-devel/automake/automake-1.6.1-r4.ebuild
+++ /dev/null
@@ -1,260 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Maintainer: Daniel Robbins <drobbins@gentoo.org>
-# /space/gentoo/cvsroot/gentoo-x86/sys-devel/automake/automake-1.6.1.ebuild,v 1.4 2002/04/23 19:42:16 azarah Exp
-
-# OLD14 = 1.4
-# OLD15 = 1.5
-# NEW = 1.6 (.1)
-
-# NOTE: For all of those brave souls out there that wants to fix
-# or update this, note that all three versions install
-# .m4 files to /usr/share/aclocal-${ver}/ and .am files
-# to /usr/share/automake-${ver}/. We then add the default
-# /usr/share/aclocal/ to aclocal's search path by adding
-# "push (@dirlist, \"/usr/share/aclocal\");" after @dirlist
-# is defined the first time (done in fix_bins() function).
-#
-# The theory thus is, all version specific data goes into
-# version specific directories, but programs like ogg/whatever
-# can still install thier .m4 macros into /usr/share/aclocal/.
-#
-# Martin Schlemmer <azarah@gentoo.org>
-# 19 May 2002
-
-
-# Currently this is 1.6, but it could change to 1.6.x as it
-# does with 1.5d ... to determine this, install latest version
-# of 1.6, and look at the generated files in the bin dir ..
-# it should be something like (for 1.6.1):
-#
-# nosferatu automake-1.6.1 # ls /myinstallroot/bin/
-# aclocal aclocal-1.6 automake automake-1.6
-# nosferatu automake-1.6.1 #
-#
-# You should then set NEW_PV to 1.6, as this is the suffix
-NEW_PV=1.6
-
-OLD15_PV=1.5
-OLD15_P=${PN}-${OLD15_PV}
-OLD14_PV=1.4-p5
-OLD14_P=${PN}-${OLD14_PV}
-S=${WORKDIR}/${P}
-OLD15_S=${WORKDIR}/${OLD15_P}
-OLD14_S=${WORKDIR}/${OLD14_P}
-DESCRIPTION="Used to generate Makefile.in from Makefile.am"
-SRC_URI="ftp://ftp.gnu.org/gnu/${PN}/${P}.tar.gz
- ftp://ftp.gnu.org/gnu/${PN}/${OLD15_P}.tar.gz
- ftp://ftp.gnu.org/gnu/${PN}/${OLD14_P}.tar.gz"
-HOMEPAGE="http://www.gnu.org/software/automake/automake.html"
-
-DEPEND="sys-devel/perl
- >=sys-devel/autoconf-2.53-r1"
-
-SLOT="1.5"
-
-
-src_unpack() {
-
- unpack ${A}
-
- cd ${OLD15_S}
- patch -p1 <${FILESDIR}/${PN}-${OLD15_PV}-target_hook.patch || die
-}
-
-src_compile() {
-
- #
- # ************ automake-1.6x ************
- #
-
- # stupid configure script goes and run autoconf in a subdir,
- # so 'ac-wrapper.pl' do not detect that it should use
- # autoconf-2.5x
- export WANT_AUTOCONF_2_5=1
-
- cd ${S}
-
- cp automake.texi automake.texi.orig
- sed -e "s:setfilename automake.info:setfilename automake-1.6.info:" \
- automake.texi.orig >automake.texi
-
- ./configure --prefix=/usr \
- --infodir=/usr/share/info \
- --mandir=/usr/share/man \
- --target=${CHOST} || die
-
- emake ${MAKEOPTS} || die
-
- #
- # ************ automake-1.5x ************
- #
-
- cd ${OLD15_S}
-
- cp automake.texi automake.texi.orig
- sed -e "s:setfilename automake.info:setfilename automake-1.5.info:" \
- automake.texi.orig >automake.texi
-
- ./configure --prefix=/usr \
- --infodir=/usr/share/info \
- --mandir=/usr/share/man \
- --target=${CHOST} || die
-
- emake ${MAKEOPTS} || die
- unset WANT_AUTOCONF_2_5
-
- #
- # ************ automake-1.4-p5 ************
- #
- cd ${OLD14_S}
- ./configure --prefix=/usr \
- --infodir=/usr/share/info \
- --mandir=/usr/share/man \
- --target=${CHOST} || die
-
- emake ${MAKEOPTS} || die
-}
-
-# This basically fix aclocal and automake so that they
-# use the correct directories, and also adds the normal
-# /usr/share/aclocal for aclocal to include.
-fix_bins() {
-
- for x in aclocal automake
- do
- cp ${x} ${x}.orig
- sed -e "s:share/automake\":share/automake-${1}\":g" \
- -e "s:share/aclocal\":share/aclocal-${1}\":g" \
- ${x}.orig >${x}
- done
-
- # add "/usr/share/aclocal" to m4 search patch
- cp aclocal aclocal.orig
- sed -e '/&scan_m4_files (@dirlist);/i \push (@dirlist, \"/usr/share/aclocal\");' \
- aclocal.orig >aclocal
- # same as above, but 1.4 looks a bit differently
- cp aclocal aclocal.orig
- sed -e '/&scan_m4_files ($acdir, @dirlist);/i \push (@dirlist, \"/usr/share/aclocal\");' \
- aclocal.orig >aclocal
-}
-
-src_install() {
-
- # install wrapper script for autodetecting the proper version
- # to use.
- exeinto /usr/lib/${PN}
- newexe ${FILESDIR}/am-wrapper.pl-1.6 am-wrapper.pl
- # Name binaries to exact version, as they have limited support for
- # more than one version installs
- dosed "s:1\.6x:${NEW_PV}:g" /usr/lib/${PN}/am-wrapper.pl
- dosed "s:1\.5x:${OLD15_PV}:g" /usr/lib/${PN}/am-wrapper.pl
-
- #
- # ************ automake-1.6x ************
- #
-
- cd ${S}
-# not needed for 1.6.1
-# fix_bins ${NEW_PV}
-
- make DESTDIR=${D} \
- install || die
-
- for x in automake aclocal
- do
-# mv ${D}/usr/bin/${x} ${D}/usr/bin/${x}-${NEW_PV}
- rm -f ${D}/usr/bin/${x}
- done
-
- doinfo automake-1.6.info*
-
- docinto ${PV}
- dodoc COPYING NEWS README THANKS TODO AUTHORS ChangeLog
-
- #
- # ************ automake-1.5x ************
- #
-
- cd ${OLD15_S}
- fix_bins ${OLD15_PV}
-
- make DESTDIR=${D} \
- pkgdatadir=/usr/share/automake-${OLD15_PV} \
- m4datadir=/usr/share/aclocal-${OLD15_PV} \
- install || die
-
- for x in automake aclocal
- do
- mv ${D}/usr/bin/${x} ${D}/usr/bin/${x}-${OLD15_PV}
- rm -f ${D}/usr/bin/${x}
- done
-
- doinfo automake-1.5.info*
-
- docinto ${OLD15_PV}
- dodoc COPYING NEWS README THANKS TODO AUTHORS ChangeLog
-
- #
- # ************ automake-1.4-p5 ************
- #
-
- cd ${OLD14_S}
- fix_bins "1.4"
-
- make DESTDIR=${D} \
- pkgdatadir=/usr/share/automake-1.4 \
- m4datadir=/usr/share/aclocal-1.4 \
- install || die
-
- for x in automake aclocal
- do
- mv ${D}/usr/bin/${x} ${D}/usr/bin/${x}-1.4
- dosym ../lib/${PN}/am-wrapper.pl /usr/bin/${x}
- done
-
- docinto ${OLD14_PV}
- dodoc COPYING NEWS README THANKS TODO AUTHORS ChangeLog
-
- #
- # ************ misc stuff ****************
-
- # Some packages needs a /usr/share/automake directory
- dosym automake-1.4 /usr/share/automake
-
- # This is the default macro directory that apps use ..
- dodir /usr/share/aclocal
- touch ${D}/usr/share/aclocal/.keep
-}
-
-pkg_preinst() {
-
- # remove these to make sure symlinks install properly if old versions
- # was binaries
- for x in automake aclocal
- do
- if [ -e /usr/bin/${x} ]
- then
- rm -f /usr/bin/${x}
- fi
- done
-
- # nuke this if it is a directory, as the new one is a symlink
- if [ -d /usr/share/automake ]
- then
- rm -rf /usr/share/automake
- fi
-}
-
-pkg_postinst() {
-
- # nuke duplicate macros
- for x in /usr/share/aclocal-1.4/*.m4
- do
- if [ -f /usr/share/aclocal/${x##*/} ]
- then
- rm -f /usr/share/aclocal/${x##*/}
- fi
- done
-}
-
diff --git a/sys-devel/automake/automake-1.6.1-r5.ebuild b/sys-devel/automake/automake-1.6.1-r6.ebuild
index 55f687b36712..70f1c7cbc278 100644
--- a/sys-devel/automake/automake-1.6.1-r5.ebuild
+++ b/sys-devel/automake/automake-1.6.1-r6.ebuild
@@ -205,6 +205,9 @@ src_install() {
cd ${OLD14_S}
fix_bins "1.4"
+
+ # Ignore duplicates like automake-1.5 and 1.6
+ patch -p0 <${FILESDIR}/${PN}-1.4_p5-ignore-duplicates.patch || die
make DESTDIR=${D} \
pkgdatadir=/usr/share/automake-1.4 \
@@ -248,6 +251,64 @@ pkg_preinst() {
then
rm -rf ${ROOT}/usr/share/automake
fi
+
+ # Make sure we move all the macros not installed with automake
+ # to the non version specific aclocal dir.
+ if [ ! -d ${ROOT}/usr/share/aclocal ]
+ then
+ mkdir -p ${ROOT}/usr/share/aclocal
+ fi
+ if [ -d ${OLD14_S}/m4 ] && [ -d ${ROOT}/usr/share/aclocal-1.4 ]
+ then
+ for x in ${ROOT}/usr/share/aclocal-1.4/*.m4
+ do
+ if [ ! -f ${OLD14_S}/m4/${x##*/} ]
+ then
+ if [ ! -f ${ROOT}/usr/share/aclocal/${x##*/} ]
+ then
+ einfo "Moving ${x} to aclocal..."
+ mv -f ${x} ${ROOT}/usr/share/aclocal
+ else
+ einfo "Deleting duplicate ${x}..."
+ rm -f ${x}
+ fi
+ fi
+ done
+ fi
+ if [ -d ${OLD15_S}/m4 ] && [ -d ${ROOT}/usr/share/aclocal-${OLD15_PV} ]
+ then
+ for x in ${ROOT}/usr/share/aclocal-${OLD15_PV}/*.m4
+ do
+ if [ ! -f ${OLD15_S}/m4/${x##*/} ]
+ then
+ if [ ! -f ${ROOT}/usr/share/aclocal/${x##*/} ]
+ then
+ einfo "Moving ${x} to aclocal..."
+ mv -f ${x} ${ROOT}/usr/share/aclocal
+ else
+ einfo "Deleting duplicate ${x}..."
+ rm -f ${x}
+ fi
+ fi
+ done
+ fi
+ if [ -d ${S}/m4 ] && [ -d ${ROOT}/usr/share/aclocal-${NEW_PV} ]
+ then
+ for x in ${ROOT}/usr/share/aclocal-${NEW_PV}/*.m4
+ do
+ if [ ! -f ${S}/m4/${x##*/} ]
+ then
+ if [ ! -f ${ROOT}/usr/share/aclocal/${x##*/} ]
+ then
+ einfo "Moving ${x} to aclocal..."
+ mv -f ${x} ${ROOT}/usr/share/aclocal
+ else
+ einfo "Deleting duplicate ${x}..."
+ rm -f ${x}
+ fi
+ fi
+ done
+ fi
}
pkg_postinst() {
diff --git a/sys-devel/automake/files/automake-1.4_p5-ignore-duplicates.patch b/sys-devel/automake/files/automake-1.4_p5-ignore-duplicates.patch
new file mode 100644
index 000000000000..c24b30d8fce2
--- /dev/null
+++ b/sys-devel/automake/files/automake-1.4_p5-ignore-duplicates.patch
@@ -0,0 +1,29 @@
+--- aclocal Sat Jun 29 00:28:56 2002
++++ aclocal Fri Jun 28 23:23:31 2002
+@@ -397,17 +420,18 @@
+
+ if (/$ac_defun_rx/)
+ {
+- if (!defined $map{$1})
++ if (! defined $map{$1})
+ {
+ $map{$1} = $file;
+ }
+- # Allow acinclude.m4 to override other macro files.
+- elsif ($map{$1} ne 'acinclude.m4' || $file eq 'acinclude.m4')
+- {
+- warn "aclocal: $file: $.: duplicated macro \`$1'\n";
+- $exit_status = 1;
+- }
+- print STDERR "Found macro $1 in $file: $.\n" if $verbosity;
++
++ # Note: we used to give an error here if we saw a
++ # duplicated macro. However, this turns out to be
++ # extremely unpopular. It causes actual problems which
++ # are hard to work around, especially when you must
++ # mix-and-match tool versions.
++
++ print STDERR "aclocal: found macro $1 in $file: $.\n" if $verbose;
+ }
+ }
+ close (FILE);
diff --git a/sys-devel/automake/files/digest-automake-1.6.1-r5 b/sys-devel/automake/files/digest-automake-1.6.1-r5
deleted file mode 100644
index 12868257e467..000000000000
--- a/sys-devel/automake/files/digest-automake-1.6.1-r5
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 8729428639b5baa74a5a708776727ff5 automake-1.6.1.tar.gz 595788
-MD5 74a22ac0581378e807ecb334a55c5bab automake-1.5.tar.gz 526934
-MD5 e10679bba411f8602eed004012d915e3 automake-1.4-p5.tar.gz 376992
diff --git a/sys-devel/automake/files/digest-automake-1.6.1-r4 b/sys-devel/automake/files/digest-automake-1.6.1-r6
index 12868257e467..12868257e467 100644
--- a/sys-devel/automake/files/digest-automake-1.6.1-r4
+++ b/sys-devel/automake/files/digest-automake-1.6.1-r6