tags 513183 patch thanks Hello,
I spent some time n this bug, first trying to fix hgk itself, then realising I was fighting someone else's battle and in the end I settled for a (quite) elegant workaround. I prepared an NMU, but the functional changes (without changelog changes) were also extracted in a separate patch, if you prefer to add yourself the changelog entry. The functional changes are present in 513183-no-changelog.patch. The NMU files are also provided (but are not signed). The orig file is the same from the archive (obviously, from lenny). Here is the description of the changes. workaround for 513183 so hg view works tcl/tk is very sensitive about stuff which is printed to stderr and considers anything printed to be on stderr to be a sign of an error. To avoid hgk's crash because of warnings, we print warnings only when the quiet option is absent. We suppress warnings in hg by calling from "hg view" a wrapper, hg-hgk, which requests quiet operation, disabling warnings. In order to preserve user's possible preference for another hg via HG environment variable, we make sure in the wrapper we call that HG, not the system hg, if HG was initally set. Now all you have to do is to request an unblock request and upload to unstable. -- Regards, EddyP ============================================= "Imagination is more important than knowledge" A.Einstein
diff --git a/mercurial-1.0.1/debian/mercurial-common.install b/mercurial-1.0.1/debian/mercurial-common.install index d8b6493..55cfd85 100644 --- a/mercurial-1.0.1/debian/mercurial-common.install +++ b/mercurial-1.0.1/debian/mercurial-common.install @@ -6,3 +6,4 @@ contrib/mq.el usr/share/emacs/site-lisp contrib/logo-droplets.svg usr/share/mercurial contrib/hgk usr/share/mercurial/ +contrib/hg-hgk usr/share/mercurial/ diff --git a/mercurial-1.0.1/debian/patches/hgk-crash-workaround.patch b/mercurial-1.0.1/debian/patches/hgk-crash-workaround.patch new file mode 100644 index 0000000..73da6c4 --- /dev/null +++ b/mercurial-1.0.1/debian/patches/hgk-crash-workaround.patch @@ -0,0 +1,39 @@ +Index: mercurial-1.0.1/hgext/hgk.py +=================================================================== +--- mercurial-1.0.1.orig/hgext/hgk.py 2009-01-29 02:52:42.000000000 +0200 ++++ mercurial-1.0.1/hgext/hgk.py 2009-01-29 02:52:59.000000000 +0200 +@@ -319,6 +319,11 @@ + optstr = ' '.join(['--%s %s' % (k, v) for k, v in opts.iteritems() if v]) + cmd = ui.config("hgk", "path", "/usr/share/mercurial/hgk") + " %s %s" % (optstr, " ".join(etc)) + ui.debug("running %s\n" % cmd) ++ try: ++ os.environ['REALHG']=os.environ['HG'] ++ except KeyError: ++ os.environ['REALHG']='/usr/bin/hg' ++ os.environ['HG']='/usr/share/mercurial/hg-hgk' + util.system(cmd) + + cmdtable = { +Index: mercurial-1.0.1/mercurial/ui.py +=================================================================== +--- mercurial-1.0.1.orig/mercurial/ui.py 2009-01-29 02:52:42.000000000 +0200 ++++ mercurial-1.0.1/mercurial/ui.py 2009-01-29 02:52:59.000000000 +0200 +@@ -442,7 +442,8 @@ + def status(self, *msg): + if not self.quiet: self.write(*msg) + def warn(self, *msg): +- self.write_err(*msg) ++ if not self.quiet: ++ self.write_err(*msg) + def note(self, *msg): + if self.verbose: self.write(*msg) + def debug(self, *msg): +Index: mercurial-1.0.1/contrib/hg-hgk +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ mercurial-1.0.1/contrib/hg-hgk 2009-01-29 02:52:02.000000000 +0200 +@@ -0,0 +1,4 @@ ++#!/bin/sh ++ ++ ++exec "$REALHG" --config ui.quiet=true $@ diff --git a/mercurial-1.0.1/debian/patches/series b/mercurial-1.0.1/debian/patches/series index c869054..243721c 100644 --- a/mercurial-1.0.1/debian/patches/series +++ b/mercurial-1.0.1/debian/patches/series @@ -9,3 +9,4 @@ deb_specific__ElementTree_for_darcs.patch convert-darc-doc.patch backport__CVE-2008-2942-fix.patch backport__svn1.5-fix.patch +hgk-crash-workaround.patch diff --git a/mercurial-1.0.1/debian/rules b/mercurial-1.0.1/debian/rules index 4368de0..dc4ba4e 100755 --- a/mercurial-1.0.1/debian/rules +++ b/mercurial-1.0.1/debian/rules @@ -43,6 +43,8 @@ build/mercurial-common:: # workaround a bug in asciidoc that generates incorrect manpages sed -i 's,^\([\\]\?[.]hg/hgrc\),\\\&\1,' doc/hg.1 sed -i 's,^\([\\]\?[.][*][\\]\?[.]swp\),\\\&\1,' doc/hgignore.5 + # make sure the hg-hgk wrapper is executable + chmod +x contrib/hg-hgk binary-install/mercurial-common:: # web templates are symlinked from python-support to /u/s/mercurial
mercurial_1.0.1-5.2.diff.gz
Description: GNU Zip compressed data
mercurial_1.0.1-5.2.dsc
Description: Binary data
mercurial_1.0.1-5.2_amd64.changes
Description: Binary data