Thread: [Opalvoip-svn] SF.net SVN: opalvoip:[27513] ptlib/trunk/tools/release.sh
Brought to you by:
csoutheren,
rjongbloed
From: <rjo...@us...> - 2012-04-26 01:55:58
|
Revision: 27513 http://opalvoip.svn.sourceforge.net/opalvoip/?rev=27513&view=rev Author: rjongbloed Date: 2012-04-26 01:55:52 +0000 (Thu, 26 Apr 2012) Log Message: ----------- Snapshot release script Added Paths: ----------- ptlib/trunk/tools/release.sh Added: ptlib/trunk/tools/release.sh =================================================================== --- ptlib/trunk/tools/release.sh (rev 0) +++ ptlib/trunk/tools/release.sh 2012-04-26 01:55:52 UTC (rev 27513) @@ -0,0 +1,502 @@ +#!/bin/bash + +# Script for making releases to Source Forge and web site +# automatically edits version files +# automatically manages tags/branches +# generates change logs +# generates documentation packs +# generate tarballs/archives +# uploads to Source Forge +# uploads to opalvoip web site + +if [ "$1" = "-x" ]; then + shift + set -x +fi + +# +# set common globals +# + +SVN="svn" +RSYNC="rsync -e ssh -avz" +SVN2CL="svn2cl" +TAR=tar +ZIP=zip + +SNAPSHOTS=./snapshots +WEB_HTML_DIR="/var/hosted_www/www.opalvoip.org/html" +WEB_DOCS_DIR=${WEB_HTML_DIR}/docs +WEB_CHANGELOG_DIR=${WEB_HTML_DIR}/docs/ChangeLogs + +BINARY_EXT=( exe dll lib wav png gif ico sw mdb dsp dsw vcp vcw wpj wsp ) + +COMMAND_NAMES=(show \ + co \ + trytag \ + tag \ + log \ + docs \ + arch \ + upsf \ + web \ + all \ + ) +FUNCTIONS=( show_tags \ + check_out \ + try_tag \ + create_tag \ + create_changelog \ + create_docs \ + create_archive \ + upload_to_sourceforge \ + update_website \ + do_all_for_release \ + ) + + +# +# parse command line +# + +if [ -z "$1" -o -z "$2" -o -z "$3" ]; then + echo "usage: $0 cmd(s) proj [ "stable" ] tag [ lasttag ]" + echo " cmd may be one of: ${COMMAND_NAMES[*]}" + echo " proj may be one of: ptlib opal ipp-codecs" + echo " tag is either 'next' or 'last' or an aritrary name" + exit +fi + +COMMANDS=$1 +shift + +base=$1 +shift + +case "$base" in + ptlib | opal) + repository=https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/$base + ;; + ipp-codecs) + repository=https://ippcodecs.svn.sourceforge.net/svnroot/ippcodecs + ;; + *) + echo Unknown base project: $base + exit +esac + +extract_versions_cmd="$SVN ls ${repository}/tags | awk '/v[0-9]+_[0-9]*[" +if [ "$1" = "stable" ]; then + extract_versions_cmd+=02468 + shift +else + extract_versions_cmd+=13579 +fi + +extract_versions_cmd+=']_[0-9]+/{gsub("v|/","");gsub("_"," ");print}' +extract_versions_cmd+="' | sort -k1n -k2n -k3n" + +release_tag=$1 +previous_tag=$2 + + +# +# get release tag +# + +release_version= +previous_version=( `/bin/sh -c "${extract_versions_cmd} | tail -1"` ) +if [ -z $previous_version ]; then + echo Could not find last release! + exit +fi + +if [ "$release_tag" = "next" ]; then + release_version=( ${previous_version[*]} ) + let release_version[2]++ + release_tag=v${release_version[0]}_${release_version[1]}_${release_version[2]} +elif [ "$release_tag" = "last" ]; then + release_version=( ${previous_version[*]} ) + previous_version=( `/bin/sh -c "$extract_versions_cmd | tail -2 | head -1"` ) + release_tag=v${release_version[0]}_${release_version[1]}_${release_version[2]} +else + release_version=( `echo $release_tag | awk '/v[0-9]+_[0-9]+_[0-9]+/{gsub("v","");gsub("_"," ");print}'` ) +fi + +if [ -z $previous_tag ]; then + previous_tag=v${previous_version[0]}_${previous_version[1]}_${previous_version[2]} +else + previous_version=( `echo $previous_tag | awk '/v[0-9]+_[0-9]+_[0-9]+/{gsub("v","");gsub("_"," ");print}'` ) +fi + +release_branch=branches/v${release_version[0]}_${release_version[1]} +exists=`$SVN info ${repository}/$release_branch 2>/dev/null` +if [ -z "$exists" ]; then + release_branch=trunk +fi + +previous_verstr=${previous_version[0]}.${previous_version[1]}.${previous_version[2]} +release_verstr=${release_version[0]}.${release_version[1]}.${release_version[2]} + + +# +# set calculated names +# +SRC_ARCHIVE_TBZ2=${SNAPSHOTS}/${base}-${release_verstr}.tar.bz2 +DOC_ARCHIVE_TBZ2=${SNAPSHOTS}/${base}-${release_verstr}-htmldoc.tar.bz2 +BASE_TAR=${base}-${release_verstr} + +SRC_ARCHIVE_ZIP=${SNAPSHOTS}/${base}-${release_verstr}-src.zip +DOC_ARCHIVE_ZIP=${SNAPSHOTS}/${base}-${release_verstr}-htmldoc.zip +BASE_ZIP=${base} + +SOURCE_FORGE_FILES=( $SRC_ARCHIVE_TBZ2 $DOC_ARCHIVE_TBZ2 $SRC_ARCHIVE_ZIP $DOC_ARCHIVE_ZIP ) + +CHANGELOG_BASE=ChangeLog-${base}-${release_tag}.txt +CHANGELOG_FILE=${base}/$CHANGELOG_BASE +VERSION_FILE=${base}/version.h + + + +# +# show tags +# + +function show_tags () { + echo "Release tag for $base is $release_tag" + echo "Previous tag for $base is $previous_tag" +} + +# +# check out +# + +function check_out () { + echo "Deleting $base" + rm -rf $base + exists=`$SVN info ${repository}/tags/$release_tag 2>/dev/null` + if [ -n "$exists" ]; then + echo "Checking out $release_tag of $base" + $SVN co ${repository}/tags/${release_tag} $base >/dev/null + else + echo "Checking out HEAD of $release_branch of $base" + $SVN co ${repository}/$release_branch $base >/dev/null + fi +} + + +# +# switch code to tag or check out of not done yet +# + +function switch_to_version () { + if [ -d $base ]; then + exists=`$SVN info ${repository}/tags/$release_tag 2>/dev/null` + if [ -n "$exists" ]; then + echo "Switching to $release_tag of $base" + ( cd $base ; $SVN switch ${repository}/tags/${release_tag} ) + else + echo "Switching to HEAD of $release_branch of $base" + ( cd $base ; $SVN switch ${repository}/$release_branch >/dev/null ) + fi + else + check_out + fi +} + + +# +# create new tag +# + +function create_tag () { + exists=`$SVN info ${repository}/tags/$release_tag 2>/dev/null` + if [ -n "$exists" ]; then + echo "Tag $release_tag in $base already exists!" + return + fi + + if [ -d $base ]; then + echo "Switching to $release_branch of $base" + ( cd $base ; $SVN switch ${repository}/$release_branch >/dev/null ) + else + echo "Checking out $release_branch of $base" + $SVN co ${repository}/$release_branch $base >/dev/null + fi + + if [ "$release_branch" = "trunk" -a ${release_version[2]} = 0 ]; then + release_branch=branches/v${release_version[0]}_${release_version[1]} + if [ -n "$debug_tagging" ]; then + echo "Would svn copy from ${repository}/trunk ${repository}/$release_branch" + echo "Would switch to $release_branch of $base" + else + echo "Creating branch $release_tag in $base" + $SVN copy ${repository}/trunk ${repository}/$release_branch + echo "Switching to $release_branch of $base" + ( cd $base ; $SVN switch ${repository}/$release_branch >/dev/null ) + fi + fi + + if [ -n "$release_version" -a -e $VERSION_FILE ]; then + version_file_changed=0 + file_version=`awk '/MAJOR_VERSION/{printf "%s ",$3};/MINOR_VERSION/{printf "%s ",$3};/BUILD_NUMBER/{printf "%s",$3}' $VERSION_FILE` + if [ "${release_version[*]}" = "${file_version[*]}" ]; then + echo "Version file $VERSION_FILE already set to ${release_version[*]}" + else + echo "Adjusting $VERSION_FILE from ${file_version[*]} to ${release_version[*]}" + awk "/MAJOR_VERSION/{print \$1,\$2,\"${release_version[0]}\";next};/MINOR_VERSION/{print \$1,\$2,\"${release_version[1]}\";next};/BUILD_NUMBER/{print \$1,\$2,\"${release_version[2]}\";next};/BUILD_TYPE/{print \$1,\$2,\"ReleaseCode\";next};{print}" $VERSION_FILE > $VERSION_FILE.tmp + mv -f $VERSION_FILE.tmp $VERSION_FILE + version_file_changed=1 + fi + + build_type=`awk '/BUILD_TYPE/{print $3}' $VERSION_FILE` + if [ "$build_type" != "ReleaseCode" ]; then + echo "Adjusting $VERSION_FILE from $build_type to ReleaseCode" + awk '/BUILD_TYPE/{print $1,$2,"ReleaseCode";next};{print}' $VERSION_FILE > $VERSION_FILE.tmp + mv -f $VERSION_FILE.tmp $VERSION_FILE + version_file_changed=1 + fi + + if [ $version_file_changed ]; then + msg="Update release version number to $release_verstr" + if [ -n "$debug_tagging" ]; then + echo $msg + cat $VERSION_FILE + else + $SVN commit -m "$msg" $VERSION_FILE + fi + fi + fi + + if [ -n "$debug_tagging" ]; then + echo "Would svn copy from ${repository}/$release_branch ${repository}/tags/$release_tag" + else + echo "Creating tag $release_tag in $base" + $SVN copy ${repository}/$release_branch ${repository}/tags/$release_tag -m "Tagging $release_tag" + fi + + if [ -e $VERSION_FILE ]; then + new_version=( ${release_version[*]} ) + let new_version[2]++ + echo "Adjusting $VERSION_FILE from ${release_version[*]} ReleaseCode to ${new_version[*]} BetaCode" + awk "/BUILD_NUMBER/{print \$1,\$2,\"${new_version[2]}\";next};/BUILD_TYPE/{print \$1,\$2,\"BetaCode\";next};{print}" $VERSION_FILE > $VERSION_FILE.tmp + mv -f $VERSION_FILE.tmp $VERSION_FILE + msg="Update version number for beta v${new_version[0]}.${new_version[1]}.${new_version[2]}" + if [ -n "$debug_tagging" ]; then + echo $msg + cat $VERSION_FILE + $SVN revert $VERSION_FILE + else + $SVN commit -m "$msg" $VERSION_FILE + fi + fi +} + + +# +# Test cration of new tag +# + +function try_tag () { + debug_tagging=yes + echo "Trial tagging, SVN repository will NOT be changed!" + create_tag +} + + +# +# create changelog +# + +function create_changelog () { + if [ "$previous_tag" = "nochangelog" ]; then + echo "Not creating Change Log for $base $release_tag" + return + fi + + last_rev=`svn log --stop-on-copy ${repository}/tags/${previous_tag} | tail -4 | head -1 | awk '{print substr($1,2,100)}'` + if [ -z $last_rev ]; then + echo "Tag $previous_tag in $base does not exist!" + return + fi + + let last_rev=last_rev+1 + + if [ -d $base ]; then + output_name="-o $CHANGELOG_FILE" + else + output_name=--stdout + fi + + release_rev=`svn log --stop-on-copy ${repository}/tags/${release_tag} 2>/dev/null | tail -4 | head -1 | awk '{print substr($1,2,100)}'` + if [ -z $release_rev ]; then + release_rev=HEAD + echo "Creating $CHANGELOG_FILE between $release_branch HEAD and tag $previous_tag (rev $last_rev)" + else + echo "Creating $CHANGELOG_FILE between tags $release_tag (rev $release_rev) and $previous_tag (rev $last_rev)" + fi + + $SVN2CL --break-before-msg --include-rev ${output_name} -r ${last_rev}:${release_rev} ${repository}/$release_branch +} + +# +# create an archive +# + +function create_archive () { + + switch_to_version + + rm -f $SRC_ARCHIVE_TBZ2 \ + $SRC_ARCHIVE_ZIP \ + ${base}/config.status \ + ${base}/config.log \ + ${base}/Makefile \ + ${base}/plugins/config.status \ + ${base}/plugins/config.log \ + ${base}/plugins/Makefile \ + ${base}/include/ptbuildopts.h \ + ${base}/make/ptbuildopts.mak \ + ${base}/make/ptlib-config + rm -rf ${base}/html ${base}/lib* ${base}/bin* + + echo Creating source archive $SRC_ARCHIVE_TBZ2 + if [ "${base}" != "${BASE_TAR}" ]; then + mv ${base} ${BASE_TAR} + fi + exclusions="--exclude=.svn --exclude=.cvsignore --exclude=a.out --exclude=*.pc --exclude=*_cfg.dxy --exclude=opal.spec --exclude=opal_defs.mak" + $TAR -cjf $SRC_ARCHIVE_TBZ2 $exclusions ${BASE_TAR} >/dev/null + if [ "${base}" != "${BASE_TAR}" ]; then + mv ${BASE_TAR} ${base} + fi + + echo Creating source archive ${SRC_ARCHIVE_ZIP} + if [ "${base}" != "${BASE_ZIP}" ]; then + mv ${base} ${BASE_ZIP} + fi + exclusions="-x *.svn* -x .cvsignore -x a.out -x *.pc -x *_cfg.dxy -x opal.spec -x opal_defs.mak" + for ext in ${BINARY_EXT[*]} ; do + files=`find ${BASE_ZIP} -name \*.${ext}` + if [ -n "$files" ]; then + $ZIP -g $SRC_ARCHIVE_ZIP $files >/dev/null 2>&1 + exclusions="$exclusions -x *.$ext" + fi + done + $ZIP -grl $SRC_ARCHIVE_ZIP ${BASE_ZIP} $exclusions >/dev/null + if [ "${base}" != "${BASE_ZIP}" ]; then + mv ${BASE_ZIP} ${base} + fi +} + +# +# create a documentation set +# +function create_docs () { + + switch_to_version + + rm -f $DOC_ARCHIVE_TBZ2 $DOC_ARCHIVE_ZIP + + echo Creating documents... + ( cd ${base} ; rm -rf html ; ./configure ; make docs ) > docs.log 2>&1 + + if [ -d ${base}/html ]; then + echo Creating document archive $DOC_ARCHIVE_TBZ2 + ( cd ${base} ; $TAR -cjf ../$DOC_ARCHIVE_TBZ2 html ) + echo Creating document archive $DOC_ARCHIVE_TBZ2 + ( cd ${base} ; $ZIP -r ../$DOC_ARCHIVE_ZIP html ) > /dev/null + else + echo Documents not created for $base + fi +} + +# +# upload files to SourceForge +# + +function upload_to_sourceforge () { + files= + for f in ${SOURCE_FORGE_FILES[*]}; do + if [ -e $f ]; then + files="$files $f" + fi + done + if [ -z "$files" ]; then + echo "Cannot find any of ${SOURCE_FORGE_FILES[*]}" + else + echo "Uploading files to SourceForge" + if [ -z "$SOURCEFORGE_USERNAME" ]; then + SOURCEFORGE_USERNAME=`whoami` + fi + read -p "Source Forge sub-directory: " + rsync -avP -e ssh $files "${SOURCEFORGE_USERNAME},opa...@fr...:/home/frs/project/o/op/opalvoip/${REPLY}" + fi +} + + +# +# Update the web site +# + +function update_website () { + if [ -e $CHANGELOG_FILE ]; then + echo "Copying $CHANGELOG_FILE to $WEB_CHANGELOG_DIR" + cp $CHANGELOG_FILE $WEB_CHANGELOG_DIR + else + echo "No $CHANGELOG_FILE, use 'log' command to generate." + fi + + already_set=`grep v$release_verstr $WEB_CHANGELOG_DIR/.htaccess` + if [ -z "$already_set" ]; then + echo "Added description for v$previous_verstr to v$release_verstr" + echo "AddDescription \"Changes from v$previous_verstr to v$release_verstr of ${base}\" $CHANGELOG_BASE" >> $WEB_CHANGELOG_DIR/.htaccess + else + echo "Description already added for v$release_verstr" + fi + + if [ -e $DOC_ARCHIVE_TBZ2 ]; then + doc_dir=$WEB_DOCS_DIR/${base}-v${release_version[0]}_${release_version[1]} + echo "Creating online document directory $doc_dir" + rm -rf $doc_dir + mkdir $doc_dir + $TAR -xjf $DOC_ARCHIVE_TBZ2 -C $doc_dir --strip-components 1 + else + echo "No $DOC_ARCHIVE_TBZ2, use 'docs' command to generate." + fi +} + + +# +# Do all the parts for a "normal" release +# + +function do_all_for_release () { + check_out + create_changelog + create_tag + create_archive + create_docs + update_website + upload_to_sourceforge +} + +# +# Main loop, execute all commands specified. +# + +for CMD in ${COMMANDS[*]} ; do + i=0 + unknownCommand=1 + for NAME in ${COMMAND_NAMES[*]} ; do + if [ $CMD = $NAME ]; then + ${FUNCTIONS[i]} + unknownCommand=0 + fi + let i=i+1 + done + if [ $unknownCommand != 0 ]; then + echo "Unknown command '$CMD'" + fi +done + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rjo...@us...> - 2012-04-26 02:32:31
|
Revision: 27517 http://opalvoip.svn.sourceforge.net/opalvoip/?rev=27517&view=rev Author: rjongbloed Date: 2012-04-26 02:32:25 +0000 (Thu, 26 Apr 2012) Log Message: ----------- Update revision.h.in file when checking in new snapshot Modified Paths: -------------- ptlib/trunk/tools/release.sh Modified: ptlib/trunk/tools/release.sh =================================================================== --- ptlib/trunk/tools/release.sh 2012-04-26 02:30:39 UTC (rev 27516) +++ ptlib/trunk/tools/release.sh 2012-04-26 02:32:25 UTC (rev 27517) @@ -155,6 +155,7 @@ CHANGELOG_BASE=ChangeLog-${base}-${release_tag}.txt CHANGELOG_FILE=${base}/$CHANGELOG_BASE VERSION_FILE=${base}/version.h +REVISION_FILE=${base}/revision.h.in @@ -274,7 +275,7 @@ echo "Creating tag $release_tag in $base" $SVN copy ${repository}/$release_branch ${repository}/tags/$release_tag -m "Tagging $release_tag" fi - + if [ -e $VERSION_FILE ]; then new_version=( ${release_version[*]} ) let new_version[2]++ @@ -287,7 +288,12 @@ cat $VERSION_FILE $SVN revert $VERSION_FILE else - $SVN commit -m "$msg" $VERSION_FILE + if [ -e $REVISION_FILE ]; then + sed -i "s/\$Revision.*\$/\$Revision\$/" revision.h.in + $SVN commit -m "$msg" $VERSION_FILE $REVISION_FILE + else + $SVN commit -m "$msg" $VERSION_FILE + fi fi fi } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rjo...@us...> - 2012-04-26 05:02:18
|
Revision: 27527 http://opalvoip.svn.sourceforge.net/opalvoip/?rev=27527&view=rev Author: rjongbloed Date: 2012-04-26 05:02:12 +0000 (Thu, 26 Apr 2012) Log Message: ----------- Fixed correct revision.h.in location in release script Modified Paths: -------------- ptlib/trunk/tools/release.sh Modified: ptlib/trunk/tools/release.sh =================================================================== --- ptlib/trunk/tools/release.sh 2012-04-26 04:56:45 UTC (rev 27526) +++ ptlib/trunk/tools/release.sh 2012-04-26 05:02:12 UTC (rev 27527) @@ -289,7 +289,7 @@ $SVN revert $VERSION_FILE else if [ -e $REVISION_FILE ]; then - sed -i "s/\$Revision.*\$/\$Revision\$/" revision.h.in + sed -i "s/\$Revision.*\$/\$Revision\$/" $REVISION_FILE $SVN commit -m "$msg" $VERSION_FILE $REVISION_FILE else $SVN commit -m "$msg" $VERSION_FILE This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rjo...@us...> - 2014-01-16 01:46:43
|
Revision: 31200 http://sourceforge.net/p/opalvoip/code/31200 Author: rjongbloed Date: 2014-01-16 01:46:40 +0000 (Thu, 16 Jan 2014) Log Message: ----------- Added remembering directory last used for Source Forge upload. Modified Paths: -------------- ptlib/trunk/tools/release.sh Property Changed: ---------------- ptlib/trunk/tools/release.sh Modified: ptlib/trunk/tools/release.sh =================================================================== --- ptlib/trunk/tools/release.sh 2014-01-16 00:30:39 UTC (rev 31199) +++ ptlib/trunk/tools/release.sh 2014-01-16 01:46:40 UTC (rev 31200) @@ -22,7 +22,7 @@ RSYNC="rsync -e ssh -avz" SVN2CL="svn2cl" TAR=tar -ZIP=zip +ZIP=zip SNAPSHOTS=./snapshots WEB_HTML_DIR="/var/hosted_www/www.opalvoip.org/html" @@ -173,7 +173,7 @@ } # -# check out +# check out # function check_out () { @@ -286,7 +286,7 @@ echo "Creating tag $release_tag in $base" $SVN copy ${repository}/$release_branch ${repository}/tags/$release_tag -m "Tagging $release_tag" fi - + if [ -e "$VERSION_FILE" ]; then new_version=( ${release_version[*]} ) let new_version[2]++ @@ -336,7 +336,7 @@ if [ -d $base ]; then output_name="-o $CHANGELOG_FILE" - else + else output_name=--stdout fi @@ -412,9 +412,9 @@ if ./configure PTLIBDIR=$PTLIBDIR ; then make graphdocs fi - ) > docs.log 2>&1 + ) > docs.log 2>&1 - if [ -d ${base}/html ]; then + if [ -d ${base}/html ]; then echo Creating document archive $DOC_ARCHIVE_TBZ2 ( cd ${base} ; $TAR -cjf ../$DOC_ARCHIVE_TBZ2 html ) echo Creating document archive $DOC_ARCHIVE_ZIP @@ -438,9 +438,22 @@ if [ -z "$files" ]; then echo "Cannot find any of ${SOURCE_FORGE_FILES[*]}" else - echo "Uploading files to SourceForge" - read -p "Source Forge sub-directory: " - rsync -avP -e ssh $files "${SOURCEFORGE_USERNAME},opa...@fr...:/home/frs/project/o/op/opalvoip/${REPLY}" + saved_dir="source_forge_dir" + if [ -e "${saved_dir}" ]; then + upload_dir=`cat ${saved_dir}` + read -p "Source Forge sub-directory [${upload_dir}]: " + else + read -p "Source Forge sub-directory: " + fi + if [ -n "${REPLY}" ]; then + upload_dir="${REPLY}" + fi + if [ -z "${upload_dir}" ]; then + echo Not uploading. + else + echo "Uploading files to Source Forge directory ${upload_dir}" + rsync -avP -e ssh $files "${SOURCEFORGE_USERNAME},opa...@fr...:/home/frs/project/o/op/opalvoip/${upload_dir}" + fi fi } Property changes on: ptlib/trunk/tools/release.sh ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +LF \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rjo...@us...> - 2014-02-17 04:50:46
|
Revision: 31499 http://sourceforge.net/p/opalvoip/code/31499 Author: rjongbloed Date: 2014-02-17 04:50:43 +0000 (Mon, 17 Feb 2014) Log Message: ----------- Fixed release script for changes to web servers. Modified Paths: -------------- ptlib/trunk/tools/release.sh Modified: ptlib/trunk/tools/release.sh =================================================================== --- ptlib/trunk/tools/release.sh 2014-02-17 01:52:10 UTC (rev 31498) +++ ptlib/trunk/tools/release.sh 2014-02-17 04:50:43 UTC (rev 31499) @@ -25,7 +25,8 @@ ZIP=zip SNAPSHOTS=./snapshots -WEB_HTML_DIR="/var/hosted_www/www.opalvoip.org/html" +WEB_HOST=files.opalvoip.org +WEB_HTML_DIR="/mnt/www/files.opalvoip.org/html" WEB_DOCS_DIR=${WEB_HTML_DIR}/docs WEB_CHANGELOG_DIR=${WEB_HTML_DIR}/docs/ChangeLogs @@ -104,6 +105,8 @@ previous_tag=$2 +echo "Releasing ${base}: \"${COMMANDS[*]}\" $release_tag $previous_tag" + # # get release tag # @@ -147,7 +150,8 @@ # set calculated names # SRC_ARCHIVE_TBZ2=${SNAPSHOTS}/${base}-${release_verstr}.tar.bz2 -DOC_ARCHIVE_TBZ2=${SNAPSHOTS}/${base}-${release_verstr}-htmldoc.tar.bz2 +DOC_ARCHIVE_TBZ2_BASE=${base}-${release_verstr}-htmldoc.tar.bz2 +DOC_ARCHIVE_TBZ2=${SNAPSHOTS}/${DOC_ARCHIVE_TBZ2_BASE} BASE_TAR=${base}-${release_verstr} SRC_ARCHIVE_ZIP=${SNAPSHOTS}/${base}-${release_verstr}-src.zip @@ -398,18 +402,18 @@ echo Creating documents... ( - PTLIBDIR=`pwd | xargs dirname`/ptlib + export PTLIBDIR=`pwd`/ptlib + export OPALDIR=`pwd`/opal if [ "$base" != "ptlib" ]; then pushd $PTLIBDIR ./configure --disable-plugins - make popd fi cd ${base} pwd rm -rf html - if ./configure PTLIBDIR=$PTLIBDIR ; then + if ./configure --disable-plugins ; then make graphdocs fi ) > docs.log 2>&1 @@ -464,26 +468,27 @@ function update_website () { if [ -e "$CHANGELOG_FILE" ]; then - echo "Copying $CHANGELOG_FILE to $WEB_CHANGELOG_DIR" - cp "$CHANGELOG_FILE" $WEB_CHANGELOG_DIR + echo "Copying $CHANGELOG_FILE to ${WEB_HOST}:$WEB_CHANGELOG_DIR" + scp "$CHANGELOG_FILE" "${WEB_HOST}:$WEB_CHANGELOG_DIR" else echo "No $CHANGELOG_FILE, use 'log' command to generate." fi - already_set=`grep v$release_verstr $WEB_CHANGELOG_DIR/.htaccess` + already_set=`ssh $WEB_HOST "grep v$release_verstr $WEB_CHANGELOG_DIR/.htaccess"` if [ -z "$already_set" ]; then - echo "Added description for v$previous_verstr to v$release_verstr" - echo "AddDescription \"Changes from v$previous_verstr to v$release_verstr of ${base}\" $CHANGELOG_BASE" >> $WEB_CHANGELOG_DIR/.htaccess + echo "Adding description for v$previous_verstr to v$release_verstr" + ssh $WEB_HOST "echo \"AddDescription \"Changes from v$previous_verstr to v$release_verstr of ${base}\" $CHANGELOG_BASE\" >> $WEB_CHANGELOG_DIR/.htaccess" else echo "Description already added for v$release_verstr" fi if [ -e $DOC_ARCHIVE_TBZ2 ]; then - doc_dir=$WEB_DOCS_DIR/${base}-v${release_version[0]}_${release_version[1]} - echo "Creating online document directory $doc_dir" - rm -rf $doc_dir - mkdir $doc_dir - $TAR -xjf $DOC_ARCHIVE_TBZ2 -C $doc_dir --strip-components 1 + doc_dir="$WEB_DOCS_DIR/${base}-v${release_version[0]}_${release_version[1]}" + doc_tar="$WEB_DOCS_DIR/$DOC_ARCHIVE_TBZ2_BASE" + echo "Copying $DOC_ARCHIVE_TBZ2 to ${WEB_HOST}:$WEB_DOCS_DIR" + scp "$DOC_ARCHIVE_TBZ2" "${WEB_HOST}:$WEB_DOCS_DIR" + echo "Creating online document directory ${WEB_HOST}:$doc_dir" + ssh $WEB_HOST "rm -rf $doc_dir ; mkdir $doc_dir ; $TAR -xjf $doc_tar -C $doc_dir --strip-components 1 ; rm $doc_tar" else echo "No $DOC_ARCHIVE_TBZ2, use 'docs' command to generate." fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rjo...@us...> - 2015-09-26 16:02:12
|
Revision: 34075 http://sourceforge.net/p/opalvoip/code/34075 Author: rjongbloed Date: 2015-09-26 16:02:11 +0000 (Sat, 26 Sep 2015) Log Message: ----------- Fixed missing executable property on release script. Property Changed: ---------------- ptlib/trunk/tools/release.sh Index: ptlib/trunk/tools/release.sh =================================================================== --- ptlib/trunk/tools/release.sh 2015-09-25 18:43:15 UTC (rev 34074) +++ ptlib/trunk/tools/release.sh 2015-09-26 16:02:11 UTC (rev 34075) Property changes on: ptlib/trunk/tools/release.sh ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rjo...@us...> - 2015-09-26 17:59:57
|
Revision: 34084 http://sourceforge.net/p/opalvoip/code/34084 Author: rjongbloed Date: 2015-09-26 17:59:54 +0000 (Sat, 26 Sep 2015) Log Message: ----------- Fixed posix form of sed in release script. Also allowed upload dir to have spaces in it. Modified Paths: -------------- ptlib/trunk/tools/release.sh Modified: ptlib/trunk/tools/release.sh =================================================================== --- ptlib/trunk/tools/release.sh 2015-09-26 17:18:23 UTC (rev 34083) +++ ptlib/trunk/tools/release.sh 2015-09-26 17:59:54 UTC (rev 34084) @@ -269,9 +269,9 @@ if [ $version_file_changed ]; then # Add or remove a space to force check in if grep --quiet "revision.h " "$REVISION_FILE" ; then - sed --in-place "s/revision.h /revision.h/" "$REVISION_FILE" + sed -i '' "s/revision.h /revision.h/" "$REVISION_FILE" else - sed --in-place "s/revision.h/revision.h /" "$REVISION_FILE" + sed -i '' "s/revision.h/revision.h /" "$REVISION_FILE" fi msg="Update release version number to $release_verstr" if [ -n "$debug_tagging" ]; then @@ -424,7 +424,7 @@ echo Creating document archive $DOC_ARCHIVE_ZIP ( cd ${base} ; $ZIP -r ../$DOC_ARCHIVE_ZIP html ) > /dev/null else - echo Documents not created for $base + echo "Documents not created for $base, check docs.log for reason." fi } @@ -442,12 +442,12 @@ if [ -z "$files" ]; then echo "Cannot find any of ${SOURCE_FORGE_FILES[*]}" else - saved_dir="source_forge_dir" + saved_dir="./source_forge_dir" if [ -e "${saved_dir}" ]; then upload_dir=`cat ${saved_dir}` - read -p "Source Forge sub-directory [${upload_dir}]: " + read -rep "Source Forge sub-directory [${upload_dir}]: " else - read -p "Source Forge sub-directory: " + read -rep "Source Forge sub-directory: " fi if [ -n "${REPLY}" ]; then upload_dir="${REPLY}" @@ -455,8 +455,10 @@ if [ -z "${upload_dir}" ]; then echo Not uploading. else - echo "Uploading files to Source Forge directory ${upload_dir}" - rsync -avP -e ssh $files "${SOURCEFORGE_USERNAME},opa...@fr...:/home/frs/project/o/op/opalvoip/${upload_dir}" + echo "${upload_dir}" > "${saved_dir}" + upload_path=${SOURCEFORGE_USERNAME},opa...@fr...:/home/frs/project/o/op/opalvoip/`echo ${upload_dir} | sed 's/ /\\\\ /g'` + echo "Uploading files to Source Forge directory \"${upload_path}\"" + rsync -avP -e ssh $files "${upload_path}" fi fi } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rjo...@us...> - 2015-10-06 15:03:42
|
Revision: 34150 http://sourceforge.net/p/opalvoip/code/34150 Author: rjongbloed Date: 2015-10-06 15:03:39 +0000 (Tue, 06 Oct 2015) Log Message: ----------- Fixed issue with Mac OS-X tar causing strange errors when unpacked, make sure to use GNU tar. Modified Paths: -------------- ptlib/trunk/tools/release.sh Modified: ptlib/trunk/tools/release.sh =================================================================== --- ptlib/trunk/tools/release.sh 2015-10-06 12:29:22 UTC (rev 34149) +++ ptlib/trunk/tools/release.sh 2015-10-06 15:03:39 UTC (rev 34150) @@ -19,9 +19,12 @@ # SVN="svn" -RSYNC="rsync -e ssh -avz" +RSYNC="rsync -avP -e ssh" SVN2CL="svn2cl" -TAR=tar +TAR=`which gnutar` +if [ -z "$TAR" ]; then + TAR=tar +fi ZIP=zip SNAPSHOTS=./snapshots @@ -29,6 +32,7 @@ WEB_HTML_DIR="/mnt/www/files.opalvoip.org/html" WEB_DOCS_DIR=${WEB_HTML_DIR}/docs WEB_CHANGELOG_DIR=${WEB_HTML_DIR}/docs/ChangeLogs +SOURCEFORGE_PATH=",opa...@fr...:/home/frs/project/o/op/opalvoip/" BINARY_EXT=( exe dll lib wav png gif ico sw mdb dsp dsw vcp vcw wpj wsp ) @@ -456,9 +460,9 @@ echo Not uploading. else echo "${upload_dir}" > "${saved_dir}" - upload_path=${SOURCEFORGE_USERNAME},opa...@fr...:/home/frs/project/o/op/opalvoip/`echo ${upload_dir} | sed 's/ /\\\\ /g'` + upload_path=${SOURCEFORGE_USERNAME}${SOURCEFORGE_PATH}/`echo ${upload_dir} | sed 's/ /\\\\ /g'` echo "Uploading files to Source Forge directory \"${upload_path}\"" - rsync -avP -e ssh $files "${upload_path}" + ${RSYNC} $files "${upload_path}" fi fi } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |