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

Mapping files to archives and components



Hi,

I started to work on my Summer of Code project to add multi-archive
support to dak[SoC].  One of the needed changes for this is to keep
track of which files belong the which archive (and which components).

As we eventually want to allow copying between archives (so that a
transition can be staged in a different area and then moved to
unstable), files with the same name must not differ between archives,
but the same file can be located in multiple locations.  This is not yet
supported: the "files" table references a single "location" via the
column "location".  The location then indicates which "component" and
"archive" it belongs to (the latter is not used yet).

I want to get rid of the location table and instead introduce a
"files_archive_map" which has an entry for each archive the file belongs
to.  The question is where to track which "component" the file is
located in:

Can the same file exist in different locations for different archives?
This can happen when using components in a similar way as e.g.
mozilla.debian.net does.  We don't plan to use them that way in the
official archive, but dak could support it.

Can the same file exist in multiple locations in the same archive?  We
have seen this with packages moving from non-free to main when only
debian/copyright was changed.  It does not work well with the current
implementation.

I believe it would not make a large difference to allow both of these in
dak when the "component" is moved to the "files_archive_map".  The
alternative is moving them directly to "files".

Any thoughts?

Ansgar

[SoC]
<http://wiki.debian.org/SummerOfCode2012/StudentApplications/AnsgarBurchardt>


Reply to: