Can not add a new package to the LEDE source

Hi all,

So my issue is that when I am trying to build LEDE with an additional application package, the necessary feed for that new package is not created/does not work properly, which can be seen after running
./scripts/feeds update -a
When I go to the /feeds directory, all the other feeds that I refer to in feeds.conf.default seem fine, but not this particular application feed, because the corresponding feed directory is listed in red font and when I try to cd into it, it says that this directory does not exist:


This is my whole procedure:

  1. I clone the following repository (the main component here being LEDE):
    https://github.com/florianklingler/OpenC2X-embedded
  2. Then I create a customfeed directory inside of this and clone the repository that holds the application that integrates with LEDE.
  3. In the same directory, I create the following Makefile (sorry for the images - vim and c/p are not the most straightforward thing):

  4. Finally, I update the feeds.conf.default file and it looks like this in the end:

    The last line of the file refers to the application package that is available locally as mentioned.

Anyone had a similar experience?
Thank you.

Did you run ./scripts/feeds install -a?

Yes, I did eventually, but that (obviously) would only install whatever is "fetched" through the feeds. And since one of the feeds does not work, then we can't install all the necessary packages. Basically, my build directory does not contain the directories it should contain after I finish building with make.

Well, based on your screenshots, it is an old-fashioned typo in the home directory name...

  • "OpenC2X-embedded" in feed definition
  • "OpenC2X_embedded" in the actual directory name

image

Yeah, you spotted that very well.
Now it does find the components of the application package and the feed directory is not in red anymore (and it contains the app to be installed). However, the index of the same feed is now broken for some reason:


img2

Because of that, when running the install command, messages like these show up:
img3

You may have remnants of the old broken directory name.
Delete the .index .targetindex .tmp files

Additionally you might need to delete everything from tmp, (also the files starting with dot)

Then do feed update and install again

1 Like

Based on that, I am not quite sure about your directory structure.

The feed's top directory can not contain the package Makefile.
I think that you need a subdirectory for each package, even if there is just one package.

Something like
customfeed/openc2x_standalone/yourpackage
customfeed/openc2x_standalone/yourpackage/Makefile
customfeed/openc2x_standalone/yourpackage/...other files...

Alternatively, if "openc2x_standalone" is already the package, drop that part of the directory path from the feed definition.

Ok, so I have done some changes to the directory structure and included some of the dependencies that were missing. This repository basically reflects the current directory structure:

I have cloned this locally and adjusted the Makefile under /openc2x in order for it to link to the local directory and not download the package from the repository. The only change is that instead of these three lines:


I have this in that particular makefile:
change

Of course, I have all the openc2x references to match the one from feeds.conf.default.
Then the update and install part go fine, but when trying to build, I get this error:

Basically, a CMakeLists.txt missing in that particular location as seen on the image.