2008/1/23, Mark Constable <[EMAIL PROTECTED]>:
> On 23 Jan 2008 23:23, Roman Kyrylych wrote:
> > Things that work now:
> > * makepkg support to understand arch=('any') and build a package correctly
> > * repo-add/repo-remove work too, so you can create a db with them and
> > test how pacman installs those packages.
> > * pacman should pring 'Architecture: any' on -Si/-Qi
> > Note that repo-add/repo-remove and pacman didn't require a single
> > change to support '-any' packages, that's because they don't care
> > about packages' architecture.
>
> Right, so they are arch agnostic, cool.
>
> > Packages produced from PKGBUILD with arch=('any') are _excactly_ same
> > when built on either i686 or x86_64 or even unofficial 'i586' and
> > 'ppc' (when built with makepkg >= 3.0).
> > (They can differ only by build timestamp)
> >
> > Right now, '-any' packages cannot be used in AUR and official repos yet.
> > You may use them for your own local repo for arch-independent packages
> > if you have both i686 and x86_64 installed.
>
> Why the requirement for both "i686 and x86_64 installed" ?It's not a requirement, of course. IMO that just don't make much difference to change arch=() in every arch-indepent package you build from AUR if you use only one arch. > > > Be sure to add '-any' to both i686 and x86_64 localrepo.db.tar.gz > > files when updating your repo db. > > I know this is not the right way to do it but it's a first > attempt to get a feel for how to do it properly... I have > built an -any package and uploaded it into it's own area > with it's own [repo] stanza and successfully added that > same package to both an i686 and x86_64 system. I could not > do this pre v3 pacman with i868 or x86_64 in the filename. > > What I am unsure of is, in this example, how to add the > -any package to both 32bit and 64bit *.db.tar.gz files so > that the -any package, in a different area, can still be > downloaded... ie; will relative paths work ? Symlinks (or maybe hardlinks) Example: /mylocalrepo/any/foobar-1.0-1-any.pkg.tar.gz <- the real file /mylocalrepo/i686/foobar-1.0-1-any.pkg.tar.gz -> ../any/foobar-1.0-1-any.pkg.tar.gz /mylocalrepo/x86_64/foobar-1.0-1-any.pkg.tar.gz -> ../any/foobar-1.0-1-any.pkg.tar.gz Then you just do 'repo-add mylocalrepo.db.tar.gz *' in i686 and x86_64 trees. > > I've added this to my /etc/pacman.conf, uncommenting the > appropriate arch on either machine... > > [proaudio-any] > Server = http://pkg.markconstable.com/proaudio/any > > #[proaudio-i32] > #Server = http://pkg.markconstable.com/proaudio/i32 > > #[proaudio-i64] > #Server = http://pkg.markconstable.com/proaudio/i64 This looks a bit ugly on users side and doubles the number of repositories. Besides, Pacman keeps track of groups only in one repo, so when you do pacman -Sg gnome-extra you'll get one list of packages in extra and then another list of packages in extra-any (e.g. gnome-audio) Moreover, if you have testing repo at the end and want to test some new package - you do -S testing/pkgname but now with *-any repos you'll have to remember if that package arch-dependent or not. To summarize - while it seems easier on server side - it just brings more problems and no benefit on users side. -- Roman Kyrylych (Роман Кирилич)

