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

Re: Next upload 2012-06-26 (dpkg 1.16.5)



Hi,

Neil McGovern wrote:

> dpkg-1.16.8/dpkg-deb/main.c
>   -"  -h|--help                        Show this help message.\n"
>   -"  --version                        Show the version.\n"
>   +"  -?, --help                       Show this help message.\n"
>   +"      --version                    Show the version.\n"
> Why are you removing -h?

I'll leave this one for Guillem.

> dpkg-1.16.8/lib/dpkg/ar.c
>   +       if (strlen(name) > 15)
>   +               ohshit(_("ar member name '%s' length too long"), name);
>   +       if (size > 9999999999L)
>   +               ohshit(_("ar member size %jd too large"), size);
>   +
> Why 9999999999?

In the common ar format, the member size is stored as a 10-byte
character array as a decimal integer (padded on the right with
spaces).  The maximum value that can be represented is

	10^10 - 1 = 9 999 999 999.

Now a person might worry for a moment: since log2(10) is a little more
than 3.3, isn't 10^10 around 2^33, which is larger than can be
represented in a "long" on 32-bit architectures?  Luckily dpkg uses
C99, where this is automatically treated as a "long long" literal when
appropriate.

> dpkg-1.16.8/scripts/Dpkg/Deps.pm
>   -                (any)                       # architecture name
>   +                ([a-zA-Z0-9][a-zA-Z0-9-]*)  # architecture name
> Why the additional restriction?

It's a loosening.  Previously the only permitted
architecture-qualified dependency was ":any".

> *.gmo - are you sure you're meant to be shipping these in the tarball?

I also dislike that convention, but it's what gettextized projects do
by default.  See

  http://lists.gnu.org/archive/html/autoconf/2007-08/msg00024.html

Thanks,
Jonathan


Reply to: