Bug 28756 - installing "minimal" system is now > 700MB
Summary: installing "minimal" system is now > 700MB
Status: NEW
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: Mageia 9
Assignee: Base system maintainers
QA Contact:
URL:
Whiteboard: MGA8TOO
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-10 11:45 CEST by AL13N
Modified: 2021-04-20 21:20 CEST (History)
3 users (show)

See Also:
Source RPM:
CVE:
Status comment:


Attachments
output of urpmi --debug --no-recommends (88.52 KB, text/plain)
2021-04-10 11:48 CEST, AL13N
Details

Description AL13N 2021-04-10 11:45:41 CEST
I did:

urpmi --urpmi-root /tmp/dst locales-nl urpmi basesystem-minimal vim-enhanced bash-completion openssh-server btrfs-progs kernel-server-latest man grub2 dhcp-client ntp curl --no-recommends --debug

(I'll attach the output so you can look at it)

Basically:
734MB and 309 packages

some weird unexpected results:
 - lib64x... gets in there (for a headless server, it would be great to get rid of it)
 - gcc and stdc++ ? now this is weird? for some reason ncurses is pulling this in? that just sounds like a packaging bug imho
 - glibc seems to require dash.static specifically? i would guess it needs some kind of shell, but dash specifically? seems odd? not impossible, but i guess so...
 - grub2-common seems to require freetype and SDL? imho this could maybe be split up? i mean, for a headless server i don't really need graphics? because SDL will just pull in all the other unnecessary stuff...

Not saying regular installs need to be impacted, but it should kind of be possible to get some sort of minimal install without breaking dependencies?
AL13N 2021-04-10 11:46:10 CEST

See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=26473

Comment 1 AL13N 2021-04-10 11:48:23 CEST
Created attachment 12610 [details]
output of urpmi --debug --no-recommends
Comment 2 Jani Välimaa 2021-04-10 12:21:09 CEST
(In reply to AL13N from comment #0)
>  - grub2-common seems to require freetype and SDL? imho this could maybe be
> split up? i mean, for a headless server i don't really need graphics?
> because SDL will just pull in all the other unnecessary stuff...
> 

This is a packaging bug as grub2-emu and grub2-emu-lite binaries should be splitted out into a separate grub2-emu pkg, but they're also living in grub2-common.

$ urpmf /usr/bin/grub2-emu$
grub2-emu:/usr/bin/grub2-emu
grub2-common:/usr/bin/grub2-emu

$ urpmf /usr/bin/grub2-emu-lite
grub2-emu:/usr/bin/grub2-emu-lite
grub2-common:/usr/bin/grub2-emu-lite

$ ldd /usr/bin/grub2-emu|grep SDL
	libSDL-1.2.so.0 => /lib64/libSDL-1.2.so.0 (0x00007f9aed0c6000)
Comment 3 AL13N 2021-04-10 13:39:08 CEST
(In reply to Jani Välimaa from comment #2)
> This is a packaging bug as grub2-emu and grub2-emu-lite binaries should be
> splitted out into a separate grub2-emu pkg, but they're also living in
> grub2-common.

if there's already a bug report about this, we could use this one as a tracker and link it here

I've been looking into the ncurses gcc thing and i'm scratching my head atm... There is no explicit mention of it anywhere...
Comment 4 Jani Välimaa 2021-04-10 15:25:19 CEST
(In reply to AL13N from comment #3)
> (In reply to Jani Välimaa from comment #2)
> > This is a packaging bug as grub2-emu and grub2-emu-lite binaries should be
> > splitted out into a separate grub2-emu pkg, but they're also living in
> > grub2-common.
> 
> if there's already a bug report about this, we could use this one as a
> tracker and link it here
> 
> I've been looking into the ncurses gcc thing and i'm scratching my head
> atm... There is no explicit mention of it anywhere...

I'd say stop scratching. Splitting out ncurses c++ libs libncurses++.so.6 or libncurses++w.so.6 doesn't help at all as we have lots of other pkgs pulling libgcc1 and libstdc++6 in minimal system.

CC: (none) => jani.valimaa

Comment 5 Lewis Smith 2021-04-10 22:14:54 CEST
(In reply to AL13N from comment #0)
>  - gcc and stdc++ ? now this is weird? for some reason ncurses is pulling
> this in? that just sounds like a packaging bug imho
 $ urpmq --requires-recursive ncurses | grep gcc
 libgcc1
but not gcc itself. Maybe you meant this lib, which Jani explains above.

> - glibc seems to require dash.static specifically? i would guess it needs
> some kind of shell, but dash specifically?
I suppose you are saying that if some other shell is included (in your list, bash-completion => bash) then no need for dash. It is true that dash-static is a specific requirement of glibc:
 $ urpmq --whatrequires dash-static
 glibc
 $ urpmq --requires glibc | grep ash
 glibc: /usr/bin/dash.static
 glibc: dash-static[*]

This bug looks more suitable for the dev mailList, one thing at a time rather the whole lot together. What say you?

CC: (none) => lewyssmith

Comment 6 Thomas Backlund 2021-04-10 22:43:48 CEST
dash.static is intentional as we need a statically linked shell so there is always a working shell availabled, even during upgrade of basesytem libs
Comment 7 AL13N 2021-04-11 10:04:10 CEST
(In reply to Thomas Backlund from comment #6)
> dash.static is intentional as we need a statically linked shell so there is
> always a working shell availabled, even during upgrade of basesytem libs

That's definately a good reason.

Ok, I get it now that libgcc1 is not actually needed for compiling c code and it's a smaller library. I'm gonna go try to look and see what packages really increase the size of the installation.

the grub2 thing does kind of look solvable and it'll definately help if all those SDL/GL/X stuff does not need to be required... and that might help to reduce some of this...
Comment 8 Thomas Backlund 2021-04-11 12:12:34 CEST
Jani fixed the grub2 bits in Cauldron.

when grub 2.06 final will be released soon-ish upstream... 
it will be updated in mga8 too to close some security issues.
Comment 9 AL13N 2021-04-11 12:59:52 CEST
I'm gonna try out to find what are the biggest packages that may not be needed and see if we can get this smaller...

Status: NEW => NEEDINFO

Comment 10 Aurelien Oudelet 2021-04-20 11:29:17 CEST
(In reply to Lewis Smith from comment #5)
> This bug looks more suitable for the dev mailList, one thing at a time
> rather the whole lot together. What say you?

Agreed. Not needed in Bugsquad anymore.
Assigning to basesystem

Unsure to add SRPM. grub2 one has a planned upgrade.

Status: NEEDINFO => NEW
CC: (none) => ouaurelien
Version: 8 => Cauldron
Whiteboard: (none) => MGA8TOO
Assignee: bugsquad => basesystem

Aurelien Oudelet 2021-04-20 11:29:23 CEST

Target Milestone: --- => Mageia 9

Comment 11 Neal Gompa 2021-04-20 17:35:23 CEST
This is something I have been working on for the past few Mageia releases. It's been difficult to do, though.

CC: (none) => ngompa13

Lewis Smith 2021-04-20 21:20:42 CEST

CC: lewyssmith => (none)


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