Bug 238679

Summary: yast2-bootloader is needed by yast2-installation in installed system
Product: [openSUSE] openSUSE 10.3 Reporter: Andreas Jaeger <aj>
Component: YaST2Assignee: Lukas Ocilka <locilka>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: jsrain, mvidner, snwint, stefan.fent
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    

Description Andreas Jaeger 2007-01-25 12:16:46 UTC
I do not think that the yast2-bootloader module is essential in a minimal system.

But it cannot get removed since yast2-installation needs it.
Comment 1 Stefan Hundhammer 2007-01-25 14:52:22 UTC
It might be helpful to split up yast2-installation into yast2-installation-stage1 and yast2-installation-stage2.

-stage1 definitely needs yast2-bootloader, grub and lilo, but -stage2 probably does not.

Maybe (don't know for sure) this would even get dependencies to yast2-storage and dependent packages (evms, lvm) out of yast2-installation-stage2.
Comment 2 Andreas Jaeger 2007-01-26 07:41:22 UTC
Yes, that split sounds like a good idea.
Comment 3 Jiri Srain 2007-01-26 08:00:52 UTC
Whato do we gain if we split it? We can simply remove the dependency on yast2-bootloader and have the yast2-bootloader in the list of modules which need to be present for 1st stage.
The question is how to deal with the limal-bootloader and perl-Bootloader stuff. It obviously needs to be installed in order to finish 1st stage of the installation properly. It should be enforced during installation, but after installation it should be possible to remove it.
Comment 4 Stefan Hundhammer 2007-02-07 13:43:12 UTC
Well, splitting up yast2-installation would fix just this problem. We could make yast2-installation-stage1 require limal-bootloader and perl-bootloader.

Maybe we could limit this to dependencies of the inst-sys: inst-sys requires limal-bootloader and perl-bootloader. This might also be sufficient.

Steffen?
Comment 5 Steffen Winterfeldt 2007-02-07 14:06:32 UTC
Fine with me, just let me know when you do it. Or adjust BuildRequires
of installation-images yourself.
Comment 6 Lukas Ocilka 2007-02-12 12:50:10 UTC
Splitting installation is indeed good idea, nowadays there are a lot of dependencies that should be solved another way that RPM:requires.

For instance, Installation doesn't need yast2-users and yast2-registration, these steps are only mentioned in the control file but I can imagine system with one user (root) and without registration. We need to solve these dependencies for the control-file itself.

Andreas, what do you think of that? Why don't we install the control-file package which would require or recommend these packages?
Comment 7 Lukas Ocilka 2007-02-12 13:09:52 UTC
Proposal is to leave yast2-installation package and create another yast2-first-stage-installation or yast2-installation-initial and move some YCP clients and modules to that new package (with their dependencies).

Inst-sys would contain:
  * yast2-installation-initial (probing agents, bootloader, storage deps.)
  * yast2-installation (Add-Ons, Workflow logic)

Installed system (second stage) would contain:
  * yast2-installation
  (optionally yast2-installation-initial, of course)

Anyway, I see a big problem when inst-sys practically ignores the dependencies and we have to define what is needed manually. Is there any possibility for automation?
Comment 8 Andreas Jaeger 2007-02-12 13:26:41 UTC
I have no good idea - perhaps you like to discuss this on the yast mailing lists.
Comment 9 Lukas Ocilka 2007-02-12 16:44:01 UTC
OK, problem solved. For the first implementation, yast2-installation will:
  * require only packages that are really needed for the second stage
  * recommend packages that are defined by the workflow
  * ignore required packages for the first stage (fulfilled by inst-sys)

This will solve the problem with dependencies, problem with too many YCP scripts installed in the system can be ignored, 256 kB is nothing.

There is no need to split yast2-installation (thx Jsrain) to more packages, the only quite-needed splitting would be Add-Ons.
Comment 10 Lukas Ocilka 2007-02-15 16:18:48 UTC
Implemented in yast2-installation-2.15.9

Splitting Add-Ons to a separate YaST module might be possible in some next step.
Comment 11 Andreas Jaeger 2007-02-28 09:35:00 UTC
We now have Bug 249679: The first stage really needs yast2-bootloader - in the chroot environment :-(.

So, what shall we do?  Should we revert this?  Or do you have some good ideas?
Comment 12 Lukas Ocilka 2007-02-28 09:54:48 UTC
First stage? that's OK, First stage is covered by the inst-sys, isn't it?
snwint: is yast2-bootloader in inst-sys?
Comment 13 Andreas Jaeger 2007-02-28 10:00:23 UTC
That's the trap we all fail in.  yast2-bootloader is used in first stage but run from the chroot :-(.  Perhaps we might not need everything from the package - but we need it...
Comment 14 Lukas Ocilka 2007-02-28 10:01:04 UTC
Ah, Stano told me that the problem might be because we:
- Switch to the installed system (chroot)
- Write bootloader settings in chroot

Maybe we just need some library, binary, whatever...
Comment 15 Lukas Ocilka 2007-02-28 10:03:00 UTC
Let's close this bug as fixed.
Because many other changes than only "yast2-bootloader" were made.

And let's solve this issue in bug 249679 instead.