[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#487722: Unblock request for dhelp



On Sun, Sep 28, 2008 at 05:05:30PM +0200, Luk Claes wrote:
> Esteban Manchado Velázquez wrote:
> > As I haven't received any response, I'm trying with a more evident subject,
> > just in case the mail went unnoticed :-)
> > 
> > There is a bug in dhelp (#487722) that makes dhelp wait for hours when
> > upgrading packages that have "a lot" of documentation. That might be just
> > doc-linux-html or similar, or possibly a combination of other packages that
> > together contain many document files registered through doc-base. That means
> > that many people (for some definition of "many") will have to wait for hours
> > if/when they upgrade to Lenny, because of this bug.
> > 
> > The proposed fix (not uploaded yet) is to drop indexing documentation on
> > package installation/upgrade. The documentation, then, would only be indexed
> > once a week. It's a suboptimal solution, but the patch is very small and safe,
> > and I don't want to risk going for a better solution (indexing in the
> > background or whatever) if that could mean shipping a broken dhelp.
> 
> Yes, that would be acceptable. Though it would be good to add something
> to README.Debian about it to explain how one can avoid waiting on the
> weekly cronjob and run the index update manually.

    I have uploaded dhelp 0.6.13 with that change.

    I'm sending the diff attached (the diff between both _source_ packages,
for review if you're interested). Don't worry about the two missing files at
the end of the diff, they're cruft that shouldn't have been there in the first
place. They dissappeared because I cloned the repository to make this change,
so I didn't get them in the new, clean one.

-- 
Esteban Manchado Velázquez <zoso@debian.org>
diff -ur dhelp-0.6.12/Makefile dhelp-0.6.13/Makefile
--- dhelp-0.6.12/Makefile	2008-07-20 20:26:08.000000000 +0200
+++ dhelp-0.6.13/Makefile	2008-09-16 23:00:13.000000000 +0200
@@ -17,7 +17,7 @@
 # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 
 PACKAGE = dhelp
-VERSION = 0.6.12
+VERSION = 0.6.13
 PREFIX_  = $(if $(PREFIX),$(PREFIX),/usr/local)
 DESTDIR_ = $(DESTDIR)/$(PREFIX_)
 RHTML_TEMPLATES = *.rhtml
Only in dhelp-0.6.13/debian: README.Debian
diff -ur dhelp-0.6.12/debian/changelog dhelp-0.6.13/debian/changelog
--- dhelp-0.6.12/debian/changelog	2008-07-23 01:50:12.000000000 +0200
+++ dhelp-0.6.13/debian/changelog	2008-10-02 00:51:04.000000000 +0200
@@ -1,3 +1,11 @@
+dhelp (0.6.13) unstable; urgency=low
+
+  * Not index documents on upgrade, to prevent dhelp blocking the
+    upgrade for hours (Closes: #487722).
+  * Add some small utilities to index by hand, because of the above change.
+
+ -- Esteban Manchado Velázquez <zoso@debian.org>  Thu, 02 Oct 2008 00:50:47 +0200
+
 dhelp (0.6.12) unstable; urgency=low
 
   * Switch from pstotext to pdftotext from xpdf-utils for PDF files. It
diff -ur dhelp-0.6.12/debian/rules dhelp-0.6.13/debian/rules
--- dhelp-0.6.12/debian/rules	2007-11-18 16:34:37.000000000 +0100
+++ dhelp-0.6.13/debian/rules	2008-10-02 00:52:31.000000000 +0200
@@ -5,5 +5,6 @@
 
 DEB_MAKE_INSTALL_TARGET    = install DESTDIR=$(DEB_DESTDIR) PREFIX=/usr
 DEB_INSTALL_MANPAGES_dhelp = man/dhelp*
+DEB_INSTALL_EXAMPLES_dhelp = examples/*
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/class/makefile.mk
Only in dhelp-0.6.13: examples
diff -ur dhelp-0.6.12/lib/dhelp.rb dhelp-0.6.13/lib/dhelp.rb
--- dhelp-0.6.12/lib/dhelp.rb	2008-02-13 23:46:49.000000000 +0100
+++ dhelp-0.6.13/lib/dhelp.rb	2008-09-16 22:59:11.000000000 +0200
@@ -404,10 +404,15 @@
       end
       doc_dir_db.close
 
-      indexer_opts = @opts.reject {|k,v| !([:index_file,
-                                            :indexer_config_file].include? k)}
-      indexer = Indexer.new(indexer_opts)
-      indexer.index(index_paths, :incremental => !register_opts[:regenerate_index])
+      # Only index documentation when we're reindex everything in the
+      # background (see bug #487722). Not refactoring to keep the differences
+      # as small as possible
+      if register_opts[:register_opts]
+        indexer_opts = @opts.reject {|k,v| !([:index_file,
+                                              :indexer_config_file].include? k)}
+        indexer = Indexer.new(indexer_opts)
+        indexer.index(index_paths, :incremental => !register_opts[:regenerate_index])
+      end
     end
   end
 
Only in dhelp-0.6.12: registered_dir_list.rb
Only in dhelp-0.6.12: swish++.index

Attachment: signature.asc
Description: Digital signature


Reply to: