trimming down Fedora installed size

Stephen Gallagher sgallagh at redhat.com
Wed Apr 9 15:23:16 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/09/2014 08:42 AM, Florian Festi wrote:
> On 04/09/2014 01:50 PM, Stephen Gallagher wrote:
>> On 04/09/2014 07:23 AM, "Jóhann B. Guðmundsson" wrote:
>> 
>>> On 04/09/2014 07:33 AM, Marius A wrote:
>>>> 
>>>> Are there any other disk space saving tips?
>> 
>>> Users should not have to result doing disk saving tips.
>> 
>>> I would say in the long run we should be working towards
>>> creating separated locale,doc,man packages
>> 
>> Hmm, I wonder if RPM 4.12 would allow us to do this with weak 
>> dependencies?
>> 
>> Perhaps something like having a metapackage on the system for
>> docs and one for each language. Then we could break up the doc
>> and language packages into sub-packages that are installed
>> conditionally on the presence of that metapackage on the system.
>> 
>> Of course, I think there would still be work needed in RPM to
>> support adding a language later, but maybe we could solve that
>> with special tooling or a yum plugin.
> 
> Yes, this is one of the reasons we go for more expressive relations
> in RPM. You already very closely describe what I have in mind.
> 
> There are basically two possible ways of making the distribution
> more flexible in the future:
> 
> 1) Normal weak dependencies. In a normal install all the docs (and
> all other bells and whistles) get installed by default. You can 
> remove/deselect packages which are pulled in by weak dependencies.
> You can even switch off all weak dependencies to only get the core
> packages.
> 
> 2) Rich dependencies. Doc and language packages can be build as 
> "bridging" packages that are only installed if two other packages
> are present. This can be done by adding e.g.
> 
> Recommends: foo-langpack-hu if langsupport-hu
> 
> to package foo or
> 
> Supplements: foo and langsupport-hu


This construct would be extremely valuable to the SSSD as well:

%package -n client
Recommends: sssd-client.i686 if glibc.i686



> 
> to the foo-langpack-hu package. Similar things can be done for docs
> or any other set of packages that should be controlled by a single
> "switch" package.
> 
> The nice thing about this is that no additional tooling is needed. 
> Installing foo will automatically install the lang packs for all 
> installed languages and installing a new langsupport package will 
> install the langpacks for all installed packages.
> 



The second half of this statement is the exciting part to me.

It's pretty easy to install a language at package-install time, but in
order to add the language subpackages for all installed packages on
the system if the new langsupport package comes in will mean
re-processing all of the dependencies on the installed packages.
Probably very slow, but certainly valuable.

> The plan is to get all pieces for 1) into F21. So it could already
> be used for F22. I will try to get 2) ready in this time frame,
> too, but the bets are still open.
> 

This would be fantastic, now we just need the FPC to agree. Might be
worth filing an FPC bug or two now for them to debate before pushing
too hard here.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlNFZeQACgkQeiVVYja6o6Nv7ACgom5qypruoq68WLtnFqLydelm
ykkAn21vSW53VnMypMNz+amO9AaTfKrl
=CKpf
-----END PGP SIGNATURE-----


More information about the devel mailing list