#694886 debootstrap: Creates available file w/o Description fields

Package:
debootstrap
Source:
debootstrap
Submitter:
Petter Reinholdtsen
Date:
2024-02-14 13:03:03 UTC
Severity:
important
Tags:
#694886#5
Date:
2012-12-01 19:38:50 UTC
From:
To:
Dear Maintainer,

I discovered this in the installation log of a freshly installed wheezy
test system.  The log contained messages like this:

  dpkg: warning: parsing file '/var/lib/dpkg/available' near line 219 package 'libtext-wrapi18n-perl':
   missing description

I was able to reproduce it after installation using apt-get install.
See for example this run:

root@skolelinuxtest:~# LANG=C apt-get install kde-i18n-nn
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  kde-l10n-nn
The following NEW packages will be installed:
  kde-i18n-nn kde-l10n-nn
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 1410 kB of archives.
After this operation, 5903 kB of additional disk space will be used.
Do you want to continue [Y/n]?
Get:1 http://ftp.no.debian.org/debian/ wheezy/main kde-l10n-nn all 4:4.8.4-2 [1403 kB]
Get:2 http://ftp.debian.org/debian/ squeeze/main kde-i18n-nn all 4:4.4.5-1 [7014 B]
Fetched 1410 kB in 1s (1248 kB/s)
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 219 package 'libtext-wrapi18n-perl':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 296 package 'libustr-1.0-1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 471 package 'debconf':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 720 package 'dash':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 1384 package 'coreutils':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 1571 package 'debianutils':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 2058 package 'login':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 3292 package 'libuuid1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 3604 package 'lsb-base':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 4765 package 'ncurses-base':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 4869 package 'libpam0g:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 5374 package 'bsdutils':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 5495 package 'sensible-utils':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 6915 package 'ncurses-bin':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 6948 package 'perl-base':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 7012 package 'sysv-rc':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 8614 package 'libsepol1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 8706 package 'libpam-modules:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 8786 package 'tzdata':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 9138 package 'libsemanage1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 10439 package 'diffutils':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 11212 package 'tar':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 11688 package 'libmount1':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 12084 package 'zlib1g:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 13188 package 'libgcc1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 14136 package 'base-files':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 14260 package 'mount':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 14514 package 'libtext-iconv-perl':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 15042 package 'libncurses5:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 17250 package 'libattr1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 17664 package 'sed':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 18677 package 'e2fslibs:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 19291 package 'base-passwd':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 19618 package 'libcomerr2:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 19786 package 'mawk':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 20782 package 'debconf-i18n':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 20945 package 'grep':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 22483 package 'passwd':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 22655 package 'hostname':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 22883 package 'libacl1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 22966 package 'libpam-runtime':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 23305 package 'sysvinit':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 23421 package 'libslang2:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 23505 package 'initscripts':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 23531 package 'libblkid1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 23674 package 'libss2:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 23707 package 'libsemanage-common':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 23760 package 'libpam-modules-bin':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 23850 package 'findutils':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 23999 package 'xz-utils':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 24791 package 'e2fsprogs':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 25215 package 'liblzma5:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 25793 package 'libdb5.1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 25988 package 'insserv':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 26149 package 'gzip':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 26199 package 'dpkg':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 26658 package 'liblocale-gettext-perl':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 28164 package 'libbz2-1.0:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 28987 package 'libtinfo5:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 29578 package 'gcc-4.7-base:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 29721 package 'libc-bin':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 30351 package 'sysvinit-utils':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 30566 package 'multiarch-support':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 31655 package 'libselinux1:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 31910 package 'libc6:i386':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 33357 package 'bash':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 33474 package 'util-linux':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 35763 package 'libtext-charwidth-perl':
 missing description
Selecting previously unselected package kde-l10n-nn.
(Reading database ... 138534 files and directories currently installed.)
Unpacking kde-l10n-nn (from .../kde-l10n-nn_4%3a4.8.4-2_all.deb) ...
Selecting previously unselected package kde-i18n-nn.
Unpacking kde-i18n-nn (from .../kde-i18n-nn_4%3a4.4.5-1_all.deb) ...
Setting up kde-l10n-nn (4:4.8.4-2) ...
Setting up kde-i18n-nn (4:4.4.5-1) ...
root@skolelinuxtest:~#

Looking in /var/lib/dpkg/available, I find entries like this, where
there is a "Description-en" field but no "Description" field.

Package: libtext-wrapi18n-perl
Priority: required
Section: perl
Installed-Size: 28
Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
Architecture: all
Version: 0.06-7
Depends: libtext-charwidth-perl
Filename: pool/main/libt/libtext-wrapi18n-perl/libtext-wrapi18n-perl_0.06-7_all.deb
Size: 9004
MD5sum: 5608c08e10e79269e391f02856f96ec5
Description-en: internationalized substitute of Text::Wrap
 This module is a substitution for Text::Wrap, supporting
 multibyte characters such as UTF-8, EUC-JP, and GB2312, fullwidth
 characters such as east Asian characters, combining characters
 such as diacritical marks and Thai, and languages which don't
 use whitespaces between words such as Chinese and Japanese.
 .
 It provides wrap().
Homepage: http://search.cpan.org/search?module=Text::WrapI18N
Description-md5: 7cfec94f97ab774b331a41f9dbcb99e1
Tag: devel::lang:perl, devel::library, implemented-in::perl, role::devel-lib,
 use::text-formatting, works-with::text
SHA1: dc961f5d84b71ac26f85109356d16234c44f9482
SHA256: 88fb2394dafcfe3b1aae18c081ac446ad7d18c920999a4f578fc2931ad0664cc

Perhaps that is the cause of these reports?  Should dpkg accept either
Description or Description-en as a valid description?

#694886#10
Date:
2012-12-01 20:11:18 UTC
From:
To:
Hi!
[...]

Because those fields are missing from the available file, the warnings
will be printed whenever dpkg tools make use of it, which right now is
less common than it was in the past. You should also see the warnings
if you call «dpkg -i» directly or «dpkg-query --load-avail -l '*'» for
example. That's to be expected.

This is due to the split Translation repository files, and something
that has inserted those wrongly into the available file. We'd have to
find what program did that, and then reassign there.

For example «apt-cache dumpavail» from sid behaves more or less
correctly. Was it obvious from the log when did it start to warn?
Maybe the file was not right from the start; I'm not sure if d-i
populates it.
[...]
[...]
[...]

Yes, that's the reason, and while dselect should ideally get support
for translated Descriptions at some point, I'm not sure it makes much
sense to do the same for dpkg as it works oblivious to any repository.
I've noted it down as an item for my pending discussion with frontend
developers, though.

Thanks,
Guillem

#694886#15
Date:
2012-12-01 20:21:33 UTC
From:
To:
[Guillem Jover]
was configured and before adduser was unpacked:


Dec  1 17:16:00 debootstrap: Setting up sysvinit (2.88dsf-34) ...
Dec  1 17:16:00 debootstrap: sysvinit: creating /run/initctl
Dec  1 17:16:00 debootstrap: Not restarting sysvinit: init not running
Dec  1 17:16:00 debootstrap: Setting up e2fsprogs (1.42.5-1) ...
Dec  1 17:16:00 debootstrap: dpkg: warning: parsing file '/var/lib/dpkg/available' near line 35 package 'libc-bin':
Dec  1 17:16:00 debootstrap:  missing description
[...]
Dec  1 17:16:01 debootstrap:  missing description
Dec  1 17:16:01 debootstrap: dpkg: warning: parsing file '/var/lib/dpkg/available' near line 3870 package 'whiptail':
Dec  1 17:16:01 debootstrap:  missing description
Dec  1 17:16:01 debootstrap: (Reading database ...
Dec  1 17:16:01 debootstrap: 6256 files and directories currently installed.)
Dec  1 17:16:01 debootstrap: Unpacking adduser (from .../adduser_3.113+nmu3_all.deb) ...
Dec  1 17:16:01 debootstrap: Unpacking libstdc++6:i386 (from .../libstdc++6_4.7.2-4_i386.deb) ...
Dec  1 17:16:01 debootstrap: Unpacking libapt-pkg4.12:i386 (from .../libapt-pkg4.12_0.9.7.6_i386.deb) ...
Dec  1 17:16:02 debootstrap: Unpacking gpgv (from .../gpgv_1.4.12-6_i386.deb) ...

No idea. :)

#694886#20
Date:
2012-12-01 20:59:16 UTC
From:
To:
Control: reassign -1 debootstrap
Control: retitle -1 debootstrap: Creates available file w/o Description fields

Ok, having checked debootstrap code now, it would seem like
functions:setup_available() is the culprit. And the setup_available()
call in sid:second_stage_install() would seem to match what's
happening on the log.

Thanks,
Guillem

#694886#31
Date:
2013-02-09 05:34:07 UTC
From:
To:
I just verified that this bug still is available in the wheezy version
of debootstrap.  While not fatal as far as I can tell, it would be nice
if a bootstrapped Debian system had a correct available file.

#694886#38
Date:
2013-05-21 12:53:31 UTC
From:
To:
found 694886 debootstrap 1.0.44
severity 694886 important
thanks

I'm raising the severity slightly, as this bug is creating a messed up
dpkg available file confusing dpkg for the rest of the life of the
installed system.

Perhaps now, very early in the jessie release cycle, is a good time to
fix it.  I am not sure what is needed, otherwise I would provide a patch
myself.

#694886#45
Date:
2013-05-23 15:02:06 UTC
From:
To:
Petter Reinholdtsen wrote:

My preferred fix would be to create an empty available file.

However, I don't understand commit 9e7d96f50df440f1ce1432e44f774799d4e5c0c0,
which seemed to add the file to make dpkg work when resolving pre-dependencies.

Maybe Colin can shed some light on what's going on.

#694886#50
Date:
2013-05-23 15:28:12 UTC
From:
To:
You can't create an empty available file because then dpkg
--predep-package won't have enough information to figure out which
pre-dependency to install next; and I don't think it makes sense to
attempt to reimplement the logic of --predep-package in the relatively
limited environment of debootstrap.  The pre-dependency handling has
been working well apart from this bug, and it would be a shame to
destabilise it.

I tried to have a look at this, but I can't actually reproduce this
myself.  Whether with the perl pkgdetails or the C one from
base-installer, debootstrap seems to create an available file with
Description fields, albeit only short ones without the extended values,
and I don't see any of these warnings from dpkg.  Do I have to do a full
d-i install to reproduce this bug?

If somebody could provide a reproduction recipe, I can have a look.

#694886#55
Date:
2013-05-23 16:15:37 UTC
From:
To:
[Colin Watson]

I see it every time when I install using the norwegian bokmål locale.
Perhaps some non-english locale is needed?

#694886#64
Date:
2015-07-29 09:13:51 UTC
From:
To:
Vraag uw dringende financiële hulp vandaag en hebben het in uw bankrekening binnen 24 uur. Voor meer informatie, neem dan contact met ons op uw belangstelling via onderstaande formulier;

Volledige Naam:
adres:
land:
Leenbedrag:
duur:
Doel van de lening:
Telefoonnummer:

Wij hopen van u te horen afgelopen.

Contacteer ons nu

#694886#71
Date:
2024-02-14 12:59:50 UTC
From:
To:
This is an old one! Does this still occur?