diff options
author | Peter Volkov <pva@gentoo.org> | 2010-10-29 15:24:18 +0000 |
---|---|---|
committer | Peter Volkov <pva@gentoo.org> | 2010-10-29 15:24:18 +0000 |
commit | 5fc5e80179e7b4f44782d661c35273231dde14e9 (patch) | |
tree | 53273d401111e4503ae3a9cb6533489a454edc07 /dev-vcs/monotone | |
parent | Version bump. Closes bug 325477. (diff) | |
download | gentoo-2-5fc5e80179e7b4f44782d661c35273231dde14e9.tar.gz gentoo-2-5fc5e80179e7b4f44782d661c35273231dde14e9.tar.bz2 gentoo-2-5fc5e80179e7b4f44782d661c35273231dde14e9.zip |
Apply upstream patch for 0.99 to fix crash. Add better version for fast stabilization for security bug #342705.
(Portage version: 2.1.9.22/cvs/Linux x86_64)
Diffstat (limited to 'dev-vcs/monotone')
-rw-r--r-- | dev-vcs/monotone/ChangeLog | 11 | ||||
-rw-r--r-- | dev-vcs/monotone/files/monotone-0.48.1-sqlite-3.7.3.patch | 27 | ||||
-rw-r--r-- | dev-vcs/monotone/files/monotone-0.99-crash.patch | 30 | ||||
-rw-r--r-- | dev-vcs/monotone/monotone-0.48.1.ebuild | 127 | ||||
-rw-r--r-- | dev-vcs/monotone/monotone-0.99-r1.ebuild (renamed from dev-vcs/monotone/monotone-0.99.ebuild) | 3 |
5 files changed, 196 insertions, 2 deletions
diff --git a/dev-vcs/monotone/ChangeLog b/dev-vcs/monotone/ChangeLog index 3784420cade8..0386ffde5154 100644 --- a/dev-vcs/monotone/ChangeLog +++ b/dev-vcs/monotone/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-vcs/monotone # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-vcs/monotone/ChangeLog,v 1.8 2010/10/29 07:58:13 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/monotone/ChangeLog,v 1.9 2010/10/29 15:24:17 pva Exp $ + +*monotone-0.99-r1 (29 Oct 2010) +*monotone-0.48.1 (29 Oct 2010) + + 29 Oct 2010; Peter Volkov <pva@gentoo.org> +monotone-0.48.1.ebuild, + +files/monotone-0.48.1-sqlite-3.7.3.patch, -monotone-0.99.ebuild, + +monotone-0.99-r1.ebuild, +files/monotone-0.99-crash.patch: + Apply upstream patch for 0.99 to fix crash. Add better version for fast + stabilization for security bug #342705. *monotone-0.99 (29 Oct 2010) diff --git a/dev-vcs/monotone/files/monotone-0.48.1-sqlite-3.7.3.patch b/dev-vcs/monotone/files/monotone-0.48.1-sqlite-3.7.3.patch new file mode 100644 index 000000000000..fc0092229c0a --- /dev/null +++ b/dev-vcs/monotone/files/monotone-0.48.1-sqlite-3.7.3.patch @@ -0,0 +1,27 @@ +============================================================ +--- database.cc 0afa3ff4bd9c9ee3bc62b10bcf6295a9f5388d64 ++++ database.cc 8bfff559a0894259fe3668294bd3906ae837129b +@@ -1531,12 +1531,19 @@ database_impl::fetch(results & res, + vector<string> row; + for (int col = 0; col < ncol; col++) + { ++ // We never store NULLs, so we should never see one. ++ int const datatype = sqlite3_column_type(i->second.stmt(), col); ++ E(datatype != SQLITE_NULL, origin::database, ++ F("null result in query: %s") % query.sql_cmd); + const char * value = (const char*)sqlite3_column_blob(i->second.stmt(), col); + int bytes = sqlite3_column_bytes(i->second.stmt(), col); +- E(value, origin::database, +- F("null result in query: %s") % query.sql_cmd); +- row.push_back(string(value, value + bytes)); +- //L(FL("row %d col %d value='%s'") % nrow % col % value); ++ if (value) { ++ row.push_back(string(value, value + bytes)); ++ } else { ++ // sqlite3_column_blob() returns null for zero-length ++ I(bytes == 0); ++ row.push_back(string()); ++ } + } + res.push_back(row); + } diff --git a/dev-vcs/monotone/files/monotone-0.99-crash.patch b/dev-vcs/monotone/files/monotone-0.99-crash.patch new file mode 100644 index 000000000000..0a6220dc4f69 --- /dev/null +++ b/dev-vcs/monotone/files/monotone-0.99-crash.patch @@ -0,0 +1,30 @@ +============================================================ +--- NEWS 28057863abe389acf343fd6781d215d7d99dd2eb ++++ NEWS 287e77585d21957e85230c1fc3f06921a0621561 +@@ -1,3 +1,14 @@ ++??? ??? ?? ??:??:?? UTC 2010 ++ ++ 0.99.1 release. ++ ++ Bugs fixed ++ ++ - monotone crashed on x86_64 when a netsync action required ++ the parsing of an URL. This has been fixed. ++ (closes monotone issue 100) ++ ++ + Thu Oct 28 21:07:18 UTC 2010 + + 0.99 release. +============================================================ +--- pcrewrap.cc 08ac10d9a75557faba316d1b0a242b8ed3cd4243 ++++ pcrewrap.cc 42611610af4de2f7d1da39bf5c023038b7590be7 +@@ -144,7 +144,7 @@ namespace pcre + // because pcre_exec might not signal trailing unmatched subpatterns + // i.e. if "abc" matches "(abc)(de)?", the match count is two, not + // the expected three +- size_t cap_count; ++ size_t cap_count = 0; + int rc = pcre_fullinfo(basedat, extradat, PCRE_INFO_CAPTURECOUNT, &cap_count); + I(rc == 0); + diff --git a/dev-vcs/monotone/monotone-0.48.1.ebuild b/dev-vcs/monotone/monotone-0.48.1.ebuild new file mode 100644 index 000000000000..6f11462873f6 --- /dev/null +++ b/dev-vcs/monotone/monotone-0.48.1.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/monotone/monotone-0.48.1.ebuild,v 1.1 2010/10/29 15:24:17 pva Exp $ + +EAPI=2 +inherit bash-completion elisp-common eutils toolchain-funcs + +DESCRIPTION="Monotone Distributed Version Control System" +HOMEPAGE="http://monotone.ca" +SRC_URI="http://monotone.ca/downloads/${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="1" +KEYWORDS="~amd64 ~ia64 ~ppc ~x86" +IUSE="doc emacs ipv6 nls" + +RDEPEND="sys-libs/zlib + emacs? ( virtual/emacs ) + >=dev-libs/libpcre-7.6 + >=dev-libs/botan-1.8.0 + >=dev-db/sqlite-3.3.8 + >=dev-lang/lua-5.1 + net-dns/libidn" +DEPEND="${RDEPEND} + >=dev-libs/boost-1.33.1 + nls? ( >=sys-devel/gettext-0.11.5 ) + doc? ( sys-apps/texinfo )" + +pkg_setup() { + enewgroup monotone + enewuser monotone -1 -1 /var/lib/monotone monotone +} + +src_prepare() { + if [[ $(gcc-major-version) -lt "3" || + ( $(gcc-major-version) -eq "3" && $(gcc-minor-version) -le 3 ) ]]; then + die 'requires >=gcc-3.4' + fi + + epatch "${FILESDIR}/monotone-0.48.1-sqlite-3.7.3.patch" +} + +src_configure() { + econf \ + --disable-dependency-tracking \ + $(use_enable nls) \ + $(use_enable ipv6) +} + +src_compile() { + emake || die + + if use doc; then + emake html || die + fi + + if use emacs; then + cd contrib + elisp-compile *.el || die + fi +} + +src_test() { + if [ ${UID} != 0 ]; then + emake check || die "emake check failed" + else + ewarn "Tests will fail if ran as root, skipping." + fi +} + +src_install() { + emake DESTDIR="${D}" install || die + + mv "${D}"/usr/share/doc/${PN} "${D}"/usr/share/doc/${PF} || die + + dobashcompletion contrib/monotone.bash_completion + + if use doc; then + dohtml -r html/* + dohtml -r figures + fi + + if use emacs; then + elisp-install ${PN} contrib/*.{el,elc} || die "elisp-install failed" + elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el \ + || die + fi + + dodoc AUTHORS NEWS README* UPGRADE || die + docinto contrib + dodoc contrib/* + newconfd "${FILESDIR}"/monotone.confd monotone || die + newinitd "${FILESDIR}"/${PN}-0.36.initd monotone || die + + insinto /etc/monotone + newins "${FILESDIR}"/hooks.lua hooks.lua || die + newins "${FILESDIR}"/read-permissions read-permissions || die + newins "${FILESDIR}"/write-permissions write-permissions || die + + keepdir /var/lib/monotone/keys/ /var/{log,run}/monotone + fowners monotone:monotone /var/lib/monotone{,/keys} /var/{log,run}/monotone +} + +pkg_postinst() { + use emacs && elisp-site-regen + bash-completion_pkg_postinst + + elog + elog "For details and instructions to upgrade from previous versions," + elog "please read /usr/share/doc/${PF}/UPGRADE.bz2" + elog + elog " 1. edit /etc/conf.d/monotone" + elog " 2. import the first keys to enable access with" + elog " env HOME=\${homedir} mtn pubkey me@example.net | /etc/init.d/monotone import" + elog " Thereafter, those with write permission can add other keys via" + elog " netsync with 'monotone push --key-to-push=IDENT' and then IDENT" + elog " can be used in the read-permission and write-permission files." + elog " 3. adjust permisions in /etc/monotone/read-permissions" + elog " and /etc/monotone/write-permissions" + elog " 4. start the daemon: /etc/init.d/monotone start" + elog " 5. make persistent: rc-update add monotone default" + elog +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-vcs/monotone/monotone-0.99.ebuild b/dev-vcs/monotone/monotone-0.99-r1.ebuild index db7be441c1f1..271a397d87bb 100644 --- a/dev-vcs/monotone/monotone-0.99.ebuild +++ b/dev-vcs/monotone/monotone-0.99-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-vcs/monotone/monotone-0.99.ebuild,v 1.1 2010/10/29 07:58:13 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/monotone/monotone-0.99-r1.ebuild,v 1.1 2010/10/29 15:24:17 pva Exp $ EAPI=2 inherit bash-completion elisp-common eutils toolchain-funcs @@ -36,6 +36,7 @@ src_prepare() { ( $(gcc-major-version) -eq "3" && $(gcc-minor-version) -le 3 ) ]]; then die 'requires >=gcc-3.4' fi + epatch "${FILESDIR}/${P}-crash.patch" } src_configure() { |