#!/bin/bash # Requires Python 2.5 or later a few lines down # Python is used to generate MD5 sums and because nothing else likes GVFS if [ "$1" = "" ]; then echo "Usage: $(basename "$0") packages-dir" exit fi rm Packages rm Packages.bz2 dpkg-scanpackages -m $1 /dev/null > Packages.tmp cp Packages.tmp Packages #bzip2 Packages python -c "import bz2; f=open(\"Packages\", 'r'); f2=open(\"Packages.bz2\", 'w'); fs=f.read(); f.close(); f2.write(bz2.compress(fs)); f2.close()" mv Packages.tmp Packages rm Release.gpg cp Release.raw Release INFO=`python -c "import hashlib, os; f=\"Packages\"; fd=file(f); print hashlib.md5(fd.read()).hexdigest(), os.stat(f).st_size, f; fd.close()"` INFO2=`python -c "import hashlib, os; f=\"Packages.bz2\"; fd=file(f); print hashlib.md5(fd.read()).hexdigest(), os.stat(f).st_size, f; fd.close()"` #echo -ne "MD5Sum:\n $INFO\n $INFO2" >> Release python -c "f=open(\"Release\", 'r'); fs=f.read() + \"MD5Sum:\n $INFO\n $INFO2\"; f.close(); f=open(\"Release\", 'w'); f.write(fs); f.close()" gpg -abs -o Release.gpg Release # You will not find my key on this server; don't even try