Align Yocto ipk deploy folder structure to Angstrom opkg feeds

Hi
I have set up my own package server (apache2 pointing to deploy/ipk/ built by Yocto Bitbake). Now I would like to use opkg on the devices to use this package server by default. If I do the needed changes in /etc/opkg/*-feed.conf, this works like a charm.

Unfortunately, the links in /etc/opkg/*-feed.conf generated by meta-angstrom/recipes-angstrom/angstrom/angstrom-feed-configs.bb are pointing to a different folder/link structure, than the one built by using Yocto (e.g. bitbake console-tdx-image). Is there a way to align them? I would rather like to have the same structure in deploy/ipk/, then changing the angstrom recipe.

Best regards,
Tonio

For clarification:

deploy/ipk structure (also on package server)

all
armv7ahf-neon
armv7at2hf-neon
armv7at2hf-neon-mx7d
colibri_imx7_emmc

Angstrom recipe structure (/etc/opkg/*-feed.conf)

noarch-feed.conf (the only one working)

all

base-feed.conf (/base subfolder inexistent on package server)

armv7ahf-neon/base
armv7at2hf-neon/base

gstreamer-feed.conf (/gstreamer subfolder inexistent on package server)

armv7ahf-neon/gstreamer
armv7at2hf-neon/gstreamer

perl-feed.conf (/perl subfolder inexistent on package server)

armv7ahf-neon/perl
armv7at2hf-neon/perl

python-feed.conf (/python subfolder inexistent on package server)

armv7ahf-neon/python
armv7at2hf-neon/python

colibri_imx7_emmc-feed.conf and debug-feed.conf are empty.

I forgot to mention, that I of course changed ANGSTROM_URI in my recipes-angstrom/angstrom/angstrom-feed-configs.bbappend to point to my server.

Hello @tgsell and welcome to the Toradex Community!

Could you provide version of the Hardware and Software of your module?

Which open-embedded branch did you compile?

If I do the needed changes in /etc/opkg/*-feed.conf, this works like a charm.

Which changes have you done?

I forgot to mention, that I of course changed ANGSTROM_URI in my recipes-angstrom/angstrom/angstrom-feed-configs.bbappend to point to my server.

Could you share the .bbappend file?

Best regards,
Jaski

Hi @jaski.tx

Thanks for jumping up to my question.

Which open-embedded branch did you compile?

I am using Toradex Version 2.8 (v2017.12, rocko, 2.4) and followed your OpenEmbedded core guide on High performance, low power Embedded Computing Systems | Toradex Developer Center.

Which changes have you done?

Just pointing to the right location on my server.

e.g. /etc/opkg/base-feed.conf (removed base/ in front of armv7ahf-neon and armv7at2hf-neon):

src/gz base-armv7ahf-neon http://my-server.ch/angstrom/feeds/v2017.12/ipk/glibc/armv7ahf-neon
src/gz base-armv7at2hf-neon http://my-server.ch/angstrom/feeds/v2017.12/ipk/glibc/armv7at2hf-neon

Could you share the .bbappend file?

angstrom-feed-configs.bbappend only contains following line:

ANGSTROM_URI = "http://my-server.ch/angstrom"

Best regards,
Tonio

hi @tgsell

Thanks for this Information. We will look into this issue and come back to you.

Best regards,
Jaski

hi @tgsell

I would rather like to have the same structure in deploy/ipk/, then changing the angstrom recipe.

It looks like that the folder structure in the deploy/ipk is given by the package class. You will need to modify the package class or create your package class. But I think, ti will be easier to customize the angstrom recipe for your needs.

Best regards,
Jaski

hi @jaski.tx

Thanks for your answer.

It looks like that the folder structure in the deploy/ipk is given by the package class.

Would actually be nice, if this would somehow be handled by meta-angstrom. Unfortunately, doesn’t seam to be like that.

Would you mind telling me, how your setup/configuration at Toradex looks like? How do you guys add your image build data to the corresponding folder structure under Index of /angstrom ?

Best regards,

Tonio

Hi Tonio

Would you mind telling me, how your setup/configuration at Toradex looks like? How do you guys add your image build data to the corresponding folder structure under Index of /angstrom ?

I did not understand your question. We don’t provide our own feeds but we are mirroring the Angstrom feeds. In future, we will also stop doing that and we will provide Torizon, where the customer can install with Container the preferred Linux Distribution.

Best regards, Jaski

Hi Tonio,

Even we faced similar two issues, please find possible solutions:

1. How to change URI with custom web server?

[Ans] : Use sed commands to replace in angstrom.inc and angstrom-feed-configs.bbappend,

COMMAND1: sed -i ‘s!http://feeds.angstrom-distribution.org!http://!g’ …/layers/meta-angstrom/conf/distro/include/angstrom.inc

COMMAND1: sed -i ‘s!http://feeds.toradex.com/angstrom!http://!g’ …/layers/meta-toradex-demos/recipes-angstrom/angstrom/angstrom-feed-configs.bbappend

2. How to customize folder structure in place ofIndex of /angstrom/feeds/v2017.12/ipk/glibc”?

[Ans] :
We can create our own custom feed-configs.bb files and create custom feed configuration file.
Add followings as per your requirement:

YOUR_PATH_TO_PACKAGE= < SOME_PATH >

YOUR_URI=http://< IP-ADD : PORT >

MODULE=< YOUR SDK >

and in do_compile() api add followings:

echo “src/gz ${MODULE} -${feed_arch} ${YOUR_URI}/${YOUR_PATH_TO_PACKAGE}${feed_arch}” >> ${S}/${sysconfdir}/opkg/custom-feed.conf

Also update:

FILES_${PN} = “${sysconfdir}/opkg/custom-feed.conf”
CONFFILES_${PN} += “${sysconfdir}/opkg/custom-feed.conf”

Best Regards,
Abhishek

@abhinema thanks a lot for your detailed answer. I will give it a try.