[Momonga-devel.ja:02953] SHA1 support for %No{Source,Patch}
- From: KOMATSU Shinichiro <koma2@xxxxxxxxxxxxxxxx>
- Date: Sun, 2 Jan 2005 01:57:54 +0900
小松です。あけましておめでとうございます。
さて、%No{Source,Patch} に書く checksum ですが、
MD5 だけでなく SHA1 も使えるようにして欲しいという
要望があったので、macros.momonga への patch を書いてみました。
中身を実際に見ていただければわかるのですが、
・ checksum が 32byte だったら MD5
・ checksum が 40byte だったら SHA1
・ それ以外だったらエラー
という ad hoc なやり方をしているので、
何か問題があったらお知らせ下さい。
--
┏━━━━━━━━━━━━━━━━━━━━━━┓
小松 晋一朗
koma2@xxxxxxxxxxxxxxxx
koma2@xxxxxxxxxxxxxxxxx
http://straycat.ms.u-tokyo.ac.jp/~koma2/
┗━━━━━━━━━━━━━━━━━━━━━━┛
--- macros.momonga.orig 2004-08-04 16:37:10.000000000 +0900
+++ macros.momonga 2005-01-02 01:10:53.000000000 +0900
@@ -162,8 +171,10 @@
#------------------------------------------------------------------------
# check checksums defined by %NoSource() and %NoPatch()
#------------------------------------------------------------------------
-%_checksum_cmd /usr/bin/md5sum
-%_checksum_cmd_args --check
+%_checksum_cmd /usr/bin/md5sum
+%_checksum_cmd_args --check
+%_checksum_sha1_cmd /usr/bin/sha1sum
+%_checksum_sha1_cmd_args --check
%__spec_prep_checksum \
%{?__nosource:\
@@ -182,7 +193,14 @@
} \
set -- $checksum $patch_checksum; \
while [ $# -gt 0 ]; do \
- echo "$1 $2" | %{_checksum_cmd} %{_checksum_cmd_args}; \
+ if [ `echo -n "$1" | wc -c` = 32 ]; then \
+ echo "$1 $2" | %{_checksum_cmd} %{_checksum_cmd_args}; \
+ elif [ `echo -n "$1" | wc -c` = 40 ]; then \
+ echo "$1 $2" | %{_checksum_sha1_cmd} %{_checksum_sha1_cmd_args}; \
+ else \
+ echo "Unsupported checksum" 1>&2; \
+ exit 1; \
+ fi \
shift 2; \
done \
%{nil}