dev-util/ccache: drop old <3.2.4 versions

This commit is contained in:
Mike Frysinger
2016-05-27 16:40:15 -04:00
parent 212470d6b5
commit 0c06be89f4
16 changed files with 0 additions and 1168 deletions

View File

@@ -1,8 +1,2 @@
DIST ccache-2.4.tar.gz 86363 SHA256 435f862ca5168c346f5aa9e242174bbf19a5abcaeecfceeac2f194558827aaa0 SHA512 6ab05f74eba5c0a7472a3d53cfa6c24e45f421f2c773776f713a46121eda21213deb34fcef214d4f8d2e756cd375637e4639a9bdfeb6b9a44455c5bcca246b19 WHIRLPOOL eb308222713d17f52f88ac97a5c63add454b350d60259d1d2238e3b54f1e80ad8c8700e0e045b40aa5be64b1db54846a86da600436778a64d2270efff7763380
DIST ccache-3.1.10.tar.xz 240932 SHA256 88439f43d3b426ab435afdf69a808511bada4de3a8a9527426bc4fbf6cb02857 SHA512 6a1c77161ec97b556a8c58592e2d6bba8e3d43cc039de3ebaa2a80fb92ae54bb7bad58eb011f52b750e29aadb0ed208220fb67d30deaf6c64aa4cfab31937fed WHIRLPOOL 5d527d986ba14a6312f82df277d7de47757bb43b7bcaf9eb6cbdbf337af862726f1f85ff7c352d0ad54344d98a8d8dc538e43de05976cdd29710b72917b42106
DIST ccache-3.1.9.tar.xz 238988 SHA256 4981fdf3ad851de400d94083a0d03f115ce9ce8062c3fd7a291630294b0006c4 SHA512 b73f5816bb87c2d94200473510ea42a304c5a2c5e5f14720c513574ce3eb983423c5849a786a89df70cbb09852d9ec2761ad37a820a767d7350e1a3243148ac0 WHIRLPOOL 61ef671aae68516ecfaee88a50b8f442968a7ab24595fd7dfc652ab27de80834d90510c62cfcc75dd88e1f3832989633f518ebe5984149c16d5ab9848cff05fc
DIST ccache-3.2.1.tar.xz 297868 SHA256 872af34e1d2cef18694001d29db7f167d644e7602ca32cd6c74b28d81458bd9d SHA512 ef0e56f2d1775fb0f401f48cca2a65eb415f4e2ccf0bcfd769045a9c08c3c2977db4edea12e06629f4cb5406cde23cd3ee0910e2e4d5eff9376227fa23c78a7a WHIRLPOOL f3d07cf142258d588a1c6cb9ba77d31d7b568cd18ae131ed3526595c809352b0fa30ae61b0bfcbfde3ea8d959c545119662c25af0cd03c97517be361315e1ffe
DIST ccache-3.2.2.tar.xz 300808 SHA256 4f0d99699f24d198494addca0f41a93b0150cdfd01491f15a5d7eb02c7c2a0ca SHA512 fc438f3b00baa41076eee3e5783ea53a208eb348343e587c6f729f7e98462cd20c720fe323fe08f271bc14dae48f7828cef769882f028f3772992989b87b075d WHIRLPOOL 095a125e869910644622b98b7720a01ccc235fbeb8c84ec52017fe52f82fe7b8122584c3e5fa4d39c1344e9c062517a1edb46c3e64fe649e845ed5c1fb455c5a
DIST ccache-3.2.3.tar.xz 301728 SHA256 ec0414fc435982ece8b8fca062f5836ff32c5d5148abd7f80768614ed776600e SHA512 27da2032fd8936253e29f0410fc2f8085967de78ebe300bd1efecf78c67ed5e060e543df96bb29bc1bea75ec4d5e108f89d58dc6d9573bf6fcc8384d00b951dd WHIRLPOOL 721e9e8dab552c40bfd77df3225e33d49553b2bee5ec990dc6f33ce8bdd9009f4f35b75d08d04ce51ee36e0772a5b403c4d8629627dd6d488b717e23b3d3657c
DIST ccache-3.2.4.tar.xz 302548 SHA256 1c3da93f654e78a4ac71a54b0f63b19bc0fef9aa5522f4ebb9c201d4361cea5d SHA512 d048b70804c81dece97f3ba511b3c109ec0d14e7dca69bc68faeeb61a4a7b5639c03e3e5ad7dad4e42b4bd198d7a7fffa4e3b7ef99590dfd4df0805db6c25db7 WHIRLPOOL 3dc1de9d1cab8769b3776e48746a1967536e7a9d01e4eb23e1ddbaaf2858c16eba170a185312bfdb0a58951c77cd6c79ff30c7cf6ab366ade64c2b6997df7703
DIST ccache-3.2.5.tar.xz 304592 SHA256 117011534b199dbe290b08acae1591c81525536a1e140da22e0fbc04c20bab85 SHA512 12612b899044db50c60bea8ed6cfeb54960ab67514d0aabaea5ee71d3d4d83bb00637e02008365d1d061adf5aa546499948a5eb8a0419222f681058c7fd5fd24 WHIRLPOOL 2cad966b419c16d7956fb2644c1113a8817437f313d54dd17fb16ae4a15f67a322b59d1b225307c980d2e17442478b71ef2bb118d2af4025e530e68fb46767cb

View File

@@ -1,83 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
WANT_AUTOMAKE=none # not using automake
inherit eutils autotools multilib
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE=""
# Note: this version is designed to be auto-detected and used if
# you happen to have Portage 2.0.X+ installed.
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/ccache-2.4-profile.patch
epatch "${FILESDIR}"/ccache-2.4-respectflags.patch
epatch "${FILESDIR}"/ccache-2.4-utimes.patch
epatch "${FILESDIR}"/ccache-2.4-xrealloc.patch #338137
eautoconf
}
do_links() {
insinto /usr/$(get_libdir)/ccache/bin
for a in ${CHOST}-{gcc,g++,c++} gcc c++ g++; do
dosym /usr/bin/ccache /usr/$(get_libdir)/ccache/bin/${a}
done
}
src_install() {
dobin ccache || die
doman ccache.1
dodoc README
dohtml web/*.html
diropts -m0755
dodir /usr/$(get_libdir)/ccache/bin
keepdir /usr/$(get_libdir)/ccache/bin
dobin "${FILESDIR}"/ccache-config || die
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_preinst() {
# Do NOT duplicate this in your ebuilds or phear of the wrath!!!
if [[ ${ROOT} = "/" ]] ; then
einfo "Scanning for compiler front-ends..."
do_links
else
ewarn "Install is incomplete; you must run the following commands:"
ewarn " # ccache-config --install-links"
ewarn " # ccache-config --install-links ${CHOST}"
ewarn "after booting or chrooting to ${ROOT} to complete installation."
fi
}
pkg_postinst() {
# nuke broken symlinks from previous versions that shouldn't exist
for i in cc ${CHOST}-cc ; do
[[ -L "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}"
done
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -fr "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
}

View File

@@ -1,69 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils readme.gentoo
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
app-arch/xz-utils"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
epatch "${FILESDIR}"/${PN}-3.1.10-size-on-disk.patch #456178
epatch "${FILESDIR}"/${PN}-3.1.10-real-temp-files.patch
sed \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-2 > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
${EPREFIX}/usr/lib/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
Portage 2.0.46-r11+ will automatically take advantage of ccache with
no additional steps. If this is your first install of ccache, type
something like this to set a maximum cache size of 2GB:\\n
# ccache -M 2G\\n
If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
ccache now supports sys-devel/clang and dev-lang/icc, too!"
readme.gentoo_create_doc
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}"/usr/lib/ccache/bin/${CHOST}-cc
rm -rf "${EROOT}"/usr/lib/ccache.backup
readme.gentoo_print_elog
}

View File

@@ -1,71 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit multilib eutils readme.gentoo
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND="app-arch/xz-utils
sys-libs/zlib"
RDEPEND="${DEPEND}
sys-apps/gentoo-functions"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
epatch "${FILESDIR}"/${P}-test-gcc-4.8.patch #461966
sed \
-e "/^LIBDIR=/s:lib:$(get_libdir):" \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-3 > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
${EPREFIX}/usr/$(get_libdir)/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
Portage 2.0.46-r11+ will automatically take advantage of ccache with
no additional steps. If this is your first install of ccache, type
something like this to set a maximum cache size of 2GB:\\n
# ccache -M 2G\\n
If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
ccache now supports sys-devel/clang and dev-lang/icc, too!"
readme.gentoo_create_doc
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${EROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${EROOT}/usr/$(get_libdir)/ccache.backup"
readme.gentoo_print_elog
}

View File

@@ -1,69 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils readme.gentoo
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND="app-arch/xz-utils
sys-libs/zlib"
RDEPEND="${DEPEND}
sys-apps/gentoo-functions"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib || die
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
epatch "${FILESDIR}"/${PN}-3.1.10-size-on-disk.patch #456178
sed \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-3 > ccache-config || die
}
src_install() {
DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.txt )
default
dobin ccache-config
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
${EPREFIX}/usr/lib/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
Portage 2.0.46-r11+ will automatically take advantage of ccache with
no additional steps. If this is your first install of ccache, type
something like this to set a maximum cache size of 2GB:\\n
# ccache -M 2G\\n
If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
ccache now supports sys-devel/clang and dev-lang/icc, too!"
readme.gentoo_create_doc
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}"/usr/lib/ccache/bin/${CHOST}-cc || die
rm -rf "${EROOT}"/usr/lib/ccache.backup || die
readme.gentoo_print_elog
}

View File

@@ -1,69 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils readme.gentoo
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND="app-arch/xz-utils
sys-libs/zlib"
RDEPEND="${DEPEND}
sys-apps/gentoo-functions"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib || die
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
epatch "${FILESDIR}"/${PN}-3.1.10-size-on-disk.patch #456178
sed \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-3 > ccache-config || die
}
src_install() {
DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.txt )
default
dobin ccache-config
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
${EPREFIX}/usr/lib/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
Portage 2.0.46-r11+ will automatically take advantage of ccache with
no additional steps. If this is your first install of ccache, type
something like this to set a maximum cache size of 2GB:\\n
# ccache -M 2G\\n
If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
ccache now supports sys-devel/clang and dev-lang/icc, too!"
readme.gentoo_create_doc
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}"/usr/lib/ccache/bin/${CHOST}-cc || die
rm -rf "${EROOT}"/usr/lib/ccache.backup || die
readme.gentoo_print_elog
}

View File

@@ -1,68 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils readme.gentoo
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND="app-arch/xz-utils
sys-libs/zlib"
RDEPEND="${DEPEND}
sys-apps/gentoo-functions"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib || die
epatch "${FILESDIR}"/${PN}-3.1.10-size-on-disk.patch #456178
sed \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-3 > ccache-config || die
}
src_install() {
DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.txt )
default
dobin ccache-config
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
${EPREFIX}/usr/lib/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
Portage 2.0.46-r11+ will automatically take advantage of ccache with
no additional steps. If this is your first install of ccache, type
something like this to set a maximum cache size of 2GB:\\n
# ccache -M 2G\\n
If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
ccache now supports sys-devel/clang and dev-lang/icc, too!"
readme.gentoo_create_doc
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}"/usr/lib/ccache/bin/${CHOST}-cc || die
rm -rf "${EROOT}"/usr/lib/ccache.backup || die
readme.gentoo_print_elog
}

View File

@@ -1,27 +0,0 @@
GCCs options -fprofile-generate and -fprofile-use are used for
profile guided optimization. It depends on the ability to locate
the profile data files (.gcda) after running the executable with
the training data. However, ccache prevents the compiler from
finding the correct profile data file. Therefore the following
patch disables the caching when one of the
-fprofile-generate
-fprofile-use
-fprofile-arcs
flags is found.
Signed-off-by: Clemens Rabe <crabe _at_ gmx _dot_ de>
diff -Naur ccache-2.4.orig/ccache.c ccache-2.4/ccache.c
--- ccache-2.4.orig/ccache.c 2004-09-13 12:38:30.000000000 +0200
+++ ccache-2.4/ccache.c 2008-01-07 20:25:38.000000000 +0100
@@ -640,6 +640,9 @@
/* these are too hard */
if (strcmp(argv[i], "-fbranch-probabilities")==0 ||
+ strcmp(argv[i], "-fprofile-generate")==0 ||
+ strcmp(argv[i], "-fprofile-use")==0 ||
+ strcmp(argv[i], "-fprofile-arcs")==0 ||
strcmp(argv[i], "-M") == 0 ||
strcmp(argv[i], "-MM") == 0 ||
strcmp(argv[i], "-x") == 0) {

View File

@@ -1,13 +0,0 @@
Index: ccache-2.4/Makefile.in
===================================================================
--- ccache-2.4.orig/Makefile.in
+++ ccache-2.4/Makefile.in
@@ -20,7 +20,7 @@ all: ccache$(EXEEXT)
docs: ccache.1 web/ccache-man.html
ccache$(EXEEXT): $(OBJS) $(HEADERS)
- $(CC) $(CFLAGS) -o $@ $(OBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS)
ccache.1: ccache.yo
-yodl2man -o ccache.1 ccache.yo

View File

@@ -1,105 +0,0 @@
utime(...,NULL) in some cases may cause truncation of sub-second portions of
timestamps. If utimes(...,NULL) is available, use it instead to avoid this
problem.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/ccache.c ccache-2.4/ccache.c
--- ccache-2.4.orig/ccache.c 2004-09-13 03:38:30.000000000 -0700
+++ ccache-2.4/ccache.c 2006-06-09 16:29:16.695117780 -0700
@@ -481,7 +481,11 @@
return;
}
+#ifdef HAVE_UTIMES
+ utimes(stderr_file, NULL);
+#else
utime(stderr_file, NULL);
+#endif
if (strcmp(output_file, "/dev/null") == 0) {
ret = 0;
@@ -515,7 +519,11 @@
}
if (ret == 0) {
/* update the mtime on the file so that make doesn't get confused */
+#ifdef HAVE_UTIMES
+ utimes(output_file, NULL);
+#else
utime(output_file, NULL);
+#endif
}
/* get rid of the intermediate preprocessor file */
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/ccache.h ccache-2.4/ccache.h
--- ccache-2.4.orig/ccache.h 2004-09-13 03:38:30.000000000 -0700
+++ ccache-2.4/ccache.h 2006-06-09 16:28:16.601658626 -0700
@@ -22,6 +22,9 @@
#ifdef HAVE_PWD_H
#include <pwd.h>
#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
#define STATUS_NOTFOUND 3
#define STATUS_FATAL 4
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/config.h.in ccache-2.4/config.h.in
--- ccache-2.4.orig/config.h.in 2003-09-27 21:48:17.000000000 -0700
+++ ccache-2.4/config.h.in 2006-06-09 16:25:43.000000000 -0700
@@ -19,6 +19,9 @@
/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME
+/* Define to 1 if you have the `getpwuid' function. */
+#undef HAVE_GETPWUID
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -31,6 +34,9 @@
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
+/* Define to 1 if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H
+
/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
@@ -60,6 +66,9 @@
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
@@ -69,6 +78,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define to 1 if you have the `utimes' function. */
+#undef HAVE_UTIMES
+
/* Define to 1 if you have the `vasprintf' function. */
#undef HAVE_VASPRINTF
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/configure.in ccache-2.4/configure.in
--- ccache-2.4.orig/configure.in 2004-09-13 03:38:30.000000000 -0700
+++ ccache-2.4/configure.in 2006-06-09 16:25:15.541288184 -0700
@@ -27,10 +27,11 @@
AC_HEADER_TIME
AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(ctype.h strings.h stdlib.h string.h pwd.h)
+AC_CHECK_HEADERS(ctype.h strings.h stdlib.h string.h pwd.h sys/time.h)
AC_CHECK_FUNCS(realpath snprintf vsnprintf vasprintf asprintf mkstemp)
AC_CHECK_FUNCS(gethostname getpwuid)
+AC_CHECK_FUNCS(utimes)
AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [
AC_TRY_COMPILE(

View File

@@ -1,35 +0,0 @@
https://bugzilla.samba.org/show_bug.cgi?id=7090
https://bugs.gentoo.org/338137
From 52a9cd8eb8a69f9dc6944c047faf112b7137a07b Mon Sep 17 00:00:00 2001
From: Andrew Tridgell <tridge@samba.org>
Date: Mon, 17 Jul 2006 05:41:12 +0200
Subject: [PATCH] fixed a bug in x_realloc()
---
util.c | 6 +-----
1 files changed, 1 insertions(+), 5 deletions(-)
diff --git a/util.c b/util.c
index 073fa81..29d0e5b 100644
--- a/util.c
+++ b/util.c
@@ -187,14 +187,10 @@ void *x_realloc(void *ptr, size_t size)
{
void *p2;
if (!ptr) return x_malloc(size);
- p2 = malloc(size);
+ p2 = realloc(ptr, size);
if (!p2) {
fatal("out of memory in x_realloc");
}
- if (ptr) {
- memcpy(p2, ptr, size);
- free(ptr);
- }
return p2;
}
--
1.7.3.1

View File

@@ -1,185 +0,0 @@
https://lists.samba.org/archive/ccache/2014q4/001246.html
From 5d0f507a4162ac89e05ca633dbc8056454b798f5 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Mon, 15 Sep 2014 18:15:02 -0400
Subject: [PATCH] do not rely on pids being unique
Linux supports creating pid namespaces cheaply and running processes
inside of them. When you try to share a single cache among multiple
such runs, the fact that the code relies on pid numbers as globally
unique values quickly fails. Instead, switch to standard mkstemp to
generate temp files for us.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
ccache.c | 12 ++++++------
ccache.h | 2 +-
manifest.c | 2 +-
stats.c | 10 +++++++++-
util.c | 13 ++++++++-----
5 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/ccache.c b/ccache.c
index 02dbdfa..1dc0a06 100644
--- a/ccache.c
+++ b/ccache.c
@@ -526,8 +526,11 @@ to_cache(struct args *args)
unsigned added_files = 0;
tmp_stdout = format("%s.tmp.stdout.%s", cached_obj, tmp_string());
+ create_empty_file(tmp_stdout);
tmp_stderr = format("%s.tmp.stderr.%s", cached_obj, tmp_string());
+ create_empty_file(tmp_stderr);
tmp_obj = format("%s.tmp.%s", cached_obj, tmp_string());
+ create_empty_file(tmp_obj);
args_add(args, "-o");
args_add(args, tmp_obj);
@@ -579,7 +582,7 @@ to_cache(struct args *args)
int fd_result;
char *tmp_stderr2;
- tmp_stderr2 = format("%s.tmp.stderr2.%s", cached_obj, tmp_string());
+ tmp_stderr2 = format("%s.2", tmp_stderr);
if (x_rename(tmp_stderr, tmp_stderr2)) {
cc_log("Failed to rename %s to %s: %s", tmp_stderr, tmp_stderr2,
strerror(errno));
@@ -808,6 +808,7 @@ get_object_name_from_cpp(struct args *args, struct mdfour *hash)
}
path_stderr = format("%s/tmp.cpp_stderr.%s", temp_dir, tmp_string());
+ create_empty_file(path_stderr);
add_pending_tmp_file(path_stderr);
time_of_compilation = time(NULL);
@@ -815,6 +816,7 @@ get_object_name_from_cpp(struct args *args, struct mdfour *hash)
if (!direct_i_file) {
path_stdout = format("%s/%s.tmp.%s.%s",
temp_dir, input_base, tmp_string(), i_extension);
+ create_empty_file(path_stdout);
add_pending_tmp_file(path_stdout);
/* run cpp on the input file to obtain the .i */
@@ -838,11 +843,6 @@ get_object_name_from_cpp(struct args *args, struct mdfour *hash)
can skip the cpp stage and directly form the
correct i_tmpfile */
path_stdout = input_file;
- if (create_empty_file(path_stderr) != 0) {
- cc_log("Failed to create %s: %s", path_stderr, strerror(errno));
- stats_update(STATS_ERROR);
- failed();
- }
status = 0;
}
diff --git a/ccache.h b/ccache.h
index 2bc7c87..43ef98d 100644
--- a/ccache.h
+++ b/ccache.h
@@ -130,7 +130,7 @@ size_t file_size(struct stat *st);
int safe_open(const char *fname);
char *x_realpath(const char *path);
char *gnu_getcwd(void);
-int create_empty_file(const char *fname);
+int create_empty_file(char *fname);
const char *get_home_directory(void);
char *get_cwd();
bool same_executable_name(const char *s1, const char *s2);
diff --git a/manifest.c b/manifest.c
index 7f02ede..47566d5 100644
--- a/manifest.c
+++ b/manifest.c
@@ -633,7 +633,7 @@ manifest_put(const char *manifest_path, struct file_hash *object_hash,
}
tmp_file = format("%s.tmp.%s", manifest_path, tmp_string());
- fd2 = safe_open(tmp_file);
+ fd2 = mkstemp(tmp_file);
if (fd2 == -1) {
cc_log("Failed to open %s", tmp_file);
goto out;
diff --git a/stats.c b/stats.c
index 2111b65..4ed39c2 100644
--- a/stats.c
+++ b/stats.c
@@ -126,11 +126,18 @@ stats_write(const char *path, struct counters *counters)
size_t i;
char *tmp_file;
FILE *f;
+ int fd;
tmp_file = format("%s.tmp.%s", path, tmp_string());
- f = fopen(tmp_file, "wb");
+ fd = mkstemp(tmp_file);
+ if (fd == -1) {
+ cc_log("Failed to open %s", tmp_file);
+ goto end;
+ }
+ f = fdopen(fd, "wb");
if (!f) {
cc_log("Failed to open %s", tmp_file);
+ close(fd);
goto end;
}
for (i = 0; i < counters->size; i++) {
@@ -138,6 +145,7 @@ stats_write(const char *path, struct counters *counters)
fatal("Failed to write to %s", tmp_file);
}
}
+ /* This also implicitly closes the fd. */
fclose(f);
x_rename(tmp_file, path);
diff --git a/util.c b/util.c
index 3b472de..cc630a6 100644
--- a/util.c
+++ b/util.c
@@ -195,7 +195,7 @@ copy_file(const char *src, const char *dest, int compress_dest)
struct stat st;
int errnum;
- tmp_name = format("%s.%s.XXXXXX", dest, tmp_string());
+ tmp_name = format("%s.%s", dest, tmp_string());
cc_log("Copying %s to %s via %s (%s)",
src, dest, tmp_name, compress_dest ? "compressed": "uncompressed");
@@ -427,7 +427,7 @@ tmp_string(void)
static char *ret;
if (!ret) {
- ret = format("%s.%u", get_hostname(), (unsigned)getpid());
+ ret = format("%s.%u.XXXXXX", get_hostname(), (unsigned)getpid());
}
return ret;
@@ -884,12 +884,13 @@ gnu_getcwd(void)
/* create an empty file */
int
-create_empty_file(const char *fname)
+create_empty_file(char *fname)
{
int fd;
- fd = open(fname, O_WRONLY|O_CREAT|O_TRUNC|O_EXCL|O_BINARY, 0666);
+ fd = mkstemp(fname);
if (fd == -1) {
+ cc_log("Failed to create %s: %s", fname, strerror(errno));
return -1;
}
close(fd);
@@ -1134,7 +1135,9 @@ x_unlink(const char *path)
goto out;
}
if (unlink(tmp_name) == -1) {
- result = -1;
+ /* If it was released in a race, that's OK. */
+ if (errno != ENOENT)
+ result = -1;
}
out:
free(tmp_name);
--
2.1.2

View File

@@ -1,15 +0,0 @@
avoid weak perl usage in tests
https://bugs.gentoo.org/421609
--- a/test.sh
+++ b/test.sh
@@ -1466,7 +1466,7 @@
mkdir -p $dir
i=0
while [ $i -lt 10 ]; do
- perl -e 'print "A" x 4017' >$dir/result$i-4017.o
+ printf '%4017s' '' | tr ' ' 'A' >$dir/result$i-4017.o
touch $dir/result$i-4017.stderr
touch $dir/result$i-4017.d
if [ $i -gt 5 ]; then

View File

@@ -1,156 +0,0 @@
https://bugs.gentoo.org/461966
fix from upstream
From b5d63f81c1a83fd4c50b769a96a04f581b7db70c Mon Sep 17 00:00:00 2001
From: Joel Rosdahl <joel@rosdahl.net>
Date: Wed, 20 Mar 2013 22:18:16 +0100
Subject: [PATCH] Fix test suite failure on GCC 4.8
GCC 4.8 includes /usr/include/stdc-predef.h implicitly, and this shows up
in generated .d files.
---
test.sh | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/test.sh b/test.sh
index 3ed9069..3e38387 100755
--- a/test.sh
+++ b/test.sh
@@ -3,7 +3,7 @@
# A simple test suite for ccache.
#
# Copyright (C) 2002-2007 Andrew Tridgell
-# Copyright (C) 2009-2012 Joel Rosdahl
+# Copyright (C) 2009-2013 Joel Rosdahl
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
@@ -562,6 +562,9 @@ int test3;
EOF
backdate test1.h test2.h test3.h
+ $COMPILER -c -Wp,-MD,expected.d test.c
+ expected_d_content=`cat expected.d`
+
##################################################################
# First compilation is a miss.
testname="first compilation"
@@ -677,7 +680,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -685,7 +688,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -760,7 +763,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -768,7 +771,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
##################################################################
# Check the scenario of running a ccache with direct mode on a cache
@@ -780,7 +783,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -788,7 +791,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 1
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -796,7 +799,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 2
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -804,7 +807,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 2
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
##################################################################
# Check that -MF works.
@@ -815,7 +818,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -823,7 +826,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
##################################################################
# Check that a missing .d file in the cache is handled correctly.
@@ -835,13 +838,13 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
$CCACHE $COMPILER -c -MD test.c
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
find $CCACHE_DIR -name '*.d' -exec rm -f '{}' \;
@@ -849,7 +852,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 1
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
##################################################################
# Check that stderr from both the preprocessor and the compiler is emitted
--
1.8.1.2

View File

@@ -1,100 +0,0 @@
#!/bin/sh
#
# ccache-config - helper script for ccache and its ebuild
#
# Copyright 2003-2014 Superlucidity Services, LLC
# This program licensed under the GNU GPL version 2.
#
# This script developed by Zachary T Welch at Superlucidity Services, LLC
# it was cloned from the distcc-config script
#
# Additional features to come; this provides a starting point
. /etc/init.d/functions.sh 2>/dev/null || {
ebegin() { echo " * $* ..."; }
eend() {
local r=${1:-$?}
[ ${r} -eq 0 ] && echo " [ OK ]" || echo " [ !! ]"
return $r
}
}
LIBDIR="lib"
# this should be getopt'd someday (override with CC_QUIET=1)
CC_VERBOSE=1
unset _CC_QUIET
c_quiet() {
[ -n "${CC_QUIET:-${_CC_QUIET}}" ] || [ -z "${CC_VERBOSE}" ]
}
c_ebegin() { c_quiet || ebegin "$@" ; }
c_eend() { c_quiet || eend "$@" ; }
###
# the following functions manage the ccache symlinks
# they allow the user or other scripts (namely gcc-config) to
# automatically update ccache's links when upgrading toolchains
#
cc_path() {
echo ${ROOT%/}/usr/${LIBDIR}/ccache/bin/$1
}
cc_remove_link() {
local t=$(cc_path "$1")
if [ -L ${t} ]; then
c_ebegin "Removing ${t}"
rm -f "${t}"
c_eend
# Trim the empty dir if possible. #517242
t=${t%/*}
if rmdir "${t}" 2>/dev/null; then
rmdir "${t%/*}" 2>/dev/null
fi
:
fi
}
cc_install_link() {
# Search the PATH for the specified compiler
# then create shadow link in /usr/lib/ccache/bin to ccache
if [ -n "$(type -p ${1})" ]; then
# first be sure any old link is removed
_CC_QUIET=1
cc_remove_link "${1}"
unset _CC_QUIET
# then create the new link
local t=$(cc_path "$1")
c_ebegin "Creating ccache shadow link ${t}"
mkdir -p -m 0755 "${t%/*}" && ln -s /usr/bin/ccache "${t}"
c_eend
fi
}
cc_links() {
local a
for a in gcc cc c++ g++ ; do
if [ -n "${2}" ] ; then
# gcc-config doesnt install ${CHOST}-cc, so until
# it does, don't install a ccache symlink for it
[ "${a}" = "cc" ] && continue
a="${2}-${a}"
fi
"cc_${1}_link" "${a}"
done
}
###
# main routine
case "${1}" in
--install-links )
cc_links install "${2}"
;;
--remove-links )
cc_links remove "${2}"
;;
* )
echo "usage: ${0} {--install-links|--remove-links} [ CHOST ]"
;;
esac

View File

@@ -1,97 +0,0 @@
#!/bin/sh
#
# ccache-config - helper script for ccache and its ebuild
#
# Copyright 2003-2014 Superlucidity Services, LLC
# Copyright 2013-2014 Gentoo Foundation
# This program licensed under the GNU GPL version 2.
#
# This script developed by Zachary T Welch at Superlucidity Services, LLC
# it was cloned from the distcc-config script
#
# Additional features to come; this provides a starting point
EPREFIX=''
. "${EPREFIX}"/etc/init.d/functions.sh 2>/dev/null || {
ebegin() { echo " * $* ..."; }
eend() {
local r=${1:-$?}
[ ${r} -eq 0 ] && echo " [ OK ]" || echo " [ !! ]"
return $r
}
}
LIBDIR="lib"
# this should be getopt'd someday (override with CC_QUIET=1)
CC_VERBOSE=1
unset _CC_QUIET
c_quiet() {
[ -n "${CC_QUIET:-${_CC_QUIET}}" ] || [ -z "${CC_VERBOSE}" ]
}
c_ebegin() { c_quiet || ebegin "$@" ; }
c_eend() { c_quiet || eend "$@" ; }
###
# the following functions manage the ccache symlinks
# they allow the user or other scripts (namely gcc-config) to
# automatically update ccache's links when upgrading toolchains
#
cc_path() {
echo ${ROOT%/}${EPREFIX}/usr/${LIBDIR}/ccache/bin/$1
}
cc_remove_link() {
local t=$(cc_path "$1")
if [ -L ${t} ]; then
c_ebegin "Removing ${t}"
rm -f "${t}"
c_eend
# Trim the empty dir if possible. #517242
t=${t%/*}
if rmdir "${t}" 2>/dev/null; then
rmdir "${t%/*}" 2>/dev/null
fi
:
fi
}
cc_install_link() {
# Search the PATH for the specified compiler
# then create shadow link in /usr/lib/ccache/bin to ccache
if command -v "$1" >/dev/null ; then
# first be sure any old link is removed
_CC_QUIET=1
cc_remove_link "$1"
unset _CC_QUIET
# then create the new link
local t=$(cc_path "$1")
c_ebegin "Creating ccache shadow link ${t}"
mkdir -p -m 0755 "${t%/*}" && ln -s "${EPREFIX}"/usr/bin/ccache "${t}"
c_eend
fi
}
cc_links() {
local a
for a in gcc cc c++ g++ icc icpc clang clang++ ; do
"cc_${1}_link" "${2}${2:+-}${a}"
done
}
###
# main routine
case $1 in
--install-links )
cc_links install "$2"
;;
--remove-links )
cc_links remove "$2"
;;
* )
echo "usage: $0 {--install-links|--remove-links} [ CHOST ]"
;;
esac