commit:     43d394421ca6fcc030952d60200f2888fcd37cb6
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 25 01:39:04 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Feb 25 01:58:45 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43d39442

sys-devel/automake: Rev bump to address several issues

Ebuild changes:
===============
- EAPI bumped to EAPI=6 (1.9.x-1.14.x).

- Avoid (low risk) race in /tmp (1.10.x-1.15.x). [Bug 522638]

- Avoid makeinfo requirement when bootstraping (1.14.x-1.15.x).
  [Bug 628912]

- Fix man4.test failure (1.11.x). [Bug 583108]

- Add Python 2.7 requirement for test suite. [Bug 483358, 623432]

- Fix test failures when using >=app-arch/gzip-1.8 (1.14.x). [Bug 604570]

- Updated GIT/SRC_URI to use HTTPS (1.14.x-1.15.x).

- Live ebuild updated with changes from above (9999).

Closes: https://bugs.gentoo.org/583108
Closes: https://bugs.gentoo.org/483358
Closes: https://bugs.gentoo.org/623432
Closes: https://bugs.gentoo.org/604570
Bug: https://bugs.gentoo.org/522638
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 ...omake-9999.ebuild => automake-1.10.3-r3.ebuild} | 71 +++++++++----------
 ...omake-9999.ebuild => automake-1.11.6-r3.ebuild} | 76 +++++++++++---------
 ...omake-9999.ebuild => automake-1.12.6-r2.ebuild} | 61 ++++++++--------
 ...omake-9999.ebuild => automake-1.13.4-r2.ebuild} | 62 ++++++++--------
 ...omake-9999.ebuild => automake-1.14.1-r2.ebuild} | 74 +++++++++++--------
 ...omake-9999.ebuild => automake-1.15.1-r2.ebuild} | 40 +++++++----
 ...tomake-9999.ebuild => automake-1.9.6-r5.ebuild} | 73 +++++++++----------
 sys-devel/automake/automake-9999.ebuild            | 40 +++++++----
 ....11-install-sh-avoid-low-risk-race-in-tmp.patch | 77 ++++++++++++++++++++
 ...utomake-1.13-perl-escape-curly-bracket-r1.patch | 37 ++++++++++
 .../automake/files/automake-1.14-gzip-fix.patch    | 67 ++++++++++++++++++
 ....14-install-sh-avoid-low-risk-race-in-tmp.patch | 77 ++++++++++++++++++++
 ....15-install-sh-avoid-low-risk-race-in-tmp.patch | 82 ++++++++++++++++++++++
 .../files/automake-1.9.6-ignore-comments-r1.patch  | 29 ++++++++
 .../automake-1.9.6-include-dir-prefix-r1.patch     | 31 ++++++++
 .../automake-1.9.6-infopage-namechange-r1.patch    | 33 +++++++++
 16 files changed, 699 insertions(+), 231 deletions(-)

diff --git a/sys-devel/automake/automake-9999.ebuild 
b/sys-devel/automake/automake-1.10.3-r3.ebuild
similarity index 54%
copy from sys-devel/automake/automake-9999.ebuild
copy to sys-devel/automake/automake-1.10.3-r3.ebuild
index ee87a2b2eb1..7ce1045c910 100644
--- a/sys-devel/automake/automake-9999.ebuild
+++ b/sys-devel/automake/automake-1.10.3-r3.ebuild
@@ -2,59 +2,49 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
+PYTHON_COMPAT=( python2_7 )
 
-inherit eutils versionator
-
-if [[ ${PV} == 9999 ]] ; then
-       EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
-               http://git.savannah.gnu.org/r/${PN}.git";
-
-       inherit git-r3
-else
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
-       if [[ ${PV/_beta} == ${PV} ]]; then
-               MY_P=${P}
-               SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-                       ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       else
-               MY_PV="$(get_major_version).$(($(get_version_component_range 
2)-1))b"
-               MY_P="${PN}-${MY_PV}"
-
-               # Alpha/beta releases are not distributed on the usual mirrors.
-               SRC_URI="ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       fi
-       S="${WORKDIR}/${MY_P}"
-fi
+inherit python-any-r1
 
 DESCRIPTION="Used to generate Makefile.in from Makefile.am"
 HOMEPAGE="https://www.gnu.org/software/automake/";
+SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
 
 LICENSE="GPL-2"
 # Use Gentoo versioning for slotting.
 SLOT="${PV:0:4}"
-IUSE=""
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="test"
 
 RDEPEND="dev-lang/perl
        >=sys-devel/automake-wrapper-10
        >=sys-devel/autoconf-2.69:*
        sys-devel/gnuconfig"
 DEPEND="${RDEPEND}
-       sys-apps/help2man"
+       sys-apps/help2man
+       test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.10-perl-5.16.patch #424453
+       "${FILESDIR}"/${PN}-1.11-install-sh-avoid-low-risk-race-in-tmp.patch
+       "${FILESDIR}"/${PN}-1.13-perl-escape-curly-bracket-r1.patch
+)
 
 src_prepare() {
        default
        export WANT_AUTOCONF=2.5
-       # Don't try wrapping the autotools this thing runs as it tends
-       # to be a bit esoteric, and the script does `set -e` itself.
-       ./bootstrap || die
-       sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+       chmod a+rx tests/*.test
+}
+
+src_configure() {
+       econf --docdir="\$(datarootdir)/doc/${PF}"
 }
 
 # slot the info pages.  do this w/out munging the source so we don't have
 # to depend on texinfo to regen things.  #464146 (among others)
 slot_info_pages() {
-       pushd "${ED}"/usr/share/info >/dev/null || die
-       rm -f dir || dir
+       pushd "${ED%/}"/usr/share/info >/dev/null || die
+       rm -f dir || die
 
        # Rewrite all the references to other pages.
        # before: * aclocal-invocation: (automake)aclocal Invocation.   
Generating aclocal.m4.
@@ -79,19 +69,26 @@ slot_info_pages() {
        popd >/dev/null || die
 }
 
-src_install() {
+src_test() {
+       python_setup
+
        default
+}
 
+src_install() {
+       default
        slot_info_pages
-       rm "${ED}"/usr/share/aclocal/README || die
-       rmdir "${ED}"/usr/share/aclocal || die
-       rm \
-               "${ED}"/usr/bin/{aclocal,automake} \
-               "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+
+       # SLOT the docs and junk
+       local x
+       for x in aclocal automake ; do
+               help2man "perl -Ilib ${x}" > ${x}-${SLOT}.1
+               doman ${x}-${SLOT}.1
+               rm -f "${ED%/}"/usr/bin/${x}
+       done
 
        # remove all config.guess and config.sub files replacing them
        # w/a symlink to a specific gnuconfig version
-       local x
        for x in guess sub ; do
                dosym ../gnuconfig/config.${x} 
/usr/share/${PN}-${SLOT}/config.${x}
        done

diff --git a/sys-devel/automake/automake-9999.ebuild 
b/sys-devel/automake/automake-1.11.6-r3.ebuild
similarity index 56%
copy from sys-devel/automake/automake-9999.ebuild
copy to sys-devel/automake/automake-1.11.6-r3.ebuild
index ee87a2b2eb1..b8ddb4f1371 100644
--- a/sys-devel/automake/automake-9999.ebuild
+++ b/sys-devel/automake/automake-1.11.6-r3.ebuild
@@ -2,59 +2,61 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
+PYTHON_COMPAT=( python2_7 )
 
-inherit eutils versionator
-
-if [[ ${PV} == 9999 ]] ; then
-       EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
-               http://git.savannah.gnu.org/r/${PN}.git";
-
-       inherit git-r3
-else
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
-       if [[ ${PV/_beta} == ${PV} ]]; then
-               MY_P=${P}
-               SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-                       ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       else
-               MY_PV="$(get_major_version).$(($(get_version_component_range 
2)-1))b"
-               MY_P="${PN}-${MY_PV}"
-
-               # Alpha/beta releases are not distributed on the usual mirrors.
-               SRC_URI="ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       fi
-       S="${WORKDIR}/${MY_P}"
-fi
+inherit python-any-r1
 
 DESCRIPTION="Used to generate Makefile.in from Makefile.am"
 HOMEPAGE="https://www.gnu.org/software/automake/";
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
 
 LICENSE="GPL-2"
 # Use Gentoo versioning for slotting.
 SLOT="${PV:0:4}"
-IUSE=""
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="test"
 
 RDEPEND="dev-lang/perl
        >=sys-devel/automake-wrapper-10
        >=sys-devel/autoconf-2.69:*
        sys-devel/gnuconfig"
 DEPEND="${RDEPEND}
-       sys-apps/help2man"
+       sys-apps/help2man
+       test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.10-perl-5.16.patch #424453
+       "${FILESDIR}"/${PN}-1.11-install-sh-avoid-low-risk-race-in-tmp.patch
+       "${FILESDIR}"/${PN}-1.13-perl-escape-curly-bracket-r1.patch
+)
 
 src_prepare() {
        default
        export WANT_AUTOCONF=2.5
-       # Don't try wrapping the autotools this thing runs as it tends
-       # to be a bit esoteric, and the script does `set -e` itself.
-       ./bootstrap || die
+       chmod a+rx tests/*.test
+       export HELP2MAN=true
        sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+       export TZ="UTC"  #589138
+}
+
+src_configure() {
+       econf --docdir="\$(datarootdir)/doc/${PF}"
+}
+
+src_compile() {
+       default
+
+       local x
+       for x in aclocal automake; do
+               help2man "perl -Ilib ${x}" > doc/${x}-${SLOT}.1
+       done
 }
 
 # slot the info pages.  do this w/out munging the source so we don't have
 # to depend on texinfo to regen things.  #464146 (among others)
 slot_info_pages() {
-       pushd "${ED}"/usr/share/info >/dev/null || die
-       rm -f dir || dir
+       pushd "${ED%/}"/usr/share/info >/dev/null || die
+       rm -f dir || die
 
        # Rewrite all the references to other pages.
        # before: * aclocal-invocation: (automake)aclocal Invocation.   
Generating aclocal.m4.
@@ -79,15 +81,21 @@ slot_info_pages() {
        popd >/dev/null || die
 }
 
-src_install() {
+src_test() {
+       unset HELP2MAN # 583108
+
+       python_setup
+
        default
+}
 
+src_install() {
+       default
        slot_info_pages
-       rm "${ED}"/usr/share/aclocal/README || die
-       rmdir "${ED}"/usr/share/aclocal || die
+
        rm \
-               "${ED}"/usr/bin/{aclocal,automake} \
-               "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+               "${ED%/}"/usr/bin/{aclocal,automake} \
+               "${ED%/}"/usr/share/man/man1/{aclocal,automake}.1 || die
 
        # remove all config.guess and config.sub files replacing them
        # w/a symlink to a specific gnuconfig version

diff --git a/sys-devel/automake/automake-9999.ebuild 
b/sys-devel/automake/automake-1.12.6-r2.ebuild
similarity index 56%
copy from sys-devel/automake/automake-9999.ebuild
copy to sys-devel/automake/automake-1.12.6-r2.ebuild
index ee87a2b2eb1..b926404ca18 100644
--- a/sys-devel/automake/automake-9999.ebuild
+++ b/sys-devel/automake/automake-1.12.6-r2.ebuild
@@ -2,59 +2,48 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
+PYTHON_COMPAT=( python2_7 )
 
-inherit eutils versionator
-
-if [[ ${PV} == 9999 ]] ; then
-       EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
-               http://git.savannah.gnu.org/r/${PN}.git";
-
-       inherit git-r3
-else
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
-       if [[ ${PV/_beta} == ${PV} ]]; then
-               MY_P=${P}
-               SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-                       ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       else
-               MY_PV="$(get_major_version).$(($(get_version_component_range 
2)-1))b"
-               MY_P="${PN}-${MY_PV}"
-
-               # Alpha/beta releases are not distributed on the usual mirrors.
-               SRC_URI="ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       fi
-       S="${WORKDIR}/${MY_P}"
-fi
+inherit python-any-r1
 
 DESCRIPTION="Used to generate Makefile.in from Makefile.am"
 HOMEPAGE="https://www.gnu.org/software/automake/";
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
 
 LICENSE="GPL-2"
 # Use Gentoo versioning for slotting.
 SLOT="${PV:0:4}"
-IUSE=""
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="test"
 
 RDEPEND="dev-lang/perl
        >=sys-devel/automake-wrapper-10
        >=sys-devel/autoconf-2.69:*
        sys-devel/gnuconfig"
 DEPEND="${RDEPEND}
-       sys-apps/help2man"
+       sys-apps/help2man
+       test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.13-perl-escape-curly-bracket-r1.patch
+       "${FILESDIR}"/${PN}-1.14-install-sh-avoid-low-risk-race-in-tmp.patch
+)
 
 src_prepare() {
        default
        export WANT_AUTOCONF=2.5
-       # Don't try wrapping the autotools this thing runs as it tends
-       # to be a bit esoteric, and the script does `set -e` itself.
-       ./bootstrap || die
        sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
 }
 
+src_configure() {
+       econf --docdir="\$(datarootdir)/doc/${PF}"
+}
+
 # slot the info pages.  do this w/out munging the source so we don't have
 # to depend on texinfo to regen things.  #464146 (among others)
 slot_info_pages() {
-       pushd "${ED}"/usr/share/info >/dev/null || die
-       rm -f dir || dir
+       pushd "${ED%/}"/usr/share/info >/dev/null || die
+       rm -f dir || die
 
        # Rewrite all the references to other pages.
        # before: * aclocal-invocation: (automake)aclocal Invocation.   
Generating aclocal.m4.
@@ -79,15 +68,21 @@ slot_info_pages() {
        popd >/dev/null || die
 }
 
+src_test() {
+       python_setup
+
+       default
+}
+
 src_install() {
        default
 
        slot_info_pages
-       rm "${ED}"/usr/share/aclocal/README || die
-       rmdir "${ED}"/usr/share/aclocal || die
+       rm "${ED%/}"/usr/share/aclocal/README || die
+       rmdir "${ED%/}"/usr/share/aclocal || die
        rm \
-               "${ED}"/usr/bin/{aclocal,automake} \
-               "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+               "${ED%/}"/usr/bin/{aclocal,automake} \
+               "${ED%/}"/usr/share/man/man1/{aclocal,automake}.1 || die
 
        # remove all config.guess and config.sub files replacing them
        # w/a symlink to a specific gnuconfig version

diff --git a/sys-devel/automake/automake-9999.ebuild 
b/sys-devel/automake/automake-1.13.4-r2.ebuild
similarity index 56%
copy from sys-devel/automake/automake-9999.ebuild
copy to sys-devel/automake/automake-1.13.4-r2.ebuild
index ee87a2b2eb1..e805dccdb6e 100644
--- a/sys-devel/automake/automake-9999.ebuild
+++ b/sys-devel/automake/automake-1.13.4-r2.ebuild
@@ -2,59 +2,55 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
+PYTHON_COMPAT=( python2_7 )
 
-inherit eutils versionator
-
-if [[ ${PV} == 9999 ]] ; then
-       EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
-               http://git.savannah.gnu.org/r/${PN}.git";
-
-       inherit git-r3
-else
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
-       if [[ ${PV/_beta} == ${PV} ]]; then
-               MY_P=${P}
-               SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-                       ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       else
-               MY_PV="$(get_major_version).$(($(get_version_component_range 
2)-1))b"
-               MY_P="${PN}-${MY_PV}"
-
-               # Alpha/beta releases are not distributed on the usual mirrors.
-               SRC_URI="ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       fi
-       S="${WORKDIR}/${MY_P}"
-fi
+inherit python-any-r1
 
 DESCRIPTION="Used to generate Makefile.in from Makefile.am"
 HOMEPAGE="https://www.gnu.org/software/automake/";
+SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
 
 LICENSE="GPL-2"
 # Use Gentoo versioning for slotting.
 SLOT="${PV:0:4}"
-IUSE=""
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
 
 RDEPEND="dev-lang/perl
        >=sys-devel/automake-wrapper-10
        >=sys-devel/autoconf-2.69:*
        sys-devel/gnuconfig"
 DEPEND="${RDEPEND}
-       sys-apps/help2man"
+       sys-apps/help2man
+       test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.13-dyn-ithreads.patch
+       "${FILESDIR}"/${PN}-1.13-perl-escape-curly-bracket-r1.patch
+       "${FILESDIR}"/${PN}-1.14-install-sh-avoid-low-risk-race-in-tmp.patch
+)
 
 src_prepare() {
        default
        export WANT_AUTOCONF=2.5
-       # Don't try wrapping the autotools this thing runs as it tends
-       # to be a bit esoteric, and the script does `set -e` itself.
-       ./bootstrap || die
        sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
 }
 
+src_configure() {
+       econf --docdir="\$(datarootdir)/doc/${PF}"
+}
+
+src_test() {
+       python_setup
+
+       default
+}
+
 # slot the info pages.  do this w/out munging the source so we don't have
 # to depend on texinfo to regen things.  #464146 (among others)
 slot_info_pages() {
-       pushd "${ED}"/usr/share/info >/dev/null || die
-       rm -f dir || dir
+       pushd "${ED%/}"/usr/share/info >/dev/null || die
+       rm -f dir || die
 
        # Rewrite all the references to other pages.
        # before: * aclocal-invocation: (automake)aclocal Invocation.   
Generating aclocal.m4.
@@ -83,11 +79,11 @@ src_install() {
        default
 
        slot_info_pages
-       rm "${ED}"/usr/share/aclocal/README || die
-       rmdir "${ED}"/usr/share/aclocal || die
+       rm "${ED%/}"/usr/share/aclocal/README || die
+       rmdir "${ED%/}"/usr/share/aclocal || die
        rm \
-               "${ED}"/usr/bin/{aclocal,automake} \
-               "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+               "${ED%/}"/usr/bin/{aclocal,automake} \
+               "${ED%/}"/usr/share/man/man1/{aclocal,automake}.1 || die
 
        # remove all config.guess and config.sub files replacing them
        # w/a symlink to a specific gnuconfig version

diff --git a/sys-devel/automake/automake-9999.ebuild 
b/sys-devel/automake/automake-1.14.1-r2.ebuild
similarity index 53%
copy from sys-devel/automake/automake-9999.ebuild
copy to sys-devel/automake/automake-1.14.1-r2.ebuild
index ee87a2b2eb1..1747213bd30 100644
--- a/sys-devel/automake/automake-9999.ebuild
+++ b/sys-devel/automake/automake-1.14.1-r2.ebuild
@@ -2,28 +2,20 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
+PYTHON_COMPAT=( python2_7 )
 
-inherit eutils versionator
+inherit python-any-r1 versionator
 
-if [[ ${PV} == 9999 ]] ; then
-       EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
-               http://git.savannah.gnu.org/r/${PN}.git";
-
-       inherit git-r3
+if [[ ${PV/_beta} == ${PV} ]]; then
+       MY_P=${P}
+       SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
+               https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
 else
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
-       if [[ ${PV/_beta} == ${PV} ]]; then
-               MY_P=${P}
-               SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-                       ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       else
-               MY_PV="$(get_major_version).$(($(get_version_component_range 
2)-1))b"
-               MY_P="${PN}-${MY_PV}"
-
-               # Alpha/beta releases are not distributed on the usual mirrors.
-               SRC_URI="ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       fi
-       S="${WORKDIR}/${MY_P}"
+       MY_PV="$(get_major_version).$(($(get_version_component_range 2)-1))b"
+       MY_P="${PN}-${MY_PV}"
+
+       # Alpha/beta releases are not distributed on the usual mirrors.
+       SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
 fi
 
 DESCRIPTION="Used to generate Makefile.in from Makefile.am"
@@ -32,29 +24,51 @@ HOMEPAGE="https://www.gnu.org/software/automake/";
 LICENSE="GPL-2"
 # Use Gentoo versioning for slotting.
 SLOT="${PV:0:4}"
-IUSE=""
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
 
 RDEPEND="dev-lang/perl
        >=sys-devel/automake-wrapper-10
        >=sys-devel/autoconf-2.69:*
        sys-devel/gnuconfig"
 DEPEND="${RDEPEND}
-       sys-apps/help2man"
+       sys-apps/help2man
+       test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.14-gzip-fix.patch
+       "${FILESDIR}"/${PN}-1.14-install-sh-avoid-low-risk-race-in-tmp.patch
+       "${FILESDIR}"/${PN}-1.15-perl-escape-curly-bracket.patch
+)
+
+S="${WORKDIR}/${MY_P}"
 
 src_prepare() {
        default
        export WANT_AUTOCONF=2.5
-       # Don't try wrapping the autotools this thing runs as it tends
-       # to be a bit esoteric, and the script does `set -e` itself.
-       ./bootstrap || die
        sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+
+       # Bug 628912
+       if ! has_version sys-apps/texinfo ; then
+               touch doc/{stamp-vti,version.texi,automake.info} || die
+       fi
+}
+
+src_configure() {
+       econf --docdir="\$(datarootdir)/doc/${PF}"
+}
+
+src_test() {
+       python_setup
+
+       default
 }
 
 # slot the info pages.  do this w/out munging the source so we don't have
 # to depend on texinfo to regen things.  #464146 (among others)
 slot_info_pages() {
-       pushd "${ED}"/usr/share/info >/dev/null || die
-       rm -f dir || dir
+       pushd "${ED%/}"/usr/share/info >/dev/null || die
+       rm -f dir || die
 
        # Rewrite all the references to other pages.
        # before: * aclocal-invocation: (automake)aclocal Invocation.   
Generating aclocal.m4.
@@ -83,11 +97,11 @@ src_install() {
        default
 
        slot_info_pages
-       rm "${ED}"/usr/share/aclocal/README || die
-       rmdir "${ED}"/usr/share/aclocal || die
+       rm "${ED%/}"/usr/share/aclocal/README || die
+       rmdir "${ED%/}"/usr/share/aclocal || die
        rm \
-               "${ED}"/usr/bin/{aclocal,automake} \
-               "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+               "${ED%/}"/usr/bin/{aclocal,automake} \
+               "${ED%/}"/usr/share/man/man1/{aclocal,automake}.1 || die
 
        # remove all config.guess and config.sub files replacing them
        # w/a symlink to a specific gnuconfig version

diff --git a/sys-devel/automake/automake-9999.ebuild 
b/sys-devel/automake/automake-1.15.1-r2.ebuild
similarity index 75%
copy from sys-devel/automake/automake-9999.ebuild
copy to sys-devel/automake/automake-1.15.1-r2.ebuild
index ee87a2b2eb1..3add6f0127e 100644
--- a/sys-devel/automake/automake-9999.ebuild
+++ b/sys-devel/automake/automake-1.15.1-r2.ebuild
@@ -2,12 +2,12 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
+PYTHON_COMPAT=( python2_7 )
 
-inherit eutils versionator
+inherit python-any-r1 versionator
 
 if [[ ${PV} == 9999 ]] ; then
-       EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
-               http://git.savannah.gnu.org/r/${PN}.git";
+       EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git";
 
        inherit git-r3
 else
@@ -15,13 +15,13 @@ else
        if [[ ${PV/_beta} == ${PV} ]]; then
                MY_P=${P}
                SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-                       ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
+                       https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
        else
                MY_PV="$(get_major_version).$(($(get_version_component_range 
2)-1))b"
                MY_P="${PN}-${MY_PV}"
 
                # Alpha/beta releases are not distributed on the usual mirrors.
-               SRC_URI="ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
+               SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
        fi
        S="${WORKDIR}/${MY_P}"
 fi
@@ -32,14 +32,17 @@ HOMEPAGE="https://www.gnu.org/software/automake/";
 LICENSE="GPL-2"
 # Use Gentoo versioning for slotting.
 SLOT="${PV:0:4}"
-IUSE=""
+IUSE="test"
 
 RDEPEND="dev-lang/perl
        >=sys-devel/automake-wrapper-10
        >=sys-devel/autoconf-2.69:*
        sys-devel/gnuconfig"
 DEPEND="${RDEPEND}
-       sys-apps/help2man"
+       sys-apps/help2man
+       test? ( ${PYTHON_DEPS} )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.15-install-sh-avoid-low-risk-race-in-tmp.patch 
)
 
 src_prepare() {
        default
@@ -48,13 +51,18 @@ src_prepare() {
        # to be a bit esoteric, and the script does `set -e` itself.
        ./bootstrap || die
        sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+
+       # Bug 628912
+       if ! has_version sys-apps/texinfo ; then
+               touch doc/{stamp-vti,version.texi,automake.info} || die
+       fi
 }
 
 # slot the info pages.  do this w/out munging the source so we don't have
 # to depend on texinfo to regen things.  #464146 (among others)
 slot_info_pages() {
-       pushd "${ED}"/usr/share/info >/dev/null || die
-       rm -f dir || dir
+       pushd "${ED%/}"/usr/share/info >/dev/null || die
+       rm -f dir || die
 
        # Rewrite all the references to other pages.
        # before: * aclocal-invocation: (automake)aclocal Invocation.   
Generating aclocal.m4.
@@ -79,15 +87,21 @@ slot_info_pages() {
        popd >/dev/null || die
 }
 
+src_test() {
+       python_setup
+
+       default
+}
+
 src_install() {
        default
 
        slot_info_pages
-       rm "${ED}"/usr/share/aclocal/README || die
-       rmdir "${ED}"/usr/share/aclocal || die
+       rm "${ED%/}"/usr/share/aclocal/README || die
+       rmdir "${ED%/}"/usr/share/aclocal || die
        rm \
-               "${ED}"/usr/bin/{aclocal,automake} \
-               "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+               "${ED%/}"/usr/bin/{aclocal,automake} \
+               "${ED%/}"/usr/share/man/man1/{aclocal,automake}.1 || die
 
        # remove all config.guess and config.sub files replacing them
        # w/a symlink to a specific gnuconfig version

diff --git a/sys-devel/automake/automake-9999.ebuild 
b/sys-devel/automake/automake-1.9.6-r5.ebuild
similarity index 53%
copy from sys-devel/automake/automake-9999.ebuild
copy to sys-devel/automake/automake-1.9.6-r5.ebuild
index ee87a2b2eb1..830139964d5 100644
--- a/sys-devel/automake/automake-9999.ebuild
+++ b/sys-devel/automake/automake-1.9.6-r5.ebuild
@@ -2,59 +2,50 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
+PYTHON_COMPAT=( python2_7 )
 
-inherit eutils versionator
-
-if [[ ${PV} == 9999 ]] ; then
-       EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
-               http://git.savannah.gnu.org/r/${PN}.git";
-
-       inherit git-r3
-else
-       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 
~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux 
~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
-       if [[ ${PV/_beta} == ${PV} ]]; then
-               MY_P=${P}
-               SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-                       ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       else
-               MY_PV="$(get_major_version).$(($(get_version_component_range 
2)-1))b"
-               MY_P="${PN}-${MY_PV}"
-
-               # Alpha/beta releases are not distributed on the usual mirrors.
-               SRC_URI="ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
-       fi
-       S="${WORKDIR}/${MY_P}"
-fi
+inherit python-any-r1
 
 DESCRIPTION="Used to generate Makefile.in from Makefile.am"
 HOMEPAGE="https://www.gnu.org/software/automake/";
+SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
 
 LICENSE="GPL-2"
 # Use Gentoo versioning for slotting.
-SLOT="${PV:0:4}"
-IUSE=""
+SLOT="${PV:0:3}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="test"
 
 RDEPEND="dev-lang/perl
        >=sys-devel/automake-wrapper-10
        >=sys-devel/autoconf-2.69:*
+       >=sys-apps/texinfo-4.7
        sys-devel/gnuconfig"
 DEPEND="${RDEPEND}
-       sys-apps/help2man"
+       sys-apps/help2man
+       test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.9.6-infopage-namechange-r1.patch
+       "${FILESDIR}"/${P}-include-dir-prefix-r1.patch #107435
+       "${FILESDIR}"/${P}-ignore-comments-r1.patch #126388
+       "${FILESDIR}"/${P}-aclocal7-test-sleep.patch #197366
+       "${FILESDIR}"/${PN}-1.9.6-subst-test.patch #222225
+       "${FILESDIR}"/${PN}-1.10-ccnoco-ldflags.patch #203914
+       "${FILESDIR}"/${PN}-1.8.5-CVE-2009-4029.patch #295357
+       "${FILESDIR}"/${PN}-1.8-perl-5.11.patch
+)
 
 src_prepare() {
        default
        export WANT_AUTOCONF=2.5
-       # Don't try wrapping the autotools this thing runs as it tends
-       # to be a bit esoteric, and the script does `set -e` itself.
-       ./bootstrap || die
-       sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
 }
 
 # slot the info pages.  do this w/out munging the source so we don't have
 # to depend on texinfo to regen things.  #464146 (among others)
 slot_info_pages() {
-       pushd "${ED}"/usr/share/info >/dev/null || die
-       rm -f dir || dir
+       pushd "${ED%/}"/usr/share/info >/dev/null || die
+       rm -f dir || die
 
        # Rewrite all the references to other pages.
        # before: * aclocal-invocation: (automake)aclocal Invocation.   
Generating aclocal.m4.
@@ -79,19 +70,25 @@ slot_info_pages() {
        popd >/dev/null || die
 }
 
-src_install() {
+src_test() {
+       python_setup
+
        default
+}
 
+src_install() {
+       default
        slot_info_pages
-       rm "${ED}"/usr/share/aclocal/README || die
-       rmdir "${ED}"/usr/share/aclocal || die
-       rm \
-               "${ED}"/usr/bin/{aclocal,automake} \
-               "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+
+       local x
+       for x in aclocal automake ; do
+               help2man "perl -Ilib ${x}" > ${x}-${SLOT}.1
+               doman ${x}-${SLOT}.1
+               rm -f "${ED%/}"/usr/bin/${x}
+       done
 
        # remove all config.guess and config.sub files replacing them
        # w/a symlink to a specific gnuconfig version
-       local x
        for x in guess sub ; do
                dosym ../gnuconfig/config.${x} 
/usr/share/${PN}-${SLOT}/config.${x}
        done

diff --git a/sys-devel/automake/automake-9999.ebuild 
b/sys-devel/automake/automake-9999.ebuild
index ee87a2b2eb1..3add6f0127e 100644
--- a/sys-devel/automake/automake-9999.ebuild
+++ b/sys-devel/automake/automake-9999.ebuild
@@ -2,12 +2,12 @@
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="6"
+PYTHON_COMPAT=( python2_7 )
 
-inherit eutils versionator
+inherit python-any-r1 versionator
 
 if [[ ${PV} == 9999 ]] ; then
-       EGIT_REPO_URI="git://git.savannah.gnu.org/${PN}.git
-               http://git.savannah.gnu.org/r/${PN}.git";
+       EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git";
 
        inherit git-r3
 else
@@ -15,13 +15,13 @@ else
        if [[ ${PV/_beta} == ${PV} ]]; then
                MY_P=${P}
                SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-                       ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
+                       https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
        else
                MY_PV="$(get_major_version).$(($(get_version_component_range 
2)-1))b"
                MY_P="${PN}-${MY_PV}"
 
                # Alpha/beta releases are not distributed on the usual mirrors.
-               SRC_URI="ftp://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
+               SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz";
        fi
        S="${WORKDIR}/${MY_P}"
 fi
@@ -32,14 +32,17 @@ HOMEPAGE="https://www.gnu.org/software/automake/";
 LICENSE="GPL-2"
 # Use Gentoo versioning for slotting.
 SLOT="${PV:0:4}"
-IUSE=""
+IUSE="test"
 
 RDEPEND="dev-lang/perl
        >=sys-devel/automake-wrapper-10
        >=sys-devel/autoconf-2.69:*
        sys-devel/gnuconfig"
 DEPEND="${RDEPEND}
-       sys-apps/help2man"
+       sys-apps/help2man
+       test? ( ${PYTHON_DEPS} )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.15-install-sh-avoid-low-risk-race-in-tmp.patch 
)
 
 src_prepare() {
        default
@@ -48,13 +51,18 @@ src_prepare() {
        # to be a bit esoteric, and the script does `set -e` itself.
        ./bootstrap || die
        sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
+
+       # Bug 628912
+       if ! has_version sys-apps/texinfo ; then
+               touch doc/{stamp-vti,version.texi,automake.info} || die
+       fi
 }
 
 # slot the info pages.  do this w/out munging the source so we don't have
 # to depend on texinfo to regen things.  #464146 (among others)
 slot_info_pages() {
-       pushd "${ED}"/usr/share/info >/dev/null || die
-       rm -f dir || dir
+       pushd "${ED%/}"/usr/share/info >/dev/null || die
+       rm -f dir || die
 
        # Rewrite all the references to other pages.
        # before: * aclocal-invocation: (automake)aclocal Invocation.   
Generating aclocal.m4.
@@ -79,15 +87,21 @@ slot_info_pages() {
        popd >/dev/null || die
 }
 
+src_test() {
+       python_setup
+
+       default
+}
+
 src_install() {
        default
 
        slot_info_pages
-       rm "${ED}"/usr/share/aclocal/README || die
-       rmdir "${ED}"/usr/share/aclocal || die
+       rm "${ED%/}"/usr/share/aclocal/README || die
+       rmdir "${ED%/}"/usr/share/aclocal || die
        rm \
-               "${ED}"/usr/bin/{aclocal,automake} \
-               "${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
+               "${ED%/}"/usr/bin/{aclocal,automake} \
+               "${ED%/}"/usr/share/man/man1/{aclocal,automake}.1 || die
 
        # remove all config.guess and config.sub files replacing them
        # w/a symlink to a specific gnuconfig version

diff --git 
a/sys-devel/automake/files/automake-1.11-install-sh-avoid-low-risk-race-in-tmp.patch
 
b/sys-devel/automake/files/automake-1.11-install-sh-avoid-low-risk-race-in-tmp.patch
new file mode 100644
index 00000000000..c435b9004f8
--- /dev/null
+++ 
b/sys-devel/automake/files/automake-1.11-install-sh-avoid-low-risk-race-in-tmp.patch
@@ -0,0 +1,77 @@
+From: Pavel Raiskup <[email protected]>
+Date: Sat, 15 Aug 2015 04:40:57 -0400
+Subject: install-sh: avoid (low risk) race in /tmp
+
+Ensure that nobody can cross privilege boundaries by pre-creating
+symlink on '$tmpdir' path.
+
+Just testing 'mkdir -p' by creating '/tmp/ins$RANDOM-$$/d' is not
+safe because '/tmp' directory is usually world-writeable and
+'/tmp/ins$RANDOM-$$' content could be pretty easily guessed by
+attacker (at least for shells where $RANDOM is not supported).
+So, as the first step, create the '/tmp/ins$RANDOM-$$' without -p.
+This step would fail early if somebody wanted catch us.
+
+Note that systems that implement (and have enabled)
+fs.protected_symlinks kernel feature are not affected even without
+this commit.
+
+References:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455
+https://bugzilla.redhat.com/show_bug.cgi?id=1140725
+
+* lib/install-sh: Implement safer 'mkdir -p' test by running
+'$mkdirprog $mkdir_mode "$tmpdir"' first.
+(scriptversion): Bump.
+
+--- a/lib/install-sh
++++ b/lib/install-sh
+@@ -345,34 +345,41 @@ do
+           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+           ;;
+         *)
++          # $RANDOM is not portable (e.g. dash);  use it when possible to
++          # lower collision chance
+           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+-          trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
++          trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 
2>/dev/null; exit $ret' 0
+ 
++          # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
++          # create the $tmpdir first (and fail if unsuccessful) to make sure
++          # that nobody tries to guess the $tmpdir name.
+           if (umask $mkdir_umask &&
+-              exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
++              $mkdirprog $mkdir_mode "$tmpdir" &&
++              exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+           then
+             if test -z "$dir_arg" || {
+                  # Check for POSIX incompatibilities with -m.
+                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                  # other-writeable bit of parent directory when it shouldn't.
+                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+-                 ls_ld_tmpdir=`ls -ld "$tmpdir"`
++                 test_tmpdir="$tmpdir/a"
++                 ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+                  case $ls_ld_tmpdir in
+                    d????-?r-*) different_mode=700;;
+                    d????-?--*) different_mode=755;;
+                    *) false;;
+                  esac &&
+-                 $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+-                   ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
++                 $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
++                   ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                  }
+                }
+             then posix_mkdir=:
+             fi
+-            rmdir "$tmpdir/d" "$tmpdir"
++            rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+           else
+             # Remove any dirs left behind by ancient mkdir implementations.
+-            rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
++            rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+           fi
+           trap '' 0;;
+       esac;;

diff --git 
a/sys-devel/automake/files/automake-1.13-perl-escape-curly-bracket-r1.patch 
b/sys-devel/automake/files/automake-1.13-perl-escape-curly-bracket-r1.patch
new file mode 100644
index 00000000000..bf8819adcf4
--- /dev/null
+++ b/sys-devel/automake/files/automake-1.13-perl-escape-curly-bracket-r1.patch
@@ -0,0 +1,37 @@
+http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21001
+
+From 34163794a58b5bd91c5d6bd9adf5437571c7a479 Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <[email protected]>
+Date: Tue, 7 Jul 2015 10:54:24 +0200
+Subject: [PATCH] bin/automake: escape '{' in regexp pattern
+
+Based on perlre(1) documentation:
+.. in Perl v5.26, literal uses of a curly bracket will be required
+to be escaped, say by preceding them with a backslash ("\{" ) or
+enclosing them within square brackets ("[{]") ..
+
+References:
+https://bugzilla.redhat.com/1239379
+
+* bin/automake.in (substitute_ac_subst_variables): Escape the
+occurrence of '{' character.
+---
+ bin/automake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/automake.in b/bin/automake.in
+index 0c29184..c294ced 100644
+--- a/automake.in
++++ b/automake.in
+@@ -3898,7 +3898,7 @@ sub substitute_ac_subst_variables_worker
+ sub substitute_ac_subst_variables ($)
+ {
+   my ($text) = @_;
+-  $text =~ s/\${([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge;
++  $text =~ s/\$\{([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker 
($1)/ge;
+   return $text;
+ }
+ 
+-- 
+2.1.0
+

diff --git a/sys-devel/automake/files/automake-1.14-gzip-fix.patch 
b/sys-devel/automake/files/automake-1.14-gzip-fix.patch
new file mode 100644
index 00000000000..39c201aba65
--- /dev/null
+++ b/sys-devel/automake/files/automake-1.14-gzip-fix.patch
@@ -0,0 +1,67 @@
+commit 749468ac63042820bc3da85ece5bed64b0c15d62
+Author: Paul Eggert <eggert at>
+Date:   Mon Mar 28 19:44:19 2016 -0700
+
+    automake: port better to future gzip
+    
+    * lib/am/distdir.am (dist-gzip, dist-shar, distcheck):
+    Port better to future versions of gzip, which are planned to
+    deprecate the GZIP environment variable (Bug#20132).
+
+diff --git a/lib/am/distdir.am b/lib/am/distdir.am
+index d4dd8cc9b..87c6730f5 100644
+--- a/lib/am/distdir.am
++++ b/lib/am/distdir.am
+@@ -309,6 +309,16 @@ endif %?TOPDIR_P%
+ ## We order DIST_TARGETS by expected duration of the compressors,
+ ## slowest first, for better parallelism in "make dist".  Do not
+ ## reorder DIST_ARCHIVES, users may expect gzip to be first.
++##
++## Traditionally, gzip prepended the contents of the GZIP environment
++## variable to its arguments, and the commands below formerly used
++## this by invoking 'GZIP=$(GZIP_ENV) gzip'.  The GZIP environment
++## variable is now considered to be obsolescent, so the commands below
++## now use 'eval GZIP= gzip $(GZIP_ENV)' instead; this should work
++## with both older and newer gzip implementations.  The 'eval' is to
++## support makefile assignments like 'GZIP_ENV = "-9 -n"' that quote
++## the GZIP_ENV right-hand side because that was needed with the
++## former invocation pattern.
+ 
+ if %?TOPDIR_P%
+ 
+@@ -316,7 +326,7 @@ if %?TOPDIR_P%
+ GZIP_ENV = --best
+ .PHONY: dist-gzip
+ dist-gzip: distdir
+-      tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c 
>$(distdir).tar.gz
++      tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c 
>$(distdir).tar.gz
+       $(am__post_remove_distdir)
+ 
+ ?BZIP2?DIST_ARCHIVES += $(distdir).tar.bz2
+@@ -352,7 +362,7 @@ dist-shar: distdir
+       @echo WARNING: "Support for shar distribution archives is" \
+                      "deprecated." >&2
+       @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+-      shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
++      shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
+       $(am__post_remove_distdir)
+ 
+ ?ZIP?DIST_ARCHIVES += $(distdir).zip
+@@ -412,7 +422,7 @@ endif %?SUBDIRS%
+ distcheck: dist
+       case '$(DIST_ARCHIVES)' in \
+       *.tar.gz*) \
+-        GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
++        eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
+         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.lz*) \
+@@ -422,7 +432,7 @@ distcheck: dist
+       *.tar.Z*) \
+         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+       *.shar.gz*) \
+-        GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
++        eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
+       *.zip*) \
+         unzip $(distdir).zip ;;\
+       esac

diff --git 
a/sys-devel/automake/files/automake-1.14-install-sh-avoid-low-risk-race-in-tmp.patch
 
b/sys-devel/automake/files/automake-1.14-install-sh-avoid-low-risk-race-in-tmp.patch
new file mode 100644
index 00000000000..679370686aa
--- /dev/null
+++ 
b/sys-devel/automake/files/automake-1.14-install-sh-avoid-low-risk-race-in-tmp.patch
@@ -0,0 +1,77 @@
+From: Pavel Raiskup <[email protected]>
+Date: Sat, 15 Aug 2015 04:40:57 -0400
+Subject: install-sh: avoid (low risk) race in /tmp
+
+Ensure that nobody can cross privilege boundaries by pre-creating
+symlink on '$tmpdir' path.
+
+Just testing 'mkdir -p' by creating '/tmp/ins$RANDOM-$$/d' is not
+safe because '/tmp' directory is usually world-writeable and
+'/tmp/ins$RANDOM-$$' content could be pretty easily guessed by
+attacker (at least for shells where $RANDOM is not supported).
+So, as the first step, create the '/tmp/ins$RANDOM-$$' without -p.
+This step would fail early if somebody wanted catch us.
+
+Note that systems that implement (and have enabled)
+fs.protected_symlinks kernel feature are not affected even without
+this commit.
+
+References:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455
+https://bugzilla.redhat.com/show_bug.cgi?id=1140725
+
+* lib/install-sh: Implement safer 'mkdir -p' test by running
+'$mkdirprog $mkdir_mode "$tmpdir"' first.
+(scriptversion): Bump.
+
+--- a/lib/install-sh
++++ b/lib/install-sh
+@@ -345,34 +345,41 @@ do
+           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+           ;;
+         *)
++          # $RANDOM is not portable (e.g. dash);  use it when possible to
++          # lower collision chance
+           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+-          trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
++          trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 
2>/dev/null; exit $ret' 0
+ 
++          # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
++          # create the $tmpdir first (and fail if unsuccessful) to make sure
++          # that nobody tries to guess the $tmpdir name.
+           if (umask $mkdir_umask &&
+-              exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
++              $mkdirprog $mkdir_mode "$tmpdir" &&
++              exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+           then
+             if test -z "$dir_arg" || {
+                  # Check for POSIX incompatibilities with -m.
+                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                  # other-writable bit of parent directory when it shouldn't.
+                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+-                 ls_ld_tmpdir=`ls -ld "$tmpdir"`
++                 test_tmpdir="$tmpdir/a"
++                 ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+                  case $ls_ld_tmpdir in
+                    d????-?r-*) different_mode=700;;
+                    d????-?--*) different_mode=755;;
+                    *) false;;
+                  esac &&
+-                 $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+-                   ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
++                 $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
++                   ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                  }
+                }
+             then posix_mkdir=:
+             fi
+-            rmdir "$tmpdir/d" "$tmpdir"
++            rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+           else
+             # Remove any dirs left behind by ancient mkdir implementations.
+-            rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
++            rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+           fi
+           trap '' 0;;
+       esac;;

diff --git 
a/sys-devel/automake/files/automake-1.15-install-sh-avoid-low-risk-race-in-tmp.patch
 
b/sys-devel/automake/files/automake-1.15-install-sh-avoid-low-risk-race-in-tmp.patch
new file mode 100644
index 00000000000..1fabdd5fb3e
--- /dev/null
+++ 
b/sys-devel/automake/files/automake-1.15-install-sh-avoid-low-risk-race-in-tmp.patch
@@ -0,0 +1,82 @@
+From: Pavel Raiskup <[email protected]>
+Date: Sat, 15 Aug 2015 04:40:57 -0400
+Subject: install-sh: avoid (low risk) race in /tmp
+
+Ensure that nobody can cross privilege boundaries by pre-creating
+symlink on '$tmpdir' path.
+
+Just testing 'mkdir -p' by creating '/tmp/ins$RANDOM-$$/d' is not
+safe because '/tmp' directory is usually world-writeable and
+'/tmp/ins$RANDOM-$$' content could be pretty easily guessed by
+attacker (at least for shells where $RANDOM is not supported).
+So, as the first step, create the '/tmp/ins$RANDOM-$$' without -p.
+This step would fail early if somebody wanted catch us.
+
+Note that systems that implement (and have enabled)
+fs.protected_symlinks kernel feature are not affected even without
+this commit.
+
+References:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455
+https://bugzilla.redhat.com/show_bug.cgi?id=1140725
+
+* lib/install-sh: Implement safer 'mkdir -p' test by running
+'$mkdirprog $mkdir_mode "$tmpdir"' first.
+(scriptversion): Bump.
+---
+ lib/install-sh | 23 +++++++++++++++--------
+ 1 file changed, 15 insertions(+), 8 deletions(-)
+
+diff --git a/lib/install-sh b/lib/install-sh
+index 0b0fdcb..59990a1 100755
+--- a/lib/install-sh
++++ b/lib/install-sh
+@@ -324,34 +324,41 @@ do
+             # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+             ;;
+           *)
++            # $RANDOM is not portable (e.g. dash);  use it when possible to
++            # lower collision chance
+             tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+-            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
++            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 
2>/dev/null; exit $ret' 0
+ 
++            # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
++            # create the $tmpdir first (and fail if unsuccessful) to make sure
++            # that nobody tries to guess the $tmpdir name.
+             if (umask $mkdir_umask &&
+-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
++                $mkdirprog $mkdir_mode "$tmpdir" &&
++                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 
2>&1
+             then
+               if test -z "$dir_arg" || {
+                    # Check for POSIX incompatibilities with -m.
+                    # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                    # other-writable bit of parent directory when it shouldn't.
+                    # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+-                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
++                   test_tmpdir="$tmpdir/a"
++                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+                    case $ls_ld_tmpdir in
+                      d????-?r-*) different_mode=700;;
+                      d????-?--*) different_mode=755;;
+                      *) false;;
+                    esac &&
+-                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+-                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
++                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
++                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+                      test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                    }
+                  }
+               then posix_mkdir=:
+               fi
+-              rmdir "$tmpdir/d" "$tmpdir"
++              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+             else
+               # Remove any dirs left behind by ancient mkdir implementations.
+-              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
++              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+             fi
+             trap '' 0;;
+         esac;;

diff --git a/sys-devel/automake/files/automake-1.9.6-ignore-comments-r1.patch 
b/sys-devel/automake/files/automake-1.9.6-ignore-comments-r1.patch
new file mode 100644
index 00000000000..da3f288d739
--- /dev/null
+++ b/sys-devel/automake/files/automake-1.9.6-ignore-comments-r1.patch
@@ -0,0 +1,29 @@
+http://bugs.gentoo.org/126388
+
+2006-03-16  Mike Frysinger  <[email protected]>
+
+       * aclocal.in (scan_configure_dep): Ignore ## lines.
+       (scan_file): Remove dnl and # comments.
+
+--- a/aclocal.in
++++ b/aclocal.in
+@@ -227,6 +227,8 @@
+   foreach (split ("\n", $contents))
+     {
+       ++$line;
++      # Ignore `##' lines.
++      next if /^##/;
+       # Remove comments from current line.
+       s/\bdnl\b.*$//;
+       s/\#.*$//;
+@@ -311,6 +313,10 @@
+ 
+       $contents .= $_;
+ 
++      # Remove comments from current line.
++      s/\bdnl\b.*$//;
++      s/\#.*$//;
++
+       while (/$ac_defun_rx/go)
+       {
+         if (! defined $1)

diff --git 
a/sys-devel/automake/files/automake-1.9.6-include-dir-prefix-r1.patch 
b/sys-devel/automake/files/automake-1.9.6-include-dir-prefix-r1.patch
new file mode 100644
index 00000000000..a1cc613e880
--- /dev/null
+++ b/sys-devel/automake/files/automake-1.9.6-include-dir-prefix-r1.patch
@@ -0,0 +1,31 @@
+http://bugs.gentoo.org/107435
+http://lists.gnu.org/archive/html/automake/2005-09/msg00088.html
+
+2005-09-27  Stepan Kasal  <address@hidden>
+
+       * automake.in (handle_single_transform): Direct suffix rule preserves
+         the directory prefix, so the generated object name should contain
+         it, too.
+
+--- a/automake.in      2005-09-17 15:05:39.000000000 +0200
++++ b/automake.in      2005-09-27 17:10:47.000000000 +0200
+@@ -1755,6 +1755,10 @@
+             # This is probably the result of a direct suffix rule.
+             # In this case we just accept the rewrite.
+             $object = "$base$extension";
++            if ($directory ne '')
++            {
++                $object = $directory . '/' . $object;
++            }
+             $linker = '';
+         }
+         else
+@@ -1824,7 +1828,7 @@
+ 
+               # For Java, the way we're handling it right now, a
+               # `..' component doesn't make sense.
+-                if ($lang->name eq 'java' && $object =~ /(\/|^)\.\.\//)
++                if ($lang && $lang->name eq 'java' && $object =~ 
/(\/|^)\.\.\//)
+                 {
+                   err_am "`$full' should not contain a `..' component";
+                 }

diff --git 
a/sys-devel/automake/files/automake-1.9.6-infopage-namechange-r1.patch 
b/sys-devel/automake/files/automake-1.9.6-infopage-namechange-r1.patch
new file mode 100644
index 00000000000..d99c442e93a
--- /dev/null
+++ b/sys-devel/automake/files/automake-1.9.6-infopage-namechange-r1.patch
@@ -0,0 +1,33 @@
+--- a/doc/Makefile.in.orig     2005-07-11 00:39:31.000000000 -0400
++++ b/doc/Makefile.in  2005-07-11 00:40:46.000000000 -0400
+@@ -187,26 +187,10 @@
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ 
+ .texi.info:
+-      restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+-      am__cwd=`pwd` && cd $(srcdir) && \
+-      rm -rf $$backupdir && mkdir $$backupdir && \
+-      if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
+-        for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] 
$(@:.info=).i[0-9][0-9]; do \
+-          if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
+-        done; \
+-      else :; fi && \
+-      cd "$$am__cwd"; \
+-      if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+-       -o $@ $<; \
+-      then \
+-        rc=0; \
+-        cd $(srcdir); \
+-      else \
+-        rc=$$?; \
+-        cd $(srcdir) && \
+-        $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+-      fi; \
+-      rm -rf $$backupdir; exit $$rc
++      @rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] 
$(@:.info=).i[0-9][0-9]
++      cd $(srcdir) \
++              && $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
++              `echo $< | sed 's,.*/,,'`
+ 
+ .texi.dvi:
+       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \

Reply via email to