PLD-doc: PLDSA/send-sa - sending mechanism, very ugly

glen glen at pld-linux.org
Sun Jun 4 22:08:19 CEST 2006


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="glen at pld-linux.org"
 
 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



More information about the pld-cvs-commit mailing list