[Aptitude-devel] Bug#677551: Let's get rid of libept
Enrico Zini
enrico at debian.org
Thu Jun 14 19:33:43 BST 2012
Package: aptitude
Version: 0.6.7-1
Severity: normal
Hello,
aptitude doesn't need libept for much, and I'd love it if its dependency tree
were simplified by getting rid of it. See also #540218.
I reviewed aptitude's use of libept and I'm suggesting alternate
implementations, but I regret I'm not in a position at the moment to also take
care of patching and testing aptitude.
There's only 3 files where ept seems to be used:
src/generic/apt/tags.h
src/generic/apt/tags.cc
src/generic/apt/matching/match.cc
In src/generic/apt/tags.h and src/generic/apt/tags.cc one can just get rid of
libept without loss of functionality: ept::debtags::Tag is already typedef to
std::string in libept. Just getting rid of the libept branches of #ifdefs
should do the trick.
In src/generic/apt/matching/match.cc there's already #ifdefs to do everything
via libxapian. The only ept-only bit is ept::axi::path_db(). That can be
replaced with "/var/lib/apt-xapian-index/index", which is the standard index
location which is NOT going to change (that's actually a xapian pointer to the
real index location: try "cat /var/lib/apt-xapian-index/index").
Unless my grepping missed something, that should be all.
Ciao,
Enrico
-- Package-specific info:
Terminal: xterm
$DISPLAY is set.
which aptitude: /usr/bin/aptitude
aptitude version information:
aptitude 0.6.7 compiled at May 5 2012 03:07:17
Compiler: g++ 4.6.3
Compiled against:
apt version 4.12.0
NCurses version 5.9
libsigc++ version: 2.2.10
Ept support enabled.
Gtk+ support disabled.
Qt support disabled.
Current library versions:
NCurses version: ncurses 5.9.20110404
cwidget version: 0.5.16
Apt version: 4.12.0
aptitude linkage:
linux-gate.so.1 => (0xb771a000)
libapt-pkg.so.4.12 => /usr/lib/i386-linux-gnu/libapt-pkg.so.4.12 (0xb71c1000)
libncursesw.so.5 => /lib/i386-linux-gnu/libncursesw.so.5 (0xb718f000)
libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xb716e000)
libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0xb7169000)
libcwidget.so.3 => /usr/lib/libcwidget.so.3 (0xb7068000)
libept.so.1.0.5.4.12 => /usr/lib/libept.so.1.0.5.4.12 (0xb7018000)
libxapian.so.22 => /usr/lib/sse2/libxapian.so.22 (0xb6e2f000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb6e15000)
libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb6d65000)
libboost_iostreams.so.1.49.0 => /usr/lib/libboost_iostreams.so.1.49.0 (0xb6d4e000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6d35000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb6c49000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6c22000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb6c05000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6abc000)
libutil.so.1 => /lib/i386-linux-gnu/libutil.so.1 (0xb6ab8000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb6ab4000)
libbz2.so.1.0 => /lib/i386-linux-gnu/libbz2.so.1.0 (0xb6aa3000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb6a9d000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb6a94000)
/lib/ld-linux.so.2 (0xb771b000)
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 3.2.0-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages aptitude depends on:
ii libapt-pkg4.12 0.9.5.1
ii libboost-iostreams1.49.0 1.49.0-3
ii libc6 2.13-33
ii libcwidget3 0.5.16-3.2
ii libept1.4.12 1.0.6.1
ii libgcc1 1:4.7.0-8
ii libncursesw5 5.9-7
ii libsigc++-2.0-0c2a 2.2.10-0.1
ii libsqlite3-0 3.7.12.1-1
ii libstdc++6 4.7.0-8
ii libtinfo5 5.9-7
ii libxapian22 1.2.10-2
ii zlib1g 1:1.2.7.dfsg-11
Versions of packages aptitude recommends:
ii apt-xapian-index 0.45
ii aptitude-doc-en [aptitude-doc] 0.6.7-1
ii libparse-debianchangelog-perl 1.2.0-1
ii sensible-utils 0.0.7
Versions of packages aptitude suggests:
pn debtags 1.9.1
pn tasksel <none>
-- no debconf information
-- debsums errors found:
dpkg-query: attenzione: analisi del file "/var/lib/dpkg/status" vicino alla riga 3952 pacchetto "mp3check":
architecture mancante
dpkg-query: attenzione: analisi del file "/var/lib/dpkg/status" vicino alla riga 30667 pacchetto "cthumb":
architecture mancante
dpkg-divert: warning: parsing file '/var/lib/dpkg/status' near line 3952 package 'mp3check':
missing architecture
dpkg-divert: warning: parsing file '/var/lib/dpkg/status' near line 30667 package 'cthumb':
missing architecture
More information about the Aptitude-devel
mailing list