public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Frysinger" <vapier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/automake/, sys-devel/automake/files/
Date: Sat, 13 Feb 2016 10:09:56 +0000 (UTC)	[thread overview]
Message-ID: <1455358181.6f826cbd3673375bea652a8ffff906a4b8443e25.vapier@gentoo> (raw)

commit:     6f826cbd3673375bea652a8ffff906a4b8443e25
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 13 10:08:48 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sat Feb 13 10:09:41 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f826cbd

sys-devel/automake: make mdate output stable #520818 #574492

 sys-devel/automake/automake-1.15-r2.ebuild         | 104 +++++++++++++++++++++
 .../automake/files/automake-1.15-mdate-tz.patch    |  53 +++++++++++
 2 files changed, 157 insertions(+)

diff --git a/sys-devel/automake/automake-1.15-r2.ebuild b/sys-devel/automake/automake-1.15-r2.ebuild
new file mode 100644
index 0000000..9b47c67
--- /dev/null
+++ b/sys-devel/automake/automake-1.15-r2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils versionator
+
+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
+
+DESCRIPTION="Used to generate Makefile.in from Makefile.am"
+HOMEPAGE="https://www.gnu.org/software/automake/"
+
+LICENSE="GPL-2"
+# Use Gentoo versioning for slotting.
+SLOT="${PV:0:4}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND="dev-lang/perl
+	>=sys-devel/automake-wrapper-10
+	>=sys-devel/autoconf-2.69
+	sys-devel/gnuconfig"
+DEPEND="${RDEPEND}
+	sys-apps/help2man"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+	export WANT_AUTOCONF=2.5
+	epatch "${FILESDIR}"/${PN}-1.15-perl-escape-curly-bracket.patch
+	epatch "${FILESDIR}"/${PN}-1.15-mdate-tz.patch #520818 #574492
+}
+
+src_configure() {
+	econf --docdir=/usr/share/doc/${PF} HELP2MAN=true
+}
+
+src_compile() {
+	emake APIVERSION="${SLOT}" pkgvdatadir="/usr/share/${PN}-${SLOT}"
+}
+
+src_test() {
+	emake check
+}
+
+# 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 "${D}"/usr/share/info >/dev/null
+	rm -f dir
+
+	# Rewrite all the references to other pages.
+	# before: * aclocal-invocation: (automake)aclocal Invocation.   Generating aclocal.m4.
+	# after:  * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation.   Generating aclocal.m4.
+	local p pages=( *.info ) args=()
+	for p in "${pages[@]/%.info}" ; do
+		args+=(
+			-e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|"
+			-e "s:(${p}):(${p}-${SLOT}):g"
+		)
+	done
+	sed -i "${args[@]}" * || die
+
+	# Rewrite all the file references, and rename them in the process.
+	local f d
+	for f in * ; do
+		d=${f/.info/-${SLOT}.info}
+		mv "${f}" "${d}" || die
+		sed -i -e "s:${f}:${d}:g" * || die
+	done
+
+	popd >/dev/null
+}
+
+src_install() {
+	emake DESTDIR="${D}" install \
+		APIVERSION="${SLOT}" pkgvdatadir="/usr/share/${PN}-${SLOT}"
+	slot_info_pages
+	rm "${D}"/usr/share/aclocal/README || die
+	rmdir "${D}"/usr/share/aclocal || die
+	dodoc AUTHORS ChangeLog NEWS README THANKS
+
+	rm \
+		"${D}"/usr/bin/{aclocal,automake} \
+		"${D}"/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
+	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/files/automake-1.15-mdate-tz.patch b/sys-devel/automake/files/automake-1.15-mdate-tz.patch
new file mode 100644
index 0000000..e00f2bf
--- /dev/null
+++ b/sys-devel/automake/files/automake-1.15-mdate-tz.patch
@@ -0,0 +1,53 @@
+https://bugs.gentoo.org/520818
+https://bugs.gentoo.org/574492
+https://lists.gnu.org/archive/html/bug-automake/2014-10/msg00003.html
+https://lists.gnu.org/archive/html/bug-automake/2014-10/msg00004.html
+
+https://debbugs.gnu.org/20314
+https://bugs.debian.org/782345
+https://lists.gnu.org/archive/html/automake-patches/2015-04/msg00000.html
+
+From: Reiner Herrmann <reiner@reiner-h.de>
+Date: Sat, 18 Jul 2015 14:10:35 -0400
+Subject: Make output of mdate-sh deterministic
+
+mdate-sh pretty-prints the modification time of a file.
+But it's output can vary depending on the timezone of
+the caller. Someone in timezone GMT-12 will get a different
+result (day) than someone in timezone GMT+12.
+
+As this output is also used to create/update stamp files,
+which influence the further build process, the build result
+can vary.
+To enable reproducible builds and to have a more deterministic
+build behavior, this change fixes the timezone to UTC.
+
+Signed-off-by: Reiner Herrmann <reiner at reiner-h.de>
+---
+ lib/mdate-sh | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/lib/mdate-sh b/lib/mdate-sh
+index e8dfaca..9e2c0c9 100755
+--- a/lib/mdate-sh
++++ b/lib/mdate-sh
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # Get modification time of a file or directory and pretty-print it.
+ 
+-scriptversion=2010-08-21.06; # UTC
++scriptversion=2015-04-09.19; # UTC
+ 
+ # Copyright (C) 1995-2014 Free Software Foundation, Inc.
+ # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
+@@ -74,6 +74,10 @@ export LC_ALL
+ LC_TIME=C
+ export LC_TIME
+ 
++# Use UTC to get reproducible result
++TZ=UTC
++export TZ
++
+ # GNU ls changes its time format in response to the TIME_STYLE
+ # variable.  Since we cannot assume 'unset' works, revert this
+ # variable to its documented default.


             reply	other threads:[~2016-02-13 10:10 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-13 10:09 Mike Frysinger [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-01-11 18:33 [gentoo-commits] repo/gentoo:master commit in: sys-devel/automake/, sys-devel/automake/files/ Lars Wendler
2020-11-20  1:28 Thomas Deutschmann
2020-09-24 13:33 Lars Wendler
2020-01-17 11:21 Andreas K. Hüttel
2019-11-08  9:47 Lars Wendler
2018-03-04  4:07 Thomas Deutschmann
2018-02-25  1:59 Thomas Deutschmann
2015-12-16 22:52 Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1455358181.6f826cbd3673375bea652a8ffff906a4b8443e25.vapier@gentoo \
    --to=vapier@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox