%PDF- %PDF-
Direktori : /home/tradesc/www/relax/wp-content/plugins/ewww-image-optimizer/vendor/lsolesen/pel/ |
Current File : /home/tradesc/www/relax/wp-content/plugins/ewww-image-optimizer/vendor/lsolesen/pel/make-release.sh |
#!/bin/sh # # PEL: PHP Exif Library. A library with support for reading and # writing all Exif headers in JPEG and TIFF images using PHP. # # Copyright (C) 2004, 2005, 2006 Martin Geisler. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program in the file COPYING; if not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301 USA # $Id$ # This small script retrieves the latest version of PEL, packs it up # into two tarballs (gz and bz2) and a zip file, and then asks for # permission to upload these files to SourceForge. The generated # files are placed in the current directory. # Fix the locale to C, e.g. untranslated. export LC_ALL=C # Paths used below BUILD_BASE="build-base.$$" PHPDOC_PATH='phpdoc' # Create the base directory for the build or bail out if it already # exists if [[ -d $BUILD_BASE ]]; then echo "The build directory $BUILD_BASE already exists!" exit else echo "Building the release in $BUILD_BASE" mkdir $BUILD_BASE fi cd $BUILD_BASE echo -n "Exporting trunk from SourceForge... " svn export https://pel.svn.sourceforge.net/svnroot/pel/trunk pel || exit echo "done." # Grab version number from ChangeLog... PREFIX='PEL Version' MIDDLE='[0-9]+\.[0-9]+(\.[0-9]+(-[0-9a-z]+)?)?' DATE=$(date -u '+%B %-d.. %Y') REGEXP="$PREFIX $MIDDLE $DATE" OFFSET=$(grep -n -E -m 1 "$REGEXP" pel/NEWS | cut -d ':' -f 1) if [[ -z $OFFSET ]]; then echo "Found no version from today in NEWS, creating SVN version." VERSION='svn' #$(date -u '+svn-%Y-%m-%d') else echo "Offset: $OFFSET" VERSION=$(head -n $OFFSET pel/NEWS | tail -n 1 | cut -d ' ' -f 3) echo "Found match for today in NEWS: $VERSION." LINE=$(head -n $OFFSET pel/NEWS | tail -n 1) STARS=$(head -n $((OFFSET+1)) pel/NEWS | tail -n 1) if [[ ${#LINE} != ${#STARS} ]]; then echo "Aborting because of bad underlining:" echo echo "$LINE" echo "$STARS" exit fi fi mv pel pel-$VERSION if [[ $VERSION == "svn" ]]; then echo "Skipping tagging since this is a SVN snapshot." else read -p "Create SVN tag? [y/N] " -n 1 echo if [[ $REPLY == "y" ]]; then echo -n "Creating SVN tag 'pel-$VERSION'... " svn copy \ https://pel.svn.sourceforge.net/svnroot/pel/trunk \ https://pel.svn.sourceforge.net/svnroot/pel/tags/pel-$VERSION \ -m "Tagging PEL version $VERSION." echo "done." else echo "Skipping tagging by user request." fi fi cd pel-$VERSION # Generate the ChangeLog, prefixed with a standard header echo -n "Generating SVN ChangeLog... " echo "ChangeLog file for PEL: PHP Exif Library. A library with support for reading and writing Exif headers in JPEG and TIFF images using PHP. Copyright (C) 2004, 2005, 2006 Martin Geisler. Licensed under the GNU GPL, see COPYING for details. " > ChangeLog svn2cl --include-rev --group-by-day --separate-daylogs \ --reparagraph --authors=authors.xml --stdout \ https://pel.svn.sourceforge.net/svnroot/pel/trunk/ >> ChangeLog || exit echo "done." #echo -n "Marking releases in ChangeLog... " #sed -re '/./{H;$!d;};x;/tags/s|tags/pel-([0-9]+\.[0-9]+).*|PEL Version \1|' #echo "done." # Generate the binary MO files ./update-locales.sh # Generate the API documentation ./run-phpdoc.sh $VERSION $PHPDOC_PATH # Cleanup files that aren't needed in the released package rm make-release.sh authors.xml rm -r tutorials # Add anchors and headers to the HTML ChangeLog so that each release # notices can link back to it #sed -i -re 's|^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2} tag release-([0-9])_([0-9])$|</pre>\n\n<div align="center"><h2 id="v\1.\2">PEL Version \1.\2</h2></div>\n\n<pre>\n|g' doc/ric_ChangeLog.html # Leave the pel-$VERSION directory cd .. mv pel-$VERSION/test/image-tests image-tests echo -n "Creating pel-image-tests-$VERSION.tar.gz... " tar -cz image-tests -f pel-image-tests-$VERSION.tar.gz echo "done." echo -n "Creating pel-image-tests-$VERSION.tar.bz2... " tar -cj image-tests -f pel-image-tests-$VERSION.tar.bz2 echo "done." echo -n "Creating pel-images-$VERSION.zip... " zip -qr pel-image-tests-$VERSION.zip image-tests echo "done." echo -n "Creating pel-$VERSION.tar.gz... " tar -cz pel-$VERSION -f pel-$VERSION.tar.gz echo "done." echo -n "Creating pel-$VERSION.tar.bz2... " tar -cj pel-$VERSION -f pel-$VERSION.tar.bz2 echo "done." echo -n "Creating pel-$VERSION.zip... " zip -qr pel-$VERSION.zip pel-$VERSION echo "done." # Upload the compressed files and API documentation, if allowed if [[ $VERSION != "svn" && ( $REPLY == "y" || $REPLY == "Y" ) ]]; then echo -n "Uploading files to SourceForge for release... " ncftpput upload.sourceforge.net /incoming \ pel-$VERSION.tar.gz \ pel-$VERSION.tar.bz2 \ pel-$VERSION.zip \ pel-image-tests-$VERSION.tar.gz \ pel-image-tests-$VERSION.tar.bz2 \ pel-image-tests-$VERSION.zip echo "done." echo -n "Uploading API documentation to SourceForge... " scp -C -q -r pel-$VERSION/doc \ shell.sourceforge.net:/home/groups/p/pe/pel/htdocs echo "done." else echo "Skipping upload." fi echo "All done. The $BUILD_BASE directory can be removed at any time." # The End --- PEL has now been packaged (and maybe even released)!