Comment 8 for bug 1399037

Revision history for this message
David Kalnischkies (donkult) wrote :

That's a fun one… You see, back in 2013 I remodeled the commandline parsing. The point was that an option (like -s) is only accepted if the command (e.g. dselect-upgrade) supports this option. Previously e.g. apt-get would accept any option even if it only has an effect for certain commands. Very dangerous as that made user believe they would actually have an effect…

Now, what happen back then is that I typoed "dselect" as "deselect", which made it not accept any option… Well, I was never using it, many others neither, so that went unnoticed for months, until someone reported that and (still in 2013) we fixed that. Over the years other similar things appeared (usually forgotten options or options which really had no effect) like the one mentioned here with apt-offline. Anyway, all nice and good right?

Well, expect that while the commit message back then indicates that Michael replaced ALL instances of 'deselect', he just fixed one instance. Another one was still in there, guarding some options: (drumroll) -s and friends. Quite telling how unused dselect is nowadays that this could hide itself for another (nearly) two years…

Will be fixed "soon" (= fixed in my branch, but that is unlikely to hit any release soon). Until then you can use -o APT::Get::Simulate=1 instead of -s (or the others like --dry-run). Or, well, don't simulate. ;)

Oh, and feel free to give me a compelling example of how to use it for good. Its totally underrepresented in our testcases, so if you want to prevent breakage of your usecase in the future…