apt: Segfault when using non-standard directories

Josef Spillner 2005 at kuarepoti-dju.net
Fri Nov 28 15:00:20 UTC 2008


Package: apt
Version: 0.7.9ubuntu17
Severity: normal

[I'm sorry if this report arrives twice - my reportbug was stuck when sending 
via SMTP]

*** Please type your report below this line ***

I'm trying to use apt-get to install packages to a relocated system
directory, e.g. /tmp.

However, when running
 apt-get -o Dir::State::status=/tmp/ -o Dir::Cache::pkgcache=/tmp/ install w3m
apt produces a segfault.
The backtrace is:

(gdb) bt
#0  0xb7eac3f3 in pkgCache::ReMap () from
/usr/lib/libapt-pkg-libc6.7-6.so.4.6
#1  0xb7eac638 in pkgCache::pkgCache () from
/usr/lib/libapt-pkg-libc6.7-6.so.4.6
#2  0xb7ede900 in ?? () from /usr/lib/libapt-pkg-libc6.7-6.so.4.6
#3  0xb7edf00f in pkgMakeStatusCache () from
/usr/lib/libapt-pkg-libc6.7-6.so.4.6
#4  0xb7ed4fd9 in pkgCacheFile::BuildCaches () from
/usr/lib/libapt-pkg-libc6.7-6.so.4.6
#5  0xb7ed5104 in pkgCacheFile::Open () from
/usr/lib/libapt-pkg-libc6.7-6.so.4.6
#6  0x08060022 in ?? ()
#7  0xb7e9ce8b in CommandLine::DispatchArg () from
/usr/lib/libapt-pkg-libc6.7-6.so.4.6
#8  0x0804f06b in ?? ()
#9  0xb7c14450 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#10 0x0804ce91 in ?? ()

I assume this has to do with its inability to find a package cache
there. Running 'apt-get -o ... -o Dir::State::lists=/tmp update' first
creates the package cache, but then also segfaults, not contributing
anything positive to the issue above.

man apt.conf(5) mentions a RootDir setting but this is not explained
anywhere, nor contained in the example configuration files or the Google
index.
Therefore, the whole out-of-order installation process with apt-get,
e.g. for quarantine purposes, is severely broken. It's not trivial with
RPM either, but at least it's possible with:
 mkdir -p $prefix/$rpmdb
 rpm --initdb --dbpath $prefix/$rpmdb
 rpm --nosignature --replacepkgs --nodeps --dbpath $rpmdb --root $prefix --
relocate /=$prefix -i $@

apt-get could beat it by just getting a --root option which works
without further ado, and especially without fakeroot, so debootstrap
could also be rewritten to be based on that instead of many error-prone
custom-built scripts (modulo a few system packages).

-- Package-specific info:

-- (no /etc/apt/preferences present) --


-- (/etc/apt/sources.list present, but not submitted) --


-- System Information:
Debian Release: lenny/sid
  APT prefers hardy-updates
  APT policy: (500, 'hardy-updates'), (500, 'hardy-security'), (500, 'hardy')
Architecture: i386 (i686)

Kernel: Linux 2.6.24-19-386
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages apt depends on:
ii  libc6                   2.7-10ubuntu4    GNU C Library: Shared libraries
ii  libgcc1                 1:4.2.3-2ubuntu7 GCC support library
ii  libstdc++6              4.2.3-2ubuntu7   The GNU Standard C++ Library v3

Versions of packages apt recommends:
ii  ubuntu-keyring                2008.03.04 GnuPG keys of the Ubuntu archive

-- no debconf information




More information about the ubuntu-users mailing list