diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2002-06-28 23:03:08 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2002-06-28 23:03:08 +0000 |
commit | b7ed7a4f7e29c8f5e461d9a59d76bf2d8cdb5070 (patch) | |
tree | 1c58bd7d75fb0cb218921e40c506e2fbaa038491 /sys-devel/automake | |
parent | flag fixor (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | sys-devel/automake/automake-1.6.1-r4.ebuild | 260 | ||||
-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.patch | 29 | ||||
-rw-r--r-- | sys-devel/automake/files/digest-automake-1.6.1-r5 | 3 | ||||
-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 |