[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