Skip to content

netutils/xedge: refactor Makefile to use git clone instead of zip dow… - #3148

Merged
acassis merged 1 commit into
apache:masterfrom
JorgeGzm:master
Aug 2, 2025
Merged

netutils/xedge: refactor Makefile to use git clone instead of zip dow…#3148
acassis merged 1 commit into
apache:masterfrom
JorgeGzm:master

Conversation

@JorgeGzm

Copy link
Copy Markdown
Contributor

Summary

This PR adds the Xedge application to NuttX-Apps, refactoring the Makefile to use git clone instead of zip downloads to resolve CI build failures. Xedge provides a lightweight edge computing platform based on the BAS (Barracuda Application Server) framework, enabling IoT applications and web server capabilities on embedded NuttX systems.

The build system now uses git clone with specific commit hashes for reproducible builds and improved CI compatibility.pendencies, similar problems and solutions), etc.

Impact

Changes Makefile to use git clone instead of zip downloads.

Testing

This NuttX-Apps PR depends on the core example created in NuttX PR #16665 which is still under review.

Tested using the official NuttX CI Docker environment:

sudo docker run -it \
  --name nuttx-ci \
  -v /home/jaga/nuttxspace:/workspace \
  ghcr.io/apache/nuttx/apache-nuttx-ci-linux:latest \
  /bin/bash

# Build xedge application
cd /workspace/nuttx
./tools/configure.sh qemu-armv8a:xedge_demo
make -j

# Running with QEMU:
$ qemu-system-aarch64 -cpu cortex-a53 -smp 4 -nographic \
  -machine virt,virtualization=on,gic-version=3 \
  -chardev stdio,id=con,mux=on -serial chardev:con \
  -netdev user,id=u1,hostfwd=tcp:127.0.0.1:8080-10.0.2.15:80,hostfwd=tcp:127.0.0.1:8443-10.0.2.15:443,hostfwd=tcp:127.0.0.1:10023-10.0.2.15:23 \
  -device virtio-net-device,netdev=u1 \
  -fsdev local,security_model=none,id=fsdev0,path=/mnt/xxx \
  -device virtio-9p-device,id=fs0,fsdev=fsdev0,mount_tag=host \
  -mon chardev=con,mode=readline -kernel ./nuttx

…nloads

Previous zip-based approach was failing in CI environment. Changed to use
git clone with specific commit hashes to resolve CI build issues.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
@xiaoxiang781216

Copy link
Copy Markdown
Contributor

@JorgeGzm but why not download zip doesn't work? you should fix this problem instead switching to git clone.

@JorgeGzm

Copy link
Copy Markdown
Contributor Author

@JorgeGzm but why not download zip doesn't work? you should fix this problem instead switching to git clone.

To fix the problem, it was necessary to install the zip package through the apt install command in the CI. However, I couldn't understand why the LVGL package doesn't need the same treatment, since it also downloads a zip file from GitHub and then extracts it.

I set up the CI environment via Docker on my machine to test as you suggested, but the linum-stm32h753bi:lvgl example (which downloads the LVGL zip file) compiles without issues, while qemu-armv8a:xedge_demo (which downloads from xedge) doesn't compile. If it were a zip package dependency, it should be installed and available for both to use, don't you agree?

I believe the rules for modifying the CI are much more restrictive than the packages I'm trying to submit. Therefore, I chose to follow the same approach that the wolfssl package uses, which is to download the git repository directly.

@xiaoxiang781216

Copy link
Copy Markdown
Contributor

Ok

@acassis
acassis merged commit c19c2a7 into apache:master Aug 2, 2025
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants