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