virtual-package-depends-without-real-package-depends?
The Answer
(I puting so information for google SEO to help more people understand this problem)
What is happen when virtual package depends/recommeds/suggest without real package depends/recommeds/suggest?
Then what should is real installed ?
For example:
Code: Select all
root@debian:/# cat /etc/os-release |grep ^PRETTY_NAME
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
root@debian:/# aptitude --disable-columns show lxpanel
Package: lxpanel
Version: 0.9.3-1
State: not installed
Priority: optional
Section: x11
Maintainer: Debian LXDE Maintainers <pkg-lxde-maintainers@lists.alioth.debian.org>
Architecture: i386
Uncompressed Size: 753 k
Depends: libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.7), libcairo2 (>= 1.2.4), libfm-gtk4 (>= 1.2.0), libfm4 (>= 1.2.0), libfontconfig1 (>= 2.11), libfreetype6
(>= 2.2.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.41.1), libgtk2.0-0 (>= 2.24.0), libiw30 (>= 30~pre1), libkeybinder0 (>= 0.3.0), libmenu-cache3 (>= 0.5.0),
libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0), libwnck22 (>= 2.30.7), libx11-6, libxml2 (>= 2.7.4), lxmenu-data, lxpanel-data
(= 0.9.3-1), libfm-modules
Recommends: xkb-data, x-terminal-emulator, pavucontrol | gnome-alsamixer
Suggests: menu, firefox-esr | firefox | www-browser
Description: LXDE panel
LXPanel is a GUI application for the Lightweight X11 Desktop Environment (LXDE).
It is derived from fbpanel and includes the following features:
* User-friendly application menu automatically generated from .desktop files on the system
* Launcher bar (small icons clicked to launch apps)
* Task bar supporting ICCCM/EWMH `urgency' hint (Pidgin IM windows can flash on new incoming messages)
* Run dialog (type a command to run, without opening a terminal)
* Net status icon plug-in (optional).
* Volume control plug-in (optional).
* Notification area (system tray).
* Digital clock.
* Keyboard LEDs plug-in (display caps/num locks).
* lxpanelctl: control lxpanel from other programs. For example, "lxpanelctl run" will show the Run dialog in lxpanel, and "lxpanelctl menu" will show the application menu. This
is useful in combination with window manager key bindings.
Homepage: http://www.lxde.org/
Tags: hardware::input:mouse, interface::graphical, interface::x11, role::program, scope::utility, suite::TODO, uitoolkit::gtk, use::TODO, works-with::software:package,
works-with::software:running, x11::applet, x11::application
root@debian:/#
About jessie mistake the "manual" mark:
I'm not sure,but seem a Bug on jessie base system(I can't sure which specific package have bug) is not on "package control file" bug,because if I modify sources.list to stretch this problem still existing.
My sources.list modify process:
Code: Select all
root@debian:/# cat /etc/os-release |grep ^PRETTY_NAME
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
root@debian:/# cat /etc/apt/sources.list
deb http://ftp.cn.debian.org/debian stretch main
root@debian:/# apt-get update >&-
root@debian:/#
For example on jessie:
https://packages.debian.org/jessie/lxde-core
Code: Select all
apt-get --no-install-recommends install lxde-core
Code: Select all
root@debian:/# apt-mark showmanual |grep 'lxpanel'
lxpanel
root@debian:/# apt-mark showauto |grep 'openbox'
openbox
root@debian:/#
Seem not all directly depends is marked as manual ,such as 'openbox' still marked as "auto"
--below-is-old-contents--
Why isn't lxterminal installed when installing lxde-core?
Following environment is installed by debootstrap and used by chroot
I expect lxerminal will installed because lxde-core first recommend lxterminal ,but why is "termit" will installed?
What I did and encountered:
Code: Select all
root@debian:~/debian_stretch# debootstrap stretch ./ http://ftp.cn.debian.org/debian/ >/dev/null
root@debian:~/debian_stretch# mount --bind /sys ./sys
root@debian:~/debian_stretch# mount --bind /proc ./proc
root@debian:~/debian_stretch# chroot ./
root@debian:/# apt update >/dev/null 2>&1
root@debian:/# echo Y |apt upgrade >/dev/null 2>&1
root@debian:/# echo n |apt install lxde-core 2>&1| grep -o termit
termit
termit
root@debian:/# echo n |apt install lxde-core 2>&1| grep -o lxterminal
root@debian:/# echo n |apt-get install lxde-core 2>&1| grep -o termit
termit
termit
root@debian:/# echo n |apt-get install lxde-core 2>&1| grep -o lxterminal
root@debian:/# apt-cache policy termit
termit:
Installed: (none)
Candidate: 3.0-1+b1
Version table:
3.0-1+b1 500
500 http://ftp.cn.debian.org/debian stretch/main i386 Packages
root@debian:/# apt-cache policy lxterminal
lxterminal:
Installed: (none)
Candidate: 0.3.0-2
Version table:
0.3.0-2 500
500 http://ftp.cn.debian.org/debian stretch/main i386 Packages
root@debian:/#
Code: Select all
root@debian:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@debian:/# echo n | aptitude --disable-columns --prompt --with-recommends install lxde-core |grep lxterminal
Warning: Invalid locale (please review locale settings, this might lead to problems later):
locale::facet::_S_create_c_locale name not valid
root@debian:/# echo n | apt install lxde-core |grep lxterminal
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
root@debian:/# echo n | apt-get install lxde-core |grep lxterminal
root@debian:/# aptitude --disable-columns search '~Px-terminal-emulator'|grep ^i
Warning: Invalid locale (please review locale settings, this might lead to problems later):
locale::facet::_S_create_c_locale name not valid
root@debian:/# aptitude why-not lxterminal
Warning: Invalid locale (please review locale settings, this might lead to problems later):
locale::facet::_S_create_c_locale name not valid
Not currently installed
The candidate version 0.3.0-1 has priority optional
No dependencies require to remove lxterminal
root@debian:/#
Why so on jessie ?
Code: Select all
root@debian:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@debian:/# echo n | aptitude --disable-columns --prompt --with-recommends install lxde-core |grep lxterminal
lxterminal mime-support{a} miscfiles{a} ntfs-3g{a} obconf{a} openbox{a}
root@debian:/# echo n | apt install lxde-core |grep lxterminal
WARNING: apt does not have a stable CLI interface yet. Use with caution in scripts.
lxpanel-data lxsession lxtask lxterminal mime-support miscfiles ntfs-3g
lxpanel lxpanel-data lxsession lxtask lxterminal mime-support miscfiles
root@debian:/# echo n | apt-get install lxde-core |grep lxterminal
lxpanel-data lxsession lxtask lxterminal mime-support miscfiles ntfs-3g
lxpanel lxpanel-data lxsession lxtask lxterminal mime-support miscfiles
root@debian:/# aptitude --disable-columns search '~Px-terminal-emulator'|grep ^i
root@debian:/# aptitude why-not lxterminal
Unable to find a reason to remove lxterminal.
root@debian:/#