[zypp-devel] pkg-bindings status
Changes in pkg-bindings ----------------------- - Adapted to the latest libzypp (changes in OnMediaLocation) - List of RepoInfo objects is used as the internal status of all installation sources (instead of Repository) - Implemented Pkg::SourceCreate/SourceScan, but there are still problems on the libzypp side - submitted yast2-pkg-bindings-2.15.23 to BETA TODO ==== Missing Pkg:: functions (not implemented) ----------------------------------------- PkgMediaNames() PkgMediaSizes() PkgMediaCount() SourceReleaseAll() SourceSaveAll() SourceFinishAll() SourceMoveDownloadArea() TargetDisableSources() SourceMediaData() SourceProvideFile() SourceProvideOptionalFile() SourceProvideDir() SourceChangeUrl() Missing Functionality --------------------- SourceGeneralData() - doesn't return key "product_dir" in the map SourceDelete() - remove resolvables if they have loaded from the source SourceCreate() - use source type and product directory parameters Testing ------- Automatic testing is currently not possible, the test code (in pkg-bindings/testsuite/devel) haven't been ported to libzypp, that would be an extra work. Overall Status ============== There are missing too many essential Pkg:: functions, I'm afraid that we won't have ready pkg-bindings which can install system by tomorrow evening :-( -- Best Regards Ladislav Slezák Yast Developer ------------------------------------------------------------------------ SUSE LINUX, s.r.o. e-mail: lslezak@suse.cz Lihovarská 1060/12 tel: +420 284 028 960 190 00 Prague 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz/ -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
Ladislav Slezak wrote:
TODO ====
Missing Pkg:: functions (not implemented) ----------------------------------------- PkgMediaNames() PkgMediaSizes() PkgMediaCount() SourceReleaseAll() SourceSaveAll() SourceFinishAll() SourceMoveDownloadArea() TargetDisableSources() SourceMediaData() SourceProvideFile() DONE SourceProvideOptionalFile() DONE SourceProvideDir() DONE SourceChangeUrl()
Jano -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
Hi, I was asked to search through the installation for information which Pkg:: callbacks from the list are used and where. Here is the list what I've found, however it doesn't need to be the full list: Ladislav Slezak wrote:
TODO ====
Missing Pkg:: functions (not implemented) ----------------------------------------- PkgMediaNames() use in slideshow (not mandatory)
PkgMediaSizes() use in slideshow (not mandatory)
PkgMediaCount() use in slideshow (not mandatory)
SourceReleaseAll() used for media validation (installation but not mandatory) use for the first-stage initialization of the installation repository *important (for CD/DVD or all types of installation?)*
SourceSaveAll() not used in installation
SourceFinishAll() used in both first and second stage installation and dirinstall *important*
SourceMoveDownloadArea() used in inst_rpmcopy for InitialSourceCaching
TargetDisableSources() used in inst_kickoff
SourceMediaData() used in inst_mediacopy (not mandatory)
SourceProvideFile() installation - release notes installation - content file *mandatory*
SourceProvideOptionalFile() installation - release notes installation - y2update, installation.xml (AddOns) *desirable*
SourceProvideDir() slideshow (not mandatory)
SourceChangeUrl() Used for ServicePack Used for CD/DVD installation *mandatory for CD/DVD installation*
Missing Functionality --------------------- SourceGeneralData() - doesn't return key "product_dir" in the map needed by installation - extrasources, online update repositories, product sources downloaded by inet (new functionality) used for handling sources all over the place but maybe for Add-Ons only, hard to say the key "product_dir" is, of course, used (at least for Add-Ons) *desirable* or *important*
SourceDelete() - remove resolvables if they have loaded from the source needed by installation - product sources downloaded by inet (new functionality) needed by CD/DVD installation *important for CD installation*
SourceCreate() - use source type and product directory parameters needed by installation - extrasources, online update repositories, product sources downloaded by inet (new functionality) needed by installation for the initial installation repository needed by Add-Ons, of course needed by DirInstall *mandatory*
Have a nice day Lukas
On Tuesday 10 July 2007 11:16:36 Lukas Ocilka wrote:
Hi,
I was asked to search through the installation for information which Pkg:: callbacks from the list are used and where. Here is the list what I've found, however it doesn't need to be the full list:
The question is, what are those functions supposed to do. ZYpp semantics where something like: restore sources to a global object modify and operate over them save them In the new repo manager, zypp does not give you any object to operate onto. You ask for known repos. Then you can tell RepoManager to delete a known repo, but that has no relation with the repositories you have created in memory. Implementing them as the old way will make ZYpp act like it was before. That means everything done in this 6 months is completely useless. Duncan -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
Got some more fun for you: pkg-bindings call:
SourceMoveDownloadArea() used in inst_rpmcopy for InitialSourceCaching
This is supposed to reattach repo medias into another directory. This is needed by installation to switch from using ram disk to using newly formatted disk for commit. To make it more fun, the reattach needs to happen right before commit (after installation proposal, after confirming to proceed with the installation). With old libzypp this was done by calling release followed by attach on each media handler of the media set which was associated with Source. Since we don't associate media handler with source anymore, and we use a completely separate MediaSetAccess in repo::PackageProvider, we must find another solution. Installation needs this *at least for commit* so that the packages are not downloaded into ram disk. I spoke to duncan already about not creating a new MediaSetAccess for each provideFile in PackageProvider (RepoProvideFile) but passing it instead from target commit. Then, if we can create this MediaSetAccess object with /prefered_attach_point/ parameter set to the new dir, that should be sufficient. Then we would have commit downloading packages into that dir. If we don't need to specify custom attach point elsewhere, then we're done. If we do, we'll solve it after we'll be finished with this one. Cheers, Jano -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
Dne úterý 10 červenec 2007 21:46 Jan Kupec napsal(a):
Got some more fun for you:
pkg-bindings call:
SourceMoveDownloadArea()
used in inst_rpmcopy for InitialSourceCaching
This is supposed to reattach repo medias into another directory. This is needed by installation to switch from using ram disk to using newly formatted disk for commit. To make it more fun, the reattach needs to happen right before commit (after installation proposal, after confirming to proceed with the installation).
With old libzypp this was done by calling release followed by attach on each media handler of the media set which was associated with Source. Since we don't associate media handler with source anymore, and we use a completely separate MediaSetAccess in repo::PackageProvider, we must find another solution.
Installation needs this *at least for commit* so that the packages are not downloaded into ram disk.
I spoke to duncan already about not creating a new MediaSetAccess for each provideFile in PackageProvider (RepoProvideFile) but passing it instead from target commit. Then, if we can create this MediaSetAccess object with /prefered_attach_point/ parameter set to the new dir, that should be sufficient. Then we would have commit downloading packages into that dir.
If we don't need to specify custom attach point elsewhere, then we're done. If we do, we'll solve it after we'll be finished with this one.
I'm not aware of any other real-life situation in which we could need this. Thanks for looking into this! Jiri -- Regards, Jiri Srain YaST Team Leader --------------------------------------------------------------------- SUSE LINUX, s.r.o. e-mail: jsrain@suse.cz Lihovarska 1060/12 tel: +420 284 028 959 190 00 Praha 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz
participants (5)
-
Duncan Mac-Vicar Prett
-
Jan Kupec
-
Jiri Srain
-
Ladislav Slezak
-
Lukas Ocilka