commit: 7bab5de94a58ff4ccec492a7e95ff72615c3b5d1
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 12 21:34:11 2015 +0000
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jun 12 21:34:11 2015 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=7bab5de9
dev-vcs/cvs: sync with tree version.
dev-vcs/cvs/Manifest | 7 ++-
dev-vcs/cvs/cvs-1.12.12-r99.ebuild | 41 +++++++++--------
dev-vcs/cvs/files/01-cvs-env.d | 1 +
.../cvs/files/cvs-1.12.12-fix-massive-leak.patch | 52 ++++++++++++++++++++++
dev-vcs/cvs/files/cvs-1.12.12-getdelim.patch | 21 +++++++++
dev-vcs/cvs/files/cvs-1.12.12-hash-nameclash.patch | 42 +++++++++++++++++
.../cvs/files/cvs-1.12.12-rcs2log-coreutils.patch | 14 ++++++
7 files changed, 159 insertions(+), 19 deletions(-)
diff --git a/dev-vcs/cvs/Manifest b/dev-vcs/cvs/Manifest
index 2bece11..6c01438 100644
--- a/dev-vcs/cvs/Manifest
+++ b/dev-vcs/cvs/Manifest
@@ -1,9 +1,14 @@
+AUX 01-cvs-env.d 14 SHA256
dd2e8db836e3879e56cba5df8f0700c1c0581df7e2201f9196650936278a0d15 SHA512
cbb7545ae34fcbfb6e64ad6bf91105a1950a483bb68637d164026e7df06da2dccbcfe0af568c3249ac0a8e7ff466a5e77614fe6fd76a3829136a854bfa7ceb5a
WHIRLPOOL
8aaa83c3d17a480ec03267b6d397576f04ea0ac41ad26e6030c739355d50ea698094920ff2e6c4ad6fc9f84425866eedead009e7ded11ea3e68113451e8bf9b8
AUX cvs-1.12.12-block-requests.patch 4006 SHA256
70bbf745815d1e01582329160a10f5cdd9c11051e4e62d331686dd5124e01294 SHA512
541545ffc64c4f2303b7e8f6cae2cdff0437452e4bcf94b2149d51e43710096e17f024c1a8ed32433560ea51ecef2aba2f3e6bfaef8fa9e4ad2f2436649884d1
WHIRLPOOL
4c56980ea0d307789ace423e7fcafb86c82429f82cfbe6d873706f95e6e2554e06268540d23b9718113e5182b83b01bb22d02ae649e27feaac1dfd09b38fa892
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
AUX cvs-1.12.12-mktime-x32.patch 916 SHA256
107b0adceda7c8b7b8e89604f38ea0e7a903420dc58dbf22c5eeac947d63d0e1 SHA512
4a58c0f94de8e19c2de1930b7e5e04816e79a86885c89b792616a4c43f6e12aef271005ae59ae0d5788a910ba97735ccdf35f0ef5faafc2e3c50a9858b8f6216
WHIRLPOOL
5ca4316ee5a272efabe6da249476f6f916851fa92338368616aff03f380b2cd290391faa455e914e423ce74a00122336e6bfa93236a8412c1f32103040e3038a
AUX cvs-1.12.12-openat.patch 761 SHA256
5b9fc46c2ee46d9136ddfc8d0baaac6087d8cae40fa5521815c3c2e372f25b9f SHA512
b0a7abc785169705d2f0668a8af706f93ee3eba3d050d555689577962283e54f6bd186e662b64c65f926cf72dff76a37259181338707d641ee0f20591ba62805
WHIRLPOOL
31c9eb71d9d8cf5dff05e48c054e29b720702c6c12cafd7a2dd9687578bb1c441cf5e90c355b9164dee6b14f6c5cb7a2f4ad7d9ff4831f3ce2f02f82ffd082f7
+AUX cvs-1.12.12-rcs2log-coreutils.patch 561 SHA256
0df8b6ad74b344edc7c353c4dd2cc3825db14dfb1fed20bb007f09c58f1063c8 SHA512
796d2b7ee60619878ac4baa346927ab61ad1bf7b532a63976ef4c3d352ac73c6ed47392d614d538b979936f092291e97b23c47e1f029fc87c4de0b994975fb9c
WHIRLPOOL
dda784cf39c8a91573dbbc663d9e167961ae8540189b7675eef21e87bda6c6de05cc272e256c3a1ba27670f2fbbc03883b2b0ce68c263584d6f00917e5c53103
AUX cvs-1.12.12-regex.patch 396 SHA256
0f8a66e61d92a0a9c23854a2b0f16f75f056cc804003a89428ae59d6ac48109a SHA512
0ea01d1df9e5f91c36d475639db10a22eb52fa7d23cc687482c09489d7ae19a4e5917476c61b7de15fe037775bef92aa206e01e58c26f7dd4ce7b02675eac40c
WHIRLPOOL
c6f3a33520dff71b4d91b5d4ed281db0bc4f671bf7c0f507052f9e7a202b2a65ac97c9b70c840cdc634dc07fb7600534744d5ff948f383ece2661c0fe4a4cbed
AUX cvs.pam-include-1.12.12 106 SHA256
8291f84c2d76269e7be6487ae1db7212e67ee7313d35e6b0cebcd01e30d155af SHA512
1e72da3f959433e59d0153ff09e53a79bb68793506456e38d7070ffe4fcf6d596fdc3740dd2325d626a8dbd356dd11d93fbd5f220515f2435a94b90bb5833fb9
WHIRLPOOL
4580958cbd6955c5fc3e84d4b5c5877c2e94c5a3de326f6936c641cda43a588196871b43280cdbe16c8274049a08eb73ac7067a5166b1f613770f4ea24afc5eb
AUX cvspserver.xinetd.d 282 SHA256
71b62c4f278ed17bf3cac8eacb2bfb17b6125bfe77f83b46fa5742395b74ef5f SHA512
6845a5fc38ed9d8f9194f14137066c3f2640f09ebc1dce7e9fa7c49761534003e5b1c59593496ba9f88a6c9b1196980bc145a2e2fdcbf662360d1b1ca8821411
WHIRLPOOL
949abc87f0d7c8f104ce8a896fdfd94e3db8f60d5aaa948d3358e348b17de942f19ba68fe545ec2af0026643d7b5efd5bc3bc26ccc7da47c70c544d01879646a
@@ -11,5 +16,5 @@ DIST cederqvist-1.12.12.html.tar.bz2 137581 SHA256
6bdd66581ec363e05313a14db27cd
DIST cederqvist-1.12.12.pdf 1252423 SHA256
211c5792d24bfd5694f23bc217a161d880bfb2447c41016fab6f657168b041ce SHA512
aa90b76664ca103cf41831a5595d5e99df9fd87633aa5a500569f43854ca6e409a26b655f02ed59cde1c37ce88c40e06f3b3376ad71fdc9487032c3f0898706a
WHIRLPOOL
88d015117c05716df6d0cdc763f16dc488f0641624475e9bd33478485dd32e36a7ee5c49a1789ebdd173e665ae5963e75975342d7308e8e453adb65dd31ec6c5
DIST cederqvist-1.12.12.ps 1262208 SHA256
0e14189614e2c5ead49bfe0ecd187239f8adc3e66371b49d52163be821e44cab SHA512
9a061ef90c664fbb4f882644f72c4f80ffbe0233b6b364511b1c7f18f0a53383980a6ddda326b6df1f2fe1899aed3225de89b55a65a1d9101ba81d1c10c067e2
WHIRLPOOL
fb1616ca734e51a626713e7e78786ecbff18378966c2c131f6992df248096d38e850123449d3a5a6aa111ee209f90ef48848da7366b21cb6befeccf07ce54ab6
DIST cvs-1.12.12.tar.bz2 3197171 SHA256
9fb9176d268b9019768fc57dedc2920c28fbeda5ba224c2348550d4f25043edc SHA512
31c679b77b887e02d9c8c381b0dfb42f1207ef4ca806cd92843638eb2126ed032e99bda70a3e20ea2a029670ff39c40088a43435632e381739e6c2f978e6f4bb
WHIRLPOOL
74257976cdb957e86fb9fb7e54fc8c0b7210f72136ce05327203d935195e7a3bdda0c1d616dc04cb1d6495cb038ca7275e88488eddb5d936c1cfceb94583278c
-EBUILD cvs-1.12.12-r99.ebuild 2685 SHA256
aaeb076ab464014cf792edcc58071af9b26b1410ceda58da6d30e246ae0b675f SHA512
4562508693eaaf9d4df68ec7e8d22394ec7d640421fbdbb1145b011ec8b91ae2def4c2bb5a6581a43b38cee316bdfb2f135ab80486f0178e65e784dd5bad2568
WHIRLPOOL
7819b6029a7e046a28c45d35e8107975eff02570015639207ea8e7dd224748347da01b10ad6a3c5459c7388bfc924b355b1bfc27ae68ddceda9a2ac01c4d862a
+EBUILD cvs-1.12.12-r99.ebuild 3062 SHA256
98a287f0c3a8832add2781b9fe6c25670e3f3bd4a1e0a49f7b37974cd0dc3460 SHA512
564fb49f482c3726f27f13d73f622453b894bd216198e39a1753977b6488f8f2371cffb0b5126c7471f4260deb3c4af10d847a9876d43ef0c765785d8022ac44
WHIRLPOOL
52a815104ebab0b3ca8d8bf7b60eab95efccc1d7faafa56e955bd497a3e67aa24257e9be0b9fce0bbcd9f20a437d2208186c3c8f6415eec12fb23999b4e8a9f0
MISC metadata.xml 234 SHA256
ce7beba20d6099be006550fb74bb9e74628a9d6967c7ceb096ab99959df47a02 SHA512
a3496fff78817806f0d26ead02e33ecffa0461ae98d6d5cc1f4e2720668acbba89393516a25135bf779d46d8fd0b13c4ee83d31c825e5a199647533da746f613
WHIRLPOOL
6bbde883caeeae98119e6d7dc741843c5087f4e2629d65afbe02a778579b9fc58b24c8485ffadf432bc768e3f91998cdf5dfd819157ab5ca33fe3b157441ffbf
diff --git a/dev-vcs/cvs/cvs-1.12.12-r99.ebuild
b/dev-vcs/cvs/cvs-1.12.12-r99.ebuild
index 955a67a..dcd5bdd 100644
--- a/dev-vcs/cvs/cvs-1.12.12-r99.ebuild
+++ b/dev-vcs/cvs/cvs-1.12.12-r99.ebuild
@@ -1,6 +1,8 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 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-r6.ebuild,v 1.4
2014/01/19 10:30:16 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/cvs/cvs-1.12.12-r10.ebuild,v 1.15
2015/04/18 20:37:12 pacho Exp $
+
+EAPI=3
inherit eutils pam toolchain-funcs
@@ -14,9 +16,10 @@
SRC_URI="mirror://gnu/non-gnu/cvs/source/feature/${PV}/${P}.tar.bz2
LICENSE="GPL-2 LGPL-2"
SLOT="0"
-KEYWORDS="amd64 arm ~mips ppc x86"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh
sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux
~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris
~x64-solaris ~x86-solaris"
IUSE="crypt doc kerberos nls pam server"
+RESTRICT='test'
DEPEND=">=sys-libs/zlib-1.1.4
kerberos? ( virtual/krb5 )
@@ -25,18 +28,24 @@ DEPEND=">=sys-libs/zlib-1.1.4
src_unpack() {
unpack ${P}.tar.bz2
use doc && unpack cederqvist-${PV}.html.tar.bz2
- EPATCH_OPTS="-p1 -d ${S}" epatch "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cvsbug-tmpfix.patch
epatch "${FILESDIR}"/${P}-openat.patch
- EPATCH_OPTS="-p1 -d ${S}" epatch "${FILESDIR}"/${P}-block-requests.patch
- cd "${S}"
+ epatch "${FILESDIR}"/${P}-block-requests.patch
epatch "${FILESDIR}"/${P}-cvs-gnulib-vasnprintf.patch
epatch "${FILESDIR}"/${P}-install-sh.patch
- epatch "${FILESDIR}"/${P}-regex.patch
+ epatch "${FILESDIR}"/${P}-regex.patch # for musl
+ 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_compile() {
+src_configure() {
if tc-is-cross-compiler ; then
# Sane defaults when cross-compiling (as these tests want to
# try and execute code).
@@ -49,16 +58,17 @@ src_compile() {
$(use_with kerberos gssapi) \
$(use_enable nls) \
$(use_enable pam) \
- $(use_enable server) \
- || die
- emake || die "emake failed"
+ $(use_enable server)
}
src_install() {
emake install DESTDIR="${D}" || die
insinto /etc/xinetd.d
- newins "${FILESDIR}"/cvspserver.xinetd.d cvspserver || die "newins
failed"
+ 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
@@ -74,13 +84,8 @@ src_install() {
dodoc "${DISTDIR}"/cederqvist-${PV}.ps
tar xjf "${DISTDIR}"/cederqvist-${PV}.html.tar.bz2
dohtml -r cederqvist-${PV}.html/*
- cd "${D}"/usr/share/doc/${PF}/html/
- ln -s cvs.html index.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/files/01-cvs-env.d b/dev-vcs/cvs/files/01-cvs-env.d
new file mode 100644
index 0000000..5c89358
--- /dev/null
+++ b/dev-vcs/cvs/files/01-cvs-env.d
@@ -0,0 +1 @@
+CVS_RSH="ssh"
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 0000000..5366f50
--- /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 <[email protected]>
+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;
+ }
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-getdelim.patch
b/dev-vcs/cvs/files/cvs-1.12.12-getdelim.patch
new file mode 100644
index 0000000..d27bcc0
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-getdelim.patch
@@ -0,0 +1,21 @@
+The function getdelim() behaves slightly different on FreeBSD,
+only appending to the *line buffer if line_size is 0.
+
+See:
+http://savannah.nongnu.org/bugs/?29466
+http://bugs.gentoo.org/314791
+
+Already comitted upstream:
+http://cvs.savannah.gnu.org/viewvc/ccvs/src/myndbm.c?root=cvs&r1=1.38&r2=1.39
+
+--- src/myndbm.c.orig
++++ src/myndbm.c
+@@ -213,7 +213,7 @@
+ mydbm_load_file (FILE *fp, List *list, char *filename)
+ {
+ char *line = NULL;
+- size_t line_size;
++ size_t line_size = 0;
+ char *value;
+ size_t value_allocated;
+ char *cp, *vp;
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-hash-nameclash.patch
b/dev-vcs/cvs/files/cvs-1.12.12-hash-nameclash.patch
new file mode 100644
index 0000000..0a33eea
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-hash-nameclash.patch
@@ -0,0 +1,42 @@
+http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/src/hash.h?r1=1.14.6.2&r2=1.14.6.3&pathrev=cvs1-11-x-branch
+fixed in cvs-1.11.23, cvs-HEAD after cvs-1.12.13a
+
+--- src/hash.h.orig 2005-02-01 22:56:48 +0100
++++ src/hash.h 2010-03-10 19:00:11 +0100
+@@ -27,26 +27,26 @@
+ };
+ typedef enum ntype Ntype;
+
+-struct node
++struct hashnode
+ {
+ Ntype type;
+- struct node *next;
+- struct node *prev;
+- struct node *hashnext;
+- struct node *hashprev;
++ struct hashnode *next;
++ struct hashnode *prev;
++ struct hashnode *hashnext;
++ struct hashnode *hashprev;
+ char *key;
+ void *data;
+- void (*delproc) (struct node *);
++ void (*delproc) (struct hashnode *);
+ };
+-typedef struct node Node;
++typedef struct hashnode Node;
+
+-struct list
++struct hashlist
+ {
+ Node *list;
+ Node *hasharray[HASHSIZE];
+- struct list *next;
++ struct hashlist *next;
+ };
+-typedef struct list List;
++typedef struct hashlist List;
+
+ List *getlist (void);
+ Node *findnode (List * list, const char *key);
diff --git a/dev-vcs/cvs/files/cvs-1.12.12-rcs2log-coreutils.patch
b/dev-vcs/cvs/files/cvs-1.12.12-rcs2log-coreutils.patch
new file mode 100644
index 0000000..0fb4c6c
--- /dev/null
+++ b/dev-vcs/cvs/files/cvs-1.12.12-rcs2log-coreutils.patch
@@ -0,0 +1,14 @@
+X-Gentoo-bug: 144114
+
+diff -Nuar cvs-1.12.12.orig//contrib/rcs2log.sh cvs-1.12.12//contrib/rcs2log.sh
+--- cvs-1.12.12.orig//contrib/rcs2log.sh 2003-02-25 21:32:51.000000000
+0000
++++ cvs-1.12.12//contrib/rcs2log.sh 2010-12-06 21:14:33.831532212 +0000
+@@ -620,7 +620,7 @@
+ # Sort the log entries, first by date+time (in reverse order),
+ # then by author, then by log entry, and finally by file name and revision
+ # (just in case).
+-sort -t"$SOH" +2 -4r +4 +0 |
++sort -t"$SOH" -k 3,4r -k 5 -k 1,2 |
+
+ # Finally, reformat the sorted log entries.
+ $AWK -F"$SOH" '