On Mon, Apr 09, 2007 at 08:23:56PM -0400, Dan McGee wrote:
On 4/9/07, Jason Chu <jason@archlinux.org> wrote:
On Mon, Apr 09, 2007 at 11:44:20PM +0100, Andrew Fyfe wrote:
Is it worth adding something like arch=(NOARCH) for packages that are arch neutral (ie they only contain text files, scripts...) so we don't have 2 identical packages for i686 and x86_64.
Andrew
There's been talk of this. I think it's a good idea. Apparently codemac thinks it's a bad idea.
When I talked to phrakture about it a while back, his issue IIRC was that it's an arbitrary name and one day there might be a NOARCH architecture that we have to support... or something like that.
Jason
This is one of those ideas that the devil is in the details. I was thinking something like this a while back: arch=('all')
Which would allow it to always be built, irregardless of the host type ^^^^^^^^^^^^ You probably mean regardless...
http://dictionary.reference.com/browse/irregardless
of the machine. This would only require reserving one keyword, "all".
However, what does this allow us to do? Build a package called foo-1.0-1-all.pkg.tar.gz? I believe sync DB's can store the filename of the package, so this would work. However, unless we get rid of seperate directories for each architecture, this doesn't do much for us, besides save build time (which pacbuild will negate much of).
It saves us having to build the same package for N architectures when they all come out nearly identical. This saves time on the build machines (pacbuild and/or developer) and disk space on the mirrors. The more architectures we support, the more times we'll have to build the same package over and over.
In addition, I think hardcoding somewhere that 'all' means 'i686' and 'x86_64' is a terrible idea, as this ruins the idea of making adding architectures easy. We can't ever have a list of 'all' architectures.
Where would 'all' have to be "resolved"? What I mean to say is, in what places would you have to say "I have an 'all' package, which means that it's also valid for my architecture"? Or even better, when do we say, "what architectures can I install this package on?" Usually you go from architecture and look for stuff (pacman -S) or go from architecture to build (makepkg). Regarding having a list of 'all' architectures, we don't really need that. What architectures is 'all' not supported on? There's no list because 'all' is every supported architecture.
I guess I don't know exactly what it gains us by having an 'all', but if you can come up with a few scenarios, let me (and the list) know.
Jason