logo       

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

t2.devel

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

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.

Yours,

--
René Rebe - ExactCODE GmbH - Europe, Germany, Berlin
http://exactcode.de | http://t2-project.org | http://rene.rebe.name
+49 (0)30 / 255 897 45

-----------------------------------------------------------
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