Skip to content
This repository has been archived by the owner on Sep 7, 2020. It is now read-only.

PPM-268: Add SAH feed to prplwrt builds #1595

Open
wants to merge 3 commits into
base: feature/ppm-300-optional-dependency-on-BAAPI-to-prplMesh-CMakeLists
Choose a base branch
from

Conversation

abelog
Copy link
Collaborator

@abelog abelog commented Aug 11, 2020

Description

This PR adds AMBIORIX (aka Bus Agnostic API) to the prplWRT builds in CI.

Changes

  1. Add Soft-at-Home OpenWrt feed to the Netgear RAX40 prplWRT build (it uses netgear-rax40.yml instead of usual feeds.conf)
  2. Add Soft-at-Home OpenWrt feed to other builds (Turris Omnia, GL.inet B1300)
  3. Enable libevent2, uriparser, yajl (dependencies of AMBIORIX), libamxb, libamxc, libamd, libamxj, libamxo, libamxp (AMBIORIX libs), amxb-ubus (module to work with Ubus), amxo-cg, amxrt (applications which may be useful for HLAPI debug).

Notes

We don't yet use HLAPI anywhere, so there isn't much sense in building prplMesh with -DENABLE_HLAPI yet.


Jira link: https://jira.prplfoundation.org/browse/PPM-268

@arnout arnout force-pushed the feature/ppm-300-optional-dependency-on-BAAPI-to-prplMesh-CMakeLists branch from 9a1ff0b to 84eceea Compare August 13, 2020 13:34
@abelog
Copy link
Collaborator Author

abelog commented Aug 13, 2020

@Mergifyio rebase

abelog added 3 commits August 13, 2020 13:35
As part of HLAPI implementation we require AMBIORIX libraries and
packages on target system. They can be obtained using Soft-at-Home
openwrt feed.

Add Soft-at-Home feed to the netgear-rax40.yml as "sah".

Jira link: https://jira.prplfoundation.org/browse/PPM-268

Signed-off-by: Anton Bilohai <[email protected]>
As part of HLAPI implementation we require AMBIORIX libraries and
packages on target system. They can be obtained using Soft-at-Home
openwrt feed.

All builds, except netgear-rax40 are using feed.conf as list of feeds.
Add Soft-at-home feed to the feeds.conf
Make it configurable through environment variables.

Jira link: https://jira.prplfoundation.org/browse/PPM-268

Signed-off-by: Anton Bilohai <[email protected]>
Build and install AMBIORIX libraries, it's dependencies, amxb-inspect,
amxo-cg, amxrt in all prplWrt images.

Signed-off-by: Anton Bilohai <[email protected]>
@mergify
Copy link

mergify bot commented Aug 13, 2020

Command rebase: success

Branch has been successfully rebased

@arnout arnout force-pushed the feature/ppm-268-sah-feed-to-prplwrt-builds branch from 73b5c14 to 4d0338a Compare August 13, 2020 13:35
@abelog abelog marked this pull request as ready for review August 13, 2020 14:00
Copy link
Collaborator

@rmelotte rmelotte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It has to be done for the rax40/axepoint as well, but I don't see anything blocking and I'm sure you will figure out how to do it (or do it in another PR) so approving.

@@ -175,6 +180,7 @@ IMAGE_ONLY=false
OPENWRT_REPOSITORY='https://git.prpl.dev/prplmesh/prplwrt.git'
OPENWRT_VERSION='3d511d477e72bd1845c75101a7f3d4e00780991d'
PRPL_FEED='https://git.prpl.dev/prplmesh/feed-prpl.git^89e6602655713f8487c72d8d636daa610d76a468'
SAH_FEED='https://gitlab.com/soft.at.home/buildsystems/openwrt/sah-packages.git'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please include a specific commit hash for it (by appending a ^ character, then the commit hash) to try to improve the reproducibility of the images.

@@ -25,3 +25,5 @@
- name: feed_pending
uri: https://intel.prpl.dev/intel/feed-pending.git
hash: 352365b31f968ab37e772b23c30ea32dbff9e337
- name: sah
uri: https://gitlab.com/soft.at.home/buildsystems/openwrt/sah-packages.git
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, please include a hash: HASH line

echo "CONFIG_PACKAGE_libevent2=y"
# Dependencies of AMBIORIX
echo "CONFIG_PACKAGE_uriparser=y"
echo "CONFIG_PACKAGE_yajl=y"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The different CONFIG_TARGET... and the config line for prplmesh are convenient to have here because they depend on arguments.
For other stuff we want to add however, it would be easier to have a file containing the configuration directly (no need for the echo lines, you could directly copy and paste from the .config).
Then here it would just be a matter of copying the partial config file to .config.
This is something we did before to build different targets with different GCC versions, but it was reverted at some point because it wasn't used anymore.
You can check the following commit if you want an example of what I'm talking about: https://github.com/prplfoundation/prplMesh/blob/ba02ad94f6d6129b8f5b10fdd619d76e40ab1948/tools/docker/builder/openwrt/Dockerfile
(specifically this line: COPY --chown=openwrt:openwrt configs/base_${BASE_CONFIG}_config /home/openwrt/base_config)

I would understand if you don't want to do this as part of this PR though, so (nitpick)

echo "CONFIG_PACKAGE_amxrt=y"
# AMBIORIX libs
echo "CONFIG_PACKAGE_libamxb=y"
echo "CONFIG_PACKAGE_libamxc=y"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same changes have to be introduced in prplwrt for the axepoint/rax40 in a profile file.
This one is not a nitpick comment, if we want to use it on the axepoint it has to be in a profile under profiles/, since gen_config.py removes any custom .config line anyway.

echo "CONFIG_PACKAGE_libamxc=y"
echo "CONFIG_PACKAGE_libamxd=y"
echo "CONFIG_PACKAGE_libamxj=y"
echo "CONFIG_PACKAGE_libamxo=y"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might also want to check if all the config lines are needed, or if some are depended on by others and can be removed (maybe you did already).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants