You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by ni...@apache.org on 2010/10/08 12:51:48 UTC

svn commit: r1005771 - in /incubator/chemistry/cmislib/trunk: ./ dist/ dist/hash-sign.sh dist/release.sh src/cmislib.egg-info/PKG-INFO

Author: nick
Date: Fri Oct  8 10:51:48 2010
New Revision: 1005771

URL: http://svn.apache.org/viewvc?rev=1005771&view=rev
Log:
Add scripts to do the release, based on the ones produced by Apache LibCloud

Added:
    incubator/chemistry/cmislib/trunk/dist/   (with props)
    incubator/chemistry/cmislib/trunk/dist/hash-sign.sh   (with props)
    incubator/chemistry/cmislib/trunk/dist/release.sh   (with props)
Modified:
    incubator/chemistry/cmislib/trunk/   (props changed)
    incubator/chemistry/cmislib/trunk/src/cmislib.egg-info/PKG-INFO

Propchange: incubator/chemistry/cmislib/trunk/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Oct  8 10:51:48 2010
@@ -1,2 +1 @@
 build
-dist

Propchange: incubator/chemistry/cmislib/trunk/dist/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Oct  8 10:51:48 2010
@@ -0,0 +1 @@
+cmislib-*

Added: incubator/chemistry/cmislib/trunk/dist/hash-sign.sh
URL: http://svn.apache.org/viewvc/incubator/chemistry/cmislib/trunk/dist/hash-sign.sh?rev=1005771&view=auto
==============================================================================
--- incubator/chemistry/cmislib/trunk/dist/hash-sign.sh (added)
+++ incubator/chemistry/cmislib/trunk/dist/hash-sign.sh Fri Oct  8 10:51:48 2010
@@ -0,0 +1,147 @@
+#!/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.
+#
+# hash-sign.sh : hash and sign the specified files
+#
+# USAGE: hash-sign.sh file1 file2 ...
+#
+
+user=""
+case "$1" in
+  -u)
+    shift
+    user="$1"
+    shift
+    ;;
+esac
+
+allfiles=$*
+
+
+split="---------------------------------------------------------------------"
+
+echo $split
+echo ""
+echo "Generating MD5/SHA1 checksum files ..."
+echo ""
+
+# check for executables
+gpg="`which gpg 2> /dev/null | head -1`"
+pgp="`which pgp 2> /dev/null | head -1`"
+openssl="`which openssl 2> /dev/null | head -1`"
+md5sum="`which md5sum 2> /dev/null | head -1`"
+sha1sum="`which sha1sum 2> /dev/null | head -1`"
+md5="`which md5 2> /dev/null | head -1`"
+sha1="`which sha1 2> /dev/null | head -1`"
+
+# if found we use openssl for generating the checksums
+# and convert the results into machine-readable format.
+if test -x "${openssl}"; then
+  for file in ${allfiles}; do
+    if test -f "${file}"; then
+      echo "openssl: creating md5 checksum file for ${file} ..."
+      ${openssl} md5 ${file} |\
+          sed -e 's#^MD5(\(.*\))= \([0-9a-f]*\)$#\2 *\1#' > ${file}.md5
+      echo "openssl: creating sha1 checksum file for ${file} ..."
+      ${openssl} sha1 ${file} |\
+          sed -e 's#^SHA1(\(.*\))= \([0-9a-f]*\)$#\2 *\1#' > ${file}.sha1
+    fi
+  done
+# no openssl found - check if we have gpg
+elif test -x "${gpg}"; then
+  for file in ${allfiles}; do
+    if test -f "${file}"; then
+      echo "gpg: creating md5 checksum file for ${file} ..."
+      ${gpg} --print-md md5 ${file} |\
+          sed -e '{N;s#\n##;}' |\
+          sed -e 's#\(.*\): \(.*\)#\2::\1#;s#[\r\n]##g;s# ##g' \
+              -e 'y#ABCDEF#abcdef#;s#::# *#' > ${file}.md5
+      echo "gpg: creating sha1 checksum file for ${file} ..."
+      ${gpg} --print-md sha1 ${file} |\
+          sed -e '{N;s#\n##;}' |\
+          sed -e 's#\(.*\): \(.*\)#\2::\1#;s#[\r\n]##g;s# ##g' \
+              -e 'y#ABCDEF#abcdef#;s#::# *#' > ${file}.sha1
+    fi
+  done
+else
+  # no openssl or gpg found - check for md5sum
+  if test -x "${md5sum}"; then
+    for file in ${allfiles}; do
+      if test -f "${file}"; then
+        echo "md5sum: creating md5 checksum file for ${file} ..."
+        ${md5sum} -b ${file} > ${file}.md5
+      fi
+    done
+  # no openssl or gpg found - check for md5
+  elif test -x "${md5}"; then
+    for file in ${allfiles}; do
+      if test -f "${file}"; then
+        echo "md5: creating md5 checksum file for ${file} ..."
+        ${md5} -r ${file} | sed -e 's# # *#' > ${file}.md5
+      fi
+    done
+  fi
+  # no openssl or gpg found - check for sha1sum
+  if test -x "${sha1sum}"; then
+    for file in ${allfiles}; do
+      if test -f "${file}"; then
+        echo "sha1sum: creating sha1 checksum file for ${file} ..."
+        ${sha1sum} -b ${file} > ${file}.sha1
+      fi
+    done
+  # no openssl or gpg found - check for sha1
+  elif test -x "${sha1}"; then
+    for file in ${allfiles}; do
+      if test -f "${file}"; then
+        echo "sha1: creating sha1 checksum file for ${file} ..."
+        ${sha1} -r ${file} | sed -e 's# # *#' > ${file}.sha1
+      fi
+    done
+  fi
+fi
+
+echo $split
+echo ""
+echo "Signing the files ..."
+echo ""
+
+# if found we use pgp for signing the files
+if test -x "${pgp}"; then
+  if test -n "${user}"; then
+    args="-u ${user}"
+  fi
+  for file in ${allfiles}; do
+    if test -f "${file}"; then
+      echo "pgp: creating asc signature file for ${file} ..."
+      ${pgp} -sba ${file} ${args}
+    fi
+  done
+# no pgp found - check for gpg
+elif test -x "${gpg}"; then
+  if test -z "${user}"; then
+    args="--default-key ${args}"
+  else
+    args="-u ${user} ${args}"
+  fi
+  for file in ${allfiles}; do
+    if test -f "${file}"; then
+      echo "gpg: creating asc signature file for ${file} ..."
+      ${gpg} --armor ${args} --detach-sign ${file}
+    fi
+  done
+else
+  echo "PGP or GnuPG not found!  Not signing release!"
+fi

Propchange: incubator/chemistry/cmislib/trunk/dist/hash-sign.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/chemistry/cmislib/trunk/dist/release.sh
URL: http://svn.apache.org/viewvc/incubator/chemistry/cmislib/trunk/dist/release.sh?rev=1005771&view=auto
==============================================================================
--- incubator/chemistry/cmislib/trunk/dist/release.sh (added)
+++ incubator/chemistry/cmislib/trunk/dist/release.sh Fri Oct  8 10:51:48 2010
@@ -0,0 +1,51 @@
+#!/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.
+
+set -e
+
+# Did they give a user to sign with?
+user=""
+case "$1" in
+  -u)
+    shift
+    user="$1"
+    shift
+    ;;
+esac
+
+if test -z "${user}"; then
+   # Do they have a default user already set?
+   gpg_file=$HOME/.gnupg/gpg.conf
+   if test -f $gpg_file; then
+      if grep -q '^default-key' $gpg_file; then
+         user=`grep '^default-key' $gpg_file | awk '{print $2}'`
+         echo "Selected GPG default user of $user"
+      fi
+   fi
+fi
+
+if test -z "${user}"; then
+  echo "must pass -u with a gpg id"
+  exit 1
+fi
+
+cd ..
+
+python setup.py sdist  --formats=bztar,zip
+
+cd dist
+
+./hash-sign.sh -u ${user} *.tar.bz2 *.zip

Propchange: incubator/chemistry/cmislib/trunk/dist/release.sh
------------------------------------------------------------------------------
    svn:executable = *

Modified: incubator/chemistry/cmislib/trunk/src/cmislib.egg-info/PKG-INFO
URL: http://svn.apache.org/viewvc/incubator/chemistry/cmislib/trunk/src/cmislib.egg-info/PKG-INFO?rev=1005771&r1=1005770&r2=1005771&view=diff
==============================================================================
--- incubator/chemistry/cmislib/trunk/src/cmislib.egg-info/PKG-INFO (original)
+++ incubator/chemistry/cmislib/trunk/src/cmislib.egg-info/PKG-INFO Fri Oct  8 10:51:48 2010
@@ -5,7 +5,7 @@ Summary: Apache Chemistry (Incubating) C
 Home-page: http://incubator.apache.org/chemistry/
 Author: Apache Chemistry Project
 Author-email: chemistry-dev@incubator.apache.org
-License: Apache
+License: Apache License (2.0)
 Description: ABOUT
         
         Thanks for using cmislib, the CMIS client library for Python.
@@ -39,4 +39,5 @@ Classifier: Development Status :: 4 - Be
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: Apache Software License
 Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
 Classifier: Topic :: Software Development :: Libraries