feat: pre-install typing-extensions to ensure smooth upgrades for apt-installed packages
This commit is contained in:
@@ -196,6 +196,14 @@ def _ensure_root_pip_break(p: process.StepProgress) -> None:
|
||||
">> /root/.config/pip/pip.conf )"
|
||||
)
|
||||
process.stream(privilege.sudo(["bash", "-c", snippet]), on_line=p.log)
|
||||
# rosdep calls `pip install -U <pkg>` which tries to upgrade all transitive deps,
|
||||
# including packages installed by apt that have no pip RECORD file. Pre-installing
|
||||
# them via pip creates the RECORD so the later upgrade can proceed cleanly.
|
||||
process.stream(
|
||||
privilege.sudo(["pip3", "install", "--break-system-packages",
|
||||
"--ignore-installed", "typing-extensions"]),
|
||||
on_line=p.log,
|
||||
)
|
||||
|
||||
|
||||
def _register_rosdep_source(p: process.StepProgress, env: dict) -> None:
|
||||
|
||||
@@ -62,6 +62,10 @@ sudo mkdir -p /root/.config/pip
|
||||
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
|
||||
fi
|
||||
# rosdep uses `pip install -U` which tries to upgrade apt-installed packages that
|
||||
# have no pip RECORD file (e.g. typing-extensions). Pre-installing via pip creates
|
||||
# the RECORD so subsequent upgrades succeed.
|
||||
sudo pip3 install --break-system-packages --ignore-installed typing-extensions
|
||||
|
||||
PROGRESS 100 "Done"
|
||||
echo "ROS2 Jazzy Desktop installed successfully."
|
||||
|
||||
@@ -62,6 +62,10 @@ sudo mkdir -p /root/.config/pip
|
||||
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
|
||||
fi
|
||||
# rosdep uses `pip install -U` which tries to upgrade apt-installed packages that
|
||||
# have no pip RECORD file (e.g. typing-extensions). Pre-installing via pip creates
|
||||
# the RECORD so subsequent upgrades succeed.
|
||||
sudo pip3 install --break-system-packages --ignore-installed typing-extensions
|
||||
|
||||
PROGRESS 100 "Done"
|
||||
echo "ROS2 Jazzy (ros-base) installed successfully."
|
||||
|
||||
Reference in New Issue
Block a user