Mailinglist Archive: zypp-devel (70 mails)

< Previous Next >
Re: [zypp-devel] my plan: SOLV files for libzypp
  • From: Michael Matz <matz@xxxxxxx>
  • Date: Mon, 8 Oct 2007 13:55:01 +0200 (CEST)
  • Message-id: <Pine.LNX.4.64.0710081334330.23011@xxxxxxxxxxxxx>
Hi,

On Mon, 8 Oct 2007, Klaus Kaempf wrote:

> Too bad you included the patch in the mail to zypp-devel where we have 
> approx. 20 subscribers and hence 20 dead kittens now.

Yeah, too bad.  I don't like kittens anyway.

> > I haven't yet made up my mind if the SQLite database will stay or not.  
> > It's quite nice to have for some information (as it's easily 
> > extensible), but the necessity to then maintain a mapping from 
> > resolvable-ID (in zypp.db) to source/resolvable-id (in SOLV) makes 
> > this less attractive.
> 
> The current thinking on this topic is to keep the database for on-demand 
> retrieval of UI information (summary, description, license, ...) and for 
> extended search.

Yeah, along those lines I also think.  Though I'd like to experiment with 
some more things put into .solv files, e.g. license and summary (certainly 
not description or, heaven forbid, changelog, though even for them I'd 
like to have some better on-disk form, at least chunk-wise compressed).  
At least all info "important" for solving should be in there, which also 
includes IMHO the category of patches and the like.

> > Anyway, so you know about my plans, here's my current 
> > patch^Whack^Wunbelievable bloody crap.
> > 
> 
> Does it compile ? Does it run ? Lets ship it !  ;-)

;-)  It actually compiles (against a libzypp svn from, hmm, friday I 
think), but you need changes to the CMakeLists.txt files for 
INCLUDE_DIRECTORIES and TARGET_LINK_LIBRARIES.

And then you need to create the .solv files by hand.  As root, do:

% cd /var/cache/zypp
% sqlite3 zypp.db 'select id,alias from repositories'
1|openSUSE-10.3-retail 10.3
28|openSUSE-10.3-Updates
29|http://ftp.gwdg.de/pub/linux/misc/packman/suse/10.2/

Now create 1.solv, 28.solv and 29.solv (for me) from the respective raw 
repodata in the raw/ subdirs:

% zcat /var/cache/zypp/raw/openSUSE-10.3-retail\ 10.3/suse/setup/descr/packages.gz | 
  susetags2solv > 1.solv
% ( echo "<patches>" ; cat raw/openSUSE-10.3-Updates/repodata/patch-*.xml; 
    echo "</patches>" ) | grep -v '<?xml' | 
  patchxml2solv > 28.solv
% zcat raw/http\:/ftp.gwdg.de/pub/linux/misc/packman/suse/10.2/repodata/primary.xml.gz |
  rpmmd2solv > 29.solv

The patchxml2solv needs a patch from me, and it's broken as the 
primary.xml.gz in that repo is not used.

Now zypper with libzypp on that patch will take up these .solv files 
instead of zypp.db.  And hence will probably break all over, but at least:

% time LD_LIBRARY_PATH=./zypp ../../zypper/build/src/zypper lu
Repository 'http://ftp.gwdg.de/pub/linux/misc/packman/suse/10.2/' is 
out-of-date. You can run 'zypper refresh' as root to update it.
Repository 'openSUSE-10.3-retail 10.3' is out-of-date. You can run 'zypper 
refresh' as root to update it.
SOLV: have 6813 solvables
SOLV: have 129 solvables
SOLV: have 15284 solvables
* Reading installed packages [0%]trying /var/lib/rpm
Building system.solv
SOLV: have 1449 solvables


Repository:           | Name                    | Version | Category | 
Status
----------------------+-------------------------+---------+----------+-------
openSUSE-10.3-Updates | patch:amarok            | 4492-0  |          | Needed
openSUSE-10.3-Updates | patch:cpio              | 4474-0  |          | Needed
openSUSE-10.3-Updates | patch:evince            | 4465-0  |          | Needed
openSUSE-10.3-Updates | patch:fetchmsttfonts.sh | 4347-0  |          | Needed
openSUSE-10.3-Updates | patch:fvwm2             | 4475-0  |          | Needed
openSUSE-10.3-Updates | patch:glibc             | 4467-0  |          | Needed
openSUSE-10.3-Updates | patch:gtk2              | 4466-0  |          | Needed
openSUSE-10.3-Updates | patch:ksh               | 4489-0  |          | Needed
openSUSE-10.3-Updates | patch:release-notes     | 4464-0  |          | Needed
openSUSE-10.3-Updates | patch:wvdial            | 4461-0  |          | Needed

real    0m6.835s
user    0m5.680s
sys     0m0.896s


Ciao,
Michael.
-- 
To unsubscribe, e-mail: zypp-devel+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: zypp-devel+help@xxxxxxxxxxxx

< Previous Next >