diff options
author | Krzysztof Pawlik <nelchael@gentoo.org> | 2008-07-01 06:34:13 +0000 |
---|---|---|
committer | Krzysztof Pawlik <nelchael@gentoo.org> | 2008-07-01 06:34:13 +0000 |
commit | 812401fee9ccd4a0dc4185a278144bc7e6879706 (patch) | |
tree | 7ba59a0f2c8b796dbfbc7a71294eb4afce3ff8ce /dev-util | |
parent | version bump (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | dev-util/mercurial/files/mercurial-1.0.1-87c704ac92d4-git-patch.patch | 52 | ||||
-rw-r--r-- | dev-util/mercurial/mercurial-1.0.1-r2.ebuild | 95 |
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 +} |