diff options
author | Michal Čihař <michal@cihar.com> | 2006-10-06 12:55:26 +0400 |
---|---|---|
committer | Michal Čihař <michal@cihar.com> | 2006-10-06 12:55:26 +0400 |
commit | 7e2e9fd27af604ce13bd4d30bf1424a53ac94bac (patch) | |
tree | 1544e443b6f6d7ab547420fd1a1bb4145e12b8d3 /scripts | |
parent | 51086aa6c92c279121966ab4f5797735fac3893f (diff) |
Improve create-release.sh, add scripts/lang-cleanup.sh for removing languages
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/create-release.sh | 112 | ||||
-rwxr-xr-x | scripts/lang-cleanup.sh | 81 |
2 files changed, 147 insertions, 46 deletions
diff --git a/scripts/create-release.sh b/scripts/create-release.sh index 6ac4249aeb..54842a1027 100755 --- a/scripts/create-release.sh +++ b/scripts/create-release.sh @@ -1,6 +1,7 @@ #!/bin/sh # # $Id$ +# vim: expandtab sw=4 ts=4 sts=4: # # 2005-09-13, lem9@users.sourceforge.net # - no longer create a config.default.php from config.inc.php @@ -67,7 +68,9 @@ # - added release todo list # -cvsserver=${cvsserver:-phpmyadmin.cvs} +cvsserver=${cvsserver:-phpmyadmin.cvs.sourceforge.net} +KITS="all-languages-utf-8-only all-languages english" +COMPRESSIONS="zip-7z tbz tgz 7z" if [ $# = 0 ] then @@ -153,14 +156,17 @@ fi mkdir cvs cd cvs -if [ "$mode" != "snapshot" ] -then - echo "Press [ENTER]!" - cvs -q -d:pserver:anonymous@$cvsserver:/cvsroot/phpmyadmin login - if [ $? -ne 0 ] ; then - echo "CVS login failed, bailing out" - exit 1 - fi +if [ "$mode" != "snapshot" ] ; then + if grep -Fq ':pserver:anonymous@phpmyadmin.cvs.sourceforge.net:2401/cvsroot/phpmyadmin' ~/.cvspass ; then + echo "You seem to be already logged into phpMyAdmin CVS, skipping that" + else + echo "Press [ENTER]!" + cvs -q -d:pserver:anonymous@$cvsserver:/cvsroot/phpmyadmin login + if [ $? -ne 0 ] ; then + echo "CVS login failed, bailing out" + exit 1 + fi + fi fi cvs -q -z3 -d:pserver:anonymous@$cvsserver:/cvsroot/phpmyadmin co -P $branch phpMyAdmin @@ -190,41 +196,55 @@ LC_ALL=C w3m -dump phpMyAdmin/Documentation.html > phpMyAdmin/Documentation.txt # Renaming directory mv phpMyAdmin phpMyAdmin-$target -# Building distribution kits - -suffix="-all-languages" -zip -9 -r phpMyAdmin-${target}${suffix}.zip phpMyAdmin-${target} -tar cvf phpMyAdmin-${target}${suffix}.tar phpMyAdmin-${target} -bzip2 -9kv phpMyAdmin-${target}${suffix}.tar -gzip -9v phpMyAdmin-${target}${suffix}.tar - -cd phpMyAdmin-${target}/lang -mkdir tmp -mv *utf-8.inc.php tmp -rm *.inc.php -mv tmp/* . -rmdir tmp - -cd ../.. -suffix="-all-languages-utf-8-only" -zip -9 -r phpMyAdmin-${target}${suffix}.zip phpMyAdmin-${target} -tar cvf phpMyAdmin-${target}${suffix}.tar phpMyAdmin-${target} -bzip2 -9kv phpMyAdmin-${target}${suffix}.tar -gzip -9v phpMyAdmin-${target}${suffix}.tar - -cd phpMyAdmin-${target}/lang -mkdir tmp -mv english-utf-8.inc.php tmp -rm *.inc.php -mv tmp/* . -rmdir tmp - -cd ../.. -suffix="-english" -zip -9 -r phpMyAdmin-${target}${suffix}.zip phpMyAdmin-${target} -tar cvf phpMyAdmin-${target}${suffix}.tar phpMyAdmin-${target} -bzip2 -9kv phpMyAdmin-${target}${suffix}.tar -gzip -9v phpMyAdmin-${target}${suffix}.tar +# Prepare all kits +for kit in $KITS ; do + # Copy all files + name=phpMyAdmin-$target-$kit + cp -r phpMyAdmin-$target $name + + # Cleanup translations + cd phpMyAdmin-$target-$kit + # FIXME: maybe this is wrong path, use script from kit? + ../../scripts/lang-cleanup.sh $kit + cd .. + + # Prepare distributions + for comp in $COMPRESSIONS ; do + case $comp in + tbz|tgz) + echo "Creating $name.tar" + tar cf $name.tar $name + if [ $comp = tbz ] ; then + echo "Creating $name.tar.bz2" + bzip2 -9k $name.tar + fi + if [ $comp = tgz ] ; then + echo "Creating $name.tar.gz" + gzip -9c $name.tar > $name.tar.gz + fi + rm $name.tar + ;; + zip) + echo "Creating $name.zip" + zip -q -9 -r $name.zip $name + ;; + zip-7z) + echo "Creating $name.zip" + 7za a -bd -tzip $name.zip $name > /dev/null + ;; + 7z) + echo "Creating $name.7z" + 7za a -bd $name.7z $name > /dev/null + ;; + *) + echo "WARNING: ignoring compression '$comp', not known!" + ;; + esac + done + + # Remove directory with current dist set + rm -rf $name +done # Cleanup rm -rf phpMyAdmin-${target} @@ -245,13 +265,13 @@ echo echo "MD5 sums:" echo "--------" -md5sum *.{gz,zip,bz2} | sed "s/\([^ ]*\)[ ]*\([^ ]*\)/\$md5sum['\2'] = '\1';/" +md5sum *.{gz,zip,bz2,7z} | sed "s/\([^ ]*\)[ ]*\([^ ]*\)/\$md5sum['\2'] = '\1';/" echo echo "Sizes:" echo "------" -ls -l --block-size=k *.{gz,zip,bz2} | sed -r "s/[a-z-]+[[:space:]]+[0-9]+[[:space:]]+[^[:space:]]+[[:space:]]+[^[:space:]]+[[:space:]]+([0-9]*)K.*[[:space:]]([^[:space:]]+)\$/\$size['\2'] = \1;/" +ls -l --block-size=k *.{gz,zip,bz2,7z} | sed -r "s/[a-z-]+[[:space:]]+[0-9]+[[:space:]]+[^[:space:]]+[[:space:]]+[^[:space:]]+[[:space:]]+([0-9]*)K.*[[:space:]]([^[:space:]]+)\$/\$size['\2'] = \1;/" echo echo "Add these to /home/groups/p/ph/phpmyadmin/htdocs/home_page/files.inc.php on sf" diff --git a/scripts/lang-cleanup.sh b/scripts/lang-cleanup.sh new file mode 100755 index 0000000000..d3fa2b790a --- /dev/null +++ b/scripts/lang-cleanup.sh @@ -0,0 +1,81 @@ +#!/bin/sh +# +# $Id$ +# vim: expandtab sw=4 ts=4 sts=4: +# +# Script for removing language selection from phpMyAdmin + +TYPES=<<EOT +all-languages:-false +all-languages-utf-8-only:-not -name '*-utf-8.inc.php' +EOT + +if [ $# -lt 1 ] ; then + echo "Usage: lang-cleanup.sh type ..." + echo "Type can be one of:" + echo " all-languages - nothing will be done" + echo " all-languages-utf-8-only - non utf-8 languages will be deleted" + echo " language - keeps utf-8 version of language" + echo " language-charset - keeps this exact language" + echo + echo "Types can be entered multiple times, all matched languages will be kept" + exit 1 +fi + +# Construct expressions for find +match="" +for type in "$@" ; do + case $type in + all-languages) + match="$match -and -false" + ;; + all-languages-utf-8-only) + match="$match -and -not -name *-utf-8.inc.php" + ;; + *) + if [ -f lang/$type-utf-8.inc.php ] ; then + match="$match -and -not -name $type-utf-8.inc.php" + elif [ -f lang/$type.inc.php ] ; then + match="$match -and -not -name $type.inc.php" + else + echo "ERROR: $type seems to be wrong!" + exit 2 + fi + ;; + esac +done + +# Delete unvanted languages +find lang -name \*.inc.php $match -print0 | xargs -0r rm + +# Cleanup libraries/select_lang.lib.php + +# Find languages we have +langmatch="$(awk -F, \ + 'BEGIN { pr = 1 } ; + /^\);/ { pr = 1 } ; + {if(!pr) print $2;}; + /^\$available_languages/ { pr = 0 };' \ + libraries/select_lang.lib.php \ + | tr -d \' \ + | while read lng ; do if [ -f lang/$lng.inc.php ] ; then echo $lng ; fi ; done \ + | tr '\n' '|' \ + | sed 's/|$//' \ + )" + +# Prepare working copy +tmp=`mktemp libraries/select_lang.lib.php.XXXX` +cat libraries/select_lang.lib.php > $tmp + +# Remove languages we don't have +awk -F, \ + 'BEGIN { pr = 1 } ; + /^\);/ { pr = 1 } ; + {if(pr) print $0;}; + /'$langmatch'/ {if (!pr) print $0;}; + /^\$available_languages/ { pr = 0 };' \ + $tmp > libraries/select_lang.lib.php + +# Final cleanup +rm -f $tmp + |