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

dpkg --getselections, apt, and update-menus



Lately I've been using console-apt for installations, but I tend to run
dselect, just to see what packages are new. As such, everytime I ran it,
a couple of package selections changed due to upgrades, depencencies,
etc. I didn't care about it, as I don't use dselect anymore. I found it
rather odd that many things were no longer on my system's menu system.
That's when I studied how update-menu's generates the menu. I noticed it
used dpkg --get-selections, which I ran myself, and noticed the hundreds
of "deinstall" selections, and realised what the fault was.

I just went through dselect and selected everything that was installed,
that fixed up my system. A couple of ways I could have avoided this:

 - Is there some other easy way to see what packages are new? I would
prefer to not use dselect at all, but this is something I really like. I
thought of making this a wishlist bug for console-apt, but I don't think
it will "fit in" well with the current (simple/unbloated/fast) design of
capt (I like capt being as fast as possible, for use on old computers,
so maybe `list-new-packages` should be a seperate program). One needs a
backup of the previous package lists to do this. I think dselect did
this with /var/lib/dpkg/available[-old], does using only apt/capt update
these files, or possibly not the -old one? 
 - Maybe update-menus should rather look at what is currently installed,
rather than what the selections for the next "install/remove" operation
will be. It does seem to make more sense to me.
 - This is maybe the best/most useful solution at this point: some easy
way to sync the selections with what is currently installed? i.e. "undo"
all selections. How can one do this?

I admit to not have researched this properly: I haven't checked mailing
lists for previous discussions, and haven't checked the BTS, so I
apologize if this has already been discussed.

Thanks,
Hugo van der Merwe



Reply to: