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
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 > |