logo       

Re: [ANNOUNCE] package inheritance in trunk (for 7.0.0): msg#00019

t2.devel

Subject: Re: [ANNOUNCE] package inheritance in trunk (for 7.0.0)

Hi all,

as the inheritance / overlay code was received well in the community
(IRC, et al.) and our clients, support was finalized to properly download
the associated overlayed / inherited files (formerly we injected the
files into download/... for testing).

This also reduced some duplicate lines of code in scripts/Download.

Please let us know if someone sees a regression in this area!

Have fun,

On Tuesday 30 January 2007 19:23:08 Rene Rebe wrote:
> Hi all,
>
> a feature wanted for some time is to let the architecture, but more
> important to most of you, the target redefine a package completely.
>
> This is usually the case when a compiler is only available for a
> special GCC release (or maybe even so new to be a GCC trunk
> snapshot or new patch) or when special requirements lie in the
> target applicatinos. E.g. a "commercial" target might require a
> specific PHP, Pyhton, MySQL and so on version to function
> correctly Or the manufactor wants to be on "the-safe-side" and
> run a deliably slightly older (e.g. known good / certified) version
> (of MySQL or the linux kernel).
>
> Up to yesterday it was possible to apply custom configuration or
> patches thru the target/$target/pkg_$pkg_{pre,post}.conf and
> target/$target/pkg_$pkg.patch. But it was not possible to use
> a totally different version.
>
> _This changed today:_
>
> It is now possible to have a seperate package tree in architectures/
> and targets/ and do everything there that can be done from inside
> the package/.
>
> Namely: define a totally different package, including the version!
>
> To do so, you just create a architecture/arm/package/gcc/gcc.desc
> with the version set to a GCC prior to the EABI transition or define a
> specific MySQL version in target/google/packages/mysql/mysql.desc.
>
> The semantic:
>
> * the .desc inherits everything from the main-tree package/, so
> it is enough to just have [V] and [D] in this overlay .desc.
>
> * the .conf is inherited by default, If you want another or empty
> one create it in this overlay package. To inherit parts you manualy
> source the orig file (source or . operator) and redefine what you
> need (e.g. single functions):
>
> # inheritc the usual, default code-flow
> [ -e $base/package/*/$pkg/$pkg.conf ] && . $base/package/*/$pkg/$pkg.conf
>
> * patches are not inherited (because with differing versions they usually
> do not apply anyway. If you want the original patches, just quickly fill
> the list:
>
> var_append patchfiles ' ' "ls $base/package/*/$pkg/*.patch"
>
> We all hope this is a major improvements and helps all T2 users
> to implement their needs.

--
René Rebe - ExactCODE GmbH - Europe, Germany, Berlin
http://exactcode.de | http://t2-project.org | http://rene.rebe.name

-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
lists@xxxxxxxxxxxxxx with a subject of: unsubscribe t2
<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise