[Bug 874409] Re: apt-get -q flag fails to squelch status -qq hides everything
David Kalnischkies
874409 at bugs.launchpad.net
Sat Oct 15 09:21:55 UTC 2011
Changing the meaning of -qq might have worked thirteen or maybe even
teen years ago, now everything (and your dog) depends on that behavior,
so you will make a lot of people and scripts very angry for literally no
reason. As i already said, the complete description of -q is "produces
output suitable for logging, omitting progress indicators." It doesn't
say no progress is visible, it just says that it is possible to log this
output and that "indicators" are omitted. It can't get much clearer than
that. At least i don't see how, do you have a recommendation for a
better wording?
And -qq actually answers your question:
apt-get whatever -qq
will tell you if the request was successful or not and if not it will tell you also why -- no output is a good thing for commandline applications. If you want output add something like
&& echo "successful" || echo "failed"
to your request. That's also why i said that "already installed" is not an error, as if it would be an error you would get a "failed" here even through the request is satisfied and therefore successful.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/874409
Title:
apt-get -q flag fails to squelch status -qq hides everything
Status in “apt” package in Ubuntu:
Invalid
Bug description:
According to the docs, apt-get install -q foo should install the
package foo, while suppressing progress messages. It does not. Quiet
level 2 (-qq or -q=2) will suppress those messages, but also
suppresses errors/summary. There is no middle ground.
Example:
$ sudo apt-get install -q=1 mysql-server
Reading package lists...
Building dependency tree...
Reading state information...
mysql-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt-get install -q=2 mysql-server
$
The second example is probably correct output, but the first should
suppress "Reading package lists..." type output as they are, as
defined in the man page, "progress indicators". Certainly -q should
output "mysql-server is already the newest version" which amounts to
an error message. It's arguable if the summary "0 upgraded, 0 newly
installed, 0 to remove and 0 not upgraded" should be included or not.
Either way, the docs are pretty clear that the progress messages don't
belong there at all.
Another approach would be to add a -q=3 which does what -q=2 does now,
and make -q=2 suppress the progress indicators, but then what exactly
is -q=1 doing? There must be some output that it does suppress, but
I'm not able to tell what it is.
ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: apt 0.8.13.2ubuntu4.2
ProcVersionSignature: Ubuntu 2.6.38-11.50-generic 2.6.38.8
Uname: Linux 2.6.38-11-generic x86_64
Architecture: amd64
Date: Fri Oct 14 12:13:20 2011
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release amd64 (20110427.1)
ProcEnviron:
LANGUAGE=en_US:en
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: apt
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/874409/+subscriptions
More information about the foundations-bugs
mailing list