forked from Openwrt/openwrt
8c9b182db6
Package archives built before commit e6bcf1e4ac ("build: add ABI_VERSION to binary package names") lack the SourceName control file field which caused ipkg-remove to skip such archives. Add fallback code that matches the files by their basename followed by an underscore, similar to how the old cleanup code worked. Fixes: #2067 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
21 lines
373 B
Bash
Executable File
21 lines
373 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
sourcename="$1"; shift
|
|
|
|
for pkg in "$@"; do
|
|
tar -Ozxf "$pkg" ./control.tar.gz 2>/dev/null | tar -Ozxf - ./control 2>/dev/null | \
|
|
while read field value; do
|
|
if [ "$field" = "SourceName:" ] && [ "$value" = "$sourcename" ]; then
|
|
rm -vf "$pkg"
|
|
break
|
|
fi
|
|
done
|
|
case "$pkg" in
|
|
*/"${sourcename}_"*.ipk)
|
|
rm -vf "$pkg"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
exit 0
|