ipkg-remove 564 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/env bash
  2. sourcename="$1"; shift
  3. for pkg in "$@"; do
  4. case "$pkg" in
  5. */"${sourcename}_"*.ipk)
  6. rm -vf "$pkg"
  7. ;;
  8. *)
  9. tar -Ozxf "$pkg" ./control.tar.gz 2>/dev/null | tar -Ozxf - ./control 2>/dev/null | {
  10. packagename=
  11. abiversion=
  12. while read field value; do
  13. case "$field" in
  14. Package:) packagename="$value";;
  15. ABIVersion:) abiversion="$value";;
  16. esac
  17. done
  18. [ -n "$abiversion" ] && packagename="${packagename%%$abiversion}"
  19. [ "$packagename" = "$sourcename" ] && rm -vf "$pkg"
  20. }
  21. ;;
  22. esac
  23. done
  24. exit 0