pingtoo wrote:segmentation-fault wrote:I would appreciate a way to tell it "upgrade Perl, but don't bother about programs that have the 'perl' USE flag set (e.g. postgresql)", for example
May be you can try
Code: Select all
emerge ... --exclude $(quse --installed --quiet --nocolor perl)
Ah...what a wonderful command! If only I knew
quse before! Yes, you are right, this could be what I need! I didn't test it in a real-world scenario yet, but looks like exactly what I was missing when I was trying to upgrade Perl. Let's see:
Code: Select all
quse --installed --quiet --nocolor perl
app-editors/gvim
app-editors/vim
app-office/gnumeric
app-text/qpdf
app-text/sablotron
app-text/stardict
dev-db/mysql
dev-db/postgresql
dev-db/postgresql
dev-db/postgresql
dev-db/postgresql
dev-db/qdbm
dev-lang/R
dev-libs/lockdev
dev-util/strace
dev-vcs/git
dev-vcs/subversion
media-gfx/graphicsmagick
media-gfx/graphite2
media-gfx/graphviz
media-gfx/imagemagick
media-sound/xmms2
net-analyzer/nagios-core
net-analyzer/net-snmp
net-analyzer/rrdtool
net-nds/openldap
net-print/cups-filters
net-proxy/squid
sci-libs/gdal
sys-apps/i2c-tools
sys-apps/xinetd
sys-libs/libapparmor
virtual/imagemagick-tools
www-servers/nginx
www-servers/nginx-unit
x11-wm/fvwm
The various
dev-db/postgresql entries are from the various slots
dev-db/postgresql occupies. So you might need to pipe this through
sort and
uniq, but that's OK.
@NeddySeagoon, as you can see from the above list, doing
Code: Select all
emerge -1av dev-lang/perl --exclude $(quse --installed --quiet --nocolor perl | sort | uniq)
would exclude the above packages - but nothing like the packages you mention. This is because you consider the packages that
hard depend on Perl (the language), while I wanted to exclude those that
USE depend on 'perl' (the USE flag). You are right, I would get into more trouble if I had done
Code: Select all
emerge -1av dev-lang/perl --exclude-world
which would have the effect of (also) excluding the packages that hard depend on Perl.
By now I am quite confident that a judicious use of
--exclude world and
--exclude $(quse --installed ...) can resolve situations like mine. Maybe these techniques should be more prominently used. I mean, instead of repeating the mantra of
update, update, update, one could also say "
don't worry, even if you didn't update for two years, we have
- --exclude world
--exclude $(quse --installed ...)
a technique with @critical and @optional sets
for you to use
carefully and help you out". Yes, this list looks good. With a detailed explanation and examples in the Wiki, I can imagine that it could
make Gentoo fun again! 