|
Bugzilla – Full Text Bug Listing |
| Summary: | yast2-storage is needed by yast2 but not needed for a minimal system | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 10.3 | Reporter: | Andreas Jaeger <aj> |
| Component: | YaST2 | Assignee: | Lukas Ocilka <locilka> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | locilka, lslezak, mvidner, snwint |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Bug Depends on: | |||
| Bug Blocks: | 238668 | ||
| Attachments: | add-on.pot | ||
yast2-update is not really required in a minimal system (we recommend booting from the new media anyway), but yast2-packager you will probably want to keep: yast2 -i and yast2 online_update need it. You will get a _very_ minimalistic system if you remove them all. OTOH I am not quite sure why yast2-packager requires yast2-storage; it might be a bogus dependency that is only valid during initial installation to check for sufficient disk space. This might not be necessary in the installed system. [sh @ snell] .../packager/src 7 % grep -i Storage `find -name "*.ycp"`
./modules/SpaceCalculation.ycp: * Storage::GetTargetMap() ) into a list(map) with information about partitions
./modules/SpaceCalculation.ycp: import "Storage";
./modules/SpaceCalculation.ycp: map<string, map> targets = Storage::GetTargetMap();
./modules/SpaceCalculation.ycp: * from Storage module
./modules/PackageSelectionIO.ycp: import "StorageDevices";
./modules/PackageSelectionIO.ycp: if ( WFM::Execute (.local.mount, [StorageDevices::FloppyDevice, floppy_path]) == true)
./modules/PackageSelectionIO.ycp: SCR::Execute (.target.bash, "/sbin/mkdosfs " + StorageDevices::FloppyDevice);
./modules/PackageSelectionIO.ycp: if ( WFM::Execute (.local.mount, [StorageDevices::FloppyDevice, floppy_path]) == true)
./modules/Packages.ycp: import "Storage";
./modules/Packages.ycp: Storage::AddPackageList());
./include/storage_include.ycp: * File: include/packager/storage_include.ycp
./include/storage_include.ycp: * Summary: Storage calls
./include/storage_include.ycp: import "Storage";
./include/storage_include.ycp: y2milestone ("Calling Storage::RemoveDmMapsTo(%1)", install_src_partition);
./include/storage_include.ycp: Storage::RemoveDmMapsTo (install_src_partition);
./clients/inst_rpmcopy.ycp: include "packager/storage_include.ycp";
./clients/software_proposal.ycp: import "Storage";
./clients/software_proposal.ycp: if ( Packages::timestamp != Storage::GetTargetChangeTime() )
./clients/software_proposal.ycp: Packages::timestamp = Storage::GetTargetChangeTime();
./clients/inst_source.ycp: // store in the persistent libzypp storage
./clients/inst_source.ycp: // [2]: using SourceManager and not just PersistentStorage in inst_source
./clients/inst_packages.ycp: import "StorageDevices";
./clients/inst_packages.ycp: `PackageSelector(`id(`packages ), StorageDevices::FloppyDevice ) :
./clients/inst_packages.ycp: `PackageSelector(`id(`packages ), `opt(mode), StorageDevices::FloppyDevice )
All references to floppy stuff above are obsolete by now; that parameter is no longer used by the package selector UI. It's still there in the API, but we might as well pass an empty string or remove it from the API completely. Everything from "software_proposal.ycp" only applies to the installation; a dependency "yast2-installation-stage1 requires yast2-storage" would be sufficient there. AFAICS in the source code the disk space calculation is also only needed during installation. It's part of the Packages.ycp module, though, so some workaround will be needed to be able to byte-compile Packages.ycp if yast2-storage (thus Storage.ycp) is not available. In any case, that package will need BuildRequires: yast2-storage if we remove the direct requirement. PackageSelectionIO.ycp is obsoleted, package selection is saved in the package selector widget. The other dependencies are valid only in installation. Ad comment #1: See my comments on #238668. ("bug 238668" instead of "#238668" creates a hyperlink)
-> lslezak for the first step (remove requirement of yast2-storage from yast2-packager) Fixed in yast2-packager-2.15.9 Lukas, now it's your turn... I have moved the dependency of yast2-installation on yast2-storage by moving `yast2 vendor` to the yast2-update. Actually it was worse than now :) yast2-update is not needed by yast2-installation now. If we want to drop the dependency of yast2-update on yast2-storage, we need to move vendor.ycp somewhere else. OK, I've created a new package yast2-add-on which contains Add-On and Vendor features. Split from yast2-installation. (openSUSE 10.3) KE: some strings have changed their textdomain from installation to add-on, there is no need to have them translated again. Should I do something more? SNWINT: Please, add yast2-add-on as a required package to the inst-sys, Thanks. Steffen, please, add yast2-add-on to the inst-sys and reassign this bug to me again to close it. Thanks. AJ: Please, accept the package yast2-add-on which is waiting for the build :) Thanks. Please, send me a preliminary add-on.pot. so I could do a dedicated merging. Lukas, you vanished from the Cc list ;) Let me repeat comment 12: Please, send me a preliminary add-on.pot. so I could do a dedicated merging. Lukas, you vanished from the Cc list ;) Let me repeat comment 12 - next try... Please, send me a preliminary add-on.pot. so I could do a dedicated merging. Created attachment 119851 [details]
add-on.pot
added yast2-add-on So bug is fixed in: * yast2-installation-2.15.9 (not in build yet) * yast2-add-on-2.15.0 What did happen to yast2-add-on? It still does not exists! They refused to build it for some missing description, which I have hopefully already correctly added. My plan is to submit a new yast2-add-on-2.15.1 but it would still fail because it needs new yast2-core-2.15.4 and yast2-pkg-bindings which still haven't been sent to autobuild yet. |
The yast2-storage module should not be part of a minimal system but cannot be removed right now: # rpm -e yast2-storage error: Failed dependencies: yast2-storage is needed by (installed) yast2-packager-2.15.3-2.x86_64 yast2-storage is needed by (installed) yast2-update-2.15.1-6.x86_64 yast2-storage is needed by (installed) yast2-installation-2.15.5-2.noarch yast2-storage is needed by (installed) yast2-bootloader-2.15.4-2.x86_64