diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2013-01-11 13:47:13 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2013-01-11 13:47:13 +0000 |
commit | da0fd3d1cc50fcd6781c5ae4655e8651026c3c3f (patch) | |
tree | 3f8865ecb3d758e6efe8049daa4a2a9590798f01 /dev-vcs/cvs | |
parent | Drop ~ia64 keyword due to build failures. Upstream does not support it anymor... (diff) | |
download | historical-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/ChangeLog | 14 | ||||
-rw-r--r-- | dev-vcs/cvs/Manifest | 16 | ||||
-rw-r--r-- | dev-vcs/cvs/cvs-1.12.12-r10.ebuild | 88 | ||||
-rw-r--r-- | dev-vcs/cvs/cvs-1.12.13-r2.ebuild | 127 | ||||
-rw-r--r-- | dev-vcs/cvs/cvs-1.12.13.1-r1.ebuild | 147 | ||||
-rw-r--r-- | dev-vcs/cvs/files/cvs-1.12.12-fix-massive-leak.patch | 52 |
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; + } |