summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/cfengine/ChangeLog9
-rw-r--r--net-misc/cfengine/cfengine-3.5.3.ebuild144
-rw-r--r--net-misc/cfengine/files/cfengine-3.5.3-ifconfig.patch42
3 files changed, 194 insertions, 1 deletions
diff --git a/net-misc/cfengine/ChangeLog b/net-misc/cfengine/ChangeLog
index 64ec319831f2..0e4bc12c5481 100644
--- a/net-misc/cfengine/ChangeLog
+++ b/net-misc/cfengine/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-misc/cfengine
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/cfengine/ChangeLog,v 1.166 2014/02/22 23:31:23 mschiff Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/cfengine/ChangeLog,v 1.167 2014/02/27 17:45:02 mschiff Exp $
+
+*cfengine-3.5.3 (27 Feb 2014)
+
+ 27 Feb 2014; Marc Schiffbauer <mschiff@gentoo.org> +cfengine-3.5.3.ebuild,
+ +files/cfengine-3.5.3-ifconfig.patch:
+ Add 3.5.3 ebuild. Fixed USE=mysql. Removed html and tests USE flags. Fixes
+ #491838. Should fix #464358
*cfengine-3.4.5 (22 Feb 2014)
diff --git a/net-misc/cfengine/cfengine-3.5.3.ebuild b/net-misc/cfengine/cfengine-3.5.3.ebuild
new file mode 100644
index 000000000000..77b8675283fa
--- /dev/null
+++ b/net-misc/cfengine/cfengine-3.5.3.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/cfengine/cfengine-3.5.3.ebuild,v 1.1 2014/02/27 17:45:02 mschiff Exp $
+
+EAPI="5"
+
+inherit eutils autotools flag-o-matic
+
+MY_PV="${PV//_beta/b}"
+MY_PV="${MY_PV/_p/p}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="An automated suite of programs for configuring and maintaining
+Unix-like computers"
+HOMEPAGE="http://www.cfengine.org/"
+SRC_URI="http://cfengine.com/source-code/download?file=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="3"
+KEYWORDS="~amd64 ~arm ~ppc ~s390 ~sparc ~x86"
+
+IUSE="acl examples libvirt mysql postgres +qdbm selinux tokyocabinet vim-syntax xml"
+
+DEPEND="acl? ( virtual/acl )
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql-base )
+ selinux? ( sys-libs/libselinux )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ qdbm? ( dev-db/qdbm )
+ libvirt? ( app-emulation/libvirt )
+ xml? ( dev-libs/libxml2:2 ) \
+ dev-libs/openssl
+ dev-libs/libpcre"
+RDEPEND="${DEPEND}"
+PDEPEND="vim-syntax? ( app-vim/cfengine-syntax )"
+
+REQUIRED_USE="qdbm? ( !tokyocabinet )
+ tokyocabinet? ( !qdbm )
+ !tokyocabinet? ( qdbm )
+ !qdbm? ( tokyocabinet )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+
+ epatch "${FILESDIR}/${PN}-3.4.5-acl.patch"
+ epatch "${FILESDIR}/${P}-ifconfig.patch"
+
+ eautoreconf
+}
+
+src_configure() {
+ # Enforce /var/cfengine for historical compatibility
+
+ econf \
+ --enable-fhs \
+ --docdir=/usr/share/doc/${PF} \
+ --with-workdir=/var/cfengine \
+ --with-pcre \
+ $(use_with acl libacl) \
+ $(use_with qdbm) \
+ $(use_with tokyocabinet) \
+ $(use_with postgres postgresql) \
+ $(use_with mysql mysql=check) \
+ $(use_with libvirt) \
+ $(use_enable selinux)
+
+ # Fix Makefile to skip inputs, see below "examples"
+ #sed -i -e 's/\(SUBDIRS.*\) inputs/\1/' Makefile || die
+
+ # We install the documentation through portage
+ sed -i -e 's/\(install-data-am.*\) install-docDATA/\1/' Makefile || die
+}
+
+src_install() {
+ newinitd "${FILESDIR}"/cf-serverd.rc6 cf-serverd || die
+ newinitd "${FILESDIR}"/cf-monitord.rc6 cf-monitord || die
+ newinitd "${FILESDIR}"/cf-execd.rc6 cf-execd || die
+
+ emake DESTDIR="${D}" install || die
+
+ # fix ifconfig path in provided promises
+ find "${D}"/usr/share -name "*.cf" | xargs sed -i "s,/sbin/ifconfig,$(which ifconfig),g"
+
+ # Evil workaround for now..
+ mv "${D}"/usr/share/doc/${PN}/ "${D}"/usr/share/doc/${PF}
+
+ dodoc AUTHORS
+
+ if ! use examples; then
+ rm -rf "${D}"/usr/share/doc/${PF}/example*
+ fi
+
+ # Create cfengine working directory
+ dodir /var/cfengine/bin
+ fperms 700 /var/cfengine
+
+ # Copy cfagent into the cfengine tree otherwise cfexecd won't
+ # find it. Most hosts cache their copy of the cfengine
+ # binaries here. This is the default search location for the
+ # binaries.
+ for bin in promises agent monitord serverd execd runagent key; do
+ dosym /usr/sbin/cf-$bin /var/cfengine/bin/cf-$bin || die
+ done
+}
+
+pkg_postinst() {
+ echo
+ elog "NOTE: BDB (BerkelyDB) support has been removed as of ${PN}-3.3.0"
+ echo
+ einfo "Init scripts for cf-serverd, cf-monitord, and cf-execd are provided."
+ einfo
+ einfo "To run cfengine out of cron every half hour modify your crontab:"
+ einfo "0,30 * * * * /usr/sbin/cf-execd -F"
+ echo
+
+ elog "If you run cfengine the very first time, you MUST generate the keys for cfengine by running:"
+ elog "emerge --config ${CATEGORY}/${PN}"
+
+ # Fix old cf-servd, remove it after some releases.
+ local found=0
+ for fname in $(find /etc/runlevels/ -type f -or -type l -name 'cf-servd'); do
+ found=1
+ rm $fname
+ ln -s /etc/init.d/cf-serverd $(echo $fname | sed 's:cf-servd:cf-serverd:')
+ done
+
+ if [ "${found}" -eq 1 ]; then
+ echo
+ elog "/etc/init.d/cf-servd has been renamed to /etc/init.d/cf-serverd"
+ fi
+}
+
+pkg_config() {
+ if [ "${ROOT}" == "/" ]; then
+ if [ ! -f "/var/cfengine/ppkeys/localhost.priv" ]; then
+ einfo "Generating keys for localhost."
+ /usr/sbin/cf-key
+ fi
+ else
+ die "cfengine cfkey does not support any value of ROOT other than /."
+ fi
+}
diff --git a/net-misc/cfengine/files/cfengine-3.5.3-ifconfig.patch b/net-misc/cfengine/files/cfengine-3.5.3-ifconfig.patch
new file mode 100644
index 000000000000..dc982c6801f7
--- /dev/null
+++ b/net-misc/cfengine/files/cfengine-3.5.3-ifconfig.patch
@@ -0,0 +1,42 @@
+diff -ur cfengine-3.5.3.orig/configure.ac cfengine-3.5.3/configure.ac
+--- cfengine-3.5.3.orig/configure.ac 2013-12-09 13:13:14.000000000 +0100
++++ cfengine-3.5.3/configure.ac 2014-02-27 12:36:55.179893570 +0100
+@@ -1047,6 +1047,16 @@
+ AM_SUBST_NOTMAKE(post_macros)
+
+ dnl ######################################################################
++dnl Find the path to ifconfig
++dnl ######################################################################
++
++AC_PATH_PROG(IFCONFIG_PATH,ifconfig)
++if test x"$IFCONFIG_PATH" = x"" ; then
++ AC_MSG_ERROR([Cannot found the ifconfig binary.])
++fi
++AC_DEFINE_UNQUOTED(IFCONFIG_RUN, "$IFCONFIG_PATH -a", [the path to run ifconfig -a])
++
++dnl ######################################################################
+ dnl Summarize
+ dnl ######################################################################
+
+diff -ur cfengine-3.5.3.orig/libpromises/unix.c cfengine-3.5.3/libpromises/unix.c
+--- cfengine-3.5.3.orig/libpromises/unix.c 2013-12-09 13:13:14.000000000 +0100
++++ cfengine-3.5.3/libpromises/unix.c 2014-02-27 12:38:35.036608105 +0100
+@@ -767,7 +767,7 @@
+ return;
+ }
+ #else
+- if ((pp = cf_popen("/sbin/ifconfig -a", "r", true)) == NULL)
++ if ((pp = cf_popen(IFCONFIG_RUN, "r", true)) == NULL)
+ {
+ Log(LOG_LEVEL_VERBOSE, "Could not find interface info");
+ return;
+diff -ur cfengine-3.5.3.orig/libutils/config.h.in cfengine-3.5.3/libutils/config.h.in
+--- cfengine-3.5.3.orig/libutils/config.h.in 2013-12-09 13:55:25.000000000 +0100
++++ cfengine-3.5.3/libutils/config.h.in 2014-02-27 12:39:41.537416111 +0100
+@@ -914,3 +914,6 @@
+
+ /* Define to rpl_vsnprintf if the replacement function should be used. */
+ #undef vsnprintf
++
++/* Define to the path for running ifconfig -a */
++#undef IFCONFIG_RUN