ltib
[Top][All Lists]
Advanced

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

Re: [Ltib] how to support more than one version of a package?


From: Stuart Hughes
Subject: Re: [Ltib] how to support more than one version of a package?
Date: Thu, 18 Dec 2008 15:07:02 +0000

On Thu, 2008-12-18 at 09:11 -0500, Robert P. J. Day wrote:
> On Thu, 18 Dec 2008, Robert P. J. Day wrote:
> 
> >
> >   is it possible to select (at build time) the version of the package
> > you want to include?  in the ltib build i'm working with, as an
> > example, the dist/lfs-5.1/zlib/ directory has two spec files:
> >
> >   * zlib.spec (which corresponds to 1.1.4), and
> >   * zlib-1.2.3.spec
> >
> > this is clearly a local modification.  but if my config file selects
> > simply zlib, which one is picked?
> >
> > rday
> > --
> 
>   oh, wait, i just stumbled across a file called "pkg_map" which
> appears to map package names to explicit version numbers, but zlib is
> not one of the packages listed.  so does pkg_map actually perform this
> kind of version selection?  and still an open question -- if a package
> isn't listed there, what happens?
> 

config/userspace/pkg_map is used to define the build order the packages,
and also to map the package key in the config system to an actual spec
file name.

Normally all BSPs should try to use the same spec file (the ones without
a version in it, kernel/u-boot excepted).  The idea is that the
user-space part of LTIB is common to all platforms and so we can
leverage testing/bug fixing.

However, if some BSP developer absolutely must have an exception (there
are a few cases, but this is discouraged), then they're allowed to have
a platform specific pkg_map, which is allowed to override the spec file
mapping (but not the build order).  This pkg_map can also include other
mappings from config/userspace/...

To take an example, if you look at config/platform/imx31ads/pkg_map
You'll see it has:

source = pkg_map-mx
PKG_GST_FSLV4LSINK               = gst-fslv4lsink

The source say load the file config/userspace/pkg_map-mx, which has:
PKG_GDB = gdb-6.6
PKG_MXC_LIB = mxc-lib-mx
PKG_MXC_TEST = mxc-test-mx
PKG_QTOPIA = qtopia-tslib
PKG_SKELL = skell-mx
PKG_SYSCONFIG = sysconfig-mx
PKG_UDEV = udev-mx

These override the general case and add some mx only mappings.

If a package is not in the main pkg_map, it will be built near the end
of the build sequence.  If it is not in any package map, then you can
only build it by giving the whole specfile name to ltib, for example:
$ ./ltib newpackage.spec
This is useful when you're first adding a package before it's in the
config system.

BTW: zlib is in config/userspace/pkg_map:

PKG_COREUTILS                    = coreutils
PKG_SEQ                          = seq
PKG_ZLIB                         = zlib
PKG_LFS_UTILS                    = lfs-utils

Regards, Stuart












reply via email to

[Prev in Thread] Current Thread [Next in Thread]