summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2008-12-05 08:17:26 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2008-12-05 08:17:26 +0000
commitccf4f2eabd09db9eabcffc99ebdea31e435fecfd (patch)
treeb2ce44e57f397f5d64dd8072bce73ccc8a32339a /net-misc/cfengine
parentMaking repoman happy (diff)
downloadhistorical-ccf4f2eabd09db9eabcffc99ebdea31e435fecfd.tar.gz
historical-ccf4f2eabd09db9eabcffc99ebdea31e435fecfd.tar.bz2
historical-ccf4f2eabd09db9eabcffc99ebdea31e435fecfd.zip
Avoid a collision on the lock names inside the packages method when the package name, cmp and action are the same, but version and define/elsedefine are different.
Package-Manager: portage-2.2_rc16/cvs/Linux 2.6.28-rc5-00117-g7f0f598 x86_64
Diffstat (limited to 'net-misc/cfengine')
-rw-r--r--net-misc/cfengine/ChangeLog13
-rw-r--r--net-misc/cfengine/Manifest16
-rw-r--r--net-misc/cfengine/cfengine-2.1.22-r2.ebuild86
-rw-r--r--net-misc/cfengine/cfengine-2.2.8-r1.ebuild88
-rw-r--r--net-misc/cfengine/files/cfengine-2.1-package-locking-fixup.patch19
-rw-r--r--net-misc/cfengine/files/cfengine-2.2-package-locking-fixup.patch19
6 files changed, 229 insertions, 12 deletions
diff --git a/net-misc/cfengine/ChangeLog b/net-misc/cfengine/ChangeLog
index 63c7d4ea390f..3e3bf63e3bbf 100644
--- a/net-misc/cfengine/ChangeLog
+++ b/net-misc/cfengine/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for net-misc/cfengine
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/cfengine/ChangeLog,v 1.87 2008/09/27 16:17:37 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/cfengine/ChangeLog,v 1.88 2008/12/05 08:17:26 robbat2 Exp $
+
+*cfengine-2.2.8-r1 (05 Dec 2008)
+*cfengine-2.1.22-r2 (05 Dec 2008)
+
+ 05 Dec 2008; Robin H. Johnson <robbat2@gentoo.org>
+ +files/cfengine-2.1-package-locking-fixup.patch,
+ +files/cfengine-2.2-package-locking-fixup.patch,
+ +cfengine-2.1.22-r2.ebuild, +cfengine-2.2.8-r1.ebuild:
+ Avoid a collision on the lock names inside the packages method when the
+ package name, cmp and action are the same, but version and
+ define/elsedefine are different.
27 Sep 2008; Raúl Porcel <armin76@gentoo.org> cfengine-2.1.22-r1.ebuild:
arm stable wrt #220927
diff --git a/net-misc/cfengine/Manifest b/net-misc/cfengine/Manifest
index 44e1940a124a..16dfc37ce75d 100644
--- a/net-misc/cfengine/Manifest
+++ b/net-misc/cfengine/Manifest
@@ -1,7 +1,6 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
+AUX cfengine-2.1-package-locking-fixup.patch 815 RMD160 0c154b6866fdeae2ccc7890d9341adb90bf048dd SHA1 380b0d0354e891dd40e5499d45f170ba4b7f13b9 SHA256 67c3a28a543c04209596759e8119d22f1f4bf245aab7f5395c22e4e6781cac2b
AUX cfengine-2.1.22-package-fix.patch 431 RMD160 c92f6b497e1d03aeefb5fb7cb6fd64ce2ac5aa15 SHA1 a587359f0d180d776065546112c0623e91016dd8 SHA256 3fff21b705fb84d7e1efc3c7891f466182b977bd88855f55c85aa283b2ccd584
+AUX cfengine-2.2-package-locking-fixup.patch 817 RMD160 7f10644433a7d43032f59756608ac7d6d849d69b SHA1 d6587f8d25f58900dd8f53939ff134cde4e84b6d SHA256 a4dbab2dbd15e6715d474de089cfafaedbe5dd1123d57afae60d1ad525e026c3
AUX cfengine-2.2.6-typo-fix.patch 400 RMD160 6e23769b84335ae2433912af2709b11669c0fd08 SHA1 141b9d74ceb0ca947ef717461b002c2a84fb927e SHA256 4047ab39c1bc2029c32c57eb796cc8c6bb2822fb9bd7f8b3186172ef0e745da7
AUX cfenvd.rc6 254 RMD160 cbbb932dfee81318437f27b0e644b3201d6e4664 SHA1 d27f693a0744cbbd8f06ec85779935fc1a3181f2 SHA256 de0877e26bbb5cd8eb5da1827308b8fa00c9ce487e61263306c4b57e3ba9e150
AUX cfexecd.rc6 259 RMD160 05810d7582d962903033ed85b409818dd19089ef SHA1 f95df7747bded2a2d9c5bdcfb1bebc3e3c9ef463 SHA256 98735d665038e372be29ac8b173861491dde1d71fad7d0cefddab0fbf99a157c
@@ -17,15 +16,10 @@ DIST cfengine-2.2.8.tar.gz 2715678 RMD160 a35ac5d87a345f38a779719314d3978ee9e304
EBUILD cfengine-2.1.20.ebuild 2184 RMD160 baeb4cf531c6b04b0cafafd9ab384496e7c82195 SHA1 c2f3995e9b8460be195a3022e5b2313534ad5a91 SHA256 2a7e51976c7f1ae7edbf7af5c7b5f1abbcec1bcfbff201c91c601cac0ba5fd69
EBUILD cfengine-2.1.21.ebuild 2187 RMD160 fb89af28d9007e0c66763ebc43fd121a4313afaf SHA1 a84f4448ef9f68f5815bb5cba94115e25df5269c SHA256 339ed25f99ca9789c608db1dbccd0cfc389198a339f36d1703dd706311701bb9
EBUILD cfengine-2.1.22-r1.ebuild 2261 RMD160 ebcbc006b38000ed42335be8c03bc3b2bb015a4f SHA1 7e195888957f6348006651ea2fa1626e4a9e2d5e SHA256 8a00e0dfb1a1e099e116ae779d1d95f141cc09f46214822a841197147d9a8272
+EBUILD cfengine-2.1.22-r2.ebuild 2347 RMD160 33fddb61bf0a58ae54946c698ec9ad2e6cabfac5 SHA1 d6bbda85d72e8daba3fa2e27d77bda7c331f4314 SHA256 62868b2855ee9333ca98ad959b1581ce87add766540e079348ba167fe06e60eb
EBUILD cfengine-2.2.6.ebuild 2374 RMD160 85079256f14469843ad6927cc8c988c360120680 SHA1 582c4a960ad80076dffd39cc877698bf079e9adb SHA256 a63856c247390c3719a1cc42a2f5ddd03f29a4c0a3806a7b3eab2904165c1394
EBUILD cfengine-2.2.7.ebuild 2301 RMD160 c00ab6df0fa917b5882083cb3786463cd3ea298e SHA1 0d0a4bf02b32986fd0217550e21cf2b854408aaf SHA256 e4e5a6e6f32025778b27a515eac8f4a81126488d02a4bba2c5cc5888bf752712
+EBUILD cfengine-2.2.8-r1.ebuild 2411 RMD160 c88d310debe48e4fd9c66d3edba7652a70332ab6 SHA1 99ff488782cc056c3274f4d472cb7785cd2de9be SHA256 65aaeccebbdbea1dfe29e3a8903a1cb30967194081ea6d0ed4c9060f51ecefb7
EBUILD cfengine-2.2.8.ebuild 2305 RMD160 61ee5a5865bf1dcc617c4ac9886245ff402ab0a6 SHA1 588f0d116119c436f6d6e9913ae19c9440feafda SHA256 d6074877567eebbdfa72f584d4a0376f14c10bd1b929e49384cfc7123f5efcb1
-MISC ChangeLog 13179 RMD160 21f54d84a1aa5b132d5c6dab45a611ebc9fd03aa SHA1 36d9013715fe378732761d3df817b9e658217768 SHA256 86e29c39e9447ba41557e226c30b4016f8c56211cd9bd1a658acf0debe1b89e2
+MISC ChangeLog 13630 RMD160 3bc62e0043f6fcce77845d1f65d11e08e29ea6b4 SHA1 3a8d3910234b08b0f7fcc816d702a5b3fd94171f SHA256 809cb2b61375e12ffa1d04a692f7b7886889115c76ef15d8b9f3489e3de13833
MISC metadata.xml 1778 RMD160 a2f0a0604ba979552761a74b22c0f5fd74d2b7b7 SHA1 88909229ff2a2773d58ff91499bd2272eca34499 SHA256 e39a880a0da5fdeb4f9a0548a99b1ff5ead65d12442c9de16db2776afdbd09a9
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.9 (GNU/Linux)
-
-iEYEARECAAYFAkkSXYwACgkQ67wieSYcaxeiTwCg0pj/8Q6jlWY3tlm3/Vl7OWpc
-T+gAn32u1hz7Xr56TpH6MIfE7ZwpbnYu
-=EStN
------END PGP SIGNATURE-----
diff --git a/net-misc/cfengine/cfengine-2.1.22-r2.ebuild b/net-misc/cfengine/cfengine-2.1.22-r2.ebuild
new file mode 100644
index 000000000000..5d713b935c2f
--- /dev/null
+++ b/net-misc/cfengine/cfengine-2.1.22-r2.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/cfengine/cfengine-2.1.22-r2.ebuild,v 1.1 2008/12/05 08:17:26 robbat2 Exp $
+
+inherit eutils
+
+DESCRIPTION="An automated suite of programs for configuring and maintaining
+Unix-like computers"
+HOMEPAGE="http://www.cfengine.org/"
+SRC_URI="http://www.cfengine.org/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND=">=sys-libs/db-3.2
+ >=dev-libs/openssl-0.9.7"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-package-fix.patch
+ epatch "${FILESDIR}"/${PN}-2.1-package-locking-fixup.patch
+}
+
+src_compile() {
+ # Enforce /var/cfengine for historical compatibility
+ econf \
+ --with-workdir=/var/cfengine \
+ --with-berkeleydb=/usr || die
+
+ # Fix Makefile to skip doc,inputs, & contrib install to wrong locations
+ sed -i -e 's/\(DIST_SUBDIRS.*\) contrib inputs doc/\1/' Makefile
+ sed -i -e 's/\(SUBDIRS.*\) contrib inputs/\1/' Makefile
+ sed -i -e 's/\(install-data-am.*\) install-docDATA/\1/' Makefile
+
+ emake || die
+}
+
+src_install() {
+ newinitd "${FILESDIR}"/cfservd.rc6 cfservd
+
+ make DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog README TODO INSTALL
+
+ # Manually install doc and inputs
+ doinfo doc/*.info*
+ dohtml doc/*.html
+ doman doc/*.8
+ dodoc "${FILESDIR}"/cfportage.README
+ docinto examples
+ dodoc inputs/*.example
+
+ # Create cfengine working directory
+ mkdir -p "${D}"/var/cfengine
+ fperms 700 /var/cfengine
+ keepdir /var/cfengine/bin
+ keepdir /var/cfengine/inputs
+ dodir /var/cfengine/modules
+ tar jxf "${FILESDIR}"/module-cfportage.tbz2 -C "${D}"/var/cfengine/modules
+ fowners root:0 /var/cfengine/modules/module\:cfportage
+}
+
+pkg_postinst() {
+ if [ ! -f "/var/cfengine/ppkeys/localhost.priv" ]
+ then
+ einfo "Generating keys for localhost."
+ /usr/sbin/cfkey
+ fi
+
+ # 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.
+
+ cp /usr/sbin/cf{agent,servd,execd} /var/cfengine/bin/
+
+ einfo
+ einfo "Now an init script for cfservd is provided."
+ einfo
+ einfo "To run cfengine out of cron every half hour modify your crontab:"
+ einfo "0,30 * * * * /usr/sbin/cfexecd -F"
+ einfo
+}
diff --git a/net-misc/cfengine/cfengine-2.2.8-r1.ebuild b/net-misc/cfengine/cfengine-2.2.8-r1.ebuild
new file mode 100644
index 000000000000..fef5a86f8ed9
--- /dev/null
+++ b/net-misc/cfengine/cfengine-2.2.8-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/cfengine/cfengine-2.2.8-r1.ebuild,v 1.1 2008/12/05 08:17:26 robbat2 Exp $
+
+inherit eutils
+
+DESCRIPTION="An automated suite of programs for configuring and maintaining
+Unix-like computers"
+HOMEPAGE="http://www.cfengine.org/"
+SRC_URI="http://www.cfengine.org/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~s390 ~sparc ~x86"
+IUSE=""
+
+DEPEND=">=sys-libs/db-4
+ >=dev-libs/openssl-0.9.7
+ app-portage/portage-utils"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-2.2-package-locking-fixup.patch
+}
+
+src_compile() {
+ # Enforce /var/cfengine for historical compatibility
+ econf \
+ --with-workdir=/var/cfengine \
+ --with-berkeleydb=/usr || die
+
+ # Fix Makefile to skip doc,inputs, & contrib install to wrong locations
+ sed -i -e 's/\(DIST_SUBDIRS.*\) contrib inputs doc/\1/' Makefile
+ sed -i -e 's/\(SUBDIRS.*\) contrib inputs/\1/' Makefile
+ sed -i -e 's/\(install-data-am.*\) install-docDATA/\1/' Makefile
+
+ # Fix man pages
+ sed -i -e 's/\/usr\/local/\/usr/' doc/*.8
+
+ emake || die
+}
+
+src_install() {
+ newinitd "${FILESDIR}"/cfservd.rc6 cfservd
+ newinitd "${FILESDIR}"/cfenvd.rc6 cfenvd
+ newinitd "${FILESDIR}"/cfexecd.rc6 cfexecd
+
+ make DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog README TODO INSTALL
+
+ # Manually install doc and inputs
+ doman doc/*.8
+ docinto examples
+ dodoc inputs/*.example
+
+ # Create cfengine working directory
+ mkdir -p "${D}"/var/cfengine
+ fperms 700 /var/cfengine
+ keepdir /var/cfengine/bin
+ keepdir /var/cfengine/inputs
+ dodir /var/cfengine/modules
+}
+
+pkg_postinst() {
+ if [ ! -f "/var/cfengine/ppkeys/localhost.priv" ]
+ then
+ einfo "Generating keys for localhost."
+ /usr/sbin/cfkey
+ fi
+
+ # 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.
+
+ cp /usr/sbin/cf{agent,servd,execd} /var/cfengine/bin/
+
+ einfo
+ einfo "NOTE: The cfportage module has been deprecated in favor of the"
+ einfo " upstream 'packages' action."
+ einfo
+ einfo "Init scripts for cfservd, cfenvd, and cfexecd are now provided."
+ einfo
+ einfo "To run cfengine out of cron every half hour modify your crontab:"
+ einfo "0,30 * * * * /usr/sbin/cfexecd -F"
+ einfo
+}
diff --git a/net-misc/cfengine/files/cfengine-2.1-package-locking-fixup.patch b/net-misc/cfengine/files/cfengine-2.1-package-locking-fixup.patch
new file mode 100644
index 000000000000..6d321c13c65d
--- /dev/null
+++ b/net-misc/cfengine/files/cfengine-2.1-package-locking-fixup.patch
@@ -0,0 +1,19 @@
+commit d0dd5a50066ecb9e4857a7795ceed67832a37dc5
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Date: Thu Dec 4 23:21:51 2008 -0800
+
+ Fix up locking for packages to avoid collision when the package name, cmp, action are the same, but defines and version are different.
+
+diff --git a/src/do.c b/src/do.c
+index 55fc552..58454f2 100644
+--- a/src/do.c
++++ b/src/do.c
+@@ -2710,7 +2710,7 @@ for (ptr = VPKG; ptr != NULL; ptr=ptr->next)
+ ptr->done = 'y';
+ }
+
+- snprintf(lock,CF_BUFSIZE-1,"%s_%d_%d",ptr->name,ptr->cmp,ptr->action);
++ snprintf(lock,CF_BUFSIZE-1,"%s_%d_%s_%d_%s_%s", ptr->name, ptr->cmp, ptr->ver ?: "" ,ptr->action, ptr->defines ?: "", ptr->elsedef ?: "");
+
+ if (!GetLock(ASUniqueName("packages"),CanonifyName(lock),ptr->ifelapsed,ptr->expireafter,VUQNAME,CFSTARTTIME))
+ {
diff --git a/net-misc/cfengine/files/cfengine-2.2-package-locking-fixup.patch b/net-misc/cfengine/files/cfengine-2.2-package-locking-fixup.patch
new file mode 100644
index 000000000000..14b4c70cccf3
--- /dev/null
+++ b/net-misc/cfengine/files/cfengine-2.2-package-locking-fixup.patch
@@ -0,0 +1,19 @@
+commit bdd26de22a3e4e18d63709d61a788785d212aa45
+Author: Robin H. Johnson <robbat2@gentoo.org>
+Date: Thu Dec 4 23:20:32 2008 -0800
+
+ Fix up locking for packages to avoid collision when the package name, cmp, action are the same, but defines and version are different.
+
+diff --git a/src/do.c b/src/do.c
+index a01b177..9800cd6 100644
+--- a/src/do.c
++++ b/src/do.c
+@@ -2844,7 +2844,7 @@ for (ptr = VPKG; ptr != NULL; ptr=ptr->next)
+
+ ExpandVarstring(ptr->name,name,"");
+
+- snprintf(lock,CF_BUFSIZE-1,"%s_%d_%d",name,ptr->cmp,ptr->action);
++ snprintf(lock,CF_BUFSIZE-1,"%s_%d_%s_%d_%s_%s", name, ptr->cmp, ptr->ver ?: "" ,ptr->action, ptr->defines ?: "", ptr->elsedef ?: "");
+
+ if (!GetLock(ASUniqueName("packages"),CanonifyName(lock),ptr->ifelapsed,ptr->expireafter,VUQNAME,CFSTARTTIME))
+ {