# ChangeLog for app-portage/gentoolkit-dev
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-portage/gentoolkit-dev/ChangeLog,v 1.79 2009/11/12 20:12:46 idl0r Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-portage/gentoolkit-dev/ChangeLog,v 1.80 2010/03/13 11:15:47 idl0r Exp $
+
+*gentoolkit-dev-0.2.6.13-r1 (13 Mar 2010)
+
+ 13 Mar 2010; Christian Ruppert <idl0r@gentoo.org>
+ -gentoolkit-dev-0.2.6.13.ebuild, +gentoolkit-dev-0.2.6.13-r1.ebuild,
+ +files/echangelog_add-vcs-switch.patch,
+ +files/echangelog_fix-textwrap-regex.patch,
+ +files/echangelog_improve-vcs-detection.patch:
+ Rev bump to 0.2.6.13-r1. Apply patches to fix bug 302784 and bug 304249,
+ thanks to Martin von Gagern <Martin.vGagern@gmx.net> and Torsten Veller
+ <tove@gentoo.org>.
12 Nov 2009; Christian Ruppert <idl0r@gentoo.org>
gentoolkit-dev-0.2.6.13.ebuild:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
+AUX echangelog_add-vcs-switch.patch 1967 RMD160 a0b09d27342154d565fea8386b5fd06a9ab2ee5c SHA1 e424da5857ce0997f311f9a847761f41d6b5c9c7 SHA256 c4364f7dcdc3ab4e9068ce52950ce3df9148194660c6d5d0e4a514aaf3649cff
+AUX echangelog_fix-textwrap-regex.patch 417 RMD160 e1fdfaeccf71f5f47b8c889ac9e55af63eb51082 SHA1 2eaf193b50e1aa40b3194fa3218973e6d177a952 SHA256 7be8602351dff82d015d884b8b2066521e164d61eb16308dfb64c3a3dc0e184f
+AUX echangelog_improve-vcs-detection.patch 2673 RMD160 42f911cedff39d48402d2d17961d7a87697ada4b SHA1 3c0cd9f032e7b19a77dd00663315b6de6f3b20bc SHA256 1377d3bb3c26aa90ab4e4fa9b118b6cc959920ed35e0ff9e54f10edc95ff2a10
DIST gentoolkit-dev-0.2.6.12.tar.gz 49593 RMD160 15661eb1ce031232875c068d208e006c263aa48a SHA1 b0297305a474dae1d235c738503a776e7dbc6120 SHA256 daf6bd493cb82e7d0b62994141ab3345a8862f3fb2afc65e58378c8e34d10ae5
DIST gentoolkit-dev-0.2.6.13.tar.gz 55921 RMD160 228c2f0738dfb54697fea640fde9d6240d15e263 SHA1 b6711bc851e72aff4c0d9af57ca518c284269d42 SHA256 163308d5281567c1a878bdd3e28712871ead6e8e8bfcf67f4be610d327ab27a7
EBUILD gentoolkit-dev-0.2.6.12.ebuild 1048 RMD160 d15584cb9f1931ddae938a2ceace5da92eb3679a SHA1 1c4e0214f3e5eca8d9df22285d7c682026063c09 SHA256 494add05f80886518ad7ad129c8da2fc46c3c80007ded09f91855795d7901f04
-EBUILD gentoolkit-dev-0.2.6.13.ebuild 1015 RMD160 85d3604b71aeeab573ff369f3444f067e6d0abce SHA1 e18d4fa7dce8b58e2b8e0fa201434d6f0e6c6b1c SHA256 167ea22cbb10ee747cee748574d27b0d714b572eb00f75a9971d523e89de7960
+EBUILD gentoolkit-dev-0.2.6.13-r1.ebuild 1229 RMD160 e908af160c373059254489dc6bc8cd84a1ee097e SHA1 c63176a9fe899be0d703bbe70a0ebd540a9849ee SHA256 94d160ff3c99b579b6d4c773b82877f4980a9a558b7eedd585ed0ffc7f70579a
EBUILD gentoolkit-dev-9999.ebuild 893 RMD160 0d0423bf0d3804fe21c9acbe524ca516c190ed14 SHA1 7f29556a38b61349166e84a6308f66757a81f570 SHA256 6aa91d5ee154bc80030a01bdaa9b07daf0fc32b3d2c915d1785327b53de091f0
-MISC ChangeLog 12967 RMD160 5dd2e078f3ad39a1d2a71aa802f51e767ef8c735 SHA1 24561b904a5ac96fb2134593d9c93692a0267a6b SHA256 8ed86c2412a9fe4b3e0b0b21952426d98de7b6bac8af5d0ae68a98f15dc82d27
+MISC ChangeLog 13441 RMD160 a8387971d5040ebcfb01a58004aa7d57698f72f3 SHA1 c11f296a251c768fabff824ea15ebcbd6f47b3f8 SHA256 3d40d24570059310ffbc5580c7b363cf80be1863a84a3578fbe6c223c32f1984
MISC metadata.xml 282 RMD160 0eb345cd4d45d200be98d46ef58d9c7d984d0fea SHA1 e884a6236439bc56617e7fe1c48fc10a356e01a3 SHA256 bbc59170a0b8682ed3a03f67bafc63610875532ab87b33a3ad2695482624f5a8
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.11 (GNU/Linux)
+Version: GnuPG v2.0.14 (GNU/Linux)
-iEYEARECAAYFAkr8bFEACgkQixe2jn+ufThYZACdFc5He7ZxxZdXtlEyEVg9OX9Z
-vYwAni2XITR3Pjc4DTLx6A3TdD10vD5p
-=tRfi
+iEYEARECAAYFAkubc+wACgkQixe2jn+ufTjO9wCeOldBC7+IFrI2I+EiP6AWY8bm
+954AnRIc8LKYyAAcRpU64yKolONk3iTM
+=v9xx
-----END PGP SIGNATURE-----
--- /dev/null
+Index: src/echangelog/echangelog
+===================================================================
+--- src/echangelog/echangelog (revision 737)
++++ src/echangelog/echangelog (revision 738)
+@@ -23,7 +23,7 @@
+ # Global variables
+ my (@files, @ebuilds, @conflicts, @trivial, @unknown, @new_versions, %actions);
+ my ($input, $editor, $entry, $user, $date, $text, $vcs);
+-my ($opt_help, $opt_nostrict, $opt_version);
++my ($opt_help, $opt_nostrict, $opt_force_vcs, $opt_version);
+
+ $opt_help = 0;
+ $opt_nostrict = 0;
+@@ -86,7 +86,11 @@
+ Options:
+ --help err, this screen ...
+ --no-strict do not abort on trivial/no changes
++ --vcs <vcs> skip vcs autodetection and use the specified vcs instead
++ for a list of supported version control systems see below
+ --version show version info
++
++ Supported VCS: bzr, cvs, git, hg, svn
+ EOF
+ print $usage;
+ exit 0;
+@@ -207,7 +211,8 @@
+ GetOptions(
+ 'help' => \$opt_help,
+ 'no-strict' => \$opt_nostrict,
+- 'version' => \$opt_version,
++ 'vcs=s' => \$opt_force_vcs,
++ 'version|v' => \$opt_version,
+ 'strict' => \$opt_strict,
+ );
+
+@@ -221,17 +226,22 @@
+
+ # Figure out what kind of repo we are in.
+ # Respect $PATH while looking for the VCS
+-if (getenv("PATH")) {
+- foreach my $path ( split(":", getenv("PATH")) ) {
+- foreach my $_vcs (keys(%vcs)) {
+- if ( -X "${path}/${_vcs}" ) {
+- $vcs = $_vcs if check_vcs_dir($vcs{$_vcs}{directory});
+- last if $vcs;
++if(! defined($opt_force_vcs)) {
++ if (getenv("PATH")) {
++ foreach my $path ( split(":", getenv("PATH")) ) {
++ foreach my $_vcs (sort(keys(%vcs))) {
++ if ( -X "${path}/${_vcs}" ) {
++ $vcs = $_vcs if check_vcs_dir($vcs{$_vcs}{directory});
++ last if $vcs;
++ }
+ }
++ last if $vcs;
+ }
+- last if $vcs;
+ }
+ }
++else {
++ $vcs = $opt_force_vcs if defined $vcs{$opt_force_vcs};
++}
+
+ if ( ! $vcs ) {
+ print STDERR "Either no CVS, .git, .svn, ... directories found, the specific VCS has not been\n";
--- /dev/null
+Index: src/echangelog/echangelog
+===================================================================
+--- src/echangelog/echangelog (revision 738)
++++ src/echangelog/echangelog (revision 741)
+@@ -136,7 +136,7 @@
+ my $pp;
+
+ for $pp ( split(/\n\s+/, join("\n", @raw)) ) {
+- $pp =~ s/[\x09|\x0B|\x0C|\x20]+/ /g;
++ $pp =~ s/[\x09\x0B\x0C\x20]+/ /g;
+ my $x = Text::Wrap::wrap($ip, $xp, $pp);
+ push(@para, $x);
+ }
--- /dev/null
+Index: src/echangelog/echangelog
+===================================================================
+--- src/echangelog/echangelog (revision 735)
++++ src/echangelog/echangelog (revision 736)
+@@ -33,6 +33,7 @@
+
+ my %vcs = (
+ bzr => {
++ directory => ".bzr",
+ diff => "bzr diff",
+ status => "bzr status -S .",
+ add => "bzr add",
+@@ -41,6 +42,7 @@
+ regex => qr/^=== \S+ file '\S+\/\S+\/((\S+)\.ebuild)/
+ },
+ cvs => {
++ directory => "CVS",
+ diff => "cvs -f diff -U0",
+ status => "cvs -fn up",
+ add => "cvs -f add",
+@@ -48,6 +50,7 @@
+ regex => qr/^Index: (([^\/]*?)\.ebuild)\s*$/
+ },
+ git => {
++ directory => ".git",
+ diff => "git diff",
+ status => "git diff-index HEAD --name-status",
+ add => "git add",
+@@ -57,6 +60,7 @@
+ regex => qr/^diff \-\-git \S*\/((\S*)\.ebuild)/
+ },
+ hg => {
++ directory => ".hg",
+ diff => "hg diff",
+ status => "hg status .",
+ add => "hg add",
+@@ -66,6 +70,7 @@
+ regex => qr/diff \-r \S+ \S+\/\S+\/((\S+)\.ebuild)/
+ },
+ svn => {
++ directory => ".svn",
+ diff => "svn diff -N",
+ status => "svn status",
+ add => "svn add",
+@@ -175,6 +180,21 @@
+ return $t;
+ }
+
++# Check partent dirs recursivevly/backward
++sub check_vcs_dir {
++ my $type = shift;
++
++ my $dir = getcwd();
++ while($dir !~ /^\/$/) {
++ return 1 if -d "${dir}/${type}";
++ $dir = dirname($dir);
++ }
++ # Check / as well
++ return 1 if -d "/${type}";
++
++ return 0;
++}
++
+ # Just to ensure we don't get duplicate entries.
+ sub mypush(\@@) {
+ my $aref = shift;
+@@ -203,32 +223,13 @@
+ # Respect $PATH while looking for the VCS
+ if (getenv("PATH")) {
+ foreach my $path ( split(":", getenv("PATH")) ) {
+- if ( -X "${path}/bzr" ) {
+- open(BZR, '-|', "${path}/bzr root 2>/dev/null");
+- $vcs = "bzr" if defined(<BZR>);
+- close(BZR);
+- last if $vcs;
++ foreach my $_vcs (keys(%vcs)) {
++ if ( -X "${path}/${_vcs}" ) {
++ $vcs = $_vcs if check_vcs_dir($vcs{$_vcs}{directory});
++ last if $vcs;
++ }
+ }
+- if ( -X "${path}/cvs" ) {
+- $vcs = "cvs" if -d "CVS";
+- last if $vcs;
+- }
+- if ( -X "${path}/git" ) {
+- open(GIT, '-|', "${path}/git rev-parse --git-dir 2>/dev/null");
+- $vcs = "git" if defined(<GIT>);
+- close(GIT);
+- last if $vcs;
+- }
+- if ( -X "${path}/hg" ) {
+- open(HG, '-|', "${path}/hg root 2>/dev/null");
+- $vcs = "hg" if defined(<HG>);
+- close(HG);
+- last if $vcs;
+- }
+- if ( -X "${path}/svn" ) {
+- $vcs = "svn" if -d ".svn";
+- last if $vcs;
+- }
++ last if $vcs;
+ }
+ }
+
+@@ -305,7 +306,7 @@
+ }
+ }
+ if (/^C\s+(\S+)/) {
+- # TODO: The git part here might be unused
++ # NOTE: The git part here might be unused
+ if($vcs eq "git") {
+ my $filename = $1;
+ $filename =~ /\S*\/(\S*)/;
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-portage/gentoolkit-dev/gentoolkit-dev-0.2.6.13.ebuild,v 1.2 2009/11/12 20:12:46 idl0r Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-portage/gentoolkit-dev/gentoolkit-dev-0.2.6.13-r1.ebuild,v 1.1 2010/03/13 11:15:47 idl0r Exp $
EAPI="2"
+inherit eutils
+
DESCRIPTION="Collection of developer scripts for Gentoo"
HOMEPAGE="http://www.gentoo.org/proj/en/portage/tools/index.xml"
SRC_URI="mirror://gentoo/${P}.tar.gz"
src_prepare() {
sed -i -e 's:sh test:bash test:' src/echangelog/Makefile || die
+
+ # bug 302784 and bug 304249
+ epatch "${FILESDIR}/echangelog_improve-vcs-detection.patch" \
+ "${FILESDIR}/echangelog_add-vcs-switch.patch" \
+ "${FILESDIR}/echangelog_fix-textwrap-regex.patch"
}
src_test() {