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

Re: apt: Saves some downloaded packages under truncated filenames



Cyril Brulebois <kibi@debian.org> (2013-09-19):
> Since Owner->DestFile is used both for creating a Message and for
> printing URIs, I suspect that's the one going bad. Looking at
> apt-private/private-install.cc's InstallPackages(), it appears
> the Fetcher is created by the PackageManager, and one then gets the
> files out of there. I suspect this is what wants getting looked at.

Tracked down to: pkgAcqArchive::pkgAcqArchive(), where Parse.FileName()
returns: "pool/main/c/c"

Looking further, through debindexfile.cc then debrecords.cc, it
looks like debRecordParser::FileName() returns a faulty (truncated)
string.

Root cause is probably in pkgTagSection::Find(), which I'll try to
look at later on.

> As for reproducing the issue:
> |   debcheckout debian-installer foo
> |   cd foo/build
> |   export DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH)
> |   ./util/get-packages udeb acpi-modules-3.10-3-amd64-di alsa-base-udeb alsa-utils-udeb anna archdetect bogl-bterm-udeb brltty-udeb busybox-udeb cdebconf-gtk-terminal cdebconf-gtk-udeb cdebconf-newt-terminal cdebconf-newt-udeb cdebconf-priority cdebconf-text-udeb cdebconf-udeb choose-mirror choose-mirror-bin console-setup-linux-fonts-udeb console-setup-pc-ekmap console-setup-udeb core-modules-3.10-3-amd64-di crc-modules-3.10-3-amd64-di crypto-modules-3.10-3-amd64-di debian-archive-keyring-udeb di-utils di-utils-reboot di-utils-shell di-utils-terminfo download-installer env-preseed espeak-data-udeb espeakup-udeb ethdetect event-modules-3.10-3-amd64-di fat-modules-3.10-3-amd64-di fb-modules-3.10-3-amd64-di file-preseed firewire-core-modules-3.10-3-amd64-di fontconfig-udeb fonts-farsiweb-udeb fonts-khmeros-udeb fonts-lao-udeb fonts-lklug-sinhala-udeb fonts-mlym-udeb fonts-sil-abyssinica-udeb fonts-sil-padauk-udeb fonts-taml-udeb fonts-telu-udeb fonts-thai-tlwg-udeb fonts-tibetan-machine-udeb fonts-ukij-uyghur-udeb
> 
> (I suspect one can truncate the package list some more, but that's
> for another day; if you're on another arch, try this command
> instead, without the export: make rebuild_netboot)

Thanks to a tiny shell loop, I managed to reduce the needed package
list to:
  cdebconf-newt-terminal cdebconf-gtk-terminal

Mraw,
KiBi.


Reply to: