Re: Default Groups, Default Packages, CD Sets and DVD Size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jesse Keating wrote:
On Mon, 2008-08-11 at 17:40 +0200, Jeroen van Meeuwen wrote:
However, the default installation requires all 7 CDs, because of how the compose tools resolve dependencies (inclusive) during the compose of the media, and pull in more then is minimally required to complete the actual transaction of a default installation. The compose tools do so for good reason:

- one cannot know what package is the user-preferred package for any given required capability (eg. for fictive capability 'web-client', there's firefox, iceweasel, elinks, wget, curl, emacs, emacs, emacs, foo, bar and baz)

- one cannot predict on what installed system one is performing an upgrade, and to be able to close the transaction certain considerations must be met justifying the need for inclusive dependency resolving when composing the media (set) or installation tree.

- it makes the released media apply to N+X use-cases where the package set or transaction payload during the installation is controlled in a more granular fashion then the selection dialogs allow (by means of a kickstart package manifest maybe?), which I guess applies more to businesses or advanced users using Fedora then it does to Joe Average users.

Basically what I'm saying is that the 2.88 GB is spread over more then the minimal amount of discs it would fit on, since the complete package payload when using inclusive dependency resolving grows to 3.66 GB, or 7 discs. So, the compose process spits out 7 discs, each of which contain a part of the 2.88 GB sized RPM payload needed for a default installation.

I've been playing a bit in this area, and noticed that if I make one
small change to pkgorder, at least on i386, a default 'next next next'
install based on a compose done with the Fedora config and it only needs
the first 3 media.  This isn't bad really, given the growth of the
distro.


I'm extremely curious what the change is as I've been digging through this for hours.

== Next Generation of Package Ordering ==

So, what package ordering is going to do -instead of having a static list of groups to add to a transaction, resolve, spit out the packages- is use the "default" parameter to groups in comps.xml as well (and then instead of exclusive dependency resolving like it does now, move to inclusive dependency resolving as well). This makes the "which packages and groups are in a default installation" a little less hard to maintain and the package ordering will almost automagically match up with comps.xml (of which the installation procedure also uses the default parameter to groups!)

Hrm, I hadn't thought about applying inclusive depsolving (or
depresolving as I call it) here.  That could have some interesting
effects and warrants some investigation.


I've done this investigation and I found the following:

Put to extremes, just to get the point across without nitpicking percentages, in principle the inclusive dependency resolving during package ordering results in a "tighter" set of packages on, say, disc 1-3, including the packages not used by a default install, but potentially used by a relatively large number of non-default installs and upgrades, whereas using exclusive dependency resolving during package ordering supposedly stuffs the default install onto a minimal number of discs (say, 1 & 2), but you might need disc 5, 6 & 7 if you make a small change in what is going to be installed.

== Advise needed ==

There's several ways this can be solved, but I'm not sure what is the most advisable (some are not feasible I'm sure, I'm just brainstorming here):

1) reduce the number of mandatory and default packages per group in comps.xml

This is a great start, something that hasn't really been done outside of
core/base recently that I'm aware of.

2) reduce the number of groups in comps.xml that have "default" set to True

This one is going to be a bit tougher to get people to agree upon I'd
imagine, but I'm willing to give it a go.


Do we know, per group or overall, who can do this?

3) Revisit how comps is formatted; Example: Keep the "default" for compose decisions, but add an "install" attribute for installation decision making. Install set to True may require default set to True as well for the group to even be included on the media.

What exactly does this accomplish?


Having "defaults" included on the media but having "installs" being selected by the installation procedure so that the compose process can put them on the first few discs. Does that make sense? It still requires reducing the groups installed by default though.

4) Split the packages that are mandatory or default in comps groups, into smaller packages providing what the group needs and another set of smaller packages belonging to the group as to reduce the number of dependencies needing to be met when the compose or installation procedure selects a group. See also PS2.

5) Or, compared to 4, revisit the Requires in mandatory and default packages and the Provides in the packages that provide the required capabilities so that it abstracts from the requires/provides matching with too many other packages (related to the inclusive dependency resolving which will then make for a thinner RPM payload on the composed media)

This is probably a more interesting case, something that we want to do
for folks like OLPC as well.

6) Have the compose tools as well as the installation procedures not depend on the default attribute to groups anymore, at all.

What does this accomplish?


Not so much it'd sorta obsolete the default attribute (iirc the compose/ordering/install is the very purpose of the default attr. isn't it?).

-Jeroen

--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux