Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 266861 - depclean error message does not indicate precisely when --with-bdeps=y is necessary
Summary: depclean error message does not indicate precisely when --with-bdeps=y is nec...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
: 266981 267210 267489 267588 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-04-20 15:00 UTC by Trevor Bowen
Modified: 2013-08-26 04:27 UTC (History)
6 users (show)

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 Trevor Bowen 2009-04-20 15:00:45 UTC
In trying to update my system and remove unwarranted packages, I used the following commands with results:

# emerge -uDNpvt world
WARNING: One or more repositories have missing repo_name entries:

        /usr/local/portage/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.

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

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 kB

# emerge -uDNpvt @system @world
WARNING: One or more repositories have missing repo_name entries:

        /usr/local/portage/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.

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

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 kB

Both syntaxes show no updates needed.  However, cleaning dependencies yields an error concerning unfulfilled dependencies, requiring update:

emerge --depclean
WARNING: One or more repositories have missing repo_name entries:

        /usr/local/portage/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.

 * Always study the list of packages to be cleaned for any obvious
 * mistakes. Packages that are part of the world set will always
 * be kept.  They can be manually added to this set with
 * `emerge --noreplace <atom>`.  Packages that are listed in
 * package.provided (see portage(5)) will be removed by
 * depclean, even if they are part of the world set.
 * 
 * As a safety measure, depclean will not remove any packages
 * unless *all* required dependencies have been resolved.  As a
 * consequence, it is often necessary to run `emerge --update
 * --newuse --deep @system @world` prior to depclean.

Calculating dependencies... done!
 * Dependencies could not be completely resolved due to
 * the following required packages not being installed:
 * 
 *   >=virtual/perl-IO-Compress-Bzip2-2.012 pulled in by:
 *     perl-core/Archive-Tar-1.40
 * 
 * Have you forgotten to run `emerge --update --newuse --deep @system @world` prior
 * to depclean? It may be necessary to manually uninstall packages that no longer
 * exist in the portage tree since it may not be possible to satisfy their
 * dependencies.  Also, be aware of the --with-bdeps option that is documented
 * in `man emerge`.

Sure enough, if I try to emerge that package I can see the missing dep:

#  emerge -pvt perl-core/Archive-Tar
WARNING: One or more repositories have missing repo_name entries:

        /usr/local/portage/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.

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

Calculating dependencies... done!
[ebuild   R   ] perl-core/Archive-Tar-1.40  USE="bzip2" 0 kB
[ebuild  N    ]  virtual/perl-IO-Compress-Bzip2-2.015  0 kB

Total: 2 packages (1 new, 1 reinstall), Size of downloads: 0 kB

However, emerge -uDN cannot find it.

Incidentally, I ran revdep-rebuild and python-updater, but they did not find anything to do. An 'env-update' and 'source /etc/profile' did not help either.


Reproducible: Always

Steps to Reproduce:
1. emerge -uDNpvt world (or, emerge -uDNpvt @system @world)
2. emerge --depclean



#  emerge --info
WARNING: One or more repositories have missing repo_name entries:

        /usr/local/portage/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.
Portage 2.2_rc28 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.29-gentoo-r1 x86_64)
=================================================================
System uname: Linux-2.6.29-gentoo-r1-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-redhat-5-CentOS5
Timestamp of tree: Mon, 20 Apr 2009 14:00:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.7
dev-lang/python:     2.5.4-r2
dev-util/cmake:      2.6.3-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.9
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/4.2/env /usr/kde/4.2/share/config /usr/kde/4.2/shutdown /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/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US"
LC_ALL="en_US"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_US"
MAKEOPTS="-j5"
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="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl acpi alsa amd64 apache2 apm audiofile avahi avi bash-completion berkdb bidi bitmap-fonts bonobo bzip2 cairo cdda cddb cdio cdr cgi clamav cli cracklib crypt ctype cups dbus directfb dri dts dv dvd dvdr emacs encode esd exif expat faac fam fbcon ffmpeg filter firefox flac font-server fortran freetype gdbm gif gnome gpm gstreamer gtk gtk2 hal hash iconv imap imlib ipv6 isdnlog jack java javascript jpeg kde kdeprefix kerberos ldap libg++ libsamplerate libwww live lm_sensors mad maildir matroska mbox mdnsresponder-compat midi mikmod mmx mng motif mp3 mpeg mplayer mssql mudflap multilib mysql ncurses networkmanager nls nntp nonfsv4 nptl nptlonly nsplugin nvidia odbc ofx ogg oggvorbis openal openexr opengl openmp pam pcre pda pdf pdflib perl php plotutils pmu png pop3d portaudio posix pppd python qmail-spp qt qt3 qt3support qt4 quicktime rdesktop readline reflection ruby samba sasl scanner sdl session simplexml slang snmp spell spl sse sse2 ssl stream svg sysfs tcl tcltk tcpd theora threads tidy tiff tk tokenizer truetype truetype-fonts type1 type1-fonts unicode usb vcd vhosts vim-syntax vlm vorbis wxwindows x264 xcomposite xemacs xinerama xml xmlrpc xorg xpm xulrunner xv xvid xvmc zlib" ALSA_CARDS="mia hda-intel" 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 auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-04-20 15:35:09 UTC
Try:
emerge -uDNpvt --with-bdeps=y @system @world
Comment 2 Trevor Bowen 2009-04-20 15:46:58 UTC
yes, that catches it, plus a few others.  Should that be the 'default' method of updating?

$ emerge -uDNpvt --with-bdeps=y @system @world
WARNING: One or more repositories have missing repo_name entries:

        /usr/local/portage/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.

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

Calculating dependencies... done!
[nomerge      ] kde-base/kdeartwork-kscreensaver-4.2.2  USE="eigen kdeprefix opengl -debug -xscreensaver" 
[ebuild     U ]  dev-cpp/eigen-2.0.1 [2.0.0] 339 kB
[nomerge      ] dev-db/unixODBC-2.2.12  USE="gnome qt3" 
[ebuild     U ]  dev-util/cvs-1.12.12-r6 [1.12.12-r4] USE="crypt kerberos nls pam -doc -server (-emacs%*)" 0 kB
[nomerge      ] dev-perl/Spreadsheet-ParseExcel-0.32  USE="unicode -cjk -test" 
[nomerge      ]  perl-core/Module-Build-0.28.08 
[nomerge      ]   perl-core/Archive-Tar-1.40  USE="bzip2" 
[ebuild  N    ]    virtual/perl-IO-Compress-Bzip2-2.015  0 kB
[nomerge      ] dev-perl/Date-Calc-5.4 
[nomerge      ]  dev-perl/Carp-Clan-5.9 
[nomerge      ]   dev-perl/Test-Exception-0.25 
[nomerge      ]    dev-perl/Sub-Uplevel-0.16 
[nomerge      ]     virtual/perl-Module-Build-0.28.08 
[nomerge      ]      perl-core/Module-Build-0.28.08 
[nomerge      ]       virtual/perl-Archive-Tar-1.40 
[nomerge      ]        perl-core/Archive-Tar-1.40  USE="bzip2" 
[nomerge      ]         perl-core/IO-Compress-Bzip2-2.015 
[ebuild  N    ]          virtual/perl-Compress-Raw-Bzip2-2.015  0 kB
[nomerge      ] media-video/vlc-0.9.9a  USE="X a52 aac aalib alsa avahi bidi cdda cddb cdio dbus directfb dts dvd esd fbcon ffmpeg flac gnome hal jack libgcrypt live matroska mmx mp3 mpeg ncurses nsplugin ogg opengl pda png qt4 samba sdl sse stream svg theora truetype vlm vorbis x264 xinerama xml xv (-altivec) -arts -atmo -cddax -dc1394 -debug -dirac -dvb -fluidsynth -fontconfig -ggi -gnutls -httpd -id3tag -kate -libass -libcaca -libnotify -libsysfs -libv4l2 -lirc -lua -modplug -musepack -optimisememory -oss -pulseaudio -pvr -remoteosd -rtsp -run-as-root -schroedinger -sdl-image -seamonkey -shout -skins -speex (-svga) -taglib -twolame -upnp -v4l -v4l2 -vcdinfo -vcdx (-win32codecs) -xosd -zvbi" 
[nomerge      ]  media-libs/x264-0.0.20081006  USE="threads -debug" 
[ebuild     U ]   dev-lang/yasm-0.7.2 [0.7.1] USE="nls" 1,372 kB

Total: 5 packages (3 upgrades, 2 new), Size of downloads: 1,710 kB
Comment 3 Zac Medico gentoo-dev 2009-04-20 18:32:14 UTC
(In reply to comment #2)
> yes, that catches it, plus a few others.  Should that be the 'default' method
> of updating?

It's not the default behavior because you don't need the latest build-time dependencies unless you are actually building something with them. If you always want them updated anyway then add EMERGE_DEFAULT_OPTS="--with-bdeps=y" to /etc/make.conf.

*** This bug has been marked as a duplicate of bug 248026 ***
Comment 4 Trevor Bowen 2009-04-20 19:12:15 UTC
May I make a suggestion?  I am a fairly intelligent person, and I saw a clue about bdeps in the depclean results.  However, it was not clear to me what the problem was.  I could not tell that the dependency was build-time only, based on the tree output.

Would it be possible to enhance the error message to better point the end user in the right direction?  Like so:

emerge -uDN --with-bdeps=y @system @world
(This also updates build-time dependecies, which can block --depclean, if left out of date.)

or

emerge --depclean --with-bdeps=n
(This ignores and deletes dependencies only needed at build-time.)

Maybe the emerge -t output could be enhanced to distinguish build-time dependencies?
Comment 5 Zac Medico gentoo-dev 2009-04-20 20:51:50 UTC
(In reply to comment #4)
> Would it be possible to enhance the error message to better point the end user
> in the right direction?

Sure.

> Maybe the emerge -t output could be enhanced to distinguish build-time
> dependencies?

Most people probably don't need this info cluttering the display, but I guess we could add an option for it.
Comment 6 Torsten Veller (RETIRED) gentoo-dev 2009-04-21 17:27:28 UTC
*** Bug 266981 has been marked as a duplicate of this bug. ***
Comment 7 michael@smith-li.com 2009-04-23 14:50:55 UTC
*** Bug 267210 has been marked as a duplicate of this bug. ***
Comment 8 Torsten Veller (RETIRED) gentoo-dev 2009-04-26 06:51:07 UTC
*** Bug 267489 has been marked as a duplicate of this bug. ***
Comment 9 Torsten Veller (RETIRED) gentoo-dev 2009-04-26 19:58:44 UTC
*** Bug 267588 has been marked as a duplicate of this bug. ***
Comment 10 Torsten Veller (RETIRED) gentoo-dev 2009-05-02 08:43:41 UTC
*** Bug 268246 has been marked as a duplicate of this bug. ***