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

Re: [SCM] dpkg's main repository branch, master, updated. 1.15.8.10-272-g58e7276



On Mon, 31 Jan 2011, Guillem Jover wrote:
> The following commit has been merged in the master branch:
> commit 58e7276b69be105735eccb3c18c2b28d3a2ec2e5
[...]
> +  * Always warn when parsing any package control data which does not have
> +    an Architecture field.

This looks like wrong. There are several cases where we have status
information without the Architecture field.

After a run of dpkg --set-selections we can have many:
┏rivendell:~/deb/core/dpkg (master)
┗(720)$ echo "foo install" | sudo dpkg --set-selections
┏rivendell:~/deb/core/dpkg (master)
┗(722)$ LANG=C sudo dpkg -s foo
dpkg-query: warning: parsing file '/var/lib/dpkg/status' near line 5070 package 'foo':
 missing architecture
Package: foo
Status: install ok not-installed

> -  if (pkg->available.arch && *pkg->available.arch &&
> -      strcmp(pkg->available.arch, "all") &&
> +  if (strcmp(pkg->available.arch, "all") &&
>        strcmp(pkg->available.arch, native_arch))
>      forcibleerr(fc_architecture,
>                  _("package architecture (%s) does not match system (%s)"),

There is a regression here that was not documented in the commit log, hence I
assumed it was unintended and fixed it in a subsequent commit. Package without
an architecture field used to install fine, with this change they don't. I added
a test case as well.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
                      ▶ http://RaphaelHertzog.fr (Français)


Reply to: