Summary: | when -up; show running services | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Torgeir Hansen <torgeir> |
Component: | Enhancement/Feature Requests | Assignee: | 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
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. |