Revisión | f58035e76f3314aa2cb2a807026251154465a68a (tree) |
---|---|
Tiempo | 2005-09-20 23:37:03 |
Autor | henoheno <henoheno> |
Commiter | henoheno |
Very roughly converting EUC-JP => UTF-8 (without page filename, etc)
@@ -1,5 +1,5 @@ | ||
1 | 1 | #!/bin/sh |
2 | -# $Id: release.sh,v 1.22 2005/07/07 14:58:35 henoheno Exp $ | |
2 | +# $Id: release.sh,v 1.23 2005/09/20 14:37:03 henoheno Exp $ | |
3 | 3 | # $CVSKNIT_Id: release.sh,v 1.11 2004/05/28 14:26:24 henoheno Exp $ |
4 | 4 | # Release automation script for PukiWiki |
5 | 5 | # ========================================================== |
@@ -18,6 +18,7 @@ usage(){ | ||
18 | 18 | warn " --nopkg Suppress creating archive (Extract and chmod only)" |
19 | 19 | warn " --norm --nopkg, and remove nothing (.cvsignore etc)" |
20 | 20 | warn " --co --norm, and use 'checkout' command instead of 'export'" |
21 | + warn " --utf8 Create UTF-8 converted archive (EXPERIMENTAL)" | |
21 | 22 | warn " -z|--zip Create *.zip archive" |
22 | 23 | warn " --move-dist Move *.ini.php => *.ini-dist.php" |
23 | 24 | warn " --copy-dist Move, and Copy *.ini.php <= *.ini-dist.php" |
@@ -83,6 +84,7 @@ getopt(){ _arg=noarg | ||
83 | 84 | --norm|--noremove ) echo _nopkg _noremove 1 ;; |
84 | 85 | --co|--checkout ) echo _nopkg _noremove _checkout 1 ;; |
85 | 86 | -z|--zip ) echo _zip 1 ;; |
87 | + --ut|--utf|--utf8|--utf-8 ) echo _utf8 1 ;; | |
86 | 88 | --copy-dist ) echo _copy_dist 1 ;; |
87 | 89 | --move-dist ) echo _move_dist 1 ;; |
88 | 90 | -d ) echo _CVSROOT 2 ; _arg="$2" ;; |
@@ -122,7 +124,27 @@ done | ||
122 | 124 | # No argument |
123 | 125 | if [ $# -eq 0 ] ; then usage ; exit ; fi |
124 | 126 | |
125 | -# Archiver check -------------------------------------------- | |
127 | +# Utility check --------------------------------------------- | |
128 | + | |
129 | +if [ "$__utf8" ] ; then | |
130 | + which nkf || err "nkf version 2.0 or later (UTF-8 enabled) not found" | |
131 | + nkf_version="` nkf -v 2>&1 | sed -e '/^Network Kanji Filter/!d' -e 's/.* Version \([1-9]\).*/\1/' `" | |
132 | + if [ "$nkf_version" = '1' ] ; then | |
133 | + err "nkf found but seems 1.x" | |
134 | + fi | |
135 | + convert(){ | |
136 | + for list in "$@" ; do | |
137 | + # NOTE: Specify '-E'(From EUC-JP) otherwise skin file will be collapse | |
138 | + nkf -Ew "$list" > "$list.$$.tmp" && mv "$list.$$.tmp" "$list" | |
139 | + done | |
140 | + } | |
141 | + convert_EUCJP2UTF8(){ | |
142 | + for list in "$@" ; do | |
143 | + # Very rough conversion! | |
144 | + sed 's/EUC-JP/UTF-8/g' "$list" > "$list.$$.tmp" && mv "$list.$$.tmp" "$list" | |
145 | + done | |
146 | + } | |
147 | +fi > /dev/null | |
126 | 148 | |
127 | 149 | if [ -z "$__zip" ] |
128 | 150 | then |
@@ -135,7 +157,7 @@ fi > /dev/null | ||
135 | 157 | # Argument check -------------------------------------------- |
136 | 158 | |
137 | 159 | rel="$1" |
138 | -tag="` check_versiontag "$rel" `" | |
160 | +tag="` check_versiontag "$rel" `" || exit 1 | |
139 | 161 | pkg_dir="${mod}-${rel}" |
140 | 162 | |
141 | 163 | # Export the module ----------------------------------------- |
@@ -158,6 +180,24 @@ test -z "$__noremove" && { | ||
158 | 180 | find "$pkg_dir" -type f -name '.cvsignore' | xargs rm -f |
159 | 181 | } |
160 | 182 | |
183 | +# Conversion ------------------------------------------------ | |
184 | + | |
185 | +if [ "$__utf8" ] ; then | |
186 | + echo "Converting EUC-JP => UTF-8 ..." | |
187 | + find "$pkg_dir" -type f \( -name "*.txt" -or -name "*.php" -or -name "*.lng" -or -name "*.dat" \) | | |
188 | + while read line; do | |
189 | + echo " $line" | |
190 | + convert "$line" | |
191 | + done | |
192 | + | |
193 | + # Replace 'EUC-JP' => 'UTF-8' | |
194 | + ( cd "$pkg_dir" && | |
195 | + convert_EUCJP2UTF8 lib/init.php skin/pukiwiki.skin*.php | |
196 | + ) | |
197 | + | |
198 | + # Filename about wiki/*.txt or something are not coverted yet | |
199 | +fi | |
200 | + | |
161 | 201 | # chmod ----------------------------------------------------- |
162 | 202 | |
163 | 203 | chmod_pkg "$pkg_dir" |