summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2012-02-02 22:01:13 +0000
committerMichał Górny <mgorny@gentoo.org>2012-02-02 22:01:13 +0000
commitcfea2b5593ee547710cffbc481b456b81f330061 (patch)
tree03c86cc2e1b7973a4e4ad94ebbce0a8901b0c3e1 /eclass
parentVersion bump, thanks Julian Ospald (diff)
downloadgentoo-2-cfea2b5593ee547710cffbc481b456b81f330061.tar.gz
gentoo-2-cfea2b5593ee547710cffbc481b456b81f330061.tar.bz2
gentoo-2-cfea2b5593ee547710cffbc481b456b81f330061.zip
Use checksums to determine whether files need autoreconf. Fixes bug #399641.
Diffstat (limited to 'eclass')
-rw-r--r--eclass/ChangeLog5
-rw-r--r--eclass/autotools-utils.eclass17
2 files changed, 14 insertions, 8 deletions
diff --git a/eclass/ChangeLog b/eclass/ChangeLog
index e57b9490bcd1..70abea4e6c86 100644
--- a/eclass/ChangeLog
+++ b/eclass/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.111 2012/02/02 03:17:56 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.112 2012/02/02 22:01:13 mgorny Exp $
+
+ 02 Feb 2012; Michał Górny <mgorny@gentoo.org> autotools-utils.eclass:
+ Use checksums to determine whether files need autoreconf. Fixes bug #399641.
02 Feb 2012; Mike Gilbert <floppym@gentoo.org> subversion.eclass:
Introduce ESVN_UMASK variable to override default umask. Patch by Arfrever.
diff --git a/eclass/autotools-utils.eclass b/eclass/autotools-utils.eclass
index 59e58afe9f45..2d2cbc1d0b5f 100644
--- a/eclass/autotools-utils.eclass
+++ b/eclass/autotools-utils.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-utils.eclass,v 1.46 2012/01/30 13:11:27 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-utils.eclass,v 1.47 2012/02/02 22:01:13 mgorny Exp $
# @ECLASS: autotools-utils.eclass
# @MAINTAINER:
@@ -362,14 +362,17 @@ autotools-utils_src_prepare() {
[[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
- touch "${T}"/.autotools-utils.timestamp || die
+ at_checksum() {
+ find '(' -name 'Makefile.am' \
+ -o -name 'configure.ac' \
+ -o -name 'configure.in' ')' \
+ -exec cksum {} + | sort -k2
+ }
+
+ [[ ! ${want_autoreconf} ]] && local checksum=$(at_checksum)
epatch_user
if [[ ! ${want_autoreconf} ]]; then
- if [[ $(find . -newer "${T}"/.autotools-utils.timestamp \
- -a '(' -name 'Makefile.am' \
- -o -name 'configure.ac' \
- -o -name 'configure.in' ')' \
- -print -quit) ]]; then
+ if [[ ${checksum} != $(at_checksum) ]]; then
einfo 'Will autoreconfigure due to user patches applied.'
want_autoreconf=yep
fi