mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-16 16:50:35 +08:00
e219637d5d
Add a scalable .deb packaging framework for VOXL2, built on the existing cmake/package.cmake CPack infrastructure. The framework handles multi-processor boards by having the POSIX (_default) build own the .deb and pull in the companion SLPI build's artifacts. Board-specific files: - cmake/package.cmake: CPack variable overrides (name, deps, version) - cmake/install.cmake: install() rules for all .deb contents - debian/postinst: px4-* symlinks, DSP signature, directory setup - debian/prerm: service stop, symlink cleanup - debian/voxl-px4.service: systemd unit (after sscrpcd) Infrastructure changes: - cmake/package.cmake: hook for board-specific CPack overrides - platforms/posix/CMakeLists.txt: hook for board install.cmake - Makefile: %_deb pattern rule (build _default, then cpack -G DEB) - CI: auto-discover _deb targets, collect .deb artifacts, upload to GitHub Releases Future boards: add cmake/package.cmake + cmake/install.cmake and CI discovers it automatically. No new file formats or tools needed. Signed-off-by: Ramon Roche <mrpollo@gmail.com>
50 lines
1.8 KiB
Bash
Executable File
50 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
mkdir artifacts
|
|
cp **/**/*.px4 artifacts/ 2>/dev/null || true
|
|
cp **/**/*.elf artifacts/ 2>/dev/null || true
|
|
cp **/**/*.deb artifacts/ 2>/dev/null || true
|
|
for build_dir_path in build/*/ ; do
|
|
build_dir_path=${build_dir_path::${#build_dir_path}-1}
|
|
build_dir=${build_dir_path#*/}
|
|
mkdir artifacts/$build_dir
|
|
find artifacts/ -maxdepth 1 -type f -name "*$build_dir*"
|
|
# Airframe
|
|
cp $build_dir_path/airframes.xml artifacts/$build_dir/
|
|
# Parameters
|
|
cp $build_dir_path/parameters.xml artifacts/$build_dir/
|
|
cp $build_dir_path/parameters.json artifacts/$build_dir/
|
|
cp $build_dir_path/parameters.json.xz artifacts/$build_dir/
|
|
# Actuators
|
|
cp $build_dir_path/actuators.json artifacts/$build_dir/
|
|
cp $build_dir_path/actuators.json.xz artifacts/$build_dir/
|
|
# Events
|
|
cp $build_dir_path/events/all_events.json.xz artifacts/$build_dir/
|
|
# ROS 2 msgs
|
|
cp $build_dir_path/events/all_events.json.xz artifacts/$build_dir/
|
|
# Module Docs
|
|
ls -la artifacts/$build_dir
|
|
echo "----------"
|
|
done
|
|
|
|
if [ -d artifacts/px4_sitl_default ]; then
|
|
# general metadata
|
|
mkdir artifacts/_general/
|
|
cp artifacts/px4_sitl_default/airframes.xml artifacts/_general/
|
|
# Airframe
|
|
cp artifacts/px4_sitl_default/airframes.xml artifacts/_general/
|
|
# Parameters
|
|
cp artifacts/px4_sitl_default/parameters.xml artifacts/_general/
|
|
cp artifacts/px4_sitl_default/parameters.json artifacts/_general/
|
|
cp artifacts/px4_sitl_default/parameters.json.xz artifacts/_general/
|
|
# Actuators
|
|
cp artifacts/px4_sitl_default/actuators.json artifacts/_general/
|
|
cp artifacts/px4_sitl_default/actuators.json.xz artifacts/_general/
|
|
# Events
|
|
cp artifacts/px4_sitl_default/events/all_events.json.xz artifacts/_general/
|
|
# ROS 2 msgs
|
|
cp artifacts/px4_sitl_default/events/all_events.json.xz artifacts/_general/
|
|
# Module Docs
|
|
ls -la artifacts/_general/
|
|
fi
|