Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- packages() {
- awk -f - -- "$@" << EOF
- BEGIN { FS = ": " }
- /^Package:/ { pkg = \$2 }
- /^Version:/ { version = \$2 }
- /^\$/ { print(pkg, version) }
- EOF
- }
- CSSU_LISTS="/var/lib/apt/lists/repository.maemo.org_community_*_Packages /var/lib/apt/lists/repository.maemo.org_community-testing_*_Packages /var/lib/apt/lists/maemo.merlin1991.at_cssu_community-devel_*_Packages /var/lib/apt/lists/maemo.merlin1991.at_cssu_community-thumb_*_Packages"
- rm -f /var/tmp/cssu-packages
- touch /var/tmp/cssu-packages
- rm -f /var/tmp/cssu-lists
- touch /var/tmp/cssu-lists
- for file in $CSSU_LISTS; do
- if ! test -f $file; then continue; fi
- echo $file >> /var/tmp/cssu-lists
- sed -n 's/Package: //p' $file >> /var/tmp/cssu-packages
- done
- sort -u /var/tmp/cssu-packages > /var/tmp/cssu-packages.new
- mv /var/tmp/cssu-packages.new /var/tmp/cssu-packages
- rm -f /var/tmp/version-packages
- touch /var/tmp/version-packages
- for file in /var/lib/apt/lists/*_Packages; do
- if ! test -f $file; then continue; fi
- if grep -q "^$file\$" /var/tmp/cssu-lists; then continue; fi
- packages $file >> /var/tmp/version-packages
- done
- sort -u /var/tmp/version-packages > /var/tmp/version-packages.new
- mv /var/tmp/version-packages.new /var/tmp/version-packages
- rm -f /var/tmp/install-packages
- touch /var/tmp/install-packages
- rm -f /var/tmp/remove-packages
- touch /var/tmp/remove-packages
- while read package; do
- max=0
- for version in $(grep "^$package " /var/tmp/version-packages | sed 's/.* //'); do
- if dpkg --compare-versions $max lt $version 1>/dev/null 2>&1; then
- max=$version
- fi
- done
- if test "$max" = "0"; then
- echo "$package" >> /var/tmp/remove-packages
- else
- echo "$package=$max" >> /var/tmp/install-packages
- fi
- done < /var/tmp/cssu-packages
- echo "Remove packages:"
- cat /var/tmp/remove-packages
- echo
- echo "Install packages:"
- cat /var/tmp/install-packages
- echo
- echo "Remove metapackage:"
- echo "mp-fremantle-community-pr"
- echo
- meta=mp-fremantle-generic-pr
- for num in 002 003 004 203 204 205 206 207 208 210; do
- if dpkg -l "*-$num" 2>/dev/null | grep -q "^ii"; then
- meta=mp-fremantle-$num-pr
- break
- fi
- done
- echo "Install metapackage:"
- echo $meta
- echo
Advertisement
Add Comment
Please, Sign In to add comment