Your message dated Tue, 22 May 2012 14:19:12 +0200
with message-id
<CAAZ6_fDeDcwxajvGujDeHtTZfV0SsbZ4=3m4vz_rjyi14cq...@mail.gmail.com>
and subject line Re: Bug#673908: apt: Recommended May Take Precedence over
Installed
has caused the Debian Bug report #673908,
regarding apt: Recommended May Take Precedence over Installed
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
673908: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673908
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: apt
Version: 0.9.3
Severity: normal
Dear Maintainers,
It seems that the "install-recommended" option will treat recommended exactly
like "depends". However in some cases this is not the desired behavior. For
example, you would not want a recommended package's installation to force
the uninstall of an already-installed package.
I have installed a metapackage called snl-workstation which conflicts with
nvidia-kernel-common. When I install or upgrade the package libcuda1, it
recommends nvidia-kernel-295.49 which ultimately depends on
nvidia-kernel-common.
`apt-get install snl-workstation libcuda1` has the correct outcome:
snl-workstation is installed and libcuda1's incompatible recommends are
ignored.
However `apt-get install snl-workstation; apt-get install libcuda1` will remove
snl-workstation in order to install nvidia-kernel-common because libcuda1's
recommends are treated as depends.
I think this is a bug. A recommend should never be installed if it conflicts
with a currently installed package.
A workaround is `apt-get install --no-install-recommends libcuda1`, but
this is not ideal. I still want recommends installed, just not conflicting
recommends.
Thanks,
Chris
-- Package-specific info:
-- apt-config dump --
APT "";
APT::Architecture "amd64";
APT::Build-Essential "";
APT::Build-Essential:: "build-essential";
APT::Install-Recommends "1";
APT::Install-Suggests "0";
APT::Authentication "";
APT::Authentication::TrustCDROM "true";
APT::NeverAutoRemove "";
APT::NeverAutoRemove:: "^firmware-linux.*";
APT::NeverAutoRemove:: "^linux-firmware$";
APT::NeverAutoRemove:: "^linux-image.*";
APT::NeverAutoRemove:: "^kfreebsd-image.*";
APT::NeverAutoRemove:: "^linux-restricted-modules.*";
APT::NeverAutoRemove:: "^linux-ubuntu-modules-.*";
APT::NeverAutoRemove:: "^gnumach$";
APT::NeverAutoRemove:: "^gnumach-image.*";
APT::Never-MarkAuto-Sections "";
APT::Never-MarkAuto-Sections:: "metapackages";
APT::Never-MarkAuto-Sections:: "restricted/metapackages";
APT::Never-MarkAuto-Sections:: "universe/metapackages";
APT::Never-MarkAuto-Sections:: "multiverse/metapackages";
APT::Never-MarkAuto-Sections:: "oldlibs";
APT::Never-MarkAuto-Sections:: "restricted/oldlibs";
APT::Never-MarkAuto-Sections:: "universe/oldlibs";
APT::Never-MarkAuto-Sections:: "multiverse/oldlibs";
APT::Periodic "";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Update "";
APT::Update::Post-Invoke "";
APT::Update::Post-Invoke:: "touch /var/lib/apt/periodic/update-success-stamp
2>/dev/null || true";
APT::Update::Post-Invoke-Success "";
APT::Update::Post-Invoke-Success:: "[ ! -f /var/run/dbus/system_bus_socket ] ||
/usr/bin/dbus-send --system --dest=org.debian.apt --type=signal /org/debian/apt
org.debian.apt.CacheChanged || true";
APT::Update::Post-Invoke-Success:: "/usr/bin/test -e
/usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service &&
/usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call
--system --dest org.freedesktop.PackageKit --object-path
/org/freedesktop/PackageKit --timeout 1 --method
org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo
> /dev/null";
APT::Archives "";
APT::Archives::MaxAge "30";
APT::Archives::MinAge "2";
APT::Archives::MaxSize "500";
APT::Architectures "";
APT::Architectures:: "amd64";
APT::Architectures:: "i386";
APT::Compressor "";
APT::Compressor::. "";
APT::Compressor::.::Name ".";
APT::Compressor::.::Extension "";
APT::Compressor::.::Binary "";
APT::Compressor::.::Cost "1";
APT::Compressor::gzip "";
APT::Compressor::gzip::Name "gzip";
APT::Compressor::gzip::Extension ".gz";
APT::Compressor::gzip::Binary "gzip";
APT::Compressor::gzip::Cost "2";
APT::Compressor::gzip::CompressArg "";
APT::Compressor::gzip::CompressArg:: "-9n";
APT::Compressor::gzip::UncompressArg "";
APT::Compressor::gzip::UncompressArg:: "-d";
APT::Compressor::bzip2 "";
APT::Compressor::bzip2::Name "bzip2";
APT::Compressor::bzip2::Extension ".bz2";
APT::Compressor::bzip2::Binary "bzip2";
APT::Compressor::bzip2::Cost "3";
APT::Compressor::bzip2::CompressArg "";
APT::Compressor::bzip2::CompressArg:: "-9";
APT::Compressor::bzip2::UncompressArg "";
APT::Compressor::bzip2::UncompressArg:: "-d";
APT::Compressor::xz "";
APT::Compressor::xz::Name "xz";
APT::Compressor::xz::Extension ".xz";
APT::Compressor::xz::Binary "xz";
APT::Compressor::xz::Cost "4";
APT::Compressor::xz::CompressArg "";
APT::Compressor::xz::CompressArg:: "-6";
APT::Compressor::xz::UncompressArg "";
APT::Compressor::xz::UncompressArg:: "-d";
APT::Compressor::lzma "";
APT::Compressor::lzma::Name "lzma";
APT::Compressor::lzma::Extension ".lzma";
APT::Compressor::lzma::Binary "xz";
APT::Compressor::lzma::Cost "5";
APT::Compressor::lzma::CompressArg "";
APT::Compressor::lzma::CompressArg:: "--format=lzma";
APT::Compressor::lzma::CompressArg:: "-9";
APT::Compressor::lzma::UncompressArg "";
APT::Compressor::lzma::UncompressArg:: "--format=lzma";
APT::Compressor::lzma::UncompressArg:: "-d";
APT::Compressor::::Name "";
APT::Compressor::::Extension ".";
APT::Compressor::::Binary "";
APT::Compressor::::Cost "100";
APT::Compressor::::CompressArg "";
APT::Compressor::::CompressArg:: "-9";
APT::Compressor::::UncompressArg "";
APT::Compressor::::UncompressArg:: "-d";
Dir "/";
Dir::State "var/lib/apt/";
Dir::State::lists "lists/";
Dir::State::cdroms "cdroms.list";
Dir::State::mirrors "mirrors/";
Dir::State::extended_states "extended_states";
Dir::State::status "/var/lib/dpkg/status";
Dir::Cache "var/cache/apt/";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";
Dir::Etc "etc/apt/";
Dir::Etc::sourcelist "sources.list";
Dir::Etc::sourceparts "sources.list.d";
Dir::Etc::vendorlist "vendors.list";
Dir::Etc::vendorparts "vendors.list.d";
Dir::Etc::main "apt.conf";
Dir::Etc::netrc "auth.conf";
Dir::Etc::parts "apt.conf.d";
Dir::Etc::preferences "preferences";
Dir::Etc::preferencesparts "preferences.d";
Dir::Etc::trusted "trusted.gpg";
Dir::Etc::trustedparts "trusted.gpg.d";
Dir::Bin "";
Dir::Bin::methods "/usr/lib/apt/methods";
Dir::Bin::solvers "";
Dir::Bin::solvers:: "/usr/lib/apt/solvers";
Dir::Bin::dpkg "/usr/bin/dpkg";
Dir::Bin::bzip2 "/bin/bzip2";
Dir::Bin::xz "/usr/bin/xz";
Dir::Media "";
Dir::Media::MountPath "/media/apt";
Dir::Log "var/log/apt";
Dir::Log::Terminal "term.log";
Dir::Log::History "history.log";
Dir::Ignore-Files-Silently "";
Dir::Ignore-Files-Silently:: "~$";
Dir::Ignore-Files-Silently:: "\.disabled$";
Dir::Ignore-Files-Silently:: "\.bak$";
Dir::Ignore-Files-Silently:: "\.dpkg-[a-z]+$";
Dir::Ignore-Files-Silently:: "\.save$";
Dir::Ignore-Files-Silently:: "\.orig$";
Acquire "";
Acquire::cdrom "";
Acquire::cdrom::mount "/media/cdrom/";
Acquire::Languages "";
Acquire::Languages:: "en";
Acquire::Languages:: "none";
DPkg "";
DPkg::Pre-Install-Pkgs "";
DPkg::Pre-Install-Pkgs:: "/usr/bin/apt-listchanges --apt || test $? -ne 10";
DPkg::Pre-Install-Pkgs:: "/usr/sbin/dpkg-preconfigure --apt || true";
DPkg::Tools "";
DPkg::Tools::Options "";
DPkg::Tools::Options::/usr/bin/apt-listchanges "";
DPkg::Tools::Options::/usr/bin/apt-listchanges::Version "2";
DPkg::Post-Invoke "";
DPkg::Post-Invoke:: "/usr/bin/test -e
/usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service &&
/usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call
--system --dest org.freedesktop.PackageKit --object-path
/org/freedesktop/PackageKit --timeout 1 --method
org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo
> /dev/null";
DPkg::Post-Invoke:: "if [ -x /usr/bin/debsums ]; then /usr/bin/debsums
--generate=nocheck -sp /var/cache/apt/archives; fi";
DPkg::Post-Invoke:: "test -f /var/run/med-config.usermenu && if [ -x
/usr/sbin/blend-update-usermenus ] ; then /usr/sbin/blend-update-usermenus med
; fi ; rm -f /var/run/med-config.usermenu";
DPkg::Post-Invoke:: "test -f /var/run/science-config.usermenu && if [ -x
/usr/sbin/blend-update-usermenus ] ; then /usr/sbin/blend-update-usermenus
science ; fi ; rm -f /var/run/science-config.usermenu";
DPkg::Post-Invoke:: "if [ -d /var/lib/update-notifier ]; then touch
/var/lib/update-notifier/dpkg-run-stamp; fi; if [ -e
/var/lib/update-notifier/updates-available ]; then echo >
/var/lib/update-notifier/updates-available; fi ";
Unattended-Upgrade "";
Unattended-Upgrade::Origins-Pattern "";
Unattended-Upgrade::Origins-Pattern::
"origin=Debian,archive=stable,label=Debian-Security";
CommandLine "";
CommandLine::AsString "apt-config dump";
-- /etc/apt/preferences --
Explanation: see http://www.argon.org/~roderick/apt-pinning.html
Explanation: and read `man apt_preferences`
Explanation: also useful:
http://www.debian.org/doc/manuals/reference/ch02.en.html (Debian Package
Management)
Explanation: Top 2 Entries Track Debian Stable
Package: *
Pin: release o=SNL
Pin-Priority: 902
Package: *
Pin: release o=Debian,n=wheezy
Pin-Priority: 900
Package: *
Pin: release o=Debian,n=wheezy-updates
Pin-Priority: 900
Package: *
Pin: release n=wheezy-backports
Pin-Priority: 500
Package: *
Pin: release n=wheezy-proposed-updates
Pin-Priority: 350
Explanation: Automatically upgrade to "experimental" version of mozilla
iceweasel
Package: iceweasel
Pin: release a=experimental
Pin-Priority: 900
Package: xulrunner-*
Pin: release a=experimental
Pin-Priority: 900
Package: libmozjs*
Pin: release a=experimental
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 900
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 300
Package: *
Pin: release o=Debian
Pin-Priority: -1
-- (/etc/apt/sources.list present, but not submitted) --
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (900, 'testing'), (350, 'testing-proposed-updates')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-2-amd64 (SMP w/12 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages apt depends on:
ii debian-archive-keyring 2012.1
ii gnupg 1.4.12-4
ii libapt-pkg4.12 0.9.3
ii libc6 2.13-32
ii libgcc1 1:4.7.0-8
ii libstdc++6 4.7.0-8
apt recommends no packages.
Versions of packages apt suggests:
ii apt-doc 0.9.3
ii aptitude 0.6.7-1
ii dpkg-dev 1.16.3
ii python-apt 0.8.4
ii synaptic 0.75.10
ii xz-utils 5.1.1alpha+20110809-3
-- no debconf information
--- End Message ---
--- Begin Message ---
On Tue, May 22, 2012 at 2:39 AM, Chris Hiestand <[email protected]> wrote:
> However `apt-get install snl-workstation; apt-get install libcuda1` will
> remove
> snl-workstation in order to install nvidia-kernel-common because libcuda1's
> recommends are treated as depends.
>
> I think this is a bug. A recommend should never be installed if it conflicts
> with a currently installed package.
This is not a bug. The debian-policy says:
"The Recommends field should list packages that would be found together
with this one in all but unusual installations."
Ignoring a recommends therefore means your system becomes unusual -
something a user should decide for itself and not the package manager
in it's default behavior. Hence the need for tweaking the result.
Beside, the situation is a tat more complex than you described:
libcuda1 -> recommends: nvidia-kernel-295.49 ->
provided by: nvidia-kernel-dkms -> depends: nvidia-kernel-common
I don't know what your snl-workstation includes or for what do you need
libcuda1, but i guess snl-workstation includes an nvidia kernel module
or at least a way to build it.
If so, feel free to provide nvidia-kernel-295.49 in snl-workstation and
your problem is solved - in a clean and nice way for all sorts of
dependencies on nvidia-kernel-295.49 …
Best regards
David Kalnischkies
--- End Message ---