Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to use network-profiles with OpenWrt buildroot compilation method? #558

Open
ilario opened this issue Aug 12, 2019 · 5 comments

Comments

@ilario
Copy link
Member

commented Aug 12, 2019

The suggested compilation method has changed over the time (buildroot, lime-build, lime-sdk, buildroot).

With the LibreMesh 17.06 release, communities accepted to use flavors (e.g. lime_default, lime_mini, lime_zero...) and network-profiles which nicely work with lime-sdk and Chef.

While Chef is still supported, searching into the mailing list seems that the currently supported local compilation method, changed from lime-sdk to the OpenWrt buildroot.

The documentation about LibreMesh compilation with OpenWrt buildroot (here and here) does not mention neither flavors nor network-profiles.

The buildroot method documentation has to be expanded to help the lime-sdk => buildroot transition for the communities.

@ilario

This comment has been minimized.

Copy link
Member Author

commented Aug 14, 2019

The mechanism employed by https://github.com/aparcar/openwrt-metabuilder is to install the network-profiles as packages downloading them from here http://chef.libremesh.org/network-profiles/ or here http://repo.libremesh.org/network-profiles/ I think we should chose one of these and suggest to the users to use it.
The Chef's one?
@aparcar @p4u

@spiccinini

This comment has been minimized.

Copy link
Contributor

commented Aug 15, 2019

While Chef is still supported, searching into the mailing list seems that the currently supported local compilation method, changed from lime-sdk to the OpenWrt buildroot.

The documentation about LibreMesh compilation with OpenWrt buildroot (here and here) does not mention neither flavors nor network-profiles.

The buildroot method documentation has to be expanded to help the lime-sdk => buildroot transition for the communities.

Thanks Ilario for gathering all this information. I didn't know about network_profiles_builder.

To support network-profiles in the buildroot way I am inclined to do it with a symbolic link to a local network-profiles repository:

$ cd openwrt
$ ln -s ~/path/to/network-profiles/networkname/device/ files

So it is easy for the developer to change the network-profile and rebuild and it is also the way that the buildroot expects to add files to the build. The only change required is to add this step to the documentation.


About flavours, in my opinion the root of the problem is that openwrt/buildroot doesn't support composition/inheritance at config level, only at package level, so we are always creating tools above openwrt to workarround this. Nor does it provides a programatical way of selecting packages (afaik). I really don't know what is a maintainable way of providing flavours that is not through packages that is the openwrt way .

What do you think?

@ilario

This comment has been minimized.

Copy link
Member Author

commented Aug 15, 2019

About network-profiles, is it possible to add a binary repository to the buildroot?
Something like:

src/gz lm_profiles http://chef.libremesh.org/network-profiles/

In my opinion flavors can be abandoned, people using buildroot can select the list of the packages they need and who uses the metabuilder can customize the example files with a default list of packages.

@spiccinini

This comment has been minimized.

Copy link
Contributor

commented Aug 15, 2019

src/gz lm_profiles http://chef.libremesh.org/network-profiles/

As far as I know it is not posible to use 'binary feeds'.

@ilario

This comment has been minimized.

Copy link
Member Author

commented Aug 15, 2019

Ah...
One thing that the packages do and the files directory does not do is to manage the dependencies included in the network-profiles (e.g. a community can select just batman-adv packages and nothing else, and doing so selecting the packages in the profile like here).
@aparcar does network_profiles_builder create a sources repository?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.