Soyuz/Specs/PackagesetsAndDistroseries/OriginalAnalysis

Not logged in - Log In / Register

Associating package sets and distro series

One of the requirements for associating package sets and distro series is that there is a historical record of what package sets existed in the context of a particular distro series and of their properties (e.g. what source packages they included).

In order to satisfy that requirement we could e.g.

Some of the consequences of associating package sets and distro series are as follows:

The following is the list of possible solutions we discussed so far.

Shared nothing

The 'packageset' table will be extended to have a 'distroseries' foreign key (NOT NULL). Package set names will only be unique within the context of a /single/ distro series as opposed to being globally unique.

Package sets and the archive permissions defined for them will only be applicable within the context of a /single/ distro series (i.e. one distro series to many package sets).

When a new distro series (ds-N+1) is created, copies of all package sets and of all archive permissions that exist in the current distro series (ds-N) will be made (initialise-from-parent?) and associated with ds-N+1.

Advantages

Disadvantages

Copy on write

Package sets are shared across multiple distro series (i.e. many distro series to many package sets) and the association is effected via a 'distroseries2packageset' link table where every row holds a distro series and a package set key respectively.

When a new distro series (ds-N+1) is created, all package sets already associated with the current distro series ds-N will have rows inserted into the 'distroseries2packageset' link table also associating them with ds-N+1.

The attempt to modify a shared (associated with 2 or more distro series) package set ps-X or some of its archive permissions in distro series ds-Z would

All modifying IPackageset, IPackagesetSet, IArchivePermission, IArchivePermissionSet interface methods would need to be revised to perform the copy-on-write check.

Advantages

Disadvantages

Poor man's copy on write

Like the above "Copy on write" solution but no /automated/ package set cloning.

Instead we

Open questions

Soyuz/Specs/PackagesetsAndDistroseries/OriginalAnalysis (last edited 2009-10-13 12:03:53 by al-maisan)