[arch-ports] integration of ports into original archlinux

Jason Chu jason at archlinux.org
Tue Aug 9 00:24:08 EDT 2005

On Mon, Aug 08, 2005 at 05:40:26PM +0200, Alexander Baldeck wrote:
> hey list,
> i am wondering about this quite some time now:
> how will ports be handled by the main archlinux project for i686? as it seems there hasn't been much talk 
> about
> this lately but a while ago Judd moved the repos to a new structure (os/i686) which seems to be a first 
> step. since
> then i haven't heard much.
> now then, i simply want to start another discussion. maybe to find a few things a port has to implement 
> before it
> may be officially mentioned or even why they should not be considered as a part of the official 
> archlinux.

I've also been wondering this.  I've tried to find good solutions to the
problems that I saw, but I never really asked you guys what your methods
are ;o)

So, that's what I'll start with.  Assume that we always want to have an ABS
(basically cvsup) that reflects the current repo's packages.  How do you do
your package updating/building and repo updating?

My thinking was something like this: try to keep all the work in a single
CVS tree, tagging things as CURRENT (as we do for i686), CURRENT-PPC,
CURRENT-amd64, etc, using CARCH to make platform specific changes.  This
way the ports are essentially just modifying the global i686 packages.
Obviously there are some architecture specific changes, but the direction
of the packages is kept consistent over all the ports.

I even wrote a patch for gensync to build repos out of package files only.
This does entail untaring each package to get the meta data though.  But
you don't need matching PKGBUILDs.  One of the reasons to do this was to
add a -$CARCH part to package files
(<pkgname>-<pkgver>-<pkgrel>-$CARCH.pkg.tar.gz); if gensync reads package
information from the package itself, the package can be named anything you

The other option is to have totally seperate trees and let each port manage
their own packages however they please.  Personally, I don't like this way.
There's a lot more duplicated work (because problems have to be fixed
multiple times).  You're essentially implementing your own distro that's
sharing the arch name.  This means that everything can stay the same, but
managing the CVS tree (assuming it's still shared) becomes a real nasty
task (make change for one arch, commit, tag, undo changes for that arch,
make changes for different arch, commit, tag).  It's a very inefficient use
of CVS and sure to lead to lots of mistakes in the long run.

Anyway, I'm curious to hear your input on how you do stuff and which
changes you'd prefer.  The discussion has happened between the developers,
but now it's out on the arch-ports list.

About port acceptance, I have no idea.  I was thinking we'd wait till the
other ports were managed by pacbuild, but things are moving forward slowly
(though they actually are moving forward!).  Suggestions there too?


If you understand, things are just as they are.  If you do not understand,
things are just as they are.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://archlinux.org/pipermail/arch-ports/attachments/20050809/ea31dfb0/attachment.pgp>

More information about the arch-ports mailing list