[arch-dev-public] The core of Arch Linux - repo reorganization
Pierre Schmitz
pierre at archlinux.de
Tue Jul 10 18:38:29 EDT 2007
Hi all,
reading the last dev meeting log I realized that we need a clean concept to
organize our package repositories.
The problem:
We have two official repositories: [current] and [extra]. Historically
[current] should fit on a cd-r and includes packages preferred by Judd (and
maybe some other "early" devs). [extra] should include everything else.
Today nobody really know why a package is in current or extra. In addition to
this we have some dependencies from current into extra and some non-free
packages in current. This makes distribution on a cd/dvd quite difficult.
Any last but not least: There is no easy way to install packages from a cd
after the system is set up. So I do not think we need to worry about cd-r
size.
The solution:
Imho the only solution is to drop those repos and set up new ones with a clear
definition what should be included. This is only a fist proposal. A concrete
package list has to be worked out later.
[core]
This repo will include those packages which have to be installed on every
arch system regardless if its a server, workstation or notebook. This
category will be similar (but not the same) as the current base category.
It should contain all packages that are needed for a basic installation and
it should be able to connect to the internet. (including all networking
modules, ssh etc.)
Furthermore it must include all tools and libs that are needed to rebuild and
maintain the repo. So we need gcc, abs, csup, devtools etc. in [core]
[core] should have some stricter policy when someone wants to update, add or
delete packages. Major updates should pass a set of tests first. Minor and
security updates could pass immediately. Addition or Deleting of packages
should be discussed on ml before.
And of course this repo should not depend on anything else (including
makedepends)
[extra]
Everything else (like xorg, KDE etc.) will go into a "new" [extra] repo. This
will be like the extra repo we currently have. But I would recommend the
following policies:
* only include "stable" software (meaning no alpha, beta, svn, git etc.
branches). We should use [unstable] for those.
* packages which are only used by very few users might be moved to
[community] (see package cleanup)
[non-free]
As mentioned above it would be a good idea to move all non-free packages to a
separate repo. This way we wouldn`t have any problems with distributing
core+extra on a dvd.
Of course no other package from any other repo should depend on one from
non-free.
[testing] and [unstable] are special and imho they don`t need further
discussion. ;-)
Step by step:
1) decide which packages should be in the [core] repo
(check dependencies etc.)
2) move everything else into extra
3) cleanup extra; move packages into non-free, community or even aur
4) make sure there are no broken dependencies (including makedepends). It
should look like this:
[core] <- [extra]
^----------^----[non-free]
^----------^----[unstable]
^----------^----[community]
Ok this is only a first proof of concept and a lot of work has to be done; bu
what do you think of this idea?
Pierre
--
archlinux.de
More information about the arch-dev-public
mailing list