On 10/29/19 1:47 PM, Eric Anderson wrote:
What is the intended workflow when developing
LibreMesh packages (like
lime-app, shared-state, etc.)? What I mean is the process of making some
change to a LiMe package, compiling it and trying it out on a device
running OpenWrt.
Hi Eric!
Sorry for the very late answer.
Devs are rather non-active here so I'll try to give my answer, see inline:
Just following the compilation instructions
<https://libremesh.org/development.html#compiling_libremesh_from_source_code>
to produce an entire OpenWrt image every time seems to imply these steps:
Yess, that page have the right instructions.
1. Make changes to the package source code, and
commit those to the
repository.
I would: fork the official lime-packages repository [1] to my user on
GitHub (or elsewhere).
Then I would create a new branch, on which I'll do my changes, for
example as this one: [2].
2. Change the suitable Makefile in the LibreMesh
source code to point
to the commit above. Commit this as well
Mh this seems unneeded.
3. In the OpenWrt repository, add a LibreMesh feed
that points to the
LibreMesh repository above, instead of the official one.
Yes:
in the building instructions you linked, you can see that two lines have
to be added to the feeds.conf file; if you replace
src-git libremesh
https://github.com/libremesh/lime-packages.git
with
src-git libremesh
https://github.com/USERNAME/lime-packages.git;BRANCH
then the compiled image will contain your experimental code.
For example, in my case that line would be:
src-git libremesh
https://github.com/ilario/lime-packages.git;batadv-ifmacaddresses
4. Compile OpenWrt.
Yes, you'll have to go on with the compilation instruction. If you
created a new package, remember to select it in the menuconfig step.
While this works, it’s not really practical when you
just want to try
things out. You also clutter the repository by having to commit things
just to test run them.
This means creating a lot of branches on the forked branches, but should
not imply that those branches will appear also on the official
repository. Why there are 17 branches on the official repository, I
don't know.
I’m sure you all follow a more convenient procedure,
and I’d like to
learn about it. Cheers!
Ehm, if anyone has an easier one, please share!
Eric
Hugs,
Ilario
[1]
https://github.com/libremesh/lime-packages
[2]
https://github.com/ilario/lime-packages/tree/batadv-ifmacaddresses
--
Ilario
iochesonome(a)gmail.com
ilario(a)sindominio.net