Package: apt-xapian-index
Version: 0.41
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: origin-ubuntu natty ubuntu-patch
In Ubuntu, we've applied the attached patch to achieve the following:
* Merge from debian unstable. Remaining changes:
- when upgrading, ensure the index is fully rebuild (in the
background) to ensure that we get updated information in
/var/lib/apt-xapian-index/{index.values} and that the index
fully utilizes the new plugins (LP: #646018)
- use ionice for the index building
We thought you might be interested in doing the same.
This is only needed on upgrade and until the weekly cron job kicks
in. But because 0.39 adds the new catalogued time plugin its useful
to rebuild so that the data is available. Its not strictly needed
though as the client can also just read the values file and skip
using cataloguedtime if its missing there.
Cheers,
Michael
-- System Information:
Debian Release: squeeze/sid
APT prefers maverick-updates
APT policy: (500, 'maverick-updates'), (500, 'maverick-security'), (500,
'maverick')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.35-22-generic (SMP w/4 CPU cores)
Locale: LANG=en_DK.utf8, LC_CTYPE=en_DK.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru apt-xapian-index-0.41/debian/changelog apt-xapian-index-0.41ubuntu1/debian/changelog
diff -Nru apt-xapian-index-0.41/debian/control apt-xapian-index-0.41ubuntu1/debian/control
--- apt-xapian-index-0.41/debian/control 2010-10-03 13:15:23.000000000 +0200
+++ apt-xapian-index-0.41ubuntu1/debian/control 2010-11-06 18:21:49.000000000 +0100
@@ -1,7 +1,8 @@
Source: apt-xapian-index
Section: admin
Priority: optional
-Maintainer: Enrico Zini <[email protected]>
+Maintainer: Ubuntu Developers <[email protected]>
+XSBC-Original-Maintainer: Enrico Zini <[email protected]>
Uploaders: David Paleino <[email protected]>
Build-Depends: debhelper (>= 7.0.50~)
Build-Depends-Indep: help2man, python, python-support,
diff -Nru apt-xapian-index-0.41/debian/postinst apt-xapian-index-0.41ubuntu1/debian/postinst
--- apt-xapian-index-0.41/debian/postinst 2010-05-24 18:28:41.000000000 +0200
+++ apt-xapian-index-0.41ubuntu1/debian/postinst 2010-11-06 18:21:49.000000000 +0100
@@ -2,20 +2,30 @@
#DEBHELPER#
+if [ -x /usr/bin/ionice ]; then
+ IONICE="/usr/bin/ionice -c3"
+else
+ IONICE=""
+fi
+
case "$1" in
configure)
# Just checking the main directory with -d should prevent the indexing
# to be started while an indexing is already going on, as the first
# thing that update-apt-xapian-index does is to create the directory if
# it is missing
- if [ ! -d /var/lib/apt-xapian-index ]
+ #
+ # we also full-regenerate the index on upgrades from older versions
+ # because the weekly --update cron job will not use new plugins for
+ # already indexed packages
+ if [ ! -d /var/lib/apt-xapian-index ] || dpkg --compare-versions "$2" lt-nl "0.39"
then
if [ ! -x /usr/sbin/policy-rc.d ] || /usr/sbin/policy-rc.d apt-xapian-index start
then
echo "apt-xapian-index: Building new index in background..."
# Ensure that we can use our module. See #537376
update-python-modules -p
- nice /usr/sbin/update-apt-xapian-index --quiet &
+ $IONICE nice /usr/sbin/update-apt-xapian-index --force --quiet &
fi
fi
;;