38 lines
977 B
Bash
Executable File
38 lines
977 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
ROS_DISTRO="${ROS_DISTRO:-jazzy}"
|
|
CACHE_DIR="${ROOT_DIR}/.devcontainer/${ROS_DISTRO}"
|
|
APT_LIST_FILE="${CACHE_DIR}/rosdep-apt-packages.txt"
|
|
|
|
cd "${ROOT_DIR}"
|
|
|
|
mkdir -p "${CACHE_DIR}"
|
|
|
|
if [[ ! -f /etc/ros/rosdep/sources.list.d/20-default.list ]]; then
|
|
sudo rosdep init
|
|
fi
|
|
|
|
rosdep update
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
sudo apt-get update -qq
|
|
|
|
tmp_packages="$(mktemp)"
|
|
cleanup() {
|
|
rm -f "${tmp_packages}"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
rosdep keys --from-paths src --ignore-src 2>/dev/null \
|
|
| xargs -r rosdep resolve --rosdistro "${ROS_DISTRO}" --filter-for-installers=apt 2>/dev/null \
|
|
| sed -e '/^#/d' -e '/^$/d' \
|
|
| LC_ALL=C sort -u > "${tmp_packages}"
|
|
|
|
{
|
|
echo "# Generated by .devcontainer/refresh-rosdep-cache.sh"
|
|
echo "# apt packages resolved from rosdep keys in src"
|
|
cat "${tmp_packages}"
|
|
} > "${APT_LIST_FILE}"
|
|
|
|
echo "Updated ${APT_LIST_FILE}" |