Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 75017

Summary: when -up; show running services
Product: Portage Development Reporter: Torgeir Hansen <torgeir>
Component: Enhancement/Feature RequestsAssignee: Portage team <dev-portage>
Status: RESOLVED WONTFIX    
Severity: enhancement    
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---

Description Torgeir Hansen 2004-12-20 00:31:12 UTC
Whenever I update my systems; I use -upD world to see what is being updated; what I really miss from this list, is a indication of what running services are about to be updated.

This would help me determine which services I have to restart without reading the entire list of updates and trying to remember which box is running what service(s)..
Comment 1 Jason Stubbs (RETIRED) gentoo-dev 2004-12-20 01:04:47 UTC
This would mean that for every upgradable package, portage would have to:

1) Read the entire contents list of the currently installed version
2) Find out which files are executable
3) Find out which executables are currently running

And to illustrate the effects of this:

# time for x in $(cat /var/db/pkg/net-www/apache-2.0.52-r1/CONTENTS | grep -E '^obj' | awk '{print $2}'); do [ -x $x ] && ( lsof -n | grep $(basename $x) | grep -v grep>& /dev/null) && echo $x is running && break; done
/usr/lib/libapr-0.so.0.9.5 is running

real    0m0.328s


# time for x in $(cat /var/db/pkg/x11-base/xorg-x11-6.8.0-r3/CONTENTS | grep -E '^obj' | awk '{print $2}'); do [ -x $x ] && ( lsof -n | grep $(basename $x) | grep -v grep >& /dev/null) && echo $x is running && break; done
/usr/X11R6/lib/X11/locale/lib/common/xlibi18n.so.2 is running

real    0m1.162s


# time for x in $(cat /var/db/pkg/sys-kernel/hardened-dev-sources-2.6.7-r17/CONTENTS | grep -E '^obj' | awk '{print $2}'); do [ -x $x ] && ( lsof -n | grep $(basename $x) | grep -v grep >& /dev/null) && echo $x is running && break; done

real    0m7.322s


To give you an idea of my system:

# time emerge -uDvp world > /dev/null
real    0m5.437s
# find /var/db/pkg -mindepth 2 -maxdepth 2 | wc -l
531

So, we're looking at a huge amount of added time. This could be done as a module in the next major version, but it won't be added to today's portage.