summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2013-01-11 13:47:13 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2013-01-11 13:47:13 +0000
commitda0fd3d1cc50fcd6781c5ae4655e8651026c3c3f (patch)
tree3f8865ecb3d758e6efe8049daa4a2a9590798f01 /dev-vcs/cvs
parentDrop ~ia64 keyword due to build failures. Upstream does not support it anymor... (diff)
downloadhistorical-da0fd3d1cc50fcd6781c5ae4655e8651026c3c3f.tar.gz
historical-da0fd3d1cc50fcd6781c5ae4655e8651026c3c3f.tar.bz2
historical-da0fd3d1cc50fcd6781c5ae4655e8651026c3c3f.zip
Fixed memory leak easily triggered by cvsps on large repos (like gentoo-x86).
Package-Manager: portage-2.2.0_alpha149_p86/cvs/Linux x86_64 Manifest-Sign-Key: 0x611FF3AA
Diffstat (limited to 'dev-vcs/cvs')
-rw-r--r--dev-vcs/cvs/ChangeLog14
-rw-r--r--dev-vcs/cvs/Manifest16
-rw-r--r--dev-vcs/cvs/cvs-1.12.12-r10.ebuild88
-rw-r--r--dev-vcs/cvs/cvs-1.12.13-r2.ebuild127
-rw-r--r--dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild147
-rw-r--r--dev-vcs/cvs/files/cvs-1.12.12-fix-massive-leak.patch52
6 files changed, 440 insertions, 4 deletions
diff --git a/dev-vcs/cvs/ChangeLog b/dev-vcs/cvs/ChangeLog
index 5f34e8d602bc..a46b68191b15 100644
--- a/dev-vcs/cvs/ChangeLog
+++ b/dev-vcs/cvs/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-vcs/cvs
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-vcs/cvs/ChangeLog,v 1.7 2012/06/09 07:10:57 vapier Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/cvs/ChangeLog,v 1.8 2013/01/11 13:47:04 slyfox Exp $
+
+*cvs-1.12.13-r2 (11 Jan 2013)
+*cvs-1.12.13.1-r1 (11 Jan 2013)
+*cvs-1.12.12-r10 (11 Jan 2013)
+
+ 11 Jan 2013; Sergei Trofimovich <slyfox@gentoo.org> +cvs-1.12.12-r10.ebuild,
+ +cvs-1.12.13-r2.ebuild, +cvs-1.12.13.1-r1.ebuild,
+ +files/cvs-1.12.12-fix-massive-leak.patch:
+ Fixed memory leak easily triggered by cvsps on large repos (like gentoo-x86).
09 Jun 2012; Mike Frysinger <vapier@gentoo.org>
+files/cvs-1.12.12-mktime-x32.patch, cvs-1.12.12-r6.ebuild,
@@ -607,4 +616,3 @@
16 Mar 2002; Bruce A. Locke <blocke@shivan.org> cvs-1.11.1_p1.ebuild : Update
to cvs 1.11.1p1 with Redhat's external zlib linking patch
-
diff --git a/dev-vcs/cvs/Manifest b/dev-vcs/cvs/Manifest
index ed125d5b01e3..eabeee46ba23 100644
--- a/dev-vcs/cvs/Manifest
+++ b/dev-vcs/cvs/Manifest
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
AUX 01-cvs-env.d 14 SHA256 dd2e8db836e3879e56cba5df8f0700c1c0581df7e2201f9196650936278a0d15 SHA512 cbb7545ae34fcbfb6e64ad6bf91105a1950a483bb68637d164026e7df06da2dccbcfe0af568c3249ac0a8e7ff466a5e77614fe6fd76a3829136a854bfa7ceb5a WHIRLPOOL 8aaa83c3d17a480ec03267b6d397576f04ea0ac41ad26e6030c739355d50ea698094920ff2e6c4ad6fc9f84425866eedead009e7ded11ea3e68113451e8bf9b8
AUX cvs-1.11.23-CVE-2010-3846.patch 5663 SHA256 c6506d0a5efc7b0cab6415f26e070ec214fb9781fac8d295506f4d0825431a8f SHA512 eed761af81c9bcd3edd898559e9be25c6612bdef19984cc6380a08039525179fa34d9ade6c55c1b4f23e495156b34cafeab3e63cfd120c0e68a42aa7992e5e85 WHIRLPOOL a1b60f9d573e4bfcb1e6bcf89db210db246be6921905bea8f177b29b22282d36b7ac7a7dece7cbe0d3c32b69199fa112d9d9865692a0883f9da1b15cfa308178
AUX cvs-1.11.23-getline64.patch 826 SHA256 9604f0a5f07579a6e3fda37685be2b74cda2d621c0fd6aa04158d5107a15372a SHA512 3f90b125f9333de5e6dad9d349a3910e61917278a9751ff117efcb5cb29766ed82e1c536836477b784c953ce16ae868c035e73e105aaf056b6c93ec897f8d4e3 WHIRLPOOL 149c2f9042192a80cc12ce8910ef4af858d1221001d4ab1a4b6fecd4bc41adc631685ad372619b6829cda751424406fc5bd40d4401746e982b5afeae0a3f3842
@@ -5,6 +8,7 @@ AUX cvs-1.12.12-block-requests.patch 4006 SHA256 70bbf745815d1e01582329160a10f5c
AUX cvs-1.12.12-cvs-custom.c 1735 SHA256 bd288a9484c4c26569a44e71f0935cf310e4b02e25e7e9ba564c9fc3f5121054 SHA512 0a5589f225b45c41d5ae0b4b6bcba37002d6a1ef9a87a7e47ffa723c87ea6b1f4f29bc7551f1d17378d6f6b5545b0734607772c386851bde1fc51b8cac712a67 WHIRLPOOL d6795d6bd7af4275385a475b936c5b1c0c0f48ef35caa10e824b14b0da475f22026d9c59d30748006f3bd81cf57e368bad3b6f1bea7bcce92350d1495dbcc775
AUX cvs-1.12.12-cvs-gnulib-vasnprintf.patch 1092 SHA256 f38e6bbb0fd8b783b654ac775183a1cb24e3987698fdbd706a8d5fa59a45f945 SHA512 6c0be276f6e86dbe3646ada02ea57194b8c7d1e4d76c5faeb06750435599aa4125253bdf7af6232f53807977acb34aba093bc8bfa2ce98389c5ee80b2fd6e05d WHIRLPOOL 0b5dd5ee3c11fae83688d900db2ce678870c79b753c1ffde9aa11a6fe18286af7e24d57f2ce28ffcdbfb42172a0e87baed58047497248ffb1a37acca93ad716f
AUX cvs-1.12.12-cvsbug-tmpfix.patch 624 SHA256 061c26d140e1195200f1cc76217b2e7c2ff7f0c4dcbbb31124b386e8e756938e SHA512 29014631f5595dbf51a47032a19a23e545190dd8d40d77a71d363cee07a9ae38263b67db52a512436a9a7b37a7f5ff4daafa4a0a9f3c29bcfeb71ecff74408b7 WHIRLPOOL 09d53fa26159defe56cdbd414b699bd7c5be07f36b0b5addd367b393985bd7c98f14189db5b2793af0fc37d052f21af1f97c3775d46d71cebdfff15c447a9d5a
+AUX cvs-1.12.12-fix-massive-leak.patch 1985 SHA256 30727f2f97164b7e71a8abaf859b2a6dea7f680cb7e97699ee1e8ca8600bd782 SHA512 c4c9026e971f3da49cefce102b57bc681427a708ec8caa185df1234fd2a95090c8dc8cbf84374a762fdef7002d658cd4b52450429664cb3a1bfbda63d31c78a7 WHIRLPOOL c669df0411348d88f140a6da8c1c7a89be835483f00308020025d027f2ad55ba463608e48e04f11689c3270c3318b2aebba828020a997c8754e9517baef3b2d2
AUX cvs-1.12.12-getdelim.patch 559 SHA256 cc02f345d7347349df7b6fa826ef314871e5049df48e9c892db0175dbfe16cf4 SHA512 4e55f705b9fb8bc2a6c381e01c783ee4476fee8330aede6843b89c2217f8667f1e682ce098b78d3ea2d491b55227b97e07bc48173446ee8c9b86169357b03d19 WHIRLPOOL 663e4a42ac4e859acf0bde57eac5910b19e6a21a23878a03a3f56c9a5e092c81da0024a8fe519bbbdc82a528c258c5537084a4188ae127a5dcfc470a4f927216
AUX cvs-1.12.12-hash-nameclash.patch 1015 SHA256 3a6a5bf6bd419bb8a4440f3f4f5dba770db1d06e33e0ab6d249ace490010edb4 SHA512 0c3a78d31a38fb478ee7a93b87ad9481f04d275a3b9a9820e4cdfc8f0c27516c056aa3abf5087d3ebd2938dee504d0ba9291a615b4eb33f5b66663d24a1ccbd7 WHIRLPOOL db273cd95429ad758615826cb54755b91eb2a9a56daa859e264dc46eb8ffb5f2ec0ec21f17cfe5767021827a835ed4b700b8a8f52ae6e46695b5e715979d695e
AUX cvs-1.12.12-install-sh.patch 495 SHA256 9c2fc03b42804f8edb3a5a6f9c9e80bd68924f265ce52d196c3b5c759ba42f8a SHA512 7e468d41c1eb23c0a62b605e6e48cffc004e8f386a87a9696dd73b36702c74aad529f5cba7280dee1100027b6e1e907adad257cc446ca3ad734fa40d47e4ff72 WHIRLPOOL 1eaf9e7ccab89cd0d2c95440da0454779b13d6efc4b2a773d41f58998353a2670134344d6a97379103f3ba6e8b6c96c93db0b6229821bb8c12ce037a3b7ddb64
@@ -32,11 +36,21 @@ DIST cvs-1.12.12.tar.bz2 3197171 SHA256 9fb9176d268b9019768fc57dedc2920c28fbeda5
DIST cvs-1.12.13.1.tar.bz2 4075630 SHA256 de7f374d8c4ac414c04e8d44ce9a5d3da919825a6a332d747e299dc7a80c2218 SHA512 db318c0c70b47283bd469d792bdfe5335e5375e3b25beb79a7aea8435209b944cfa7ba51bdef9935f708e3a26a06b72defdb698974f2951cc9afd615f970986b WHIRLPOOL 3369e59e9f598cf6de28577302d62d3f6b00f705a0a5729c7ebf7b956d899e85afaaa160be2c4f7a4c710c1dd8860301ad1855c874229e39dbe60a5acc91a884
DIST cvs-1.12.13.tar.bz2 3911104 SHA256 78853613b9a6873a30e1cc2417f738c330e75f887afdaf7b3d0800cb19ca515e SHA512 7d10f808de62190b18d4f706d2d03ab218a508bfb52047ff3e830e293ec40c5e8bf6cc743ef72a5c24be5aa867c9e4892d7d475a026a98b296a3764b4bd0f4d8 WHIRLPOOL 0662c898e05dfe9e45ee1615cfc86bdf664dfc74ddcbea8833e0f98b22e5ea65920d401d3f9a674d5e567eb10f94a29631487a2f8e43a49685888ca94f98ab62
EBUILD cvs-1.11.23.ebuild 2009 SHA256 f3c8b9a7abf4dc9237eeee4fdcb5f4fd5df4d90b7ccc8dfc771085c26b071d3f SHA512 b81b2ed321cef59cf04374ca83a70d1b86a8b5de872b29052fc65857e1632fd22de045d5b8508aec1f9bfa42e11767b64966476e791e1aab3c1727ac5682f84f WHIRLPOOL e3b1aa8279cb86621d0cf5adcbd45b4b81674259fb89149a6eabb21c80ac22913ed23e8264aab444bc237ff3a84ec1fb98b78004412b65f53ed684f833f33033
+EBUILD cvs-1.12.12-r10.ebuild 2888 SHA256 8200ed11f3f28d7fca63643141ae4e8628b77fe1f88147870ef06bffc1bf1e9e SHA512 e12f681c14b6cb173276f67a74d58c9c07d44f06f5780cd9325512cb38bd32334419f29a1ef844152166d1b89f72a91a00dd896c440a353ae0a9ccd9185eef1c WHIRLPOOL 78af0a5db85b6a12fb2c9fb8a891c67f15eded82f65d5a4c4bd15d6660a9e63a9283b5cb8bcf5ceafd0d2cdf2e80a19b2b08cdf120a8842c168b39e9bae66474
EBUILD cvs-1.12.12-r6.ebuild 2529 SHA256 aea15b1b669a3c53c254d8835ef48c2e0b01ecedd31f9415ff40f044dc6e9b4c SHA512 01af71d0f37757eb5e8f7fcc944dd9a9b9aeb7ff8a8f62fd8ebace503d42d2336df20f5288204bbb9a848e7c00db28078a4bf17a6385b5055b668e54ee4c5598 WHIRLPOOL 6f901fcee46d486db07a517aed3203925648503dd717766892e636218b589d486d07df5db0d890fc5c8d10bf3e055746f9b03bd5d8de96573b3914db55c73730
EBUILD cvs-1.12.12-r7.ebuild 2568 SHA256 6b770b5fcb4abbda89d1bea398bf4adb3d024ebfa2886e9d24ed66acdf757cb4 SHA512 b27df089c83eb9570d717d2fbf74a6fa4ec58a20b8b7b8886c4c37145b213fee28ae86f61df2cc95f493ab914e62895abe63f363c23bbe13a37099da1be8df49 WHIRLPOOL 8a529d5807dc6198602485215648b114832121166a4e5fd49ac3694c42363517415917ce978bfad36fff8045e17ba44c9a6a8ff5294a1f594d90d73c254fa71f
EBUILD cvs-1.12.12-r8.ebuild 2619 SHA256 7887dece92707a67e247070901dbbe02d1c4054e376ac2a72e2b886e002c86c1 SHA512 ce99107f988045d3a385936c04b7927f1ae04a1035ca4ea30b97742106e46bdc4d504a7577af16224e6e847087576fd2df006c94143061510c918bd9f42ae498 WHIRLPOOL a0d1324f0f5fe4445a5b59edeb873a7bf6f2643e6e457d09fe3fb263023069e8a7ce9fa02cca8e76c1cbb436c5085c6f4972c96f9e89c01f8478abc086d5f345
EBUILD cvs-1.12.12-r9.ebuild 2837 SHA256 6e62adf333e9749d8aef5fad99e1470f032a5eec06701a7075296c7b993a23b7 SHA512 ad645e2403d27a7bcde4ad53c27703fc7ad308aae45056689dd37fdb467ed48029522461f4bd0eb8617dc50d9e48071de729ee27145416e8d91c07d923c5339c WHIRLPOOL dae74c55c5044c191ee044ba4b128e26e26ab84289728c74396676637c1a692920dc81da222ba021a28a98ec3679d13aa9827f7f494fe711f1a6ad267ea74fca
EBUILD cvs-1.12.13-r1.ebuild 4002 SHA256 554f55d518ba6c67f34646cf1c1bc082f23547ebbc830f517db3ce00821bd663 SHA512 32e20acef6a336b1ec7a54cc584cc2d161020306660786f4b511a835631f5e232cea2e855c86bd8337335faff9772f38e904abc3adb5c97540063b53b00194b8 WHIRLPOOL 04147908060047817acc1967d808e625b1027d1b4ca5ddcc218d977187819937000169f2418437e5b199c470b4a0b41d0a119301cadf4b6b07e542565754d4d5
+EBUILD cvs-1.12.13-r2.ebuild 4063 SHA256 d004335edb59bccf71715ae5bcba277bdcbe4a843b69ca45cf1ed11be20181dc SHA512 b6011697965d65e332c46241e91957998981537fc2d0caace389c0c1be8a2676028bfe2cdcdbd6618ef655ee67e8eb036d5d0f0e8dcc52864c6198ecb6f8e33a WHIRLPOOL a250fbbad279d1a012eca8e669694e7e6b4314063013267d73c7a3380e6fc70102fe6f23b22a8e83b2b0dcf54adf433294f4521d1f08d32eb63f60298623139c
+EBUILD cvs-1.12.13.1-r1.ebuild 4827 SHA256 d49a6cd47d7b8ce13cca30a12ef20de86a252f68a6663a41d52298eba668e87e SHA512 187bcbb907df1d46a5fb0493a837b89f535f5c5df8ec19e2ec62fc6cf316e5a1a25ff9c9883e3642eb174a5fc3f4a5cdccf0e8945ee40007b19868bf22f52fe7 WHIRLPOOL e44d262b45cba42e30b915db39165bb08a58ff83c5915ae0cc731b36e548d190a56048117b9634d6913ceeb4a75b10d41c41861c3ce414e576f56dc3043147ce
EBUILD cvs-1.12.13.1.ebuild 4763 SHA256 8d7ad1d2f9bd3e03190f2a4f917b28956058931176a40b4dde5ecb907f430ce2 SHA512 95a98a363f04120a23b8a8845723a8da3ee81098ffbda282b25c7ad4699776414be8bd0bb8cb5bd34936ae8368b0bce8fb095a75e78f194b9dd1978fa0cbb266 WHIRLPOOL 63dc96152731a85b355f6f719d4932fd8977fed5b824c89e7a2b84dcde717d96b9ba17cf13f31b57975c30ebf3db3700d0d364e6f7339ea5cf4183a320011d41
-MISC ChangeLog 22237 SHA256 d92513435d18f1cc75926372da89873fbb23c0669e69ee015b9f7ba9d83cd5f2 SHA512 9f8baab9b1c52203b694b6efe6b12a98f1e3c9f0b4eb4775e770df986c6e123f7c69ced457304bf53e60fbeef8183c9fe09a94f4396f79e711b3cbf2511cc28f WHIRLPOOL 7c7fe46bb73556420877b8fefb45bcce76da67a26ff1ea083a1ae62ccbc989a22b7a76d388be0c9ec4fd00c073d1be8856899ae780af24e52ddb208bb79fb62c
+MISC ChangeLog 22587 SHA256 86a7af1d3adda6fca63ed79498ca7ef06d8dc2ea9ac7adefb1eaedd88dd727d9 SHA512 f1b167bf9c382d274ce46a309c072dd70e503fc1259151bc1a57424a89bf4e4d7df86c18c10bbb3dd6f37e82da16ef4392e72cd72ed3023db7a3e3303a0c148b WHIRLPOOL 7dd020ca5144217b01af7f226a703abd7e15d25c103123ddf2d7c6a43772d897629527ac8b1744e832a66c1a1e951f10c6172e31300ada6f279aa0d9d7bc2c47
MISC metadata.xml 234 SHA256 ce7beba20d6099be006550fb74bb9e74628a9d6967c7ceb096ab99959df47a02 SHA512 a3496fff78817806f0d26ead02e33ecffa0461ae98d6d5cc1f4e2720668acbba89393516a25135bf779d46d8fd0b13c4ee83d31c825e5a199647533da746f613 WHIRLPOOL 6bbde883caeeae98119e6d7dc741843c5087f4e2629d65afbe02a778579b9fc58b24c8485ffadf432bc768e3f91998cdf5dfd819157ab5ca33fe3b157441ffbf
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.19 (GNU/Linux)
+
+iEYEAREIAAYFAlDwF8oACgkQcaHudmEf86pLFQCcDn0SHpGIn5qdtC7hhrcl51ik
+7KYAn1Z4HBQyi0Xv6Cz/jMWx2ts/X8ue
+=6a6C
+-----END PGP SIGNATURE-----
diff --git a/dev-vcs/cvs/cvs-1.12.12-r10.ebuild b/dev-vcs/cvs/cvs-1.12.12-r10.ebuild
new file mode 100644
index 000000000000..5e4131060683
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.12-r10.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/cvs/cvs-1.12.12-r10.ebuild,v 1.1 2013/01/11 13:47:04 slyfox Exp $
+
+EAPI=3
+
+inherit eutils pam
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+SRC_URI="mirror://gnu/non-gnu/cvs/source/feature/${PV}/${P}.tar.bz2
+ doc? ( mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.html.tar.bz2
+ mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.pdf
+ mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.ps )"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc kerberos nls pam server"
+
+DEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${P}-openat.patch
+ epatch "${FILESDIR}"/${P}-block-requests.patch
+ epatch "${FILESDIR}"/${P}-cvs-gnulib-vasnprintf.patch
+ epatch "${FILESDIR}"/${P}-install-sh.patch
+ epatch "${FILESDIR}"/${P}-hash-nameclash.patch # for AIX
+ epatch "${FILESDIR}"/${P}-getdelim.patch # 314791
+ epatch "${FILESDIR}"/${PN}-1.12.12-rcs2log-coreutils.patch # 144114
+ epatch "${FILESDIR}"/${P}-mktime-x32.patch # 395641
+ epatch "${FILESDIR}"/${P}-fix-massive-leak.patch
+ use server || elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+src_configure() {
+ econf \
+ --with-external-zlib \
+ --with-tmpdir=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ insinto /etc/xinetd.d
+ if use server; then
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+ newenvd "${FILESDIR}"/01-cvs-env.d 01cvs
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/cvs-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
+
+src_test() {
+ einfo "FEATURES=\"maketest\" has been disabled for dev-vcs/cvs"
+}
diff --git a/dev-vcs/cvs/cvs-1.12.13-r2.ebuild b/dev-vcs/cvs/cvs-1.12.13-r2.ebuild
new file mode 100644
index 000000000000..c16c9ba44f85
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.13-r2.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/cvs/cvs-1.12.13-r2.ebuild,v 1.1 2013/01/11 13:47:04 slyfox Exp $
+
+EAPI=3
+
+inherit eutils pam
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+SRC_URI="mirror://gnu/non-gnu/cvs/source/feature/${PV}/${P}.tar.bz2
+ doc? ( mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.html.tar.bz2
+ mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.pdf
+ mirror://gnu/non-gnu/cvs/source/feature/${PV}/cederqvist-${PV}.ps )"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc emacs kerberos nls pam server"
+
+DEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.12.12-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${P}-openat.patch
+ epatch "${FILESDIR}"/${P}-zlib.patch
+ epatch "${FILESDIR}"/${PN}-1.12.12-install-sh.patch
+ epatch "${FILESDIR}"/${PN}-1.12.12-fix-massive-leak.patch
+ # this testcase was not updated
+ #sed -i.orig -e '/unrecognized keyword.*BogusOption/s,98,73,g' \
+ # ${S}/src/sanity.sh
+ # this one fails when the testpath path contains '.'
+ sed -i.orig -e '/newfile config3/s,a-z,a-z.,g' \
+ "${S}"/src/sanity.sh
+}
+
+src_configure() {
+ local myconf
+ # the tests need the server and proxy
+ if has test $FEATURES; then
+ use server || \
+ ewarn "The server and proxy code are enabled as they are required for tests."
+ myconf="--enable-server --enable-proxy"
+ fi
+ econf \
+ --with-external-zlib \
+ --with-tmpdir=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server) \
+ $(use_enable server proxy)
+}
+
+src_install() {
+ einstall || die
+
+ if use server; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ if use emacs; then
+ insinto /usr/share/emacs/site-lisp
+ doins cvs-format.el || die "doins failed"
+ fi
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${PV}.ps
+ tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
+ dohtml -r cederqvist-${PV}.html/*
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
+
+src_test() {
+ einfo "If you want to see realtime status, or check out a failure,"
+ einfo "please look at ${S}/src/check.log*"
+ if [ -n "$TEST_REMOTE_AND_PROXY" ]; then
+ einfo "local, remote, and proxy tests enabled."
+ else
+ einfo "Only testing local mode. Please see ebuild for other modes."
+ fi
+
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-local"
+ mkdir -p "$TESTDIR"
+ # we only do the local tests by default
+ make localcheck || die "Some local test failed."
+ mv -f check.log check.log-local
+
+ # if you want to test the remote and proxy modes, things get a little bit
+ # complicated. You need to set up a SSH config file at ~portage/.ssh/config
+ # that allows the portage user to login without any authentication, and also
+ # set up the ~portage/.ssh/known_hosts file for your machine.
+ # We do not do this by default, as it is unsafe from a security point of
+ # view, and requires root level ssh changes.
+ if [ -n "$TEST_REMOTE_AND_PROXY" ]; then
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-remote"
+ mkdir -p "$TESTDIR"
+ make remotecheck || die "Some remote test failed."
+ mv -f check.log check.log-remote
+
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-proxy"
+ mkdir -p "$TESTDIR"
+ make proxycheck || die "Some proxy test failed."
+ mv -f check.log check.log-proxy
+ fi
+}
diff --git a/dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild b/dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild
new file mode 100644
index 000000000000..49ff212f87be
--- /dev/null
+++ b/dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild,v 1.1 2013/01/11 13:47:04 slyfox Exp $
+
+EAPI=3
+
+inherit eutils pam versionator
+
+DESCRIPTION="Concurrent Versions System - source code revision control tools"
+HOMEPAGE="http://www.nongnu.org/cvs/"
+
+DOC_PV="$(get_version_component_range 1-3)"
+FEAT_URIBASE="mirror://gnu/non-gnu/cvs/source/feature/${PV}/"
+DOC_URIBASE="mirror://gnu/non-gnu/cvs/source/feature/${DOC_PV}/"
+SNAP_URIBASE="mirror://gnu/non-gnu/cvs/source/nightly-snapshots/feature/"
+SRC_URI="
+ ${FEAT_URIBASE}/${P}.tar.bz2
+ ${SNAP_URIBASE}/${P}.tar.bz2
+ doc? (
+ ${DOC_URIBASE}/cederqvist-${DOC_PV}.html.tar.bz2
+ ${DOC_URIBASE}/cederqvist-${DOC_PV}.pdf
+ ${DOC_URIBASE}/cederqvist-${DOC_PV}.ps
+ )"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt doc kerberos nls pam server"
+
+DEPEND=">=sys-libs/zlib-1.1.4
+ kerberos? ( virtual/krb5 )
+ pam? ( virtual/pam )"
+
+src_unpack() {
+ unpack ${P}.tar.bz2
+ use doc && unpack cederqvist-${DOC_PV}.html.tar.bz2
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.12.12-cvsbug-tmpfix.patch
+ epatch "${FILESDIR}"/${PN}-1.12.12-install-sh.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-block-requests.patch
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-hash-nameclash.patch # for AIX
+ epatch "${FILESDIR}"/${PN}-1.12.13.1-gl-mempcpy.patch # for AIX
+ epatch "${FILESDIR}"/${PN}-1.12.12-fix-massive-leak.patch
+ # Applied by upstream:
+ #epatch "${FILESDIR}"/${PN}-1.12.13-openat.patch
+ #epatch "${FILESDIR}"/${PN}-1.12.13-zlib.patch
+
+ # this testcase was not updated
+ #sed -i.orig -e '/unrecognized keyword.*BogusOption/s,98,73,g' \
+ # ${S}/src/sanity.sh
+ # this one fails when the testpath path contains '.'
+ sed -i.orig \
+ -e '/newfile config3/s,a-z,a-z.,g' \
+ "${S}"/src/sanity.sh
+
+ elog "If you want any CVS server functionality, you MUST emerge with USE=server!"
+}
+
+src_configure() {
+ local myconf
+ # the tests need the server and proxy
+ if has test $FEATURES; then
+ use server || \
+ ewarn "The server and proxy code are enabled as they are required for tests."
+ myconf="--enable-server --enable-proxy"
+ fi
+ econf \
+ --with-external-zlib \
+ --with-tmpdir=/tmp \
+ $(use_enable crypt encryption) \
+ $(use_with kerberos gssapi) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ $(use_enable server) \
+ $(use_enable server proxy) \
+ ${myconf}
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+
+ if use server; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins failed"
+ fi
+
+ dodoc BUGS ChangeLog* DEVEL* FAQ HACKING \
+ MINOR* NEWS PROJECTS README* TESTS TODO
+
+ # Not installed into emacs site-lisp because it clobbers the normal C
+ # indentations.
+ dodoc cvs-format.el || die "dodoc failed"
+
+ use server && newdoc "${FILESDIR}"/${PN}-1.12.12-cvs-custom.c cvs-custom.c
+
+ if use doc; then
+ dodoc "${DISTDIR}"/cederqvist-${DOC_PV}.pdf
+ dodoc "${DISTDIR}"/cederqvist-${DOC_PV}.ps
+ dohtml -r "${WORKDIR}"/cederqvist-${DOC_PV}.html/
+ dosym cvs.html /usr/share/doc/${PF}/html/index.html
+ fi
+
+ newpamd "${FILESDIR}"/cvs.pam-include-1.12.12 cvs
+}
+
+_run_one_test() {
+ mode="$1" ; shift
+ einfo "Starting ${mode} test"
+ cd "${S}"/src
+ export TESTDIR="${T}/tests-${mode}"
+ rm -rf "$TESTDIR" # Clean up from any previous test passes
+ mkdir -p "$TESTDIR"
+ emake -j1 ${mode}check || die "Some ${mode} test failed."
+ mv -f check.log check.log-${mode}
+ einfo "${mode} test completed successfully, log is check.log-${mode}"
+}
+
+src_test() {
+ einfo "If you want to see realtime status, or check out a failure,"
+ einfo "please look at ${S}/src/check.log*"
+
+ if [ "$TEST_REMOTE_AND_PROXY" == "1" ]; then
+ einfo "local, remote, and proxy tests enabled."
+ else
+ einfo "Only testing local mode. Please see ebuild for other modes."
+ fi
+
+ # we only do the local tests by default
+ _run_one_test local
+
+ # if you want to test the remote and proxy modes, things get a little bit
+ # complicated. You need to set up a SSH config file at ~portage/.ssh/config
+ # that allows the portage user to login without any authentication, and also
+ # set up the ~portage/.ssh/known_hosts file for your machine.
+ # We do not do this by default, as it is unsafe from a security point of
+ # view, and requires root level ssh changes.
+ # Note that this also requires having a real shell for the portage user, so make
+ # sure that su -c 'ssh portage@mybox' portage works first!
+ # (It uses the local ip, not loopback)
+ if [ "$TEST_REMOTE_AND_PROXY" == "1" ]; then
+ _run_one_test remote
+ _run_one_test proxy
+ fi
+}
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-fix-massive-leak.patch b/dev-vcs/cvs/files/cvs-1.12.12-fix-massive-leak.patch
new file mode 100644
index 000000000000..5366f50855f1
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-fix-massive-leak.patch
@@ -0,0 +1,52 @@
+buf_free_data must free data independently
+of send or reseived bytes over network.
+
+Moreover, when buffer is usually freed
+buffer _is_ empty, but has one clean mapped page.
+
+I've observed massive 'cvs server' leaks
+when importing large gentoo-x86 repo with 'cvsps'.
+Leak ate all my 32GBs of RAM and killed process.
+(Leaked around 3 pages per client request).
+
+valgrind found the leak easily:
+
+$ valgrind \
+ cvsps \
+ --root :local:$HOME/portage/gentoo-x86.rsync \
+ --fast-export \
+ gentoo-x86/dev-vcs/git-annex 2>l |
+ git fast-import
+
+ ==13504== 1,248 bytes in 52 blocks are still reachable in loss record 41 of 47
+ ==13504== at 0x4C2C19B: malloc (vg_replace_malloc.c:270)
+ ==13504== by 0x48A556: xnmalloc_inline (xmalloc.c:40)
+ ==13504== by 0x48A5B5: xmalloc (xmalloc.c:56)
+ ==13504== by 0x4855F5: new_memnode (pagealign_alloc.c:91)
+ ==13504== by 0x48571B: pagealign_alloc (pagealign_alloc.c:151)
+ ==13504== by 0x485739: pagealign_xalloc (pagealign_alloc.c:182)
+ ==13504== by 0x408DD7: get_buffer_data (buffer.c:98)
+ ==13504== by 0x409C0C: buf_input_data (buffer.c:738)
+ ==13504== by 0x45BB63: do_cvs_command (server.c:3847)
+ ==13504== by 0x45D39E: serve_co (server.c:4809)
+ ==13504== by 0x45F845: server (server.c:6438)
+ ==13504== by 0x438784: main (main.c:1066)
+
+And now it takes constant space (less, than 18MB)
+for 'cvs server' process to convert all gentoo-x86
+by serving more, than 5 000 000 client requests.
+
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+diff --git a/src/buffer.c b/src/buffer.c
+index 3f12513..9a7a559 100644
+--- a/src/buffer.c
++++ b/src/buffer.c
+@@ -526,7 +526,7 @@ buf_copy_data (struct buffer *buf, struct buffer_data *data,
+ void
+ buf_free_data (struct buffer *buffer)
+ {
+- if (buf_empty_p (buffer)) return;
++ if (! buffer->data) return;
+ buf_free_datas (buffer->data, buffer->last);
+ buffer->data = buffer->last = NULL;
+ }