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

Bug#534408: debian-policy: Installed-Size is defined as "kilobytes" but dpkg-gencontrol fills it in with kibibytes

Package: debian-policy
Severity: minor

debian-policy appears to define Installed-Size's units as thousands of bytes:

> 5.6.20 Installed-Size
> This field appears in the control files of binary packages, and in the Packages files. It gives the total amount of disk space required to install the named package.
> The disk space is represented in kilobytes as a simple decimal number. 

I suspect this is informal language describing an intention to use kibibytes - units of 1024 bytes - as implemented by dpkg-gencontrol's use of du -k:

if (!defined($substvars->get('Installed-Size'))) {
    defined(my $c = open(DU, "-|")) || syserr(_g("fork for du"));
    if (!$c) {
        chdir("$packagebuilddir") ||
            syserr(_g("chdir for du to \`%s'"), $packagebuilddir);
        exec("du","-k","-s",".") or &syserr(_g("exec du"));

The ambiguity, while not particularly serious at the scale of typical package sizes, has led to dispute, eg https://bugs.launchpad.net/gdebi/+bug/44286.

If I'm wrong about the intention, then an appropriate resolution might be to reassign this bug to dpkg-dev for adding --si to the du invocation in dpkg-gencontrol.
-- System Information:
Debian Release: 4.0
  APT prefers oldstable
  APT policy: (500, 'oldstable'), (50, 'unstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-amd64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)

-- no debconf information

Reply to: