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

Reply via email to