Bug 371 - split out drakxtools-bootloader else installing kernel pulls in XFdrake/urpmi
Summary: split out drakxtools-bootloader else installing kernel pulls in XFdrake/urpmi
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: i586 Linux
Priority: Normal enhancement
Target Milestone: ---
Assignee: Thierry Vignaud
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 609
  Show dependency treegraph
 
Reported: 2011-03-14 22:45 CET by AL13N
Modified: 2011-09-21 17:36 CEST (History)
3 users (show)

See Also:
Source RPM: bootloader-utils
CVE:
Status comment:


Attachments

Description AL13N 2011-03-14 22:45:00 CET
Description of problem:

I would like bootloader-utils to be changed to make drakxtools-backend a suggests instead of a requires.

Reproducible: 

Steps to Reproduce:
Ahmad Samir 2011-03-15 03:27:42 CET

CC: (none) => pterjan, thierry.vignaud

Comment 1 Pascal Terjan 2011-03-15 08:21:34 CET
Well, then your kernel would not be added to bootloader (and initrd not created)

Why would you want that ?
Comment 2 AL13N 2011-03-15 20:16:17 CET
Is drakxtools-backend necessary to execute mkinitrd?

since this is a chrooted install, grub hasn't been set up with draktools, so it doesn't recognize the format anyway.

thing is, when installing a kernel, it pulls an enormous amount of packages, including drakxtools-backend en drakxtools-net and more

it just seems a bit excessive...
Comment 3 Pascal Terjan 2011-03-15 20:34:26 CET
/sbin/installkernel (in bootloader-utils) calls bootloader-config (in drakxtools-backend) which creates initrd and setups bootloader

drakxtools-backend is not supposed to bring that many stuff:

$ rpm -q --requires drakxtools-backend
dmidecode  
perl-File-FnMatch  
perl-String-ShellQuote  
perl-MDK-Common >= 1.2.13
/bin/sh  
/bin/sh  
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
perl-base  
libc.so.6  
libc.so.6(GLIBC_2.0)  
libc.so.6(GLIBC_2.1)  
libc.so.6(GLIBC_2.1.3)  
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)  
libldetect.so.0.11  
libparted.so.0  
rtld(GNU_HASH)  
perl(Config)  
perl(Data::Dumper)  
perl(DynaLoader)  
perl(Exporter)  
perl(Getopt::Long)  
perl(MDK::Common)  
perl(MDK::Common::Func)  
perl(POSIX)  
perl(String::ShellQuote)  
perl(Xconfig::resolution_and_depth)  
rpmlib(PayloadIsLzma) <= 4.4.6-1
Comment 4 AL13N 2011-03-15 22:26:06 CET
i'm going to investigate this some more
Comment 5 AL13N 2011-08-24 21:21:30 CEST
what i'm trying to do is work with NFS boot, as small as possible...

after base-system-minimal, i wanted to get a kernel and an initrd to pass directly for the PXE boot.


1. creating chroot

mkdir -p /chroot/1 ; urpmi.addmedia --urpmi-root /chroot/1 --distrib http://127.0.0.1/mageia/distrib/1/x86_64 ; urpmi --auto --no-suggests --urpmi-root /chroot/1/ basesystem-minimal locales-en

2. urpmi --no-suggests --urpmi-root /chroot/1/ drakxtools-backend

apparently it comes down to 77MB of extra space in 56 packages.

i can understand it's a bit in the core of things, but if bootloader-utils only requires bootloader-config and bootloader-config doesn't require anything from drakxtools-backend (it didn't seem to at first glance), why don't I split it off in it's own package? so that i can suggest it instead of require it? it would seem to save a lot on the minimal disk size.

looking at it logically, it seems adverse to actually need drakxtools when you just want a kernel or even bootloaders-utils.
Comment 6 Thomas Backlund 2011-08-25 12:09:53 CEST
bootloader-utils used to be standalone, but then the kernel installer code got merged/shared with the rest of the installer code to simplify the maintenance.

Feel free to suggest a patch on how to split this up without breaking the installer.

CC: (none) => tmb

Comment 7 AL13N 2011-08-25 20:27:33 CEST
well, bootloader-config doesn't seem to use anything else from drakxtools-backend, afaics; but there could always be some less obvious uses, that i can't see.

my idea is to split off bootloader-config into drakxtools-bootloader, and put a requiremement from drakxtools-backend to drakxtools-bootloader and a requires from bootloader-utils to drakxtools-bootloader instead of drakxtools-backend. then a suggests from drakxtools-bootloader to drakxtools-backend (if wanted).

the problem is, that i _think_ it's ok like this. but i didn't write the code, so i'm not 100% sure about it.

i'll gladly split it up like this, if only someone who knows this code can doublecheck.
Comment 8 Thierry Vignaud 2011-09-16 11:06:05 CEST
We bloat the minimal system this way:
kernel > bootloader-utils > drakxtools-backend > drakx-kbd-mouse-x11 > drakxtools-curses > urpmi


We could indeed split off drakxtools-bootloader that would be required by both drakxtools-backend & bootloader-utils
We could also split libdrakx-kbd-mouse-x11 like we do for libdrakxnet in order to further break the require loop
=> harddrake{,-ui} would require drakx-kbd-mouse-x11

Assignee: bugsquad => thierry.vignaud
Summary: installing kernel pulls in drakxtools-backend (via bootloader-utils) => split out drakxtools-bootloader else installing kernel pulls in XFdrake/urpmi

Comment 9 Thierry Vignaud 2011-09-16 11:29:14 CEST
Hum, spliting drakxtools-bootloader would split too many things since bootloader.pm depends on too many things.

I think I'll split libdrakx-kbd-mouse-x11 instead
That would still save us drakxtools-curses, urpmi, monitor-edid, usermode-consoleonly
drakconf & harddrake will still require the full drakx-kbd-mouse-x11
Comment 10 AL13N 2011-09-16 17:01:07 CEST
i would split off only bootloader-config, afaict not much depends on this? is this a good idea?
Comment 11 Pascal Terjan 2011-09-16 17:08:12 CEST
As Thierry said bootloader-config uses bootloader.pm, which is also used by many things.
So you would need to have one package for bootloader.pm, required both by bootloader-config and other stuff.
Comment 12 Thierry Vignaud 2011-09-16 18:13:39 CEST
As I said, bootloader.pm depends on nearly all core modules of drakxtools-backend, so spliting cannot be done
Comment 13 AL13N 2011-09-16 21:18:32 CEST
ah, i missed the part of bootloader-config depending on bootloader.pm

perhaps the part of bootloader-config being used by kernel, isn't delving too deep into bootloader.pm and it can be somehow split up a bit?

i'm guessing that's more than a little split effort-wise...?
Comment 14 Thierry Vignaud 2011-09-17 21:31:30 CEST
Just fixed in drakx-kbd-mouse-x11-0.97-4.mga2

Status: NEW => RESOLVED
Resolution: (none) => FIXED

Thierry Vignaud 2011-09-21 17:36:21 CEST

Blocks: (none) => 609


Note You need to log in before you can comment on or make changes to this bug.