* [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir
@ 2017-08-17 8:36 Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 01/12] dev-util/shadowman: New package Michał Górny
` (14 more replies)
0 siblings, 15 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev; +Cc: cluster, robbat2, toolchain, suse, llvm
Hi, everyone.
I've written a new tool called shadowman [1] that aims to partially
replace the current *-config tools shipped with ccache, distcc, icecc
and potentially more.
Why? Because the existing tools are inconsistent, inconvenient
and usually incomplete. The README [2] states a number of advantages:
| 1. one usage syntax that works for all tools,
|
| 2. ability to update/clean masquerades for multiple tools in one call,
|
| 3. consistent (and *good*) implementation -- now all tools get the same
| executable list,
|
| 4. reduced code duplication,
|
| 5. modular layout that allows adding extra tools/compiler wildcards
| by third-party packages.
This thread includes patches that:
a. add the package for shadowman (skipping some bundled modules for
external inclusion) -- for testing it's just a live ebuild with full
keyword set; I will obviously change that before the final inclusion;
b. adds shadowman support to ccache, distcc & icecream packages
(preserving the old utilities for compatibility),
c. adds shadowman update call to toolchain.eclass & clang ebuilds
so that the masquerades get updated automatically on gcc/clang upgrade.
Please review. Alternatively available as PR on GitHub [3].
[1]:https://github.com/mgorny/shadowman
[2]:https://github.com/mgorny/shadowman/blob/master/README
[3]:https://github.com/gentoo/gentoo/pull/5386
^ permalink raw reply [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 01/12] dev-util/shadowman: New package
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
` (13 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
dev-util/shadowman/metadata.xml | 8 ++++++++
dev-util/shadowman/shadowman-9999.ebuild | 27 +++++++++++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644 dev-util/shadowman/metadata.xml
create mode 100644 dev-util/shadowman/shadowman-9999.ebuild
diff --git a/dev-util/shadowman/metadata.xml b/dev-util/shadowman/metadata.xml
new file mode 100644
index 000000000000..0319eec4c8be
--- /dev/null
+++ b/dev-util/shadowman/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-util/shadowman/shadowman-9999.ebuild b/dev-util/shadowman/shadowman-9999.ebuild
new file mode 100644
index 000000000000..990b92e51623
--- /dev/null
+++ b/dev-util/shadowman/shadowman-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGIT_REPO_URI="https://github.com/mgorny/shadowman"
+inherit git-r3
+
+DESCRIPTION="Unified compiler shadow link directory updater"
+HOMEPAGE="https://github.com/mgorny/shadowman"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+# note: only for testing
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+RDEPEND="app-admin/eselect"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ # tool modules are split into their respective packages
+ emake DESTDIR="${D}" install \
+ INSTALL_MODULES_TOOL=""
+ keepdir /usr/share/shadowman/tools
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 01/12] dev-util/shadowman: New package Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:48 ` David Seifert
2017-08-17 8:36 ` [gentoo-dev] [PATCH 03/12] dev-util/ccache: Install dev-util/shadowman data file Michał Górny
` (12 subsequent siblings)
14 siblings, 1 reply; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
dev-util/ccache/ccache-3.3.4-r1.ebuild | 68 ++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
create mode 100644 dev-util/ccache/ccache-3.3.4-r1.ebuild
diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-util/ccache/ccache-3.3.4-r1.ebuild
new file mode 100644
index 000000000000..1ef1d45179d1
--- /dev/null
+++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit readme.gentoo-r1
+
+DESCRIPTION="fast compiler cache"
+HOMEPAGE="http://ccache.samba.org/"
+SRC_URI="https://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
+ eapply "${FILESDIR}"/${PN}-3.3-size-on-disk.patch #456178
+ eapply_user
+ sed \
+ -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
+ "${FILESDIR}"/ccache-config-3 > ccache-config || die
+}
+
+src_install() {
+ DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.md )
+ 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
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 03/12] dev-util/ccache: Install dev-util/shadowman data file
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 01/12] dev-util/shadowman: New package Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm Michał Górny
` (11 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
dev-util/ccache/ccache-3.3.4-r1.ebuild | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-util/ccache/ccache-3.3.4-r1.ebuild
index 1ef1d45179d1..2fd005d88041 100644
--- a/dev-util/ccache/ccache-3.3.4-r1.ebuild
+++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
@@ -34,6 +34,8 @@ src_install() {
default
dobin ccache-config
+ insinto /usr/share/shadowman/tools
+ newins - ccache <<<'/usr/lib/ccache/bin'
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (2 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 03/12] dev-util/ccache: Install dev-util/shadowman data file Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 05/12] sys-devel/distcc: Convert to EAPI=6 Michał Górny
` (10 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
dev-util/ccache/ccache-3.3.4-r1.ebuild | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-util/ccache/ccache-3.3.4-r1.ebuild
index 2fd005d88041..5a6ccd9fe56c 100644
--- a/dev-util/ccache/ccache-3.3.4-r1.ebuild
+++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
@@ -17,6 +17,7 @@ IUSE=""
DEPEND="app-arch/xz-utils
sys-libs/zlib"
RDEPEND="${DEPEND}
+ dev-util/shadowman
sys-apps/gentoo-functions"
src_prepare() {
@@ -53,17 +54,14 @@ ccache now supports sys-devel/clang and dev-lang/icc, too!"
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
- "${EROOT}"/usr/bin/ccache-config --remove-links
- "${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
+ eselect compiler-shadow remove ccache
fi
}
pkg_postinst() {
- "${EROOT}"/usr/bin/ccache-config --install-links
- "${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
+ eselect compiler-shadow update ccache
# 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
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 05/12] sys-devel/distcc: Convert to EAPI=6
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (3 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 06/12] sys-devel/distcc: Install dev-util/shadowman data file Michał Górny
` (9 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/distcc/distcc-3.2_rc1-r5.ebuild | 199 ++++++++++++++++++++++++++++++
1 file changed, 199 insertions(+)
create mode 100644 sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
diff --git a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
new file mode 100644
index 000000000000..741fa929f503
--- /dev/null
+++ b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools flag-o-matic python-single-r1 systemd toolchain-funcs user xdg-utils
+
+MY_P="${P/_}"
+DESCRIPTION="Distribute compilation of C code across several machines on a network"
+HOMEPAGE="http://distcc.org/"
+SRC_URI="https://distcc.googlecode.com/files/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="crossdev gnome gssapi gtk hardened ipv6 selinux xinetd zeroconf"
+
+RESTRICT="test"
+
+CDEPEND="${PYTHON_DEPS}
+ dev-libs/popt
+ gnome? (
+ >=gnome-base/libgnome-2
+ >=gnome-base/libgnomeui-2
+ x11-libs/gtk+:2
+ x11-libs/pango
+ )
+ gssapi? ( net-libs/libgssglue )
+ gtk? ( x11-libs/gtk+:2 )
+ zeroconf? ( >=net-dns/avahi-0.6[dbus] )
+"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ !net-misc/pump
+ >=sys-devel/gcc-config-1.4.1
+ selinux? ( sec-policy/selinux-distcc )
+ xinetd? ( sys-apps/xinetd )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}/${MY_P}"
+
+DCCC_PATH="/usr/$(get_libdir)/distcc/bin"
+DISTCC_VERBOSE="0"
+
+pkg_setup() {
+ enewuser distcc 240 -1 -1 daemon
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-3.0-xinetd.patch"
+ # bug #253786
+ eapply "${FILESDIR}/${PN}-3.0-fix-fortify.patch"
+ # bug #255188
+ eapply "${FILESDIR}/${PN}-3.2_rc1-freedesktop.patch"
+ # bug #258364
+ eapply "${FILESDIR}/${PN}-3.2_rc1-python.patch"
+ # for net-libs/libgssglue
+ eapply "${FILESDIR}/${PN}-3.2_rc1-gssapi.patch"
+ # SOCKSv5 support needed for Portage, bug #537616
+ eapply "${FILESDIR}/${PN}-3.2_rc1-socks5.patch"
+ eapply_user
+
+ # Bugs #120001, #167844 and probably more. See patch for description.
+ use hardened && eapply "${FILESDIR}/distcc-hardened.patch"
+
+ sed -i \
+ -e "/PATH/s:\$distcc_location:${EPREFIX}${DCCC_PATH}:" \
+ -e "s:@PYTHON@:${EPYTHON}:" \
+ pump.in || die "sed failed"
+
+ sed \
+ -e "s:@EPREFIX@:${EPREFIX:-/}:" \
+ -e "s:@libdir@:/usr/$(get_libdir):" \
+ "${FILESDIR}/3.2/distcc-config" > "${T}/distcc-config" || die
+
+ eaclocal -Im4 --output=aclocal.m4
+ eautoconf
+}
+
+src_configure() {
+ local myconf="--disable-Werror --with-docdir=\$(datadir)/doc/${PF}"
+
+ # --disable-rfc2553 b0rked, bug #254176
+ use ipv6 && myconf="${myconf} --enable-rfc2553"
+
+ econf \
+ $(use_with gtk) \
+ $(use_with gnome) \
+ $(use_with gssapi auth) \
+ $(use_with zeroconf avahi) \
+ ${myconf}
+}
+
+src_install() {
+ default
+ python_optimize
+
+ newinitd "${FILESDIR}/3.2/init" distccd
+ systemd_dounit "${FILESDIR}/distccd.service"
+ systemd_install_serviced "${FILESDIR}/distccd.service.conf"
+
+ cp "${FILESDIR}/3.2/conf" "${T}/distccd" || die
+ if use zeroconf; then
+ cat >> "${T}/distccd" <<-EOF || die
+
+ # Enable zeroconf support in distccd
+ DISTCCD_OPTS="\${DISTCCD_OPTS} --zeroconf"
+ EOF
+
+ sed -i '/ExecStart/ s|$| --zeroconf|' "${D}$(systemd_get_systemunitdir)"/distccd.service || die
+ fi
+ doconfd "${T}/distccd" || die
+
+ cat > "${T}/02distcc" <<-EOF || die
+ # This file is managed by distcc-config; use it to change these settings.
+ # DISTCC_LOG and DISTCC_DIR should not be set.
+ DISTCC_VERBOSE="${DISTCC_VERBOSE:-0}"
+ DISTCC_FALLBACK="${DISTCC_FALLBACK:-1}"
+ DISTCC_SAVE_TEMPS="${DISTCC_SAVE_TEMPS:-0}"
+ DISTCC_TCP_CORK="${DISTCC_TCP_CORK}"
+ DISTCC_SSH="${DISTCC_SSH}"
+ UNCACHED_ERR_FD="${UNCACHED_ERR_FD}"
+ DISTCC_ENABLE_DISCREPANCY_EMAIL="${DISTCC_ENABLE_DISCREPANCY_EMAIL}"
+ DCC_EMAILLOG_WHOM_TO_BLAME="${DCC_EMAILLOG_WHOM_TO_BLAME}"
+ EOF
+ doenvd "${T}/02distcc" || die
+
+ keepdir "${DCCC_PATH}" || die
+
+ dobin "${T}/distcc-config" || die
+
+ if use gnome || use gtk; then
+ einfo "Renaming /usr/bin/distccmon-gnome to /usr/bin/distccmon-gui"
+ einfo "This is to have a little sensability in naming schemes between distccmon programs"
+ mv "${ED}/usr/bin/distccmon-gnome" "${ED}/usr/bin/distccmon-gui" || die
+ dosym distccmon-gui /usr/bin/distccmon-gnome || die
+ fi
+
+ if use xinetd; then
+ insinto /etc/xinetd.d || die
+ newins "doc/example/xinetd" distcc || die
+ fi
+
+ rm -r "${ED}/etc/default" || die
+ rm "${ED}/etc/distcc/clients.allow" || die
+ rm "${ED}/etc/distcc/commands.allow.sh" || die
+}
+
+pkg_postinst() {
+ if [ -x "${EPREFIX}/usr/bin/distcc-config" ] ; then
+ if use crossdev; then
+ "${EPREFIX}/usr/bin/distcc-config" --update-masquerade-with-crossdev
+ else
+ "${EPREFIX}/usr/bin/distcc-config" --update-masquerade
+ fi
+ fi
+
+ use gnome && xdg_desktop_database_update
+
+ elog
+ elog "Tips on using distcc with Gentoo can be found at"
+ elog "https://wiki.gentoo.org/wiki/Distcc"
+ elog
+ elog "How to use pump mode with Gentoo:"
+ elog "# distcc-config --set-hosts \"foo,cpp,lzo bar,cpp,lzo baz,cpp,lzo\""
+ elog "# echo 'FEATURES=\"\${FEATURES} distcc distcc-pump\"' >> /etc/portage/make.conf"
+ elog "# emerge -u world"
+ elog
+ elog "To use the distccmon programs with Gentoo you should use this command:"
+ elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-text 5"
+
+ if use gnome || use gtk; then
+ elog "Or:"
+ elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-gnome"
+ fi
+
+ elog
+ elog "***SECURITY NOTICE***"
+ elog "If you are upgrading distcc please make sure to run etc-update to"
+ elog "update your /etc/conf.d/distccd and /etc/init.d/distccd files with"
+ elog "added security precautions (the --listen and --allow directives)"
+ elog
+}
+
+pkg_postrm() {
+ # delete the masquerade directory
+ if [ ! -f "${EPREFIX}/usr/bin/distcc" ] ; then
+ einfo "Remove masquerade symbolic links."
+ rm "${EPREFIX}${DCCC_PATH}/"*{cc,c++,gcc,g++}
+ rmdir "${EPREFIX}${DCCC_PATH}"
+ fi
+
+ use gnome && xdg_desktop_database_update
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 06/12] sys-devel/distcc: Install dev-util/shadowman data file
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (4 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 05/12] sys-devel/distcc: Convert to EAPI=6 Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm Michał Górny
` (8 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/distcc/distcc-3.2_rc1-r5.ebuild | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
index 741fa929f503..c91826e107c4 100644
--- a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
+++ b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
@@ -146,6 +146,9 @@ src_install() {
newins "doc/example/xinetd" distcc || die
fi
+ insinto /usr/share/shadowman/tools
+ newins - distcc <<<"${DCCC_PATH}"
+
rm -r "${ED}/etc/default" || die
rm "${ED}/etc/distcc/clients.allow" || die
rm "${ED}/etc/distcc/commands.allow.sh" || die
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (5 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 06/12] sys-devel/distcc: Install dev-util/shadowman data file Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 08/12] sys-devel/icecream: Convert to EAPI=6 Michał Górny
` (7 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/distcc/distcc-3.2_rc1-r5.ebuild | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
diff --git a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
index c91826e107c4..226ec963f269 100644
--- a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
+++ b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://distcc.googlecode.com/files/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
-IUSE="crossdev gnome gssapi gtk hardened ipv6 selinux xinetd zeroconf"
+IUSE="gnome gssapi gtk hardened ipv6 selinux xinetd zeroconf"
RESTRICT="test"
@@ -35,6 +35,7 @@ DEPEND="${CDEPEND}
virtual/pkgconfig"
RDEPEND="${CDEPEND}
!net-misc/pump
+ dev-util/shadowman
>=sys-devel/gcc-config-1.4.1
selinux? ( sec-policy/selinux-distcc )
xinetd? ( sys-apps/xinetd )"
@@ -155,13 +156,7 @@ src_install() {
}
pkg_postinst() {
- if [ -x "${EPREFIX}/usr/bin/distcc-config" ] ; then
- if use crossdev; then
- "${EPREFIX}/usr/bin/distcc-config" --update-masquerade-with-crossdev
- else
- "${EPREFIX}/usr/bin/distcc-config" --update-masquerade
- fi
- fi
+ eselect compiler-shadow update distcc
use gnome && xdg_desktop_database_update
@@ -190,13 +185,12 @@ pkg_postinst() {
elog
}
-pkg_postrm() {
- # delete the masquerade directory
- if [ ! -f "${EPREFIX}/usr/bin/distcc" ] ; then
- einfo "Remove masquerade symbolic links."
- rm "${EPREFIX}${DCCC_PATH}/"*{cc,c++,gcc,g++}
- rmdir "${EPREFIX}${DCCC_PATH}"
+pkg_prerm() {
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ eselect compiler-shadow remove distcc
fi
+}
+pkg_postrm() {
use gnome && xdg_desktop_database_update
}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 08/12] sys-devel/icecream: Convert to EAPI=6
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (6 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 09/12] sys-devel/icecream: Install dev-util/shadowman data file Michał Górny
` (6 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/icecream/icecream-1.0.0-r2.ebuild | 51 +++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 sys-devel/icecream/icecream-1.0.0-r2.ebuild
diff --git a/sys-devel/icecream/icecream-1.0.0-r2.ebuild b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
new file mode 100644
index 000000000000..ec2858a94ac8
--- /dev/null
+++ b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${P/icecream/icecc}"
+
+inherit user
+
+DESCRIPTION="icecc is a program for distributed compiling of C(++) code across several machines; based on distcc"
+HOMEPAGE="https://github.com/icecc/icecream"
+SRC_URI="ftp://ftp.suse.com/pub/projects/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
+IUSE=""
+
+RDEPEND="
+ sys-libs/libcap-ng
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-libcap-ng.patch"
+)
+
+pkg_setup() {
+ enewgroup icecream
+ enewuser icecream -1 -1 /var/cache/icecream icecream
+}
+
+src_configure() {
+ econf \
+ --enable-shared --disable-static \
+ --enable-clang-wrappers \
+ --enable-clang-rewrite-includes
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+
+ newconfd suse/sysconfig.icecream icecream
+ newinitd "${FILESDIR}"/icecream-r2 icecream
+
+ insinto /etc/logrotate.d
+ newins suse/logrotate icecream
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 09/12] sys-devel/icecream: Install dev-util/shadowman data file
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (7 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 08/12] sys-devel/icecream: Convert to EAPI=6 Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm Michał Górny
` (5 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/icecream/icecream-1.0.0-r2.ebuild | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/icecream/icecream-1.0.0-r2.ebuild b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
index ec2858a94ac8..187928a2290d 100644
--- a/sys-devel/icecream/icecream-1.0.0-r2.ebuild
+++ b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
@@ -48,4 +48,7 @@ src_install() {
insinto /etc/logrotate.d
newins suse/logrotate icecream
+
+ insinto /usr/share/shadowman/tools
+ newins - icecc <<<'/usr/libexec/icecc/bin'
}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (8 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 09/12] sys-devel/icecream: Install dev-util/shadowman data file Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm Michał Górny
` (4 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/icecream/icecream-1.0.0-r2.ebuild | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/sys-devel/icecream/icecream-1.0.0-r2.ebuild b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
index 187928a2290d..11a57f81722e 100644
--- a/sys-devel/icecream/icecream-1.0.0-r2.ebuild
+++ b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
@@ -17,6 +17,7 @@ KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
IUSE=""
RDEPEND="
+ dev-util/shadowman
sys-libs/libcap-ng
"
DEPEND="${RDEPEND}"
@@ -52,3 +53,13 @@ src_install() {
insinto /usr/share/shadowman/tools
newins - icecc <<<'/usr/libexec/icecc/bin'
}
+
+pkg_prerm() {
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ eselect compiler-shadow remove icecc
+ fi
+}
+
+pkg_postinst() {
+ eselect compiler-shadow update icecc
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (9 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman Michał Górny
` (3 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
eclass/toolchain.eclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index ae2db7f0a442..51b37c54ccbd 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2067,6 +2067,9 @@ gcc_slot_java() {
toolchain_pkg_postinst() {
do_gcc_config
+ if [[ -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
if ! is_crosscompile ; then
echo
@@ -2105,6 +2108,10 @@ toolchain_pkg_postinst() {
}
toolchain_pkg_postrm() {
+ if [[ -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+
# to make our lives easier (and saner), we do the fix_libtool stuff here.
# rather than checking SLOT's and trying in upgrade paths, we just see if
# the common libstdc++.la exists in the ${LIBPATH} of the gcc that we are
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (10 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm Michał Górny
@ 2017-08-17 8:36 ` Michał Górny
2017-08-17 10:14 ` [gentoo-dev] Re: [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Sergei Trofimovich
` (2 subsequent siblings)
14 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-17 8:36 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/clang/clang-4.0.1.ebuild | 12 ++++++++++++
sys-devel/clang/clang-5.0.9999.ebuild | 12 ++++++++++++
sys-devel/clang/clang-9999.ebuild | 12 ++++++++++++
3 files changed, 36 insertions(+)
diff --git a/sys-devel/clang/clang-4.0.1.ebuild b/sys-devel/clang/clang-4.0.1.ebuild
index 21a5adf2696c..5cf2e54b13ff 100644
--- a/sys-devel/clang/clang-4.0.1.ebuild
+++ b/sys-devel/clang/clang-4.0.1.ebuild
@@ -276,3 +276,15 @@ multilib_src_install_all() {
# +x for some reason; TODO: investigate
use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
}
+
+pkg_postinst() {
+ if [[ -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+}
+
+pkg_postrm() {
+ if [[ -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
diff --git a/sys-devel/clang/clang-5.0.9999.ebuild b/sys-devel/clang/clang-5.0.9999.ebuild
index 2ecd222748d1..15f5fee5e73b 100644
--- a/sys-devel/clang/clang-5.0.9999.ebuild
+++ b/sys-devel/clang/clang-5.0.9999.ebuild
@@ -273,3 +273,15 @@ multilib_src_install_all() {
# +x for some reason; TODO: investigate
use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
}
+
+pkg_postinst() {
+ if [[ -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+}
+
+pkg_postrm() {
+ if [[ -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
diff --git a/sys-devel/clang/clang-9999.ebuild b/sys-devel/clang/clang-9999.ebuild
index 8dd135d6aa25..0114fae03aae 100644
--- a/sys-devel/clang/clang-9999.ebuild
+++ b/sys-devel/clang/clang-9999.ebuild
@@ -277,3 +277,15 @@ multilib_src_install_all() {
# +x for some reason; TODO: investigate
use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
}
+
+pkg_postinst() {
+ if [[ -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+}
+
+pkg_postrm() {
+ if [[ -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6
2017-08-17 8:36 ` [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
@ 2017-08-17 8:48 ` David Seifert
2017-08-17 9:00 ` Michał Górny
0 siblings, 1 reply; 33+ messages in thread
From: David Seifert @ 2017-08-17 8:48 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
On Thu, 2017-08-17 at 10:36 +0200, Michał Górny wrote:
> ---
> dev-util/ccache/ccache-3.3.4-r1.ebuild | 68
> ++++++++++++++++++++++++++++++++++
> 1 file changed, 68 insertions(+)
> create mode 100644 dev-util/ccache/ccache-3.3.4-r1.ebuild
>
> diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-
> util/ccache/ccache-3.3.4-r1.ebuild
> new file mode 100644
> index 000000000000..1ef1d45179d1
> --- /dev/null
> +++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
> @@ -0,0 +1,68 @@
> +# Copyright 1999-2017 Gentoo Foundation
> +# Distributed under the terms of the GNU General Public License v2
> +
> +EAPI=6
> +
> +inherit readme.gentoo-r1
> +
> +DESCRIPTION="fast compiler cache"
> +HOMEPAGE="http://ccache.samba.org/"
> +SRC_URI="https://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
> + eapply "${FILESDIR}"/${PN}-3.3-size-on-disk.patch #456178
> + eapply_user
> + sed \
> + -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
> + "${FILESDIR}"/ccache-config-3 > ccache-config || die
> +}
> +
> +src_install() {
> + DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.md )
> + 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
> +}
While I personally am not as uptight about 'local'ising variables, I
believe making DOC_CONTENTS local serves an important purpose: to dodge
any chance of people thinking it is allowed to leak into pkg_* phases
(i.e. the whole rationale of readme.gentoo-r1 in the first place). For
DOCS and friends its irrelevant, as their semantics are only import in
src_* phases.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6
2017-08-17 8:48 ` David Seifert
@ 2017-08-17 9:00 ` Michał Górny
2017-08-17 9:08 ` David Seifert
0 siblings, 1 reply; 33+ messages in thread
From: Michał Górny @ 2017-08-17 9:00 UTC (permalink / raw
To: gentoo-dev; +Cc: cluster, robbat2, toolchain, suse, llvm
W dniu czw, 17.08.2017 o godzinie 10∶48 +0200, użytkownik David Seifert
napisał:
> On Thu, 2017-08-17 at 10:36 +0200, Michał Górny wrote:
> > ---
> > dev-util/ccache/ccache-3.3.4-r1.ebuild | 68
> > ++++++++++++++++++++++++++++++++++
> > 1 file changed, 68 insertions(+)
> > create mode 100644 dev-util/ccache/ccache-3.3.4-r1.ebuild
> >
> > diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-
> > util/ccache/ccache-3.3.4-r1.ebuild
> > new file mode 100644
> > index 000000000000..1ef1d45179d1
> > --- /dev/null
> > +++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
> > @@ -0,0 +1,68 @@
> > +# Copyright 1999-2017 Gentoo Foundation
> > +# Distributed under the terms of the GNU General Public License v2
> > +
> > +EAPI=6
> > +
> > +inherit readme.gentoo-r1
> > +
> > +DESCRIPTION="fast compiler cache"
> > +HOMEPAGE="http://ccache.samba.org/"
> > +SRC_URI="https://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
> > + eapply "${FILESDIR}"/${PN}-3.3-size-on-disk.patch #456178
> > + eapply_user
> > + sed \
> > + -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
> > + "${FILESDIR}"/ccache-config-3 > ccache-config || die
> > +}
> > +
> > +src_install() {
> > + DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.md )
> > + 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
> > +}
>
> While I personally am not as uptight about 'local'ising variables, I
> believe making DOC_CONTENTS local serves an important purpose: to dodge
> any chance of people thinking it is allowed to leak into pkg_* phases
> (i.e. the whole rationale of readme.gentoo-r1 in the first place). For
> DOCS and friends its irrelevant, as their semantics are only import in
> src_* phases.
>
Are you saying that I should move it to pkg_setup()?
--
Best regards,
Michał Górny
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6
2017-08-17 9:00 ` Michał Górny
@ 2017-08-17 9:08 ` David Seifert
0 siblings, 0 replies; 33+ messages in thread
From: David Seifert @ 2017-08-17 9:08 UTC (permalink / raw
To: gentoo-dev; +Cc: cluster, robbat2, toolchain, suse, llvm
On Thu, 2017-08-17 at 11:00 +0200, Michał Górny wrote:
> W dniu czw, 17.08.2017 o godzinie 10∶48 +0200, użytkownik David
> Seifert
> napisał:
> > On Thu, 2017-08-17 at 10:36 +0200, Michał Górny wrote:
> > > ---
> > > dev-util/ccache/ccache-3.3.4-r1.ebuild | 68
> > > ++++++++++++++++++++++++++++++++++
> > > 1 file changed, 68 insertions(+)
> > > create mode 100644 dev-util/ccache/ccache-3.3.4-r1.ebuild
> > >
> > > diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-
> > > util/ccache/ccache-3.3.4-r1.ebuild
> > > new file mode 100644
> > > index 000000000000..1ef1d45179d1
> > > --- /dev/null
> > > +++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
> > > @@ -0,0 +1,68 @@
> > > +# Copyright 1999-2017 Gentoo Foundation
> > > +# Distributed under the terms of the GNU General Public License
> > > v2
> > > +
> > > +EAPI=6
> > > +
> > > +inherit readme.gentoo-r1
> > > +
> > > +DESCRIPTION="fast compiler cache"
> > > +HOMEPAGE="http://ccache.samba.org/"
> > > +SRC_URI="https://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
> > > + eapply "${FILESDIR}"/${PN}-3.3-size-on-disk.patch
> > > #456178
> > > + eapply_user
> > > + sed \
> > > + -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
> > > + "${FILESDIR}"/ccache-config-3 > ccache-config ||
> > > die
> > > +}
> > > +
> > > +src_install() {
> > > + DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.md )
> > > + 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
> > > +}
> >
> > While I personally am not as uptight about 'local'ising variables,
> > I
> > believe making DOC_CONTENTS local serves an important purpose: to
> > dodge
> > any chance of people thinking it is allowed to leak into pkg_*
> > phases
> > (i.e. the whole rationale of readme.gentoo-r1 in the first place).
> > For
> > DOCS and friends its irrelevant, as their semantics are only import
> > in
> > src_* phases.
> >
>
> Are you saying that I should move it to pkg_setup()?
>
No, all I'm saying is make DOC_CONTENTS local in src_install().
^ permalink raw reply [flat|nested] 33+ messages in thread
* [gentoo-dev] Re: [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (11 preceding siblings ...)
2017-08-17 8:36 ` [gentoo-dev] [PATCH 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman Michał Górny
@ 2017-08-17 10:14 ` Sergei Trofimovich
2017-08-19 10:19 ` [gentoo-dev] " Manuel Rüger
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
14 siblings, 0 replies; 33+ messages in thread
From: Sergei Trofimovich @ 2017-08-17 10:14 UTC (permalink / raw
To: Michał Górny
Cc: gentoo-dev, cluster, robbat2, toolchain, suse, llvm
[-- Attachment #1: Type: text/plain, Size: 1597 bytes --]
On Thu, 17 Aug 2017 10:36:29 +0200
Michał Górny <mgorny@gentoo.org> wrote:
> Hi, everyone.
>
> I've written a new tool called shadowman [1] that aims to partially
> replace the current *-config tools shipped with ccache, distcc, icecc
> and potentially more.
>
> Why? Because the existing tools are inconsistent, inconvenient
> and usually incomplete. The README [2] states a number of advantages:
>
> | 1. one usage syntax that works for all tools,
> |
> | 2. ability to update/clean masquerades for multiple tools in one call,
> |
> | 3. consistent (and *good*) implementation -- now all tools get the same
> | executable list,
> |
> | 4. reduced code duplication,
> |
> | 5. modular layout that allows adding extra tools/compiler wildcards
> | by third-party packages.
>
> This thread includes patches that:
>
> a. add the package for shadowman (skipping some bundled modules for
> external inclusion) -- for testing it's just a live ebuild with full
> keyword set; I will obviously change that before the final inclusion;
>
> b. adds shadowman support to ccache, distcc & icecream packages
> (preserving the old utilities for compatibility),
>
> c. adds shadowman update call to toolchain.eclass & clang ebuilds
> so that the masquerades get updated automatically on gcc/clang upgrade.
>
> Please review. Alternatively available as PR on GitHub [3].
>
> [1]:https://github.com/mgorny/shadowman
> [2]:https://github.com/mgorny/shadowman/blob/master/README
> [3]:https://github.com/gentoo/gentoo/pull/5386
>
Looks ok.
--
Sergei
[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (12 preceding siblings ...)
2017-08-17 10:14 ` [gentoo-dev] Re: [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Sergei Trofimovich
@ 2017-08-19 10:19 ` Manuel Rüger
2017-08-19 10:53 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
14 siblings, 1 reply; 33+ messages in thread
From: Manuel Rüger @ 2017-08-19 10:19 UTC (permalink / raw
To: gentoo-dev
On 17.08.2017 10:36, Michał Górny wrote:
> Hi, everyone.
>
> I've written a new tool called shadowman [1] that aims to partially
> replace the current *-config tools shipped with ccache, distcc, icecc
> and potentially more.
>
> Why? Because the existing tools are inconsistent, inconvenient
> and usually incomplete. The README [2] states a number of advantages:
>
> | 1. one usage syntax that works for all tools,
> |
> | 2. ability to update/clean masquerades for multiple tools in one call,
> |
> | 3. consistent (and *good*) implementation -- now all tools get the same
> | executable list,
> |
> | 4. reduced code duplication,
> |
> | 5. modular layout that allows adding extra tools/compiler wildcards
> | by third-party packages.
>
> This thread includes patches that:
>
> a. add the package for shadowman (skipping some bundled modules for
> external inclusion) -- for testing it's just a live ebuild with full
> keyword set; I will obviously change that before the final inclusion;
>
> b. adds shadowman support to ccache, distcc & icecream packages
> (preserving the old utilities for compatibility),
>
> c. adds shadowman update call to toolchain.eclass & clang ebuilds
> so that the masquerades get updated automatically on gcc/clang upgrade.
>
> Please review. Alternatively available as PR on GitHub [3].
>
> [1]:https://github.com/mgorny/shadowman
> [2]:https://github.com/mgorny/shadowman/blob/master/README
> [3]:https://github.com/gentoo/gentoo/pull/5386
>
>
Have you considered moving it under the gentoo umbrella (e.g., mirror it
on git.gentoo.org or move it to the gentoo organisation)?
Thanks,
Manuel
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir
2017-08-19 10:19 ` [gentoo-dev] " Manuel Rüger
@ 2017-08-19 10:53 ` Michał Górny
2017-08-19 11:10 ` Manuel Rüger
0 siblings, 1 reply; 33+ messages in thread
From: Michał Górny @ 2017-08-19 10:53 UTC (permalink / raw
To: gentoo-dev, Manuel Rüger
Dnia 19 sierpnia 2017 12:19:18 CEST, "Manuel Rüger" <mrueg@gentoo.org> napisał(a):
>On 17.08.2017 10:36, Michał Górny wrote:
>> Hi, everyone.
>>
>> I've written a new tool called shadowman [1] that aims to partially
>> replace the current *-config tools shipped with ccache, distcc, icecc
>> and potentially more.
>>
>> Why? Because the existing tools are inconsistent, inconvenient
>> and usually incomplete. The README [2] states a number of advantages:
>>
>> | 1. one usage syntax that works for all tools,
>> |
>> | 2. ability to update/clean masquerades for multiple tools in one
>call,
>> |
>> | 3. consistent (and *good*) implementation -- now all tools get the
>same
>> | executable list,
>> |
>> | 4. reduced code duplication,
>> |
>> | 5. modular layout that allows adding extra tools/compiler wildcards
>> | by third-party packages.
>>
>> This thread includes patches that:
>>
>> a. add the package for shadowman (skipping some bundled modules for
>> external inclusion) -- for testing it's just a live ebuild with full
>> keyword set; I will obviously change that before the final inclusion;
>>
>> b. adds shadowman support to ccache, distcc & icecream packages
>> (preserving the old utilities for compatibility),
>>
>> c. adds shadowman update call to toolchain.eclass & clang ebuilds
>> so that the masquerades get updated automatically on gcc/clang
>upgrade.
>>
>> Please review. Alternatively available as PR on GitHub [3].
>>
>> [1]:https://github.com/mgorny/shadowman
>> [2]:https://github.com/mgorny/shadowman/blob/master/README
>> [3]:https://github.com/gentoo/gentoo/pull/5386
>>
>>
>Have you considered moving it under the gentoo umbrella (e.g., mirror
>it
>on git.gentoo.org or move it to the gentoo organisation)?
No, I'm not interested in giving away credit to my personal work which I'm personally maintaining.
>
>Thanks,
>Manuel
--
Best regards,
Michał Górny (by phone)
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir
2017-08-19 10:53 ` Michał Górny
@ 2017-08-19 11:10 ` Manuel Rüger
0 siblings, 0 replies; 33+ messages in thread
From: Manuel Rüger @ 2017-08-19 11:10 UTC (permalink / raw
To: Michał Górny, gentoo-dev
On 19.08.2017 12:53, Michał Górny wrote:
> Dnia 19 sierpnia 2017 12:19:18 CEST, "Manuel Rüger" <mrueg@gentoo.org> napisał(a):
>> On 17.08.2017 10:36, Michał Górny wrote:
>>> Hi, everyone.
>>>
>>> I've written a new tool called shadowman [1] that aims to partially
>>> replace the current *-config tools shipped with ccache, distcc, icecc
>>> and potentially more.
>>>
>>> Why? Because the existing tools are inconsistent, inconvenient
>>> and usually incomplete. The README [2] states a number of advantages:
>>>
>>> | 1. one usage syntax that works for all tools,
>>> |
>>> | 2. ability to update/clean masquerades for multiple tools in one
>> call,
>>> |
>>> | 3. consistent (and *good*) implementation -- now all tools get the
>> same
>>> | executable list,
>>> |
>>> | 4. reduced code duplication,
>>> |
>>> | 5. modular layout that allows adding extra tools/compiler wildcards
>>> | by third-party packages.
>>>
>>> This thread includes patches that:
>>>
>>> a. add the package for shadowman (skipping some bundled modules for
>>> external inclusion) -- for testing it's just a live ebuild with full
>>> keyword set; I will obviously change that before the final inclusion;
>>>
>>> b. adds shadowman support to ccache, distcc & icecream packages
>>> (preserving the old utilities for compatibility),
>>>
>>> c. adds shadowman update call to toolchain.eclass & clang ebuilds
>>> so that the masquerades get updated automatically on gcc/clang
>> upgrade.
>>>
>>> Please review. Alternatively available as PR on GitHub [3].
>>>
>>> [1]:https://github.com/mgorny/shadowman
>>> [2]:https://github.com/mgorny/shadowman/blob/master/README
>>> [3]:https://github.com/gentoo/gentoo/pull/5386
>>>
>>>
>> Have you considered moving it under the gentoo umbrella (e.g., mirror
>> it
>> on git.gentoo.org or move it to the gentoo organisation)?
>
> No, I'm not interested in giving away credit to my personal work which I'm personally maintaining.
>
Why do you consider it to "give away credit" when it's under
github.org/gentoo/ or on git.gentoo.org? You'll still be author of the
commits.
>>
>> Thanks,
>> Manuel
>
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
` (13 preceding siblings ...)
2017-08-19 10:19 ` [gentoo-dev] " Manuel Rüger
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
` (11 more replies)
14 siblings, 12 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
dev-util/shadowman/metadata.xml | 8 ++++++++
dev-util/shadowman/shadowman-9999.ebuild | 27 +++++++++++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644 dev-util/shadowman/metadata.xml
create mode 100644 dev-util/shadowman/shadowman-9999.ebuild
diff --git a/dev-util/shadowman/metadata.xml b/dev-util/shadowman/metadata.xml
new file mode 100644
index 000000000000..0319eec4c8be
--- /dev/null
+++ b/dev-util/shadowman/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-util/shadowman/shadowman-9999.ebuild b/dev-util/shadowman/shadowman-9999.ebuild
new file mode 100644
index 000000000000..990b92e51623
--- /dev/null
+++ b/dev-util/shadowman/shadowman-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGIT_REPO_URI="https://github.com/mgorny/shadowman"
+inherit git-r3
+
+DESCRIPTION="Unified compiler shadow link directory updater"
+HOMEPAGE="https://github.com/mgorny/shadowman"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+# note: only for testing
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+RDEPEND="app-admin/eselect"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ # tool modules are split into their respective packages
+ emake DESTDIR="${D}" install \
+ INSTALL_MODULES_TOOL=""
+ keepdir /usr/share/shadowman/tools
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 02/12] dev-util/ccache: Convert to EAPI=6
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 03/12] dev-util/ccache: Install dev-util/shadowman data file Michał Górny
` (10 subsequent siblings)
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
dev-util/ccache/ccache-3.3.4-r1.ebuild | 68 ++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
create mode 100644 dev-util/ccache/ccache-3.3.4-r1.ebuild
diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-util/ccache/ccache-3.3.4-r1.ebuild
new file mode 100644
index 000000000000..1ef1d45179d1
--- /dev/null
+++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit readme.gentoo-r1
+
+DESCRIPTION="fast compiler cache"
+HOMEPAGE="http://ccache.samba.org/"
+SRC_URI="https://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
+ eapply "${FILESDIR}"/${PN}-3.3-size-on-disk.patch #456178
+ eapply_user
+ sed \
+ -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
+ "${FILESDIR}"/ccache-config-3 > ccache-config || die
+}
+
+src_install() {
+ DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.md )
+ 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
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 03/12] dev-util/ccache: Install dev-util/shadowman data file
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm Michał Górny
` (9 subsequent siblings)
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
dev-util/ccache/ccache-3.3.4-r1.ebuild | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-util/ccache/ccache-3.3.4-r1.ebuild
index 1ef1d45179d1..2fd005d88041 100644
--- a/dev-util/ccache/ccache-3.3.4-r1.ebuild
+++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
@@ -34,6 +34,8 @@ src_install() {
default
dobin ccache-config
+ insinto /usr/share/shadowman/tools
+ newins - ccache <<<'/usr/lib/ccache/bin'
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 03/12] dev-util/ccache: Install dev-util/shadowman data file Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 05/12] sys-devel/distcc: Convert to EAPI=6 Michał Górny
` (8 subsequent siblings)
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
dev-util/ccache/ccache-3.3.4-r1.ebuild | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
changes in v2: do not apply magic when ROOT!=/
diff --git a/dev-util/ccache/ccache-3.3.4-r1.ebuild b/dev-util/ccache/ccache-3.3.4-r1.ebuild
index 2fd005d88041..4b0d4dddc994 100644
--- a/dev-util/ccache/ccache-3.3.4-r1.ebuild
+++ b/dev-util/ccache/ccache-3.3.4-r1.ebuild
@@ -17,6 +17,7 @@ IUSE=""
DEPEND="app-arch/xz-utils
sys-libs/zlib"
RDEPEND="${DEPEND}
+ dev-util/shadowman
sys-apps/gentoo-functions"
src_prepare() {
@@ -52,18 +53,17 @@ ccache now supports sys-devel/clang and dev-lang/icc, too!"
}
pkg_prerm() {
- if [[ -z ${REPLACED_BY_VERSION} ]] ; then
- "${EROOT}"/usr/bin/ccache-config --remove-links
- "${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
+ if [[ -z ${REPLACED_BY_VERSION} && ${ROOT} == / ]] ; then
+ eselect compiler-shadow remove ccache
fi
}
pkg_postinst() {
- "${EROOT}"/usr/bin/ccache-config --install-links
- "${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
+ if [[ ${ROOT} == / ]]; then
+ eselect compiler-shadow update ccache
+ fi
# 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
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 05/12] sys-devel/distcc: Convert to EAPI=6
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
` (2 preceding siblings ...)
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 06/12] sys-devel/distcc: Install dev-util/shadowman data file Michał Górny
` (7 subsequent siblings)
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/distcc/distcc-3.2_rc1-r5.ebuild | 199 ++++++++++++++++++++++++++++++
1 file changed, 199 insertions(+)
create mode 100644 sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
diff --git a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
new file mode 100644
index 000000000000..741fa929f503
--- /dev/null
+++ b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools flag-o-matic python-single-r1 systemd toolchain-funcs user xdg-utils
+
+MY_P="${P/_}"
+DESCRIPTION="Distribute compilation of C code across several machines on a network"
+HOMEPAGE="http://distcc.org/"
+SRC_URI="https://distcc.googlecode.com/files/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="crossdev gnome gssapi gtk hardened ipv6 selinux xinetd zeroconf"
+
+RESTRICT="test"
+
+CDEPEND="${PYTHON_DEPS}
+ dev-libs/popt
+ gnome? (
+ >=gnome-base/libgnome-2
+ >=gnome-base/libgnomeui-2
+ x11-libs/gtk+:2
+ x11-libs/pango
+ )
+ gssapi? ( net-libs/libgssglue )
+ gtk? ( x11-libs/gtk+:2 )
+ zeroconf? ( >=net-dns/avahi-0.6[dbus] )
+"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ !net-misc/pump
+ >=sys-devel/gcc-config-1.4.1
+ selinux? ( sec-policy/selinux-distcc )
+ xinetd? ( sys-apps/xinetd )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}/${MY_P}"
+
+DCCC_PATH="/usr/$(get_libdir)/distcc/bin"
+DISTCC_VERBOSE="0"
+
+pkg_setup() {
+ enewuser distcc 240 -1 -1 daemon
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-3.0-xinetd.patch"
+ # bug #253786
+ eapply "${FILESDIR}/${PN}-3.0-fix-fortify.patch"
+ # bug #255188
+ eapply "${FILESDIR}/${PN}-3.2_rc1-freedesktop.patch"
+ # bug #258364
+ eapply "${FILESDIR}/${PN}-3.2_rc1-python.patch"
+ # for net-libs/libgssglue
+ eapply "${FILESDIR}/${PN}-3.2_rc1-gssapi.patch"
+ # SOCKSv5 support needed for Portage, bug #537616
+ eapply "${FILESDIR}/${PN}-3.2_rc1-socks5.patch"
+ eapply_user
+
+ # Bugs #120001, #167844 and probably more. See patch for description.
+ use hardened && eapply "${FILESDIR}/distcc-hardened.patch"
+
+ sed -i \
+ -e "/PATH/s:\$distcc_location:${EPREFIX}${DCCC_PATH}:" \
+ -e "s:@PYTHON@:${EPYTHON}:" \
+ pump.in || die "sed failed"
+
+ sed \
+ -e "s:@EPREFIX@:${EPREFIX:-/}:" \
+ -e "s:@libdir@:/usr/$(get_libdir):" \
+ "${FILESDIR}/3.2/distcc-config" > "${T}/distcc-config" || die
+
+ eaclocal -Im4 --output=aclocal.m4
+ eautoconf
+}
+
+src_configure() {
+ local myconf="--disable-Werror --with-docdir=\$(datadir)/doc/${PF}"
+
+ # --disable-rfc2553 b0rked, bug #254176
+ use ipv6 && myconf="${myconf} --enable-rfc2553"
+
+ econf \
+ $(use_with gtk) \
+ $(use_with gnome) \
+ $(use_with gssapi auth) \
+ $(use_with zeroconf avahi) \
+ ${myconf}
+}
+
+src_install() {
+ default
+ python_optimize
+
+ newinitd "${FILESDIR}/3.2/init" distccd
+ systemd_dounit "${FILESDIR}/distccd.service"
+ systemd_install_serviced "${FILESDIR}/distccd.service.conf"
+
+ cp "${FILESDIR}/3.2/conf" "${T}/distccd" || die
+ if use zeroconf; then
+ cat >> "${T}/distccd" <<-EOF || die
+
+ # Enable zeroconf support in distccd
+ DISTCCD_OPTS="\${DISTCCD_OPTS} --zeroconf"
+ EOF
+
+ sed -i '/ExecStart/ s|$| --zeroconf|' "${D}$(systemd_get_systemunitdir)"/distccd.service || die
+ fi
+ doconfd "${T}/distccd" || die
+
+ cat > "${T}/02distcc" <<-EOF || die
+ # This file is managed by distcc-config; use it to change these settings.
+ # DISTCC_LOG and DISTCC_DIR should not be set.
+ DISTCC_VERBOSE="${DISTCC_VERBOSE:-0}"
+ DISTCC_FALLBACK="${DISTCC_FALLBACK:-1}"
+ DISTCC_SAVE_TEMPS="${DISTCC_SAVE_TEMPS:-0}"
+ DISTCC_TCP_CORK="${DISTCC_TCP_CORK}"
+ DISTCC_SSH="${DISTCC_SSH}"
+ UNCACHED_ERR_FD="${UNCACHED_ERR_FD}"
+ DISTCC_ENABLE_DISCREPANCY_EMAIL="${DISTCC_ENABLE_DISCREPANCY_EMAIL}"
+ DCC_EMAILLOG_WHOM_TO_BLAME="${DCC_EMAILLOG_WHOM_TO_BLAME}"
+ EOF
+ doenvd "${T}/02distcc" || die
+
+ keepdir "${DCCC_PATH}" || die
+
+ dobin "${T}/distcc-config" || die
+
+ if use gnome || use gtk; then
+ einfo "Renaming /usr/bin/distccmon-gnome to /usr/bin/distccmon-gui"
+ einfo "This is to have a little sensability in naming schemes between distccmon programs"
+ mv "${ED}/usr/bin/distccmon-gnome" "${ED}/usr/bin/distccmon-gui" || die
+ dosym distccmon-gui /usr/bin/distccmon-gnome || die
+ fi
+
+ if use xinetd; then
+ insinto /etc/xinetd.d || die
+ newins "doc/example/xinetd" distcc || die
+ fi
+
+ rm -r "${ED}/etc/default" || die
+ rm "${ED}/etc/distcc/clients.allow" || die
+ rm "${ED}/etc/distcc/commands.allow.sh" || die
+}
+
+pkg_postinst() {
+ if [ -x "${EPREFIX}/usr/bin/distcc-config" ] ; then
+ if use crossdev; then
+ "${EPREFIX}/usr/bin/distcc-config" --update-masquerade-with-crossdev
+ else
+ "${EPREFIX}/usr/bin/distcc-config" --update-masquerade
+ fi
+ fi
+
+ use gnome && xdg_desktop_database_update
+
+ elog
+ elog "Tips on using distcc with Gentoo can be found at"
+ elog "https://wiki.gentoo.org/wiki/Distcc"
+ elog
+ elog "How to use pump mode with Gentoo:"
+ elog "# distcc-config --set-hosts \"foo,cpp,lzo bar,cpp,lzo baz,cpp,lzo\""
+ elog "# echo 'FEATURES=\"\${FEATURES} distcc distcc-pump\"' >> /etc/portage/make.conf"
+ elog "# emerge -u world"
+ elog
+ elog "To use the distccmon programs with Gentoo you should use this command:"
+ elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-text 5"
+
+ if use gnome || use gtk; then
+ elog "Or:"
+ elog "# DISTCC_DIR=\"${DISTCC_DIR:-${BUILD_PREFIX}/.distcc}\" distccmon-gnome"
+ fi
+
+ elog
+ elog "***SECURITY NOTICE***"
+ elog "If you are upgrading distcc please make sure to run etc-update to"
+ elog "update your /etc/conf.d/distccd and /etc/init.d/distccd files with"
+ elog "added security precautions (the --listen and --allow directives)"
+ elog
+}
+
+pkg_postrm() {
+ # delete the masquerade directory
+ if [ ! -f "${EPREFIX}/usr/bin/distcc" ] ; then
+ einfo "Remove masquerade symbolic links."
+ rm "${EPREFIX}${DCCC_PATH}/"*{cc,c++,gcc,g++}
+ rmdir "${EPREFIX}${DCCC_PATH}"
+ fi
+
+ use gnome && xdg_desktop_database_update
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 06/12] sys-devel/distcc: Install dev-util/shadowman data file
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
` (3 preceding siblings ...)
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 05/12] sys-devel/distcc: Convert to EAPI=6 Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm Michał Górny
` (6 subsequent siblings)
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/distcc/distcc-3.2_rc1-r5.ebuild | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
index 741fa929f503..c91826e107c4 100644
--- a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
+++ b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
@@ -146,6 +146,9 @@ src_install() {
newins "doc/example/xinetd" distcc || die
fi
+ insinto /usr/share/shadowman/tools
+ newins - distcc <<<"${DCCC_PATH}"
+
rm -r "${ED}/etc/default" || die
rm "${ED}/etc/distcc/clients.allow" || die
rm "${ED}/etc/distcc/commands.allow.sh" || die
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
` (4 preceding siblings ...)
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 06/12] sys-devel/distcc: Install dev-util/shadowman data file Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 08/12] sys-devel/icecream: Convert to EAPI=6 Michał Górny
` (5 subsequent siblings)
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/distcc/distcc-3.2_rc1-r5.ebuild | 22 +++++++++-------------
1 file changed, 9 insertions(+), 13 deletions(-)
changes in v2: do not apply magic when ROOT!=/
diff --git a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
index c91826e107c4..b658eca32c27 100644
--- a/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
+++ b/sys-devel/distcc/distcc-3.2_rc1-r5.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://distcc.googlecode.com/files/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
-IUSE="crossdev gnome gssapi gtk hardened ipv6 selinux xinetd zeroconf"
+IUSE="gnome gssapi gtk hardened ipv6 selinux xinetd zeroconf"
RESTRICT="test"
@@ -35,6 +35,7 @@ DEPEND="${CDEPEND}
virtual/pkgconfig"
RDEPEND="${CDEPEND}
!net-misc/pump
+ dev-util/shadowman
>=sys-devel/gcc-config-1.4.1
selinux? ( sec-policy/selinux-distcc )
xinetd? ( sys-apps/xinetd )"
@@ -155,12 +156,8 @@ src_install() {
}
pkg_postinst() {
- if [ -x "${EPREFIX}/usr/bin/distcc-config" ] ; then
- if use crossdev; then
- "${EPREFIX}/usr/bin/distcc-config" --update-masquerade-with-crossdev
- else
- "${EPREFIX}/usr/bin/distcc-config" --update-masquerade
- fi
+ if [[ ${ROOT} == / ]]; then
+ eselect compiler-shadow update distcc
fi
use gnome && xdg_desktop_database_update
@@ -190,13 +187,12 @@ pkg_postinst() {
elog
}
-pkg_postrm() {
- # delete the masquerade directory
- if [ ! -f "${EPREFIX}/usr/bin/distcc" ] ; then
- einfo "Remove masquerade symbolic links."
- rm "${EPREFIX}${DCCC_PATH}/"*{cc,c++,gcc,g++}
- rmdir "${EPREFIX}${DCCC_PATH}"
+pkg_prerm() {
+ if [[ -z ${REPLACED_BY_VERSION} && ${ROOT} == / ]]; then
+ eselect compiler-shadow remove distcc
fi
+}
+pkg_postrm() {
use gnome && xdg_desktop_database_update
}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 08/12] sys-devel/icecream: Convert to EAPI=6
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
` (5 preceding siblings ...)
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 09/12] sys-devel/icecream: Install dev-util/shadowman data file Michał Górny
` (4 subsequent siblings)
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/icecream/icecream-1.0.0-r2.ebuild | 51 +++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 sys-devel/icecream/icecream-1.0.0-r2.ebuild
diff --git a/sys-devel/icecream/icecream-1.0.0-r2.ebuild b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
new file mode 100644
index 000000000000..ec2858a94ac8
--- /dev/null
+++ b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${P/icecream/icecc}"
+
+inherit user
+
+DESCRIPTION="icecc is a program for distributed compiling of C(++) code across several machines; based on distcc"
+HOMEPAGE="https://github.com/icecc/icecream"
+SRC_URI="ftp://ftp.suse.com/pub/projects/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
+IUSE=""
+
+RDEPEND="
+ sys-libs/libcap-ng
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-libcap-ng.patch"
+)
+
+pkg_setup() {
+ enewgroup icecream
+ enewuser icecream -1 -1 /var/cache/icecream icecream
+}
+
+src_configure() {
+ econf \
+ --enable-shared --disable-static \
+ --enable-clang-wrappers \
+ --enable-clang-rewrite-includes
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+
+ newconfd suse/sysconfig.icecream icecream
+ newinitd "${FILESDIR}"/icecream-r2 icecream
+
+ insinto /etc/logrotate.d
+ newins suse/logrotate icecream
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 09/12] sys-devel/icecream: Install dev-util/shadowman data file
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
` (6 preceding siblings ...)
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 08/12] sys-devel/icecream: Convert to EAPI=6 Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm Michał Górny
` (3 subsequent siblings)
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/icecream/icecream-1.0.0-r2.ebuild | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys-devel/icecream/icecream-1.0.0-r2.ebuild b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
index ec2858a94ac8..187928a2290d 100644
--- a/sys-devel/icecream/icecream-1.0.0-r2.ebuild
+++ b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
@@ -48,4 +48,7 @@ src_install() {
insinto /etc/logrotate.d
newins suse/logrotate icecream
+
+ insinto /usr/share/shadowman/tools
+ newins - icecc <<<'/usr/libexec/icecc/bin'
}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
` (7 preceding siblings ...)
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 09/12] sys-devel/icecream: Install dev-util/shadowman data file Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm Michał Górny
` (2 subsequent siblings)
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/icecream/icecream-1.0.0-r2.ebuild | 13 +++++++++++++
1 file changed, 13 insertions(+)
changes in v2: do not apply magic when ROOT!=/
diff --git a/sys-devel/icecream/icecream-1.0.0-r2.ebuild b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
index 187928a2290d..96a3c171e8a0 100644
--- a/sys-devel/icecream/icecream-1.0.0-r2.ebuild
+++ b/sys-devel/icecream/icecream-1.0.0-r2.ebuild
@@ -17,6 +17,7 @@ KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
IUSE=""
RDEPEND="
+ dev-util/shadowman
sys-libs/libcap-ng
"
DEPEND="${RDEPEND}"
@@ -52,3 +53,15 @@ src_install() {
insinto /usr/share/shadowman/tools
newins - icecc <<<'/usr/libexec/icecc/bin'
}
+
+pkg_prerm() {
+ if [[ -z ${REPLACED_BY_VERSION} && ${ROOT} == / ]]; then
+ eselect compiler-shadow remove icecc
+ fi
+}
+
+pkg_postinst() {
+ if [[ ${ROOT} == / ]]; then
+ eselect compiler-shadow update icecc
+ fi
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
` (8 preceding siblings ...)
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman Michał Górny
2017-08-21 1:25 ` [gentoo-dev] Re: [PATCH v2 01/12] dev-util/shadowman: New package Duncan
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
eclass/toolchain.eclass | 7 +++++++
1 file changed, 7 insertions(+)
changes in v2: do not apply magic when ROOT!=/
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index ae2db7f0a442..dad4ae3d1972 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2067,6 +2067,9 @@ gcc_slot_java() {
toolchain_pkg_postinst() {
do_gcc_config
+ if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
if ! is_crosscompile ; then
echo
@@ -2105,6 +2108,10 @@ toolchain_pkg_postinst() {
}
toolchain_pkg_postrm() {
+ if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+
# to make our lives easier (and saner), we do the fix_libtool stuff here.
# rather than checking SLOT's and trying in upgrade paths, we just see if
# the common libstdc++.la exists in the ${LIBPATH} of the gcc that we are
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] [PATCH v2 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
` (9 preceding siblings ...)
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm Michał Górny
@ 2017-08-20 10:26 ` Michał Górny
2017-08-21 1:25 ` [gentoo-dev] Re: [PATCH v2 01/12] dev-util/shadowman: New package Duncan
11 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2017-08-20 10:26 UTC (permalink / raw
To: gentoo-dev
Cc: cluster, robbat2, toolchain, suse, llvm, Michał Górny
---
sys-devel/clang/clang-4.0.1.ebuild | 12 ++++++++++++
sys-devel/clang/clang-5.0.9999.ebuild | 12 ++++++++++++
sys-devel/clang/clang-9999.ebuild | 12 ++++++++++++
3 files changed, 36 insertions(+)
changes in v2: do not apply magic when ROOT!=/
diff --git a/sys-devel/clang/clang-4.0.1.ebuild b/sys-devel/clang/clang-4.0.1.ebuild
index 21a5adf2696c..821cae0ab5b8 100644
--- a/sys-devel/clang/clang-4.0.1.ebuild
+++ b/sys-devel/clang/clang-4.0.1.ebuild
@@ -276,3 +276,15 @@ multilib_src_install_all() {
# +x for some reason; TODO: investigate
use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
}
+
+pkg_postinst() {
+ if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+}
+
+pkg_postrm() {
+ if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
diff --git a/sys-devel/clang/clang-5.0.9999.ebuild b/sys-devel/clang/clang-5.0.9999.ebuild
index 2ecd222748d1..54f8aaa20cf6 100644
--- a/sys-devel/clang/clang-5.0.9999.ebuild
+++ b/sys-devel/clang/clang-5.0.9999.ebuild
@@ -273,3 +273,15 @@ multilib_src_install_all() {
# +x for some reason; TODO: investigate
use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
}
+
+pkg_postinst() {
+ if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+}
+
+pkg_postrm() {
+ if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
diff --git a/sys-devel/clang/clang-9999.ebuild b/sys-devel/clang/clang-9999.ebuild
index 8dd135d6aa25..010df120d1d5 100644
--- a/sys-devel/clang/clang-9999.ebuild
+++ b/sys-devel/clang/clang-9999.ebuild
@@ -277,3 +277,15 @@ multilib_src_install_all() {
# +x for some reason; TODO: investigate
use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
}
+
+pkg_postinst() {
+ if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+}
+
+pkg_postrm() {
+ if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
--
2.14.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [gentoo-dev] Re: [PATCH v2 01/12] dev-util/shadowman: New package
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
` (10 preceding siblings ...)
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman Michał Górny
@ 2017-08-21 1:25 ` Duncan
11 siblings, 0 replies; 33+ messages in thread
From: Duncan @ 2017-08-21 1:25 UTC (permalink / raw
To: gentoo-dev
Michał Górny posted on Sun, 20 Aug 2017 12:26:48 +0200 as excerpted:
> --- /dev/null
> +++ b/dev-util/shadowman/shadowman-9999.ebuild
> @@ -0,0 +1,27 @@
[snip...]
> +# note: only for testing
> +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
OK, I know you said this was only for testing, but a question
I had the first time around and didn't ask...
It seems to me just as easy... and less chance of potential problems
should a tester accidentally commit it, to handle it the way
gentoo/kde does with live and not-yet-ready ebuilds in their
overlay:
Blank keywords in the ebuild and add it to package.accept_keywords
(or simply package.keywords if you prefer the old name) with a **
entry if you're testing.
Example from my package.accept_keywords (this entry might be in
the symlinkable files in the overlay now, but it wasn't when
I created it):
# 2017.0611 kirigami needed for kde systemsettings
# might as well do it live-9999 too
=kde-frameworks/kirigami-9999 **
Not that it matters particularly, but is there a reason you chose
to put the keywords in the ebuild instead of having people do
the ** thing as above? A blank keywords, thereby forcing people
who actually want to test to do the ** thing, would seem less
of an invitation to problems should someone accidentally commit it
during testing (tho admittedly this is a new package so problems
are less likely, but I'm just used to seeing it require the
** accept_keyword thing). So I'm just wondering what reason you
might have had to do it this way instead.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2017-08-21 1:25 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-17 8:36 [gentoo-dev] [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 01/12] dev-util/shadowman: New package Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
2017-08-17 8:48 ` David Seifert
2017-08-17 9:00 ` Michał Górny
2017-08-17 9:08 ` David Seifert
2017-08-17 8:36 ` [gentoo-dev] [PATCH 03/12] dev-util/ccache: Install dev-util/shadowman data file Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 05/12] sys-devel/distcc: Convert to EAPI=6 Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 06/12] sys-devel/distcc: Install dev-util/shadowman data file Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 08/12] sys-devel/icecream: Convert to EAPI=6 Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 09/12] sys-devel/icecream: Install dev-util/shadowman data file Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm Michał Górny
2017-08-17 8:36 ` [gentoo-dev] [PATCH 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman Michał Górny
2017-08-17 10:14 ` [gentoo-dev] Re: [RFC] [PATCH] dev-util/shadowman: Unified tool to update ccache/distcc/icecc shadow dir Sergei Trofimovich
2017-08-19 10:19 ` [gentoo-dev] " Manuel Rüger
2017-08-19 10:53 ` Michał Górny
2017-08-19 11:10 ` Manuel Rüger
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 01/12] dev-util/shadowman: New package Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 02/12] dev-util/ccache: Convert to EAPI=6 Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 03/12] dev-util/ccache: Install dev-util/shadowman data file Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 04/12] dev-util/ccache: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 05/12] sys-devel/distcc: Convert to EAPI=6 Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 06/12] sys-devel/distcc: Install dev-util/shadowman data file Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 07/12] sys-devel/distcc: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 08/12] sys-devel/icecream: Convert to EAPI=6 Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 09/12] sys-devel/icecream: Install dev-util/shadowman data file Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 10/12] sys-devel/icecream: Use dev-util/shadowman for postinst/prerm Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 11/12] toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rm Michał Górny
2017-08-20 10:26 ` [gentoo-dev] [PATCH v2 12/12] sys-devel/clang: Enable masquerades via dev-util/shadowman Michał Górny
2017-08-21 1:25 ` [gentoo-dev] Re: [PATCH v2 01/12] dev-util/shadowman: New package Duncan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox