You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

multisign.sh 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #! /bin/sh
  2. #
  3. # Licensed to the Apache Software Foundation (ASF) under one or more
  4. # contributor license agreements. See the NOTICE file distributed with
  5. # this work for additional information regarding copyright ownership.
  6. # The ASF licenses this file to You under the Apache License, Version 2.0
  7. # (the "License"); you may not use this file except in compliance with
  8. # the License. You may obtain a copy of the License at
  9. #
  10. # http://www.apache.org/licenses/LICENSE-2.0
  11. #
  12. # Unless required by applicable law or agreed to in writing, software
  13. # distributed under the License is distributed on an "AS IS" BASIS,
  14. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. # See the License for the specific language governing permissions and
  16. # limitations under the License.
  17. #
  18. # create md5 checksums and gpg signatures
  19. stty -echo
  20. echo "enter your GPG passphrase"
  21. read passphrase
  22. stty echo
  23. # Do we have md5sum and sha1sum?
  24. # (We can use openssl if not, but the files it produces aren't as nice)
  25. which md5sum > /dev/null
  26. LACKING_MD5SUM=$?
  27. which sha1sum > /dev/null
  28. LACKING_SHA1SUM=$?
  29. for i in *; do
  30. echo ""
  31. echo Signing $i
  32. echo $passphrase | gpg --passphrase-fd 0 --output $i.asc --detach-sig --armor $i
  33. gpg --verify $i.asc $i
  34. echo Hashing $i
  35. if [ "$LACKING_MD5SUM" = "1" ]; then
  36. openssl md5 < $i > $i.md5
  37. else
  38. md5sum $i > $i.md5
  39. fi
  40. if [ "$LACKING_SHA1SUM" = "1" ]; then
  41. openssl sha1 < $i > $i.sha1
  42. else
  43. sha1sum $i > $i.sha1
  44. fi
  45. done