Feature changed by: Stanislav Visnovsky (visnov)
Feature #302119, revision 32
Title: Load package selector and libzypp only when needed
openSUSE-10.3: Rejected by Stanislav Visnovsky
reject date: 2007-08-01 16:40:54
reject reason: Postponing.
Priority
Requester: Desirable
Projectmanager: Important
openSUSE-11.0: Rejected by Stanislav Visnovsky
reject date: 2008-04-28 13:42:30
reject reason: Did not make it, postponing.
Priority
Requester: Desirable
Projectmanager: Important
openSUSE-11.1: Rejected by Stanislav Visnovsky
reject date: 2008-09-12 14:13:58
reject reason: Postponing.
Priority
Requester: Desirable
Projectmanager: Important
- openSUSE-11.2: Evaluation
+ openSUSE-11.2: Rejected by Stanislav Visnovsky
+ reject date: 2009-02-02 13:15:32
+ reject reason: Out of scope.
Priority
Requester: Desirable
+ openSUSE-11.3: New
+ Priority
+ Requester: Desirable
Requested by: Stefan Hundhammer (sh-sh-sh)
Partner organization: openSUSE.org
Description:
The YaST2 UI should load the code for the package selector and libzypp
only when needed. Not all applications / YaST2 modules need package
selection code, yet for all of them the respective code from the YaST2
UI and libzypp is loaded.
Discussion:
#1: Stefan Hundhammer (sh-sh-sh) (2007-04-13 18:13:44)
In the YaST2 Qt the package management related code is now moved to a
separate plugin that is loaded upon demand only if the calling YCP
application actually requests a PackageSelector widget.
This reduces the memory footprint from 20 MB VmRSS minimum (HelloWorld.
ycp) to 18 MB minimum (PackageSelector-empty.ycp).
#3: Katarina Machalkova (kmachalkova) (2007-04-16 14:41:35)
Stano, do we want this for curses UI as well? If yes, than it's not
'done' ...
#4: Stanislav Visnovsky (visnov) (2007-04-16 14:47:02) (reply to #3)
Agreed. Reopening for ncurses and possibly gtk+.
#5: Jiri Srain (jsrain) (2007-06-13 13:54:26)
JP, both Qt and NCurses are done, but GTK is still missing.
#6: Stefan Hundhammer (sh-sh-sh) (2007-06-13 15:08:58)
Looks like yast2-pkg-bindings are also loaded unconditionally. It
shouldn't be too hard to do that with "lazy initialization" like UI
built-ins: Postpone loading the Y2Component until it's really needed.
#7: Stanislav Visnovsky (visnov) (2007-06-19 15:01:54) (reply to #6)
Jiri, if Pkg bindings problem is not addressed, it does not make sense
to fix Gtk UI.
#8: Jiri Srain (jsrain) (2007-07-18 13:59:50) (reply to #7)
Sorry for missing this.
Martin, please, solve this for the Pkg bindings.
#11: Martin Vidner (mvidner) (2008-04-10 15:23:51)
yast2-perl-bindings-2.16.6 no longer links to libzypp, which means
libzypp will not be loaded at the very start of yast (perl still will
be loaded, but that is relatively cheap). That helps in some cases, but
mostly it only delays loading of libzypp, which occurs as soon as Pkg
(or Package) is imported. Now I need to make Pkg lazy.
#12: Martin Vidner (mvidner) (2008-04-21 15:32:09)
I have it almost working, but got stopped by bug 381917
(https://bugzilla.novell.com/show_bug.cgi?id=381917) : problems with
destructors of static objects
#13: JP Rosevear (jproseve) (2008-07-21 13:59:18) (reply to #12)
Martin, what's the status here? Will we need to do anything explicit in
packagekit to get this functionality?
#14: Stanislav Visnovsky (visnov) (2008-09-08 16:44:06) (reply to #13)
There is nothing regarding packagekit for this feature.
--
openSUSE Feature:
https://features.opensuse.org/302119