@@ -84,15 +84,61 @@ jobs:
8484 - name : Cleanup sysroot
8585 run : |
8686 sudo chroot sysroot-${{ matrix.arch }} apt-get clean
87- sudo rm -rf sysroot-${{ matrix.arch }}/var/lib/apt/lists/*
88- sudo rm -rf sysroot-${{ matrix.arch }}/var/cache/apt/*
89- sudo rm -rf sysroot-${{ matrix.arch }}/usr/share/doc/*
90- sudo rm -rf sysroot-${{ matrix.arch }}/usr/share/man/*
91- sudo rm -rf sysroot-${{ matrix.arch }}/usr/share/info/*
92- sudo rm -rf sysroot-${{ matrix.arch }}/usr/share/lintian/*
87+ sudo rm -rf "sysroot-${{ matrix.arch }}/boot"
88+ sudo rm -rf "sysroot-${{ matrix.arch }}/bin"
89+ sudo rm -rf "sysroot-${{ matrix.arch }}/dev"
90+ sudo rm -rf "sysroot-${{ matrix.arch }}/etc/alternatives"
91+ sudo rm -rf "sysroot-${{ matrix.arch }}/etc/rmt"
92+ sudo rm -rf "sysroot-${{ matrix.arch }}/etc/systemd"
93+ sudo rm -rf "sysroot-${{ matrix.arch }}/etc/localtime"
94+ sudo rm -rf "sysroot-${{ matrix.arch }}/home"
95+ sudo rm -rf "sysroot-${{ matrix.arch }}/media"
96+ sudo rm -rf "sysroot-${{ matrix.arch }}/opt"
97+ sudo rm -rf "sysroot-${{ matrix.arch }}/proc"
98+ sudo rm -rf "sysroot-${{ matrix.arch }}/root"
99+ sudo rm -rf "sysroot-${{ matrix.arch }}/run"
100+ sudo rm -rf "sysroot-${{ matrix.arch }}/sbin"
101+ sudo rm -rf "sysroot-${{ matrix.arch }}/srv"
102+ sudo rm -rf "sysroot-${{ matrix.arch }}/sys"
103+ sudo rm -rf "sysroot-${{ matrix.arch }}/tmp"
104+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/bin/awk"
105+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/bin/nawk"
106+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/bin/pager"
107+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/bin/pidof"
108+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/sbin"
109+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/share/doc"
110+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/share/info"
111+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/share/lintian"
112+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/share/man"
113+ sudo rm -rf "sysroot-${{ matrix.arch }}/usr/share/zoneinfo"
114+ sudo rm -rf "sysroot-${{ matrix.arch }}/var"
115+
93116 if [[ "${{ matrix.variant }}" == "libstdcxx" ]]; then
94117 sudo rm -rf sysroot-${{ matrix.arch }}/etc/apt/sources.list.d/*
95118 fi
119+
120+ root_dir="sysroot-${{ matrix.arch }}"
121+ find "$root_dir" -type l | while read symlink; do
122+ # Get the current target
123+ current_target=$(readlink "$symlink")
124+
125+ # Skip if already relative
126+ if [[ "$current_target" != /* ]]; then
127+ continue
128+ fi
129+
130+ # If target exists within our sysroot, make it relative
131+ if [[ -e "$root_dir$current_target" ]]; then
132+ link_dir=$(dirname "$symlink")
133+ relative_path=$(realpath --relative-to="$link_dir" "$root_dir$current_target")
134+ sudo ln -sf "$relative_path" "$symlink"
135+
136+ echo "Fixed: $symlink -> $relative_path (was: $current_target)"
137+ else
138+ echo "Skipping - target outside sysroot: $symlink -> $current_target"
139+ fi
140+ done
141+
96142 - name : Package sysroot
97143 run : |
98144 if [[ "${{ matrix.variant }}" == "libstdcxx" ]]; then
0 commit comments