Author: glen Date: Sun Jun 4 20:08:19 2006 GMT Module: PLD-doc Tag: HEAD ---- Log message: - sending mechanism, very ugly
---- Files affected: PLD-doc/PLDSA: send-sa (1.1 -> 1.2) ---- Diffs: ================================================================ Index: PLD-doc/PLDSA/send-sa diff -u PLD-doc/PLDSA/send-sa:1.1 PLD-doc/PLDSA/send-sa:1.2 --- PLD-doc/PLDSA/send-sa:1.1 Sun Jun 4 21:03:23 2006 +++ PLD-doc/PLDSA/send-sa Sun Jun 4 22:08:14 2006 @@ -28,18 +28,76 @@ echo >&2 "$self: $sa_file does not exist!" exit 1 fi -sa_id="PLDSA $year-$(printf %02d $id)" + +sa_id=$(echo "$sa_file" | sed -e 's,.*db/\([^/]\+\)/\([^.]\+\).*,\1-\2,') date=$(date +%Y-%m-%d) +announce_mail="[EMAIL PROTECTED]" gen_sa() { - local sa_file="$1" + cat <<-EOF + Subject: [PLDSA $sa_id] $subject + To: $announce_mail + +EOF cat "$sa_file" | sed -e " s/%{date}/$date/ " + gen_md5 +} + +get_package() { + awk '/^Package.*:/{print $NF}' $sa_file +} + +get_info() { + package=$(get_package) + + infofile="$package.src.rpm.info" + url="ftp://ftp1.pld-linux.org/dists/ac/.tree/PLD/SRPMS/.metadata/$infofile" + if [ ! -f $infofile ]; then + $(wget -q -O "$infofile" "$url") + fi + cat "$infofile" +} + +get_md5() { + local url="$1" + local pkgcache="pkgs" + mkdir -p "$pkgcache" + local file="$pkgcache/$(basename "$url")" + if [ ! -f "$file" ]; then + wget -c -O $file "$url" + fi + md5sum -b "$file" | awk '{print $1}' +} + +gen_md5() { + local ifs="$IFS" + IFS=':' + disturl="ftp://ftp.pld-linux.org/dists/ac/PLD" + local cur + get_info | grep '^file:' | while read tag arch file; do + if [ "$arch" = SRPMS ]; then + url="$disturl/SRPMS/SRPMS/$file" + else + url="$disturl/$arch/PLD/RPMS/$file" + fi + if [ "$cur" != "$arch" ]; then + echo "" + echo "Packages for $arch:" + fi + cur=$arch + + echo "" + echo "$url" + echo " MD5 checksum: $(get_md5 "$url")" + done + IFS="$ifs" } # TODO # - generate update links # - md5 checksums # - based on sth like this: http://lists.pld-linux.org/mailman/pipermail/pld-security-announce/2003-May/000037.html -gen_sa $sa_file + +gen_sa ================================================================ ---- CVS-web: http://cvs.pld-linux.org/PLD-doc/PLDSA/send-sa?r1=1.1&r2=1.2&f=u _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit