Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 357059 - sys-apps/portage: world update doesn't show all updates
Summary: sys-apps/portage: world update doesn't show all updates
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-02 07:07 UTC by David
Modified: 2011-03-07 17:16 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David 2011-03-02 07:07:40 UTC
After doing 'emerge -DvuNt world'  I can occasionally do 'emerge -DavuNt1e world' and then emerge will find more updates to do, which it didn't find when I ran the first 'emerge' command.

Reproducible: Sometimes

Actual Results:  
Gentoo System #1:

emerge -DpvuNt1e world | grep -v "\[ebuild   R" | grep -v "\[nomerge"


These are the packages that would be merged, in reverse order:

Calculating dependencies  .. .... ..... done!
[ebuild  NS   ]  dev-libs/boost-1.42.0-r2 [1.41.0-r3] USE="eselect python -debug -doc -icu -mpi -static-libs -test -tools" 32,644 kB [0]
[ebuild  NS   ]   dev-util/boost-build-1.42.0 [1.41.0] USE="python -examples" 0 kB [0]
[ebuild     U ]   dev-lang/yasm-1.1.0-r1 [1.1.0] USE="nls python" 1,377 kB [0]
[ebuild     U ]  sys-apps/help2man-1.38.2 [1.37.1] USE="nls" 134 kB [0]
[ebuild     U ]  dev-util/xfce4-dev-tools-4.8.0 [4.7.2] 76 kB [0]

Total: 759 packages (3 upgrades, 2 in new slots, 754 reinstalls), Size of downloads: 52,670 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /var/lib/layman/sunrise
 [2] /var/lib/layman/serkan-overlay




Gentoo System #2:


emerge -DpvuNt1e world | grep -v "\[ebuild   R" | grep -v "\[nomerge"



These are the packages that would be merged, in reverse order:

Calculating dependencies  .... ....... .... done!
[ebuild     U ]  app-arch/sharutils-4.10 [4.7] USE="nls" 900 kB [0]
[ebuild     U ]  dev-util/chromium-tools-0.1.7 [0.1.6] USE="-subversion" 10 kB [0]
[ebuild     U ]  sys-apps/help2man-1.38.2 [1.37.1] USE="nls" 134 kB [0]
[ebuild     U ]  dev-lang/swig-2.0.2 [2.0.1] USE="pcre -ccache -doc" 4,980 kB [0]
[ebuild     U ]  app-arch/rpm2targz-9.0.0.4g [9.0.0.3g] 5 kB [0]



Expected Results:  
Both systems had no package updates according to the output of 'emerge -DavuNt world'  and so it would be expected that 'emerge -DavuNt1e world'  would also show no package updates.

Apparently, emerge with "-e" catches upgrades that are not caught without "-e"

That is, "emerge -DavuNt world" does not really catch all world updates.

'emerge --info'  from System #1:


Portage 2.1.9.25 (default/linux/x86/10.0, gcc-4.4.5, glibc-2.11.2-r3, 2.6.37-gentoo i686)
=================================================================
System uname: Linux-2.6.37-gentoo-i686-Mobile_Intel-R-_Pentium-R-_4_CPU_2.80GHz-with-gentoo-1.12.14
Timestamp of tree: Tue, 01 Mar 2011 07:15:01 +0000
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.6.6-r2, 3.1.3-r1
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 1.12.14-r1
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.5
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/serkan-overlay /var/lib/layman/sunrise"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="X acl acpi alsa berkdb bmp bzip2 cdr cli cracklib crypt cups cxx dbus dri dvd exif fortran gdbm gif gpm hal iconv ipv6 jpeg lm_sensors mmx modules mudflap ncurses nls nptl nptlonly openmp pam pcre perl png pppd python raw readline session sse sse2 ssl svg sysfs tcpd thunar tiff unicode usb x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa intel" XFCE_PLUGINS="trash menu brightness" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS




'emerge --info' from System #2:

Portage 2.1.9.25 (default/linux/x86/10.0, gcc-4.4.5, glibc-2.11.2-r3, 2.6.37-gentoo i686)
=================================================================
System uname: Linux-2.6.37-gentoo-i686-Intel-R-_Pentium-R-_4_CPU_2.80GHz-with-gentoo-1.12.14
Timestamp of tree: Mon, 28 Feb 2011 07:15:01 +0000
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.6.6-r2, 3.1.3-r1
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 1.12.14-r1
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.5
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/Other-Gentoo-Overlays/David-Ebuilds /var/lib/Other-Gentoo-Overlays/overnight"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="3dnow X acl alsa berkdb bmp bzip2 cdr cleartype cli corefonts cracklib crypt cups cxx dbus dri dvd exif fortran gdbm gif gpm hal iconv ipv6 jpeg lm_sensors mmx modules mudflap ncurses nls nptl nptlonly openmp pam pcre perl png pppd python qt3support quicktime raw readline semantic-desktop session sse sse2 ssl svg sysfs tcpd tiff truetype unicode usb x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa intel" XFCE_PLUGINS="trash menu" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Michael Weber (RETIRED) gentoo-dev 2011-03-02 07:24:02 UTC
Some packages were only needed to build other packages.
As long as these packages weren't updated theres no need to update build time dependencies.
Comment 2 Michael Weber (RETIRED) gentoo-dev 2011-03-02 07:26:21 UTC
This is intended behavior, b'cause you can skip updates you actually don't need atm.

If you really want these packages up to date (like help2man), you can always add them to world list.

RESO/Invalid?
Comment 3 Chris Shymanik (mousee) 2011-03-02 07:38:31 UTC
(In reply to comment #2)
> This is intended behavior, b'cause you can skip updates you actually don't need
> atm.
> 
> If you really want these packages up to date (like help2man), you can always
> add them to world list.
> 
> RESO/Invalid?
> 
Quite right (and agreed on resolution).

Either append "--with-bdeps y" to your emerge world command or edit your /etc/make.conf with:
EMERGE_DEFAULT_OPTS="--with-bdeps y"
If you want your bdeps updated with your other packages. There's no real point in doing so however, as mentioned above.
Comment 4 David 2011-03-02 08:10:12 UTC
Thank you.  Very helpful info.

I will do something like the recommended EMERGE_DEFAULT_OPTS="--with-bdeps y"   

Maybe I am paranoid or maybe I am still ignorant:  if the "build-time dependency" software *is* installed on my system but is *not* up-to-date, then it is available to be executed on my system while potentially having security (or non-security) bugs.

So, I'd feel better if these packages were updated by default.   Perhaps "--with-bdeps y" would be a good default setting for the rest of the Gentoo world, too?  Or perhaps minds brighter than mine have decided it's not necessary.    :-)
Comment 5 Sebastian Luther (few) 2011-03-02 08:59:37 UTC
(In reply to comment #4)
> Thank you.  Very helpful info.
> 
> I will do something like the recommended EMERGE_DEFAULT_OPTS="--with-bdeps y"   
> 
> Maybe I am paranoid or maybe I am still ignorant:  if the "build-time
> dependency" software *is* installed on my system but is *not* up-to-date, then
> it is available to be executed on my system while potentially having security
> (or non-security) bugs.
> 

If the package is not in world and not a run time dependency of any installed package then it's not meant to be executed (if you do it, that's your problem and it probably should be in your world file).

> So, I'd feel better if these packages were updated by default.   Perhaps
> "--with-bdeps y" would be a good default setting for the rest of the Gentoo
> world, too?  

No, see above.

Or perhaps minds brighter than mine have decided it's not
> necessary.    :-)
> 
Comment 6 David 2011-03-07 08:54:03 UTC
(In reply to comment #5)

>If the package is not in world and not a run time dependency of any installed
>package then it's not meant to be executed (if you do it, that's your problem
>and it probably should be in your world file).


I can see where you are coming from, but perhaps someone else (not myself, perhaps a user or hacker) would be the one to execute it.  I'm not interested in adding all build-time dependencies to my world file just to keep others from executing them.


Also, I have experienced where 'emerge --prune'  or  'emerge --depclean'  will fail unless I first do 'emerge -DavuNt1e world'  (my previous way of doing 'emerge -DavuNt --with-bdeps y world').  I think these failures would also be reason to have "--with-bdeps=y" as default.
      I cannot reproduce that situation at the moment;  if at some point I can, perhaps it would be permissible if I reopened this bug.
Comment 7 David 2011-03-07 08:55:38 UTC
(In reply to comment #6)

> I can see where you are coming from, but perhaps someone else (not myself,
> perhaps a user or hacker) would be the one to execute it.  I'm not interested
> in adding all build-time dependencies to my world file just to keep others from
> executing them.

Rather:    "to keep others from executing out-of-date versions of them."
Comment 8 Zac Medico gentoo-dev 2011-03-07 17:16:56 UTC
(In reply to comment #6)
> I'm not interested
> in adding all build-time dependencies to my world file just to keep others from
> executing them.

It's not necessary. Set EMERGE_DEFAULT_OPTS="--with-bdeps=y" in make.conf and that's all you have to do. It's not enabled by default because it's a waste of cpu time for most people. Also, people who use binary packages often don't want these build-only deps pulled in because it's a waste of space.