> Op 28 jan. 2016, om 09:43 heeft Stefan Agner <ste...@agner.ch> het volgende 
> geschreven:
> 
> On 2016-01-28 00:35, Koen Kooi wrote:
>>> Op 27 jan. 2016, om 23:36 heeft Stefan Agner <ste...@agner.ch> het volgende 
>>> geschreven:
>>> 
>>> From: Stefan Agner <stefan.ag...@toradex.com>
>>> 
>>> Several packages are only available in the non-thumb (ARM) feeds.
>>> E.g. tremor (libvorbisdec1) uses ARM_INSTRUCTION_SET = "arm" in its
>>> recipe, and therefor is built only for non-thumb architectures such
>>> as armv7ahf-vfp-neon.
>> 
>> That’s what I suspected, thanks for tracking this down.
>> 
>>> This introduces TUNE_ARMPKGARCH which is TUNE_PKGARCH without the
>>> thumb part (ARMPKGSFX_THUMB). FEED_ARCHS can contain multiple
>>> architectures, and the feed configuration files are generated
>>> accordingly.
>> 
>> This is what distro-feed-configs.bb does as well and it leads to problems:
> 
> Not exactly. The patch only adds one additional arch, the same arch as
> TUNE_PKGARCH, just without the thumb…

Doh, I skipped over the angstrom.inc bits.

> 
>> 
>> 1) it adds all archs, including arch(N-1), arch(N-2), so it will also
>> pick up armv6 in your case and other x86 archs in the x86_64 case. If
>> for some reason you want a newer version of $package for arch(N-1),
>> but not arch(N) this breaks.
>> 2) not all archs have a feed dir, since a lot of them are
>> autogenerated and to be honest, bogus. So users will get 404s.
> 
> As soon as there is one package with ARM_INSTRUCTION_SET = "arm", the
> non thumb arch will be there anyway. And libc is one of the packages
> making use of that, so it is practically guaranteed...
> 
>> 3) extra feed lists on the device which makes opkg slow.
> 
> It seems that you are not building explicitly armv7ahf-vfp-neon platform
> currently. Hence armv7ahf-vfp-neon and armv7at2hf-vfp-neon are
> practically disjoint sets... Hence it's 2 smaller ones vs 1 large
> package file...
> 
>> 
>> Having said all that, how about this:
>> 
>> diff --git a/contrib/sort.sh b/contrib/sort.sh
>> index 8953e4c..12f1718 100755
>> --- a/contrib/sort.sh
>> +++ b/contrib/sort.sh
>> @@ -118,6 +118,10 @@ case "$arch" in
>>        "armv7at2hf-vfp-neon-mx6")
>>                        archdir="armv7ahf-vfp-neon"
>>                        machines="" ;;
>> +       "armv7ahf-vfp-neon")
>> +                       archdir="armv7at2hf-vfp-neon" ;;
>> +       "armv7ahf-vfp")
>> +                       archdir="armv7at2hf-vfp" ;;
>>        "armv7ahfb-vfp-neon")
>>                        machine="genericarmv7ab" ;;
>>        "armv7a-vfp")
>> @@ -128,15 +132,16 @@ case "$arch" in
>>                        archdir="blackfin"
>>                        machines="adsp-bf537-stamp" ;;
>>        "cortexa5t2hf-vfp-neon")
>> -                       archdir="armv7ahf-vfp-neon"
>> +                       archdir="armv7at2hf-vfp-neon"
>>                        machines="" ;;
>>        "cortexa5hf-vfp-neon")
>> -                       archdir="armv7ahf-vfp-neon"
>> +                       archdir="armv7at2hf-vfp-neon"
>>                        machines="" ;;
>>        "cortexa9hf-vfp-neon")
>> +                       archdir="armv7at2hf-vfp-neon"
>>                        machines="" ;;
>>        "cortexa9hf-vfp-neon-mx6")
>> -                       archdir="cortexa9hf-vfp-neon"
>> +                       archdir="armv7at2hf-vfp-neon"
>>                        machine="" ;;
>>        "geode")
>>                        machines="alix geodegx geodelx iei-nanogx-466 xo" ;;
>> 
>> That will sort related bits into a single feed. And on the feedserver
>> we symlink armv7at2hf-vfp-neon -> armv7ahf-vfp-neon and so on. In
>> theory the sort.sh change should be enough, but it is possible to
>> construct a broken MACHINE.conf, so let’s be safe.
> 
> Hm, I see. The server side solution would also have the advantage that
> it solves the issue for all the devices out there immediately.
> 
> It just feels a bit wrong to sort armv7ahf-vfp-neon into
> armv7at2hf-vfp-neon.

I think your patch is the right way to go forward, I’ll think on it some more 
and patch sort.sh to behave according and double check the layout on the 
feedserver. This being release week at work and FOSDEM weekend this will be 
delayed to next week. If anyone wants to look at fixing sort.sh before that, 
please do :)

regards,

Koen

> 
> --
> Stefan
> 
> 
>>> ---
>>> 
>>> conf/distro/include/angstrom.inc                   | 2 ++
>>> recipes-angstrom/angstrom/angstrom-feed-configs.bb | 5 ++++-
>>> 2 files changed, 6 insertions(+), 1 deletion(-)
>>> 
>>> diff --git a/conf/distro/include/angstrom.inc 
>>> b/conf/distro/include/angstrom.inc
>>> index c5f9fab..0b5ea25 100644
>>> --- a/conf/distro/include/angstrom.inc
>>> +++ b/conf/distro/include/angstrom.inc
>>> @@ -21,6 +21,8 @@ ONLINE_PACKAGE_MANAGEMENT = "full"
>>> #Alphabetically sorted
>>> 
>>> FEED_ARCH ?= "${TUNE_PKGARCH}"
>>> +TUNE_ARMPKGARCH = 
>>> "${ARMPKGARCH}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
>>> +FEED_ARCHS ?= "${TUNE_PKGARCH} ${TUNE_ARMPKGARCH}"
>>> 
>>> #blackfin machines
>>> FEED_ARCH_bfin          = "blackfin"
>>> diff --git a/recipes-angstrom/angstrom/angstrom-feed-configs.bb 
>>> b/recipes-angstrom/angstrom/angstrom-feed-configs.bb
>>> index 4b14b2a..e40057a 100644
>>> --- a/recipes-angstrom/angstrom/angstrom-feed-configs.bb
>>> +++ b/recipes-angstrom/angstrom/angstrom-feed-configs.bb
>>> @@ -13,7 +13,10 @@ do_compile() {
>>>     mkdir -p ${S}/${sysconfdir}/opkg
>>> 
>>>     for feed in base debug perl python gstreamer ; do
>>> -             echo "src/gz ${feed} 
>>> ${ANGSTROM_URI}/${FEED_BASEPATH}${FEED_ARCH}/${feed}" > 
>>> ${S}/${sysconfdir}/opkg/${feed}-feed.conf
>>> +           rm ${S}/${sysconfdir}/opkg/${feed}-feed.conf
>>> +           for feed_arch in ${FEED_ARCHS} ; do
>>> +                   echo "src/gz ${feed}-${feed_arch} 
>>> ${ANGSTROM_URI}/${FEED_BASEPATH}${feed_arch}/${feed}" >> 
>>> ${S}/${sysconfdir}/opkg/${feed}-feed.conf
>>> +           done
>>>     done
>>> 
>>>     echo "src/gz ${MACHINE_ARCH} 
>>> ${ANGSTROM_URI}/${FEED_BASEPATH}${FEED_ARCH}/machine/${MACHINE_ARCH}" >  
>>> ${S}/${sysconfdir}/opkg/${MACHINE_ARCH}-feed.conf
>>> --
>>> 1.9.3
>>> 


_______________________________________________
Angstrom-distro-devel mailing list
Angstrom-distro-devel@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel

Reply via email to