#!/bin/sh
#------------------------------------------------------------------------------
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#  
#    http://www.apache.org/licenses/LICENSE-2.0
#  
#  Unless required by applicable law or agreed to in writing,
#  software distributed under the License is distributed on an
#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#  KIND, either express or implied.  See the License for the
#  specific language governing permissions and limitations
#  under the License.
#------------------------------------------------------------------------------
# $Id$
#
# Creates detached ascii signatures and md5 hashes for each of the files in the
# current directory.
#
# Also verifies the signatures.
#
# For each file in the current directory, two new files are created:
#
#   <name>.asc -- ascii-armored detached PGP digital signature
#   <name>.md5 -- md5 hash (checksum)
#
# where <name> is the name of the file, not including file path.  
# 
# For example, foo-1.0-src.tar.gz in the current directory will result in 
# foo-1.0-src.tar.gz.asc and foo-1.0-src.tar.gz.md5 added to the current 
# directory. 
#
# Deletes any .asc or .md5 files in the current directory before processing
# and does NOT recurse subdirectories.
#
# Assumes that you have a pgp id and keypair set up and prompts for the 
# passphrase for each signature created.
#
# usage:
#     sign_and_hash.sh
#
# requires:
#    gpg
#    md5sum
#------------------------------------------------------------------------------
rm -f *.asc
rm -f *.md5
for file in *; do
    if [ -f "$file" ]; then
		gpg --print-md MD5 $file > ${file}.md5
        gpg --armor --output ${file}.asc --detach-sig $file
        gpg --verify ${file}.asc $file
    fi
done
