FS#1562 - [Patch] Pacman confict handling speed improvements
Attached to Project:
Pacman
Opened by Tommi Rantala (ttrantal) - Saturday, 02 October 2004, 08:23 GMT
Last edited by Judd Vinet (judd) - Monday, 04 October 2004, 00:34 GMT
Opened by Tommi Rantala (ttrantal) - Saturday, 02 October 2004, 08:23 GMT
Last edited by Judd Vinet (judd) - Monday, 04 October 2004, 00:34 GMT
|
Details
The conflict handling in current Pacman implementation is
not very good performance-wise.
Here's another patch that speeds things up a bit. :) Patches are for 2.9 but I had no trouble applying them to 2.9.2. 'pacman' is 2.9.2, the other one is this + list handling performance patches. Try to add an already installed package: ======================================== # pwd /var/cache/pacman/pkg # time pacman -A xorg* loading package data... done. checking for file conflicts... done. error: xorg is already installed. (try --upgrade) real 0m6.317s user 0m5.703s sys 0m0.236s # time /var/abs/base/pacman/src/pacman-2.9/pacman -A xorg* loading package data... done. checking for file conflicts... done. error: xorg is already installed. (try --upgrade) real 0m0.352s user 0m0.153s sys 0m0.181s Try to add several already installed packages: ============================================== # time pacman -A w* kde* loading package data... done. checking for file conflicts... done. error: wget is already installed. (try --upgrade) error: windowmaker is already installed. (try --upgrade) error: wine is already installed. (try --upgrade) error: wireless_tools is already installed. (try --upgrade) error: wxgtk is already installed. (try --upgrade) error: wxpython is already installed. (try --upgrade) error: kdelibs is already installed. (try --upgrade) error: kdemultimedia is already installed. (try --upgrade) error: kdebase is already installed. (try --upgrade) error: kdeaddons is already installed. (try --upgrade) error: kdeartwork is already installed. (try --upgrade) error: kdegames is already installed. (try --upgrade) error: kdegraphics is already installed. (try --upgrade) error: kdenetwork is already installed. (try --upgrade) error: kdesdk is already installed. (try --upgrade) error: kdeutils is already installed. (try --upgrade) real 1m40.585s user 1m36.179s sys 0m1.825s # time /var/abs/base/pacman/src/pacman-2.9/pacman -A w* kde* loading package data... done. checking for file conflicts... done. error: wget is already installed. (try --upgrade) error: windowmaker is already installed. (try --upgrade) error: wine is already installed. (try --upgrade) error: wireless_tools is already installed. (try --upgrade) error: wxgtk is already installed. (try --upgrade) error: wxpython is already installed. (try --upgrade) error: kdelibs is already installed. (try --upgrade) error: kdemultimedia is already installed. (try --upgrade) error: kdebase is already installed. (try --upgrade) error: kdeaddons is already installed. (try --upgrade) error: kdeartwork is already installed. (try --upgrade) error: kdegames is already installed. (try --upgrade) error: kdegraphics is already installed. (try --upgrade) error: kdenetwork is already installed. (try --upgrade) error: kdesdk is already installed. (try --upgrade) error: kdeutils is already installed. (try --upgrade) real 0m2.034s user 0m1.144s sys 0m0.774s Enable extra checking, commented out in the code: ================================================= # time /var/abs/base/pacman/src/pacman-2.9/pacman -A libsoup22-2.1.13-1.pkg.tar.gz loading package data... done. checking for file conflicts... error: the following file conflicts were found: opt/gnome/include/libsoup-2.2/libsoup/soup-address.h: exists in "libsoup22" (target) and "libsoup" (installed) opt/gnome/include/libsoup-2.2/libsoup/soup-connection.h: exists in "libsoup22" (target) and "libsoup" (installed) opt/gnome/include/libsoup-2.2/libsoup/soup-headers.h: exists in "libsoup22" (target) and "libsoup" (installed) opt/gnome/include/libsoup-2.2/libsoup/soup-message-filter.h: exists in "libsoup22" (target) and "libsoup" (installed) opt/gnome/include/libsoup-2.2/libsoup/soup-message-queue.h: exists in "libsoup22" (target) and "libsoup" (installed) opt/gnome/include/libsoup-2.2/libsoup/soup-message.h: exists in "libsoup22" (target) and "libsoup" (installed) opt/gnome/include/libsoup-2.2/libsoup/soup-method.h: exists in "libsoup22" (target) and "libsoup" (installed) opt/gnome/include/libsoup-2.2/libsoup/soup-misc.h: exists in "libsoup22" (target) and "libsoup" (installed) opt/gnome/include/libsoup-2.2/libsoup/soup-server-auth.h: exists in "libsoup22" (target) and "libsoup" (installed) opt/gnome/include/libsoup-2.2/libsoup/soup-server-message.h: exists in "libsoup22" (target) and "libsoup" (installed) [...] errors occurred, no packages were upgraded. real 0m0.399s user 0m0.266s sys 0m0.117s # time pacman -A libsoup22-2.1.13-1.pkg.tar.gz loading package data... done. checking for file conflicts... error: the following file conflicts were found: libsoup22: /opt/gnome/include/libsoup-2.2/libsoup/soup-address.h: exists in filesystem libsoup22: /opt/gnome/include/libsoup-2.2/libsoup/soup-connection.h: exists in filesystem libsoup22: /opt/gnome/include/libsoup-2.2/libsoup/soup-headers.h: exists in filesystem libsoup22: /opt/gnome/include/libsoup-2.2/libsoup/soup-message-filter.h: exists in filesystem libsoup22: /opt/gnome/include/libsoup-2.2/libsoup/soup-message-queue.h: exists in filesystem libsoup22: /opt/gnome/include/libsoup-2.2/libsoup/soup-message.h: exists in filesystem libsoup22: /opt/gnome/include/libsoup-2.2/libsoup/soup-method.h: exists in filesystem libsoup22: /opt/gnome/include/libsoup-2.2/libsoup/soup-misc.h: exists in filesystem libsoup22: /opt/gnome/include/libsoup-2.2/libsoup/soup-server-auth.h: exists in filesystem [...] errors occurred, no packages were upgraded. real 0m0.185s user 0m0.048s sys 0m0.132s |
This task depends upon
db_c.patch