Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- deduplicate () {
- packages="$1"
- outdir="/tmp/net-retriever-$$-deduplicate"
- mkdir -p "$outdir"
- while [ -s "$packages" ]; do
- entry="$(sed '/^$/q' "$packages")"
- package="$(echo "$entry" | sed -n 's/Package:[[:space:]][[:space:]]*//pI' | head -n 1)"
- case $package in
- ''|*/*)
- continue
- ;;
- *)
- if [ -f "$outdir/$package" ]; then
- newver="$(echo "$entry" | sed -n 's/Version:[[:space:]][[:space:]]*//pI' | head -n 1)"
- [ "$newver" ] || continue
- oldver="$(sed -n 's/Version:[[:space:]][[:space:]]*//pI' "$outdir/$package" | head -n 1)"
- if /usr/lib/net-retriever/vergt "$newver" "$oldver"; then
- echo "$entry" > "$outdir/$package"
- echo >> "$outdir/$package"
- fi
- else
- echo "$entry" > "$outdir/$package"
- echo >> "$outdir/$package"
- fi
- ;;
- esac
- sed -n '/^$/,$p' "$packages" | tail -n +2 > "$packages.new"
- mv "$packages.new" "$packages"
- done
- cat "$outdir"/* > "$packages.new"
- mv "$packages.new" "$packages"
- rm -rf "$outdir"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement