feat: update installation scripts to pre-install fastmcp for successful rosdep upgrades
This commit is contained in:
@@ -196,12 +196,13 @@ def _ensure_root_pip_break(p: process.StepProgress) -> None:
|
|||||||
">> /root/.config/pip/pip.conf )"
|
">> /root/.config/pip/pip.conf )"
|
||||||
)
|
)
|
||||||
process.stream(privilege.sudo(["bash", "-c", snippet]), on_line=p.log)
|
process.stream(privilege.sudo(["bash", "-c", snippet]), on_line=p.log)
|
||||||
# rosdep calls `pip install -U <pkg>` which tries to upgrade all transitive deps,
|
# rosdep calls `pip install -U <pkg>` which upgrades every transitive dependency,
|
||||||
# including packages installed by apt that have no pip RECORD file. Pre-installing
|
# including packages installed by apt that have no pip RECORD file, causing an
|
||||||
# them via pip creates the RECORD so the later upgrade can proceed cleanly.
|
# uninstall failure. Pre-installing with --ignore-installed creates pip RECORD
|
||||||
|
# files for all transitive deps so the subsequent rosdep upgrade succeeds.
|
||||||
process.stream(
|
process.stream(
|
||||||
privilege.sudo(["pip3", "install", "--break-system-packages",
|
privilege.sudo(["pip3", "install", "--break-system-packages",
|
||||||
"--ignore-installed", "typing-extensions"]),
|
"--ignore-installed", "fastmcp"]),
|
||||||
on_line=p.log,
|
on_line=p.log,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -62,10 +62,11 @@ sudo mkdir -p /root/.config/pip
|
|||||||
if ! sudo grep -qs 'break-system-packages' /root/.config/pip/pip.conf 2>/dev/null; then
|
if ! sudo grep -qs 'break-system-packages' /root/.config/pip/pip.conf 2>/dev/null; then
|
||||||
printf '[global]\nbreak-system-packages = true\n' | sudo tee -a /root/.config/pip/pip.conf > /dev/null
|
printf '[global]\nbreak-system-packages = true\n' | sudo tee -a /root/.config/pip/pip.conf > /dev/null
|
||||||
fi
|
fi
|
||||||
# rosdep uses `pip install -U` which tries to upgrade apt-installed packages that
|
# rosdep calls `pip install -U <pkg>` which upgrades every transitive dependency,
|
||||||
# have no pip RECORD file (e.g. typing-extensions). Pre-installing via pip creates
|
# including packages installed by apt that have no pip RECORD file, causing an
|
||||||
# the RECORD so subsequent upgrades succeed.
|
# uninstall failure. Pre-installing fastmcp with --ignore-installed creates pip
|
||||||
sudo pip3 install --break-system-packages --ignore-installed typing-extensions
|
# RECORD files for all its transitive deps so the later rosdep upgrade succeeds.
|
||||||
|
sudo pip3 install --break-system-packages --ignore-installed fastmcp
|
||||||
|
|
||||||
PROGRESS 100 "Done"
|
PROGRESS 100 "Done"
|
||||||
echo "ROS2 Jazzy Desktop installed successfully."
|
echo "ROS2 Jazzy Desktop installed successfully."
|
||||||
|
|||||||
@@ -62,10 +62,11 @@ sudo mkdir -p /root/.config/pip
|
|||||||
if ! sudo grep -qs 'break-system-packages' /root/.config/pip/pip.conf 2>/dev/null; then
|
if ! sudo grep -qs 'break-system-packages' /root/.config/pip/pip.conf 2>/dev/null; then
|
||||||
printf '[global]\nbreak-system-packages = true\n' | sudo tee -a /root/.config/pip/pip.conf > /dev/null
|
printf '[global]\nbreak-system-packages = true\n' | sudo tee -a /root/.config/pip/pip.conf > /dev/null
|
||||||
fi
|
fi
|
||||||
# rosdep uses `pip install -U` which tries to upgrade apt-installed packages that
|
# rosdep calls `pip install -U <pkg>` which upgrades every transitive dependency,
|
||||||
# have no pip RECORD file (e.g. typing-extensions). Pre-installing via pip creates
|
# including packages installed by apt that have no pip RECORD file, causing an
|
||||||
# the RECORD so subsequent upgrades succeed.
|
# uninstall failure. Pre-installing fastmcp with --ignore-installed creates pip
|
||||||
sudo pip3 install --break-system-packages --ignore-installed typing-extensions
|
# RECORD files for all its transitive deps so the later rosdep upgrade succeeds.
|
||||||
|
sudo pip3 install --break-system-packages --ignore-installed fastmcp
|
||||||
|
|
||||||
PROGRESS 100 "Done"
|
PROGRESS 100 "Done"
|
||||||
echo "ROS2 Jazzy (ros-base) installed successfully."
|
echo "ROS2 Jazzy (ros-base) installed successfully."
|
||||||
|
|||||||
Reference in New Issue
Block a user