Debian Bug report logs - #703092
dpkg --set-selections ignores available packages never installed or removed by dpkg

version graph

Package: dpkg; Maintainer for dpkg is Dpkg Developers <debian-dpkg@lists.debian.org>; Source for dpkg is src:dpkg (PTS, buildd, popcon).

Reported by: Agustin Martin <agmartin@debian.org>

Date: Fri, 15 Mar 2013 18:57:40 UTC

Severity: important

Found in versions dpkg/1.16.9, dpkg/1.16.10

Fixed in version dpkg/1.17.0

Done: Guillem Jover <guillem@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Fri, 15 Mar 2013 18:57:44 GMT) (full text, mbox, link).


Acknowledgement sent to Agustin Martin <agmartin@debian.org>:
New Bug report received and forwarded. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Fri, 15 Mar 2013 18:57:44 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Agustin Martin <agmartin@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Fri, 15 Mar 2013 13:17:32 +0100
Package: dpkg
Version: 1.16.9
Severity: normal

Dear Maintainers,

I recently noticed that the workflow to install in a basic box the
list of extra packages present in other more complete box seems to
no longer work

full-box#  dpkg --get-selections > desired-selections.txt
basic-box# dpkg --get-selections < desired-selections.txt
basic-box# apt-get upgrade

This is better seen in a chroot with following sequence

# debootstrap sid mychroot http://http.debian.net/debian
# chroot mychroot

In the chroot:

mychroot# apt-get update
mychroot# echo "joe install" | dpkg --set-selections
... dpkg: warning: package not in database at line 1: joe
mychroot# apt-get upgrade
... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
mychroot# dpkg --get-selections | grep joe

Selection seems lost. Trying with apt-get dselect-upgrade does not help

mychroot# apt-get install dselect
mychroot# apt-get dselect-upgrade
... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
mychroot# dselect update
mychroot# apt-get dselect-upgrade
... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Only if I set selections again after "dselect update" things work (althouch
only for "apt-get dselect-upgrade"). After previous commands

mychroot# echo "joe install" | dpkg --set-selections
mychroot# apt-get upgrade
... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

mychroot# apt-get dselect-upgrade
... 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
... Setting up joe (3.7-2.3) ...

--------------------

Seems that dpkg ignores setting values for packages that were never installed
or removed in the system, although they are available and can be retrieved
with apt-get. I guess "dselect update" adds apropriate entries to database
that can later be set.

IIRC this workflow is described in a number of places to clone a system, so
behavior should be fixed or clarified. If this change is intentional, some
comment should be added to dpkg man page or to README file. 

Regards,

-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (200, 'unstable'), (1,
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/1 CPU core)
Locale: LANG=es_ES.ISO-8859-1, LC_CTYPE=es_ES.ISO-8859-1
(charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash

Versions of packages dpkg depends on:
ii  libbz2-1.0   1.0.6-4
ii  libc6        2.13-38
ii  liblzma5     5.1.1alpha+20120614-2
ii  libselinux1  2.1.9-5
ii  tar          1.26+dfsg-0.1
ii  zlib1g       1:1.2.7.dfsg-13

dpkg recommends no packages.

Versions of packages dpkg suggests:
ii  apt  0.9.7.8

-- no debconf information

-- 
Agustin



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Wed, 10 Apr 2013 05:45:04 GMT) (full text, mbox, link).


Acknowledgement sent to Norbert Preining <preining@logic.at>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Wed, 10 Apr 2013 05:45:04 GMT) (full text, mbox, link).


Message #10 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Norbert Preining <preining@logic.at>
To: 703092@bugs.debian.org
Subject: setting this to critical
Date: Wed, 10 Apr 2013 14:43:13 +0900
severity 703092 critical
thanks

It might look harmless, but we do *NOT* want to release Debian
with a dpkg that is broken with respect to all the descriptions
floating around how to clone a system.

I myself had a hard time to get it going, especially since this bug
does not show up immediately on searches.

Norbert

------------------------------------------------------------------------
PREINING, Norbert                               http://www.preining.info
JAIST, Japan                                 TeX Live & Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
------------------------------------------------------------------------



Severity set to 'critical' from 'normal' Request was from Norbert Preining <preining@logic.at> to control@bugs.debian.org. (Wed, 10 Apr 2013 05:45:07 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Wed, 10 Apr 2013 07:15:15 GMT) (full text, mbox, link).


Acknowledgement sent to Jonathan Nieder <jrnieder@gmail.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Wed, 10 Apr 2013 07:15:15 GMT) (full text, mbox, link).


Message #17 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Jonathan Nieder <jrnieder@gmail.com>
To: Norbert Preining <preining@logic.at>
Cc: 703092@bugs.debian.org, Agustin Martin <agmartin@debian.org>
Subject: Re: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Wed, 10 Apr 2013 00:12:57 -0700
severity 703092 important
quit

Hi,

Norbert Preining wrote:

> [Subject: setting this to critical]

Please keep in mind that these appear as emails in a crowded inbox,
where a subject line can provide valuable context.

> It might look harmless, but we do *NOT* want to release Debian
> with a dpkg that is broken with respect to all the descriptions
> floating around how to clone a system.

I agree that this is a problem, but I cannot convince myself it breaks
the entire system.  Therefore I'm lowering the severity.

Presumably this is due to

  1.16.2~15 dpkg: Only allow setting selections for known packages,
            2012-03-17

It is a shame the impact of that commit on existing workflows was not
noticed until a year later.  Guillem, can you say a little about the
motivation behind the change?  Would it be safe to revert it?

Thanks,
Jonathan



Severity set to 'important' from 'critical' Request was from Jonathan Nieder <jrnieder@gmail.com> to control@bugs.debian.org. (Wed, 10 Apr 2013 07:15:18 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Wed, 10 Apr 2013 07:45:03 GMT) (full text, mbox, link).


Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Wed, 10 Apr 2013 07:45:03 GMT) (full text, mbox, link).


Message #24 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Raphael Hertzog <hertzog@debian.org>
To: Jonathan Nieder <jrnieder@gmail.com>, 703092@bugs.debian.org
Cc: Norbert Preining <preining@logic.at>, Agustin Martin <agmartin@debian.org>
Subject: Re: Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Wed, 10 Apr 2013 09:43:50 +0200
Hi,

On Wed, 10 Apr 2013, Jonathan Nieder wrote:
> > It might look harmless, but we do *NOT* want to release Debian
> > with a dpkg that is broken with respect to all the descriptions
> > floating around how to clone a system.
> 
> I agree that this is a problem, but I cannot convince myself it breaks
> the entire system.  Therefore I'm lowering the severity.
> 
> Presumably this is due to
> 
>   1.16.2~15 dpkg: Only allow setting selections for known packages,
>             2012-03-17
> 
> It is a shame the impact of that commit on existing workflows was not
> noticed until a year later.  Guillem, can you say a little about the
> motivation behind the change?  Would it be safe to revert it?

The impact was perfectly known. I was also concerned by the change but
Guillem did not want to change his mind.

See https://lists.debian.org/debian-dpkg/2012/03/msg00065.html and
Guillem's reply in
https://lists.debian.org/debian-dpkg/2012/03/msg00067.html

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Get the Debian Administrator's Handbook:
→ http://debian-handbook.info/get/



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Wed, 10 Apr 2013 08:00:04 GMT) (full text, mbox, link).


Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Wed, 10 Apr 2013 08:00:04 GMT) (full text, mbox, link).


Message #29 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Raphael Hertzog <hertzog@debian.org>
To: Jonathan Nieder <jrnieder@gmail.com>, 703092@bugs.debian.org
Cc: Norbert Preining <preining@logic.at>, Agustin Martin <agmartin@debian.org>
Subject: Re: Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Wed, 10 Apr 2013 09:56:30 +0200
On Wed, 10 Apr 2013, Raphael Hertzog wrote:
> The impact was perfectly known. I was also concerned by the change but
> Guillem did not want to change his mind.
> 
> See https://lists.debian.org/debian-dpkg/2012/03/msg00065.html and
> Guillem's reply in
> https://lists.debian.org/debian-dpkg/2012/03/msg00067.html

To be a bit more constructive, and assuming that we won't change this at
this point of the release, it would be worth to document this change
in the release notes to give it a bit more visibility and to make
people aware that they have to update the available file first.

I'll let Guillem decide, he can reassign or clone the bug.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Get the Debian Administrator's Handbook:
→ http://debian-handbook.info/get/



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Wed, 10 Apr 2013 08:09:04 GMT) (full text, mbox, link).


Acknowledgement sent to Norbert Preining <preining@logic.at>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Wed, 10 Apr 2013 08:09:04 GMT) (full text, mbox, link).


Message #34 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Norbert Preining <preining@logic.at>
To: Raphael Hertzog <hertzog@debian.org>
Cc: Jonathan Nieder <jrnieder@gmail.com>, "703092@bugs.debian.org" <703092@bugs.debian.org>, Agustin Martin <agmartin@debian.org>
Subject: Re: Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Wed, 10 Apr 2013 17:06:10 +0900
Hi

> Guillem's reply in
> https://lists.debian.org/debian-dpkg/2012/03/msg00067.html

I agree that there is a reasoning behind it, but if this feature as documented far and wide is removed, please:
* add a warning to the NEWS
* fix the man page! And mention ways to achieve the same

Thanks

Norbert

------------------------------------------------------------------------
PREINING, Norbert                               http://www.preining.info
JAIST, Japan                                 TeX Live & Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
------------------------------------------------------------------------




Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Sun, 21 Apr 2013 15:54:04 GMT) (full text, mbox, link).


Acknowledgement sent to Brad Barnett <bahb@l8r.net>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sun, 21 Apr 2013 15:54:04 GMT) (full text, mbox, link).


Message #39 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Brad Barnett <bahb@l8r.net>
To: "703092@bugs.debian.org" <703092@bugs.debian.org>
Subject: Re: Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Sun, 21 Apr 2013 11:41:35 -0400
Uh, yeah... great.

Ok, so we have a regression that is "OK", because it is based on whether
a behaviour is technically correct.  I've seen this bug for months and
months, but thought it was a well known bug that just wasn't resolved.

In fact, I didn't even look for bug reports.  I didn't even look on
forums when I first found out about the bug from a user perspective.  I
just figure dpkg was *broken*, and of course someone would fix this crazy
bug!

How could it be missed?  There must already be a bug report on this, I
thought! 

You would not believe my level of astonishment, and the astonishment of
every single Debian admin I've discussed this with, when they were
informed that this non-documented, year old, planned and implemented
serious change of behaviour was intended?!

Meanwhile, sysadmins all over the planet, most likely hundreds of
thousands of them, have been using this prior behaviour for more than a
decade.

The man page does not document it.  The suggestions to resolve it in:

https://lists.debian.org/debian-dpkg/2012/03/msg00067.html

by Guillem require that I install dselect, perform operations on it, then
install dctrl-tools, and perform more obtuse operations via those tools.
Tools that I will have to install on virtually every system, when I did
not require them before.

A wonderful, elegant solution to system upgrades, that made me very happy
in bootstrapping at least 5000+ debian systems by hand over 10+ years,
has now become very annoying.

No docs anywhere about it.  No mention anywhere.  No man page updates.
Nothing I noticed in any guides.  No forethought to the consequences,
except "Well, this isn't technically correct, so screw everyone!"

What is it about Debian, that has people running around with sticks up
their asses?  Debian recently announced at how *PROUD* it was that one
can actually play multimedia files now, without having to go to untrusted
sources.

Instead, let's replace that with the obfuscation of the entire reinstall /
bootstrapping of new systems, under the justification that "It should be
this way".

It's like watching people that live in a bubble, or watching a rich
person wonder why the poor simply don't just work.  Or why they are
hungry... why don't the poor just buy some food?

This one single bug is going to cause a relentless flood of forum posts,
of users hitting debian's servers, of mailing list posts, of queries in
IRC channels.... the list goes on.

Well, OK, so clearly stubbornness and the need ensure that things are Right,
even if they break workflow for the entire universe is going to win
out.  So, if this behaviour is locked in, fine.

Then would it be possible to get a warning in dpkg when --set-selections
is used?  Or, how about we remove that command all together, and replace
it with another command?  Or, add the functionality to apt directly?

Is there any way around this silliness?  I can count the number of people
that have used dselect for anything on one hand, apt is what the majority
of people use...

So, can we at least get apt fixed?




Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Sun, 21 Apr 2013 15:54:07 GMT) (full text, mbox, link).


Acknowledgement sent to Brad Barnett <bahb@l8r.net>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sun, 21 Apr 2013 15:54:07 GMT) (full text, mbox, link).


Message #44 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Brad Barnett <bahb@l8r.net>
To: "703092@bugs.debian.org" <703092@bugs.debian.org>
Subject: Re: Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Sun, 21 Apr 2013 11:44:46 -0400

I might add, that I attempted to use Guillem's suggestion in that email.

I get borked at the whole:

  apt-cache dumpavail && dpkg --update-avail / --merge-avail

How on earth is that even supposed to work?  Doesn't seem to function
here...


On Sun, 21 Apr 2013 11:41:35 -0400
Brad Barnett <bahb@L8R.net> wrote:

> 
> Uh, yeah... great.
> 
> Ok, so we have a regression that is "OK", because it is based on whether
> a behaviour is technically correct.  I've seen this bug for months and
> months, but thought it was a well known bug that just wasn't resolved.
> 
> In fact, I didn't even look for bug reports.  I didn't even look on
> forums when I first found out about the bug from a user perspective.  I
> just figure dpkg was *broken*, and of course someone would fix this
> crazy bug!
> 
> How could it be missed?  There must already be a bug report on this, I
> thought! 
> 
> You would not believe my level of astonishment, and the astonishment of
> every single Debian admin I've discussed this with, when they were
> informed that this non-documented, year old, planned and implemented
> serious change of behaviour was intended?!
> 
> Meanwhile, sysadmins all over the planet, most likely hundreds of
> thousands of them, have been using this prior behaviour for more than a
> decade.
> 
> The man page does not document it.  The suggestions to resolve it in:
> 
> https://lists.debian.org/debian-dpkg/2012/03/msg00067.html
> 
> by Guillem require that I install dselect, perform operations on it,
> then install dctrl-tools, and perform more obtuse operations via those
> tools. Tools that I will have to install on virtually every system,
> when I did not require them before.
> 
> A wonderful, elegant solution to system upgrades, that made me very
> happy in bootstrapping at least 5000+ debian systems by hand over 10+
> years, has now become very annoying.
> 
> No docs anywhere about it.  No mention anywhere.  No man page updates.
> Nothing I noticed in any guides.  No forethought to the consequences,
> except "Well, this isn't technically correct, so screw everyone!"
> 
> What is it about Debian, that has people running around with sticks up
> their asses?  Debian recently announced at how *PROUD* it was that one
> can actually play multimedia files now, without having to go to
> untrusted sources.
> 
> Instead, let's replace that with the obfuscation of the entire
> reinstall / bootstrapping of new systems, under the justification that
> "It should be this way".
> 
> It's like watching people that live in a bubble, or watching a rich
> person wonder why the poor simply don't just work.  Or why they are
> hungry... why don't the poor just buy some food?
> 
> This one single bug is going to cause a relentless flood of forum posts,
> of users hitting debian's servers, of mailing list posts, of queries in
> IRC channels.... the list goes on.
> 
> Well, OK, so clearly stubbornness and the need ensure that things are
> Right, even if they break workflow for the entire universe is going to
> win out.  So, if this behaviour is locked in, fine.
> 
> Then would it be possible to get a warning in dpkg when --set-selections
> is used?  Or, how about we remove that command all together, and replace
> it with another command?  Or, add the functionality to apt directly?
> 
> Is there any way around this silliness?  I can count the number of
> people that have used dselect for anything on one hand, apt is what the
> majority of people use...
> 
> So, can we at least get apt fixed?
> 



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Sun, 21 Apr 2013 17:33:04 GMT) (full text, mbox, link).


Acknowledgement sent to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sun, 21 Apr 2013 17:33:04 GMT) (full text, mbox, link).


Message #49 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: Brad Barnett <bahb@l8r.net>, 703092@bugs.debian.org
Cc: Agustin Martin <agmartin@debian.org>, Norbert Preining <preining@logic.at>, Jonathan Nieder <jrnieder@gmail.com>
Subject: Re: Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Sun, 21 Apr 2013 19:30:48 +0200
Hi,

[ I've trimmed out all the vitriol... ]

On Sun, 2013-04-21 at 11:44:46 -0400, Brad Barnett wrote:
> I might add, that I attempted to use Guillem's suggestion in that email.

Just to make sure, only one of those is needed, not all combined.

> I get borked at the whole:
> 
>   apt-cache dumpavail && dpkg --update-avail / --merge-avail
>
> How on earth is that even supposed to work?  Doesn't seem to function
> here...

Something like the following should work:

  # avail=`mktemp`
  # apt-cache dumpavail >"$avail"
  # dpkg --merge-avail "$avail"
  # rm "$avail"

Another option is to use the dselect apt update method directly, w/o
needing to install dselect itself, something like:

  # /usr/lib/dpkg/methods/apt/update /var/lib/dpkg/

I don't know how one would go about doing the same with cupt or other
package manager frontends (when apt is not installed), though.


Regarding this bug report. Yes, the missing documentation is a bug,
and was an oversight at the time, my bad. This behavior change was not
done out of a whim, as seems to be implied in several of the mails on
this bug report, there was a reason as I explained at the time, dpkg
would otherwise be unable to refer to packages on its own database;
the fact that I consider the new behavior the correct one is just an
extra, and in addition a useful warning is printed on unknown packages
which could be missed previously (even with an up-to-date available
database).

When this was first reported last month, we were already deep into the
freeze, and I'd not expect an exception just for documentation fixes
plus the needed translation updates etc. And I'm not thrilled about
the propsect of having to bother the release-team about such an
upload, I can ask though given people annoyance levels...

What I'm planning to do to try to improve the situation is:

  * Document the change in the man page in master targetting 1.17.x
    (perhaps 1.16.x too).
  * Probably add a single warning at the end of the --set-selections
    processing if any unknown package has been found, prompting the
    user to consider updating the available database in master
    targetting 1.17.x.
  * Add an entry in <http://wiki.debian.org/Teams/Dpkg/FAQ>.
  * Clone this to the release-notes so that this gets documented there
    too.
  * Possibly, ask nicely the release-team if they'd consider accepting
    any kind of documentation update for this (doubtful), even if only
    for r1.

Anything else, people think might help, I'm all ears.

Thanks,
Guillem



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Sun, 21 Apr 2013 18:00:08 GMT) (full text, mbox, link).


Acknowledgement sent to Brad Barnett <bahb@l8r.net>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sun, 21 Apr 2013 18:00:08 GMT) (full text, mbox, link).


Message #54 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Brad Barnett <bahb@l8r.net>
To: 703092@bugs.debian.org
Cc: Agustin Martin <agmartin@debian.org>, Norbert Preining <preining@logic.at>, Jonathan Nieder <jrnieder@gmail.com>
Subject: Re: Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Sun, 21 Apr 2013 13:57:32 -0400

On Sun, 21 Apr 2013 19:30:48 +0200
Guillem Jover <guillem@debian.org> wrote:

> What I'm planning to do to try to improve the situation is:
> 
>   * Document the change in the man page in master targetting 1.17.x
>     (perhaps 1.16.x too).
>   * Probably add a single warning at the end of the --set-selections
>     processing if any unknown package has been found, prompting the
>     user to consider updating the available database in master
>     targetting 1.17.x.

I think the above two would be incredibly useful.  Imagine if you're
working on your only machine, and your first step is to --set-selections
(this is quite common!).  You don't even have network fully up and
running at this point.  Your usual tools (iceweasol, or what not) are not
handy.  Lynx is a pain for many, if they even know of it.

Offline docs are essential, I'd say.

A mention to check the manpage would solve all problems, as long as the
"how to do this" was easily rectified.

(I'll try your suggestions ASAP, thanks)

>   * Add an entry in <http://wiki.debian.org/Teams/Dpkg/FAQ>.
>   * Clone this to the release-notes so that this gets documented there
>     too.
>   * Possibly, ask nicely the release-team if they'd consider accepting
>     any kind of documentation update for this (doubtful), even if only
>     for r1.
> 
> Anything else, people think might help, I'm all ears.

I don't know what R1 is, compared to 1.16.x and 1.17.x.  And, to
be honest, I'm assuming R1 means "First Wheezy release".

However, I would suggest that any fix that does not see itself in the
first release of Wheezy would almost invalidate the point.  That first
release is where all the pain will happen.

I know freeze is on.  And, I think #2 above (the message) is the optimal
fix.  We can't rely on people having network access to resolve this, when
they may have their only machine down working on a reinstall.

If #2, of something I and others consider a very serious usability issue,
can't be done -- at least /usr/share/doc and 'man dpkg' should mention
something about this issue.

That would really be helpful, inordinately so, and that's my 2 cents.


> 
> Thanks,
> Guillem



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Mon, 22 Apr 2013 10:18:04 GMT) (full text, mbox, link).


Acknowledgement sent to Agustin Martin <agmartin@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Mon, 22 Apr 2013 10:18:04 GMT) (full text, mbox, link).


Message #59 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Agustin Martin <agmartin@debian.org>
To: 703092@bugs.debian.org
Cc: Brad Barnett <bahb@l8r.net>, Norbert Preining <preining@logic.at>, Jonathan Nieder <jrnieder@gmail.com>
Subject: Re: Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Mon, 22 Apr 2013 12:14:50 +0200
On Sun, Apr 21, 2013 at 07:30:48PM +0200, Guillem Jover wrote:
> 
> What I'm planning to do to try to improve the situation is:
> 
>   * Document the change in the man page in master targetting 1.17.x
>     (perhaps 1.16.x too).
>   * Probably add a single warning at the end of the --set-selections
>     processing if any unknown package has been found, prompting the
>     user to consider updating the available database in master
>     targetting 1.17.x.
>   * Add an entry in <http://wiki.debian.org/Teams/Dpkg/FAQ>.
>   * Clone this to the release-notes so that this gets documented there
>     too.
>   * Possibly, ask nicely the release-team if they'd consider accepting
>     any kind of documentation update for this (doubtful), even if only
>     for r1.

Hi,

Anything that documents this dpkg feature and suggests alternatives is OK,
I leave the exact way to your choice, but the above seems to me very
reasonable. This bug report should also be helpful in web searches.

I noticed this problem when trying to carry out a i386-amd64 migration with
all required packages previously downloaded-only in the amd64 chroot, before
the actual migration-upgrade, so this was not harmful. What surprised me was
that I did not find easy references in first web searches, just after
refining the search I could find info about both the message and the clone
process together in the same thread. Surprisingly, I even remember somebody
complaining that there was no filed bugreport about this, but did not
actually file one. A pity, you could have had more time to deal with the
documentation changes if that bug was filed in time.

Regards,

-- 
Agustin



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Sat, 04 May 2013 15:51:08 GMT) (full text, mbox, link).


Acknowledgement sent to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sat, 04 May 2013 15:51:08 GMT) (full text, mbox, link).


Message #64 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: 703092@bugs.debian.org
Cc: debian-doc@lists.debian.org
Subject: Re: Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Sat, 4 May 2013 17:47:04 +0200
[Message part 1 (text/plain, inline)]
Control: clone -1 release-notes
Control: severity -1 wishlist

Hi!

The bug against dpkg, is about a behavior change that many sysadmins
might be surprised to find, so to avoid that it might make sense to
document in as many places as possible.

Hmm, but I guess it might be too late for this now, and going through
the release notes, I'm not sure if this really fits in there. I was not
sure where to plug such information there anyway...

On Sun, 2013-04-21 at 19:30:48 +0200, Guillem Jover wrote:
> Regarding this bug report. Yes, the missing documentation is a bug,
> and was an oversight at the time, my bad. This behavior change was not
> done out of a whim, as seems to be implied in several of the mails on
> this bug report, there was a reason as I explained at the time, dpkg
> would otherwise be unable to refer to packages on its own database;
> the fact that I consider the new behavior the correct one is just an
> extra, and in addition a useful warning is printed on unknown packages
> which could be missed previously (even with an up-to-date available
> database).

... I'm attaching a small tentative patch, on the best place I could
find, just in case.

Thanks,
Guillem
[dpkg-selections.patch (text/x-diff, attachment)]

Severity set to 'wishlist' from 'important' Request was from Guillem Jover <guillem@debian.org> to 703092-submit@bugs.debian.org. (Sat, 04 May 2013 15:51:08 GMT) (full text, mbox, link).


Bug 703092 cloned as bug 706772 Request was from Guillem Jover <guillem@debian.org> to control@bugs.debian.org. (Sat, 04 May 2013 15:57:04 GMT) (full text, mbox, link).


Severity set to 'important' from 'wishlist' Request was from Guillem Jover <guillem@debian.org> to control@bugs.debian.org. (Sat, 04 May 2013 15:57:07 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Sat, 04 May 2013 18:33:14 GMT) (full text, mbox, link).


Acknowledgement sent to Jonathan Nieder <jrnieder@gmail.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sat, 04 May 2013 18:33:14 GMT) (full text, mbox, link).


Message #75 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Jonathan Nieder <jrnieder@gmail.com>
To: Guillem Jover <guillem@debian.org>
Cc: 703092@bugs.debian.org, release-notes@packages.debian.org
Subject: Re: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Sat, 4 May 2013 11:28:25 -0700
Guillem Jover wrote:

> ... I'm attaching a small tentative patch, on the best place I could
> find, just in case.

I think it belongs in section "issues.dbk":

	Sometimes, changes introduced in a new release have side-effects
	we cannot reasonably avoid, [...]

Ideally it should be self-contained to help people working in a
setting without access to the Internet but with access to a Debian
mirror.  How about something like the following?

<section id="dpkg-set-selections">
  <title><command>dpkg --set-selections</command> changes</title>
  <para>
    The <command>dpkg --set-selections</command> command is now aware of the
    machine architecture of packages it selects and can only set the state
    for known packages. Therefore an up-to-date <filename>available</filename>
    database is needed for the command to be useful.
  </para>
  <para>
    To update the <filename>available</filename> database on an
    <systemitem role="package">apt</systemitem>-based system, run
    <command>sync-available</command> command from the
    <systemitem role="package">dctrl-tools</systemitem> package.
    See the <ulink url="&url-wiki;Teams/Dpkg/FAQ">dpkg FAQ</ulink>
    for more information.
  </para>
</section>



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Sat, 04 May 2013 19:39:04 GMT) (full text, mbox, link).


Acknowledgement sent to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sat, 04 May 2013 19:39:04 GMT) (full text, mbox, link).


Message #80 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: 703092@bugs.debian.org, release-notes@packages.debian.org
Subject: Re: dpkg --set-selections ignores available packages never installed or removed by dpkg
Date: Sat, 4 May 2013 21:35:44 +0200
On Sat, 2013-05-04 at 11:28:25 -0700, Jonathan Nieder wrote:
> Guillem Jover wrote:
> > ... I'm attaching a small tentative patch, on the best place I could
> > find, just in case.
> 
> I think it belongs in section "issues.dbk":
> 
> 	Sometimes, changes introduced in a new release have side-effects
> 	we cannot reasonably avoid, [...]
> 
> Ideally it should be self-contained to help people working in a
> setting without access to the Internet but with access to a Debian
> mirror.  How about something like the following?
> 
> <section id="dpkg-set-selections">
>   <title><command>dpkg --set-selections</command> changes</title>
>   <para>
>     The <command>dpkg --set-selections</command> command is now aware of the
>     machine architecture of packages it selects and can only set the state
>     for known packages. Therefore an up-to-date <filename>available</filename>
>     database is needed for the command to be useful.
>   </para>
>   <para>
>     To update the <filename>available</filename> database on an
>     <systemitem role="package">apt</systemitem>-based system, run
>     <command>sync-available</command> command from the
>     <systemitem role="package">dctrl-tools</systemitem> package.
>     See the <ulink url="&url-wiki;Teams/Dpkg/FAQ">dpkg FAQ</ulink>
>     for more information.
>   </para>
> </section>

Ah, much better indeed, thanks Jonathan.

Thanks,
Guillem



Added tag(s) pending. Request was from Guillem Jover <guillem@debian.org> to control@bugs.debian.org. (Sun, 07 Jul 2013 23:21:04 GMT) (full text, mbox, link).


Message sent on to Agustin Martin <agmartin@debian.org>:
Bug#703092. (Sun, 07 Jul 2013 23:21:57 GMT) (full text, mbox, link).


Message #85 received at 703092-submitter@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: 703092-submitter@bugs.debian.org
Subject: Bug#703092 marked as pending
Date: Sun, 07 Jul 2013 23:16:57 +0000
tag 703092 pending
thanks

Hello,

Bug #703092 reported by you has been fixed in the Git repository. You can
see the changelog below, and you can check the diff of the fix at:

    http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=535325b

---
commit 535325ba3d607cfe816ce7cf8d91d185ab87ca9b
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Apr 23 15:04:02 2013 +0200

    dpkg: Clarify that --set-selections needs an up-to-date available db
    
    Document this in the man page, and warn whenever we find unknown
    packages during the --set-selections processing.
    
    Closes: #703092

diff --git a/debian/changelog b/debian/changelog
index add0b68..5e00810 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
 dpkg (1.17.0) UNRELEASED; urgency=low
 
+  [ Guillem Jover ]
   * Switch update-alternatives back to a fatal error on out of range priority
     on --install.
   * Document dpkg-deb --debug in --help output.
@@ -94,6 +95,9 @@ dpkg (1.17.0) UNRELEASED; urgency=low
     not yet supported). Thanks to Matthias Klose <doko@ubuntu.com>.
     Closes: #711936
   * Add GCJFLAGS support to dpkg-buildflags. Closes: #708375
+  * Clarify that dpkg --set-selections needs an up-to-date available db,
+    by documenting it on the dpkg(1) man page, and warning whenever dpkg
+    finds unknown packages while setting the selections. Closes: #703092
 
   [ Updated programs translations ]
   * Fix typo in Spanish translation of update-alternatives.



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Wed, 17 Jul 2013 07:12:05 GMT) (full text, mbox, link).


Acknowledgement sent to Klaus Ita <koki.eml@gmail.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Wed, 17 Jul 2013 07:12:05 GMT) (full text, mbox, link).


Message #90 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Klaus Ita <koki.eml@gmail.com>
To: Debian Bug Tracking System <703092@bugs.debian.org>
Subject: dpkg: And please add 'dependency on dselect'
Date: Wed, 17 Jul 2013 09:03:41 +0200
Package: dpkg
Version: 1.16.10
Followup-For: Bug #703092

Dear Maintainer,


I agree with the bug report and would like to add that a simple rewrite of the
man-file might reduce a lot of frustration.

I was used, in the past, to 'clone' my setups via 

ssh goodhost -- dpkg --get-selections | dpkg --set-selections -

or the like. now lately, i have been frustrated with the command as it threw
many many 'missing packages' errors like:

'dpkg: warning: package not in database at line 1874 ...'

Only now i found out that you need `dselect` for this to work. A little
mention of this might be cool in the man-file.


== snip

       To make a local copy of the package selection states:
            dpkg --get-selections >myselections

       You might transfer this file to another computer, and install it  there
       with:
	    apt-get install dselect      # these two lines are to get your 
	    dselect update               # dselect repository up-to-date
            dpkg --clear-selections
            dpkg --set-selections <myselections

       Note  that  this will not actually install or remove anything, but just
       set the selection state on the requested packages. You will  need  some
       other  application to actually download and install the requested pack‐
       ages. For example, run apt-get dselect-upgrade.


       Ordinarily, you will find that dselect(1) provides  a  more  convenient
       way to modify the package selection states.


       ^^ this i am not so sure of if it is correct, did not find anythin on this topic



== snip





lg,k



-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (650, 'testing'), (600, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.9-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dpkg depends on:
ii  libbz2-1.0   1.0.6-4
ii  libc6        2.17-7
ii  liblzma5     5.1.1alpha+20120614-2
ii  libselinux1  2.1.13-2
ii  tar          1.26+dfsg-6
ii  zlib1g       1:1.2.8.dfsg-1

dpkg recommends no packages.

Versions of packages dpkg suggests:
ii  apt  0.9.8.2

-- no debconf information

-- debsums errors found:
debsums: missing file /usr/share/locale/de/LC_MESSAGES/dpkg.mo (from dpkg package)
debsums: missing file /usr/share/locale/pt/LC_MESSAGES/dpkg.mo (from dpkg package)
debsums: missing file /usr/share/locale/pt_BR/LC_MESSAGES/dpkg.mo (from dpkg package)
debsums: missing file /usr/share/man/de/man1/dpkg-deb.1.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man1/dpkg-maintscript-helper.1.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man1/dpkg-query.1.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man1/dpkg-split.1.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man1/dpkg-trigger.1.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man1/dpkg.1.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man5/dpkg.cfg.5.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man8/dpkg-divert.8.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man8/dpkg-statoverride.8.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man8/start-stop-daemon.8.gz (from dpkg package)
debsums: missing file /usr/share/man/de/man8/update-alternatives.8.gz (from dpkg package)



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Wed, 17 Jul 2013 08:15:04 GMT) (full text, mbox, link).


Acknowledgement sent to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Wed, 17 Jul 2013 08:15:04 GMT) (full text, mbox, link).


Message #95 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: Klaus Ita <koki.eml@gmail.com>, 703092@bugs.debian.org
Subject: Re: Bug#703092: dpkg: And please add 'dependency on dselect'
Date: Wed, 17 Jul 2013 10:12:17 +0200
Hi!

On Wed, 2013-07-17 at 09:03:41 +0200, Klaus Ita wrote:
> Package: dpkg
> Version: 1.16.10
> Followup-For: Bug #703092

> Only now i found out that you need `dselect` for this to work. A little
> mention of this might be cool in the man-file.

dselect is not the only option, see below.

> == snip
> 
>        To make a local copy of the package selection states:
>             dpkg --get-selections >myselections
> 
>        You might transfer this file to another computer, and install it  there
>        with:
> 	    apt-get install dselect      # these two lines are to get your 
> 	    dselect update               # dselect repository up-to-date
>             dpkg --clear-selections
>             dpkg --set-selections <myselections
> 
>        Note  that  this will not actually install or remove anything, but just
>        set the selection state on the requested packages. You will  need  some
>        other  application to actually download and install the requested pack‐
>        ages. For example, run apt-get dselect-upgrade.
> 
> 
>        Ordinarily, you will find that dselect(1) provides  a  more  convenient
>        way to modify the package selection states.
> 
> 
>        ^^ this i am not so sure of if it is correct, did not find anythin on this topic
> == snip

I did the following changes:

  <http://anonscm.debian.org/gitweb/?p=dpkg/dpkg.git;a=commitdiff;h=535325ba3d607cfe816ce7cf8d91d185ab87ca9b>

I also documented it on the dpkg FAQ:

  <https://wiki.debian.org/Teams/Dpkg/FAQ>

But I guess something along the lines above would make it more clear,
I'll try to improve the man page wording.

Thanks,
Guillem



Information stored :
Bug#703092; Package dpkg. (Thu, 18 Jul 2013 15:27:09 GMT) (full text, mbox, link).


Acknowledgement sent to Agustin Martin <agmartin@debian.org>:
Extra info received and filed, but not forwarded. (Thu, 18 Jul 2013 15:27:09 GMT) (full text, mbox, link).


Message #100 received at 703092-quiet@bugs.debian.org (full text, mbox, reply):

From: Agustin Martin <agmartin@debian.org>
To: 703092-quiet@bugs.debian.org
Subject: Re: Bug#703092: marked as pending
Date: Thu, 18 Jul 2013 17:26:12 +0200
On Sun, Jul 07, 2013 at 11:16:57PM +0000, Guillem Jover wrote:
> tag 703092 pending
> thanks
> 
> Hello,
> 
> Bug #703092 reported by you has been fixed in the Git repository. You can
> see the changelog below, and you can check the diff of the fix at:
> 
>     http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=535325b

Seems OK, thanks

-- 
Agustin



Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Sat, 27 Jul 2013 04:07:17 GMT) (full text, mbox, link).


Notification sent to Agustin Martin <agmartin@debian.org>:
Bug acknowledged by developer. (Sat, 27 Jul 2013 04:07:17 GMT) (full text, mbox, link).


Message #105 received at 703092-close@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: 703092-close@bugs.debian.org
Subject: Bug#703092: fixed in dpkg 1.17.0
Date: Sat, 27 Jul 2013 04:03:02 +0000
Source: dpkg
Source-Version: 1.17.0

We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 703092@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guillem Jover <guillem@debian.org> (supplier of updated dpkg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Fri, 26 Jul 2013 23:54:54 +0200
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source amd64 all
Version: 1.17.0
Distribution: unstable
Urgency: low
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
Changed-By: Guillem Jover <guillem@debian.org>
Description: 
 dpkg       - Debian package management system
 dpkg-dev   - Debian package development tools
 dselect    - Debian package management front-end
 libdpkg-dev - Debian package management static library
 libdpkg-perl - Dpkg perl modules
Closes: 162541 163763 284664 635117 657627 659814 676664 681371 681470 684196 685096 686782 689193 691449 691745 697297 698881 699807 700177 703092 704240 707323 708292 708375 708607 710265 711647 711936 712976 713020 715334 716948
Changes: 
 dpkg (1.17.0) unstable; urgency=low
 .
   [ Guillem Jover ]
   * Switch update-alternatives back to a fatal error on out of range priority
     on --install.
   * Document dpkg-deb --debug in --help output.
   * Bump Standards-Version to 3.9.4 (no changes needed).
   * Use the new canonical dpkg git Vcs URLs.
   * Remove ancient version from zlibg1-dev Build-Depends.
   * Add compression development packages to libdpkg-dev Depends.
   * Man pages cleanup:
     - Disable justification and hyphenation in SEE ALSO sections.
     - Remove unneeded double quotes in .SH headings.
     - Do not use “header” when “format” or “field” is meant.
     - Move dangers of installing via dpkg-deb from BUGS to a NOTES section.
     - Remove BUGS sections containing obvious or misplaced information.
     - Move BUGS sections before EXAMPLES and SEE ALSO sections.
     - Place ENVIRONMENT and FILES sections contiguously.
     - Move EXIT STATUS section before ENVIRONMENT.
     - Rename CAVEATS sections to NOTES.
     - Fold BACKWARD COMPATIBILITY section into other sections.
     - Document since when DEB_*_MULTIARCH variables are supported.
     - Move compiler flags subsection from ENVIRONMENT to NOTES.
     - Unify WARNING and ERROR sections into DIAGNOSTICS.
     - Unify command-line options into a single OPTIONS section.
     - Mark programs, variables, fields and command-line options in bold.
     - Fold dpkg-architecture(1) DEBIAN/RULES section into EXAMPLES.
     - Fix dpkg-architecture(1) debian/rules usage documentation.
     - Move dpkg-buildflags(1) HARDENING into a new FEATURE AREAS subsection.
     - Improve dpkg-buildflags(1) usage documentation.
       Thanks to Matthijs Kooijman <matthijs@stdin.nl>. Closes: #657627
     - Clarify that DPKG_MAINTSCRIPT_PACKAGE is not arch-qualified.
     - Add triggers to the list of binary control information files.
       Thanks to Charles Plessy <plessy@debian.org>.
   * Use colon instead of dot for user:group in dpkg debug output.
   * Remove support for obsolete DM-Upload-Allowed from Dpkg::Vendor::Debian.
   * Fix update-alternatives to use the current alternative link as the first
     best value, to avoid flip-flops of alternatives with equal priority.
     Closes: #699807
   * Fix clang warnings due to change of alignment requirements.
   * Change copyright file to point to GPL-2 instead of GPL.
   * Do not pass -e in shell script shebangs, set it in the body.
   * Add new dpkg-parsechangelog --show-field option to print a field value.
     Closes: #284664
   * Add new dpkg-buildpackage --force-sign option.
   * By default do not sign builds for UNRELEASED uploads on dpkg-buildpackage.
     Closes: #635117
   * Also check Build-Depends-Arch for minimal versions in dpkg-shlibdeps.
     Closes: #681470
   * Document dpkg-buildflags export mode usage in man page. Closes: #691449
     Thanks to Jonathan Nieder <jrnieder@gmail.com>.
   * Rename dpkg-buildflags configure exporter to cmdline, but preserve
     configure as a legacy alias.
   * Mask fortify hardening option from dpkg-buildflags output on noopt.
     New glibc 2.16 and later, issue a warning on this condition.
     Closes: #691745
   * Refer to path instead of file on dpkg-statoverride.
   * Always print a descriptive architecture column, even for empty or missing
     architectures on «dpkg-query --list».
   * Rework SELinux code on unpack to reload the label database if it has
     changed, for example while upgrading the SELinux policy package.
   * Execute maintainer scripts in a new execution context, based on the
     current one and the specific maintainer script filename, and if it's
     not different to the current one, use "dpkg_script_t" as a fallback.
   * Do not unnecessarily create a dpkg update log record on remove or purge.
   * Always reset want status when removing or purging a package; so this
     now resets holds among others. Closes: #163763
   * Always reset want status when installing a package; so this now resets
     holds among others. Closes: #162541
   * Defer cleanup of .dpkg-new and .dpkg-tmp paths on removal to the point
     when we are definitely removing the main path.
   * Activate file triggers on removal more accurately, only when we know
     we are inevitably removing things.
   * Change dir to / before executing maintainer scripts. Closes: #686782
   * Add new dpkg-deb --deb-format option and base --new and --old on it,
     as the latter are not future-proof, and neither can be guaranteed to
     produce a reliable output file format.
   * Drop archtable. It serves no purpose, it's Debian specific, it's
     usually outdated, and everyone should be using dpkg-architecture anyway.
   * Add musl-linux support to ostable and triplettable.
     Requested-by Kevin Bortis <wermut@gmail.com>.
   * Remove update-alternatives, dpkg-divert and dpkg-statoverride
     compatibility symlinks under /usr/sbin/.
   * Remove install-info wrapper.
   * Only ignore older packages if the existing version is informative. This
     allows any program using libdpkg to parse the available file to see again
     packages with versions lesser than 0-0 (like 0~0-0). Closes: #676664
   * Fix Dpkg::Control::Hash set_options() to take a hash as argument instead
     of two scalars.
   * Add a new Dpkg::Vendor get_vendor_dir() function.
   * Print correct path to vendor directory on error message in dpkg-vendor.
   * Do not hardcode the dpkg system configuration directory in perl scripts,
     respect build time setting.
   * Deprecate Dpkg lowercase and exported by default variables, replaced by
     new unified uppercase non-exported by default ones.
   * Do not set -fstack-protector in the default build flags on arm64 (it's
     not yet supported). Thanks to Matthias Klose <doko@ubuntu.com>.
     Closes: #711936
   * Add GCJFLAGS support to dpkg-buildflags. Closes: #708375
   * Clarify that dpkg --set-selections needs an up-to-date available db,
     by documenting it on the dpkg(1) man page, and warning whenever dpkg
     finds unknown packages while setting the selections. Closes: #703092
   * Print nicer error messages in perl scripts using Getopt::Long by trapping
     $SIG{__WARN__} to call usageerr() on option parse errors.
   * Move the exit call out from usage() in dpkg-scansources so that usageerr()
     gives a correct exit code. Thanks to Bernhard R. Link <brlink@debian.org>.
   * Print correct error message on unknown dpkg-name options before --.
   * Require at least one filename on dpkg-name after --.
   * Switch program usage errors to not print entire --help output.
     Closes: #681371
   * Document that «dpkg-parsechangelog -l-» can be used to read from stdin.
   * Support parsing compressed changelog files transparently. Closes: #684196
   * Sort files inside new diffs generated by dpkg-source lexicographically.
     Closes: #689193
   * Add support for a build_arch option in Dpkg::Deps deps_parse().
     Thanks to Colin Watson <cjwatson@ubuntu.com>. Closes: #697297
   * Move epoch-less or revision-less output logic to Dpkg::Version.
     Based on a patch by Bernhard R. Link <brlink@debian.org>.
   * Catch mismatches between version strings and format versions in
     dpkg-source. Ensure that a 3.0 (quilt) package has a non-native version
     and that a 3.0 (native) package has a native version. Closes: #700177
     Thanks to Bernhard R. Link <brlink@debian.org>.
   * Add support for mipsn32(el) and mips64(el) to arch tables.
     Thanks to YunQiang Su <wzssyqa@gmail.com>. Closes: #685096, #707323
   * Document --file and --label parser options in dpkg-parsechangelog(1).
   * Add a new configure --with-dpkg-deb-compressor option to allow selecting
     the default dpkg-deb compressor, mainly for downstreams.
   * Switch dpkg-deb default compressor from gzip to xz. Build dpkg.deb using
     gzip to make debootstrap life easier on non-Debian based systems.
   * Add support for gzip compression strategies to dpkg-deb. The new
     strategies are: filtered, huffman, rle and fixed.
   * Change dpkg and dpkg-deb help output to recommend apt instead of dselect
     as a user-friendly frontend.
   * Remove temporary file on error during «dpkg-divert --rename».
   * Fix value caching in Dpkg::Arch by not shadowing the variables.
   * Fix chmod() arguments order in Dpkg::Source::Quilt. Closes: #710265
     Thanks to Pablo Oliveira <pablo@sifflez.org>.
   * Add new dpkg-shlibdeps -l option to add private shared library directories.
     This should be used instead of abusing LD_LIBRARY_PATH to pass the paths,
     which might be problematic when cross-compiling. Closes: #698881
   * Only apply empy line and comma cleanups when doing substvar replacements
     on fields where those are relevant. Closes: #659814
   * Do not scan control files twice for PGP signature presence.
 .
   [ Raphaël Hertzog ]
   * Fix dpkg-maintscript-helper rm_conffile and mv_conffile to do nothing
     when the conffile is no longer owned by the current (or named) package.
     Thanks to Steve Langasek for the patch. Closes: #716948
   * Improve dpkg-maintscript-helper behaviour in “Multi-Arch: same” packages
     by arch-qualifying package names read from the environment. Also add
     a warning about this potential problem in the manual page.
   * Fix usage of non-existent _() function in multiple places of the Perl
     code. Thanks to Lincoln Myers <lincoln@netapp.com> for the patch.
     Closes: #708607
 .
   [ Updated programs translations ]
   * Fix typo in Spanish translation of update-alternatives.
     Thanks to Javier Fernandez-Sanguino <jfs@debian.org>. Closes: #713020
 .
   [ Updated programs translations ]
   * Vietnamese (Trần Ngọc Quân). Closes: #715334
 .
   [ Added man page translations ]
   * Italian (Beatrice Torracca). Closes: #711647
 .
   [ Updated man page translations ]
   * Fix wrong translation of "fortify" in French dpkg-buildflags(1) man page.
     Thanks to Christian Perrier <bubulle@debian.org>. Closes: #712976
   * Fix typo in dpkg-source(1) man page French translation.
     Thanks to Cédric Boutillier <boutil@debian.org>. Closes: #708292
   * Japanese (TAKAHASHI Motonobu). Closes: #704240
Checksums-Sha1: 
 7d0a5389a4f986c0e5ae9cebc706d240e3780282 1365 dpkg_1.17.0.dsc
 1eefd9ba1ec7d61697faf82586ecf153b928724f 3783600 dpkg_1.17.0.tar.xz
 7b1b6154ebefd8e7175cb2f3f0bfa9625cc60292 729842 libdpkg-dev_1.17.0_amd64.deb
 44b07a9828968b3d40178a995f2f7e83e6b86630 2624194 dpkg_1.17.0_amd64.deb
 24350e9fc261b9d9fbb49b5f9fc823d6e3f416bd 1194456 dselect_1.17.0_amd64.deb
 f7e55eddd462115c403964ea96d1438093951492 1346654 dpkg-dev_1.17.0_all.deb
 44315dc84dfa31cc9a7a4c3d6240f6059f212690 984038 libdpkg-perl_1.17.0_all.deb
Checksums-Sha256: 
 67c73b04b16a2a067b6f58f463161009b9868392734bac3434d08d8248996a0f 1365 dpkg_1.17.0.dsc
 a424cae7e94c98c3f700dc40eea6bc66ab7a14183c7d6efd2992de8261701352 3783600 dpkg_1.17.0.tar.xz
 de410be6e39b77dc5b381572794412b68b9f0c1076c4c9d60b3da089ddb520af 729842 libdpkg-dev_1.17.0_amd64.deb
 d0f218a17592bf51090c9eb7209047a86170d6c8089fc9c8b685149196764bfe 2624194 dpkg_1.17.0_amd64.deb
 4d86af7e10edd35ac8232801f42293bebbf68576319b4e827de4c30ba48db9df 1194456 dselect_1.17.0_amd64.deb
 f81da86ecd9728fb52ad6452b5b121411fba2188a486338d0b51ceeb6e9b8bde 1346654 dpkg-dev_1.17.0_all.deb
 e3f3b0773b0d1cfbc68a73603ffce6f7a3fc71ca22c3e78a5aea6dfac78264aa 984038 libdpkg-perl_1.17.0_all.deb
Files: 
 9fba33b2f2fe8e4af1585bff1e5bf02c 1365 admin required dpkg_1.17.0.dsc
 7a2a1a1b82a44154a7b6791ccbec03cf 3783600 admin required dpkg_1.17.0.tar.xz
 bee0aabc337738db567c23af184ee235 729842 libdevel optional libdpkg-dev_1.17.0_amd64.deb
 6c79ea18925f5c8ec8f1d871250f2866 2624194 admin required dpkg_1.17.0_amd64.deb
 34b0f0ace57e4583f38dd271f9b3bf2f 1194456 admin optional dselect_1.17.0_amd64.deb
 1bbc56aab4c34600de3b1096c3a3a1ab 1346654 utils optional dpkg-dev_1.17.0_all.deb
 76980aced39400a69192a67247ce10fe 984038 perl optional libdpkg-perl_1.17.0_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAlHzPBQACgkQuW9ciZ2SjJul9ACfWjrT9o9dyZAn71cwuK/bd1rp
wv8AnAhTjjV1EGX7v3dGkROgyG7Ws47m
=vJ2Z
-----END PGP SIGNATURE-----




Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Sun, 20 Oct 2013 12:15:04 GMT) (full text, mbox, link).


Acknowledgement sent to Brad Barnett <bahb@l8r.net>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sun, 20 Oct 2013 12:15:05 GMT) (full text, mbox, link).


Message #110 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Brad Barnett <bahb@l8r.net>
To: 703092@bugs.debian.org
Cc: owner@bugs.debian.org
Subject: Re: Bug#703092: Info received (Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg)
Date: Sun, 20 Oct 2013 08:07:15 -0400
I view this bug as very high priority.  I see more than a decade of
documentation out there, and of user experience familiar with a process.

A process that changed for code correctness, and for absolutely no other
reason.

A process than in changing, broke the existing process.

And when the process that breaks the existing method is used, the user
wonders 'huh?!'.. and consults the man page.  The doc dirs. And they see
that what they did should be correct... and wonder 'What did I do wrong,
I followed the docs?'

A user that will spend countless hours trying to figure out what went
wrong -- often without a network connection.

A process that is essential, and used by a massive number of users, on a
massive number of machines.

Yet, when I install 7.2.0 -- the man page still reflects nothing of this
severe, crippling, massive change in methodology to get --set-selections
to work.

And when I install 7.2.0, I see far more minor things being corrected.

I guess the friendliest way to put this, is that it saddens me.

And what I must add?  Is that whatever reason or logic was employed in a
decision to not update for 7.2.0?  That reason or logic was WRONG.  That
thought process was WRONG.

And, Debian needs to get its act together, because minor documentation
changes for major problems should always, always make it into point
releases.






Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#703092; Package dpkg. (Sun, 20 Oct 2013 12:24:04 GMT) (full text, mbox, link).


Acknowledgement sent to Norbert Preining <preining@logic.at>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sun, 20 Oct 2013 12:24:04 GMT) (full text, mbox, link).


Message #115 received at 703092@bugs.debian.org (full text, mbox, reply):

From: Norbert Preining <preining@logic.at>
To: Brad Barnett <bahb@l8r.net>, 703092@bugs.debian.org
Subject: Re: Bug#703092: Info received (Bug#703092: dpkg --set-selections ignores available packages never installed or removed by dpkg)
Date: Sun, 20 Oct 2013 21:20:38 +0900
On So, 20 Okt 2013, Brad Barnett wrote:
> I view this bug as very high priority.  I see more than a decade of
> documentation out there, and of user experience familiar with a process.
> 
> A process that changed for code correctness, and for absolutely no other
> reason.
> 
> A process than in changing, broke the existing process.
> 
> And when the process that breaks the existing method is used, the user
> wonders 'huh?!'.. and consults the man page.  The doc dirs. And they see
> that what they did should be correct... and wonder 'What did I do wrong,
> I followed the docs?'

Nothing to add but - I agree.

> A user that will spend countless hours trying to figure out what went
> wrong -- often without a network connection.

I was exactely in this situation.

Whatever apt maintainers believe is the right thing, breaking
tons of documentation of many years is plain wrong.

ANyway, wasn't it Debian that said something
	"For the users" and "priority"
I guess that meant
	Our priority is to break it for the users.

Norbert

------------------------------------------------------------------------
PREINING, Norbert                               http://www.preining.info
JAIST, Japan                                 TeX Live & Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
------------------------------------------------------------------------



Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Fri, 03 Jan 2014 07:32:21 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sat Apr 6 11:15:28 2024; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.