[F8/multilib] {,/usr}/{,s}bin64 (was: Split libperl from perl)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 25, 2007 at 06:49:39AM +0200, Ralf Corsepius wrote:
> On Tue, 2007-04-24 at 17:19 +0200, Axel Thimm wrote:
> > On Tue, Apr 24, 2007 at 03:04:23PM +0200, Ralf Corsepius wrote:
> > > > Also things like pkg-config for example will still look under 
> > > > /usr/lib64/pkgconfig even when run with/through setarch i386.
> > > Right pkg-config is an issue of its own. It lacks multilib support.
> > 
> > Which may be another side-effect fixed by using bin and bin64,

> Well this would work-around some packaging issues, and some of the
> issues pkg-config has with building native binaries on multilib'ed
> systems, but it would not help the actual issue pkgconfig has with
> multilibs.

The idea it to never let the i386 and x86_64 world collide
anymore. Different pkgconfigs in different paths (even iof making
pkgconfig multilib would be trivial, we want all part of the toolset
to become "multilib", so we go a level higher and solve it for all
simultaneously).

> > Clean separation of archs.

> This is run-time separation, trying to map link-time separation into
> run-time separation. This works as long as the number of multilibs is
> small, but becomes very unhandy, when using pkg-config for systems which
> have many multilibs (such as many embedded systems).

No, this design includes separation at build-time.

The default setup is to use x86_64 bits. Pruning the (s)bin64 parts
out of the path you get a pure i386 system (with annoying lib64
folders, see below).

So, if the packages never conflict filewise (e.g. separate bin{,64} in
addition to the current separate lib{,64} and identical-to-the-mtime
/usr/include, /usr/share etc), you get two rather cleanly separated
systems. Use case:

make_i386() {
  export SAVEPATH="$PATH"
  export PATH=`echo $PATH | sed -e's,[^:]*bin64[^:]*,,g' -e's,::*,:,g' -e's,^:,,' -e's,:$,,'`
  setarch i386
}

make_x86_64() {
  ...
}

tar -zpxf foo-1.2.3.tar.bz2
./configure; make
make install
make distclean
make_i386
./configure; make
make install

Detection of /usr/lib64 on the pure i386 subsystem will
(unfortunately) still be successful (as it is now anyway), but
otherwise the whole toolchain will have switched. Give make_i386 and
make_x86_64 sensible names and perhaps a better implementation and
embed them into /etc/profile.d/*.{c}sh and ready you are.
-- 
Axel.Thimm at ATrpms.net

Attachment: pgpwZstOaqAZu.pgp
Description: PGP signature

--
Fedora-maintainers mailing list
Fedora-maintainers@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-maintainers
--
Fedora-maintainers-readonly mailing list
Fedora-maintainers-readonly@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-maintainers-readonly

[Index of Archives]     [Fedora Users]     [Fedora Development]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux