[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