summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Pawlik <nelchael@gentoo.org>2008-07-01 06:34:13 +0000
committerKrzysztof Pawlik <nelchael@gentoo.org>2008-07-01 06:34:13 +0000
commit812401fee9ccd4a0dc4185a278144bc7e6879706 (patch)
tree7ba59a0f2c8b796dbfbc7a71294eb4afce3ff8ce /dev-util
parentversion bump (diff)
downloadgentoo-2-812401fee9ccd4a0dc4185a278144bc7e6879706.tar.gz
gentoo-2-812401fee9ccd4a0dc4185a278144bc7e6879706.tar.bz2
gentoo-2-812401fee9ccd4a0dc4185a278144bc7e6879706.zip
Add patch to fix git patches handling.
(Portage version: 2.2_rc1/cvs/Linux 2.6.25-tuxonice-r5 x86_64)
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/mercurial/ChangeLog9
-rw-r--r--dev-util/mercurial/files/mercurial-1.0.1-87c704ac92d4-git-patch.patch52
-rw-r--r--dev-util/mercurial/mercurial-1.0.1-r2.ebuild95
3 files changed, 155 insertions, 1 deletions
diff --git a/dev-util/mercurial/ChangeLog b/dev-util/mercurial/ChangeLog
index deb558bbec23..9c126088e55c 100644
--- a/dev-util/mercurial/ChangeLog
+++ b/dev-util/mercurial/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-util/mercurial
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/mercurial/ChangeLog,v 1.70 2008/06/09 19:34:22 nelchael Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/mercurial/ChangeLog,v 1.71 2008/07/01 06:34:12 nelchael Exp $
+
+*mercurial-1.0.1-r2 (01 Jul 2008)
+
+ 01 Jul 2008; Krzysiek Pawlik <nelchael@gentoo.org>
+ +files/mercurial-1.0.1-87c704ac92d4-git-patch.patch,
+ +mercurial-1.0.1-r2.ebuild:
+ Add patch to fix git patches handling.
09 Jun 2008; Krzysiek Pawlik <nelchael@gentoo.org>
mercurial-1.0.1-r1.ebuild:
diff --git a/dev-util/mercurial/files/mercurial-1.0.1-87c704ac92d4-git-patch.patch b/dev-util/mercurial/files/mercurial-1.0.1-87c704ac92d4-git-patch.patch
new file mode 100644
index 000000000000..fd3b029d1bea
--- /dev/null
+++ b/dev-util/mercurial/files/mercurial-1.0.1-87c704ac92d4-git-patch.patch
@@ -0,0 +1,52 @@
+changeset: 6758:87c704ac92d4
+user: Brendan Cully <brendan@kublai.com>
+date: Wed Jun 25 14:13:20 2008 -0700
+summary: Check that git patches only touch files under root
+
+diff -r 55c71226eceb -r 87c704ac92d4 mercurial/patch.py
+--- a/mercurial/patch.py Thu Jun 26 18:44:54 2008 -0500
++++ b/mercurial/patch.py Wed Jun 25 14:13:20 2008 -0700
+@@ -1039,9 +1039,12 @@ def applydiff(ui, fp, changed, strip=1,
+ continue
+ elif state == 'git':
+ gitpatches = values
++ cwd = os.getcwd()
+ for gp in gitpatches:
+ if gp.op in ('COPY', 'RENAME'):
+- copyfile(gp.oldpath, gp.path)
++ src, dst = [util.canonpath(cwd, cwd, x)
++ for x in [gp.oldpath, gp.path]]
++ copyfile(src, dst)
+ changed[gp.path] = (gp.op, gp)
+ else:
+ raise util.Abort(_('unsupported parser state: %s') % state)
+diff -r 55c71226eceb -r 87c704ac92d4 tests/test-import
+--- a/tests/test-import Thu Jun 26 18:44:54 2008 -0500
++++ b/tests/test-import Wed Jun 25 14:13:20 2008 -0700
+@@ -261,3 +261,15 @@ hg status
+ hg status
+ cat a
+ cd ..
++
++echo % 'test paths outside repo root'
++mkdir outside
++touch outside/foo
++hg init inside
++cd inside
++hg import - <<EOF
++diff --git a/a b/b
++rename from ../outside/foo
++rename to bar
++EOF
++cd ..
+diff -r 55c71226eceb -r 87c704ac92d4 tests/test-import.out
+--- a/tests/test-import.out Thu Jun 26 18:44:54 2008 -0500
++++ b/tests/test-import.out Wed Jun 25 14:13:20 2008 -0700
+@@ -260,3 +260,6 @@ adding a
+ adding a
+ applying patch from stdin
+ bb
++% test paths outside repo root
++applying patch from stdin
++abort: ../outside/foo not under root
+
diff --git a/dev-util/mercurial/mercurial-1.0.1-r2.ebuild b/dev-util/mercurial/mercurial-1.0.1-r2.ebuild
new file mode 100644
index 000000000000..0b3913b64549
--- /dev/null
+++ b/dev-util/mercurial/mercurial-1.0.1-r2.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/mercurial/mercurial-1.0.1-r2.ebuild,v 1.1 2008/07/01 06:34:12 nelchael Exp $
+
+inherit bash-completion distutils elisp-common flag-o-matic eutils
+
+DESCRIPTION="Scalable distributed SCM"
+HOMEPAGE="http://www.selenic.com/mercurial/"
+SRC_URI="http://www.selenic.com/mercurial/release/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="bugzilla cvs darcs emacs git gpg subversion test zsh-completion"
+
+CDEPEND=">=dev-lang/python-2.3"
+RDEPEND="${CDEPEND}
+ bugzilla? ( dev-python/mysql-python )
+ cvs? ( dev-util/cvs )
+ darcs? ( || ( dev-python/celementtree dev-python/elementtree ) )
+ git? ( dev-util/git )
+ gpg? ( app-crypt/gnupg )
+ subversion? ( dev-util/subversion )
+ zsh-completion? ( app-shells/zsh )"
+DEPEND="${CDEPEND}
+ emacs? ( virtual/emacs )
+ test? ( app-arch/unzip )"
+
+PYTHON_MODNAME="${PN} hgext"
+SITEFILE="70${PN}-gentoo.el"
+
+src_unpack() {
+ distutils_src_unpack
+ cd "${S}"
+ epatch "${FILESDIR}/${P}-87c704ac92d4-git-patch.patch"
+}
+
+src_compile() {
+ filter-flags -ftracer -ftree-vectorize
+
+ distutils_src_compile
+
+ if use emacs; then
+ cd "${S}"/contrib
+ elisp-compile mercurial.el || die "elisp-compile failed!"
+ fi
+
+ rm -rf contrib/{win32,macosx}
+}
+
+src_install() {
+ distutils_src_install
+
+ dobashcompletion contrib/bash_completion ${PN}
+
+ if use zsh-completion ; then
+ insinto /usr/share/zsh/site-functions
+ newins contrib/zsh_completion _hg
+ fi
+
+ rm -f doc/*.?.txt
+ dodoc CONTRIBUTORS PKG-INFO README doc/*.txt
+ cp hgweb*.cgi "${D}"/usr/share/doc/${PF}/
+
+ dobin contrib/hgk
+ dobin contrib/hg-relink
+ dobin contrib/hg-ssh
+
+ rm -f contrib/hgk contrib/hg-relink contrib/hg-ssh
+
+ rm -f contrib/bash_completion
+ cp -r contrib "${D}"/usr/share/doc/${PF}/
+ doman doc/*.?
+
+ cat > "${T}/80mercurial" <<-EOF
+HG=/usr/bin/hg
+EOF
+ doenvd "${T}/80mercurial"
+
+ if use emacs; then
+ elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!"
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ fi
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ use emacs && elisp-site-regen
+ bash-completion_pkg_postinst
+}
+
+pkg_postrm() {
+ distutils_pkg_postrm
+ use emacs && elisp-site-regen
+}