Libzypp/Refactoring
İçindekiler
ZYPP Refactoring Plan
ma@suse.de, dmacvicar@suse.de
10.2 timeframe
Fixing
- making yum faster
YUM extensions? https://lists.dulug.duke.edu/pipermail/rpm-metadata/2005-November/000557.html
- making the user believe it is faster: aka. fix the reports and give feedback
- fix rpm target (key read, etc)
Refactoring
Apply refactorings described below, in the following way:
- directory zypp2 created in libzypp/ same layout as zypp/
- directory zypp2 created in libzypp/testsuite same layout as libzypp/testsuite/zypp
- directory examples created in libzypp/ providing tasks examples.
- directory tools created in libzypp/ (for tools like inst_sources)
All new classes created for the refactoring moved to zypp2 directory and namespace. New classes need to provide unit test and if possible examples.
New classes are independent and developed in the subdirectory in trunk.
10.3 timeframe
- zypp2 classes integrated into zypp
Planed Refactorings
http://svn.suse.de/trac/zypp/file/trunk/doc/block-diagram.png?rev=3785&format=raw
Target and Sources
Target is a source, a target provides resolvables, There should be a ResolvableSource interface common for sources and target. Commit should be a separate class.
Media Handling
- Rip out media access code from Sources
- Mix Media Set and that code into a MediaSetAccess class not tied to the sources
- handling of download and verification of downloaded metadata.
SourceCache
This class will provide readwrite access to a sqlite database
SourceCacher
Source specific handlers that will use MediaSetAccess (if required) to download metadata and use SourceCache to cache it.
CachedSource
Will construct resolvables directly from the database using source cache
Plain dir source
Will implement volatile sources reading direcly from a directory of rpms
This design somehow implies other sources will need to be cached first
Key handling
Separate "import" from "trust". You can trust a key without importing it into the trusted keyring. It has the same effect, except that next time it will be untrusted. It is required to make noninteractive programs work, as they cal always skip importing keys.
PublicKey
class to encapsulate all PublicKey Information
Signature
Same as PublicKey, but for signatures
Last edit in Trac '07/21/06 13:23:40' by 'dmacvicar'
Last edit in Trac '07/21/06 13:23:40' by 'dmacvicar'
Last edit in Trac '07/21/06 13:23:40' by 'dmacvicar'
Last edit in Trac '07/21/06 13:23:40' by 'dmacvicar'