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 want. 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? Jason -- If you understand, things are just as they are. If you do not understand, things are just as they are.