4 # vim: expandtab sw=4 ts=4 sts=4:
6 # 2005-09-13, lem9@users.sourceforge.net
7 # - no longer create a config.default.php from config.inc.php
9 # 2005-06-12, lem9@users.sourceforge.net
10 # - cvs server name changed to cvs, because cvs1 no longer works from
11 # shell.sourceforge.net
13 # 2003-08-23, nijel@users.sourceforge.net:
14 # - support for creating snapshots outside sourceforge:
15 # * cvs server name can be read from environment variable cvsserver
16 # * do not change to directories as used on sourceforge if $2 is local
18 # 2003-08-13, nijel@users.sourceforge.net:
19 # - config.default -> config.default.php
21 # 2004-08-09, lem9@users.sourceforge.net:
22 # - remember to create a new bug tracking group
24 # 2004-06-07 rabus@users.sourceforge.net
25 # - create backup config file
27 # 2004-04-29, lem9@users.sourceforge.net:
28 # - keep only the previous cvs directory created
30 # 2004-04-16, lem9@users.sourceforge.net:
31 # - daily snapshot when called with first parameter "snapshot"
32 # - remove directory used for the checkout
34 # 2003-11-18, nijel@users.sourceforge.net:
35 # - switch php3 -> php
37 # 2003-10-10, nijel@users.sourceforge.net:
38 # - cvsserver set on just one place to ease testing
39 # - echoes md5 sums to include on download page
41 # 2003-06-22, robbat2@users.sourceforge.net:
42 # - Moved to using updatedocs.sh for updating documentation
43 # - Make tarring faster by re-arranging ops
45 # 2003-01-17, rabus@users.sourceforge.net:
46 # - Changed the CVS hostname to cvs1 because cvs1.sourceforge.net is now blocked
47 # for the SF shell servers, too. Note: The script now works on the SF shell
50 # 2002-11-22, rabus@users.sourceforge.net:
51 # - changed the CVS server dns to cvs1.sourceforge.net
52 # (cvs.phpmyadmin.sourceforge.net does not work at the SF shell anymore).
54 # 2002-10-03, rabus@users.sourceforge.net:
55 # - more detailed instructions
57 # 2002-09-08, robbat2@users.sourceforge.net:
58 # - Tweaked final instruction list
60 # 2002-06-17, lem9@users.sourceforge.net:
61 # - I option to tar for bzip2 is deprecated, use j
63 # 2002-27-04, loic@phpmyadmin.net:
64 # - added the cvs branch feature
66 # 2001-08-08, swix@users.sourceforge.net:
68 # - added release todo list
71 cvsserver
=${cvsserver:-phpmyadmin.cvs.sourceforge.net}
72 KITS
="all-languages-utf-8-only all-languages english"
73 COMPRESSIONS
="zip-7z tbz tgz 7z"
77 echo "Usage: create-release.sh version from_branch"
78 echo " (no spaces allowed!)"
80 echo "Example: create-release.sh 2.2.7-rc1 v2_2_7-branch"
84 if [ "$1" = "snapshot" ]
92 if [ $1 = "snapshot" ]
95 date_snapshot
=`date +%Y%m%d-%H%M%S`
99 if [ "$mode" != "snapshot" ]
103 target
=$date_snapshot
107 if [ "$mode" != "snapshot" ]
112 Please ensure you have:
113 1. incremented rc count or version in CVS :
114 - in libraries/Config.class.php PMA_Config::__constructor() the line
115 " $this->set( 'PMA_VERSION', '2.7.1-dev' ); "
116 - in Documentation.html the 2 lines
117 " <title>phpMyAdmin $1 - Documentation</title> "
118 " <h1>phpMyAdmin $1 Documentation</h1> "
119 - in translators.html
121 2. synchronized the language files:
124 and checked all language files are valid (use
125 the "./scripts/check_lang.php" script to do it).
132 if [ "$do_release" != 'y' ]; then
137 if [ "$mode" = "snapshot" -a "$2" != "local" ] ; then
139 cd /home
/groups
/p
/ph
/phpmyadmin
/htdocs
144 # mv cvs cvs-`date +%s`
147 # Keep one previous version of the cvs directory
159 if [ "$mode" != "snapshot" ] ; then
160 if grep -Fq ':pserver:anonymous@phpmyadmin.cvs.sourceforge.net:2401/cvsroot/phpmyadmin' ~
/.cvspass
; then
161 echo "You seem to be already logged into phpMyAdmin CVS, skipping that"
163 echo "Press [ENTER]!"
164 cvs
-q -d:pserver
:anonymous@
$cvsserver:/cvsroot
/phpmyadmin login
165 if [ $?
-ne 0 ] ; then
166 echo "CVS login failed, bailing out"
172 cvs
-q -z3 -d:pserver
:anonymous@
$cvsserver:/cvsroot
/phpmyadmin co
-P $branch phpMyAdmin
174 if [ $?
-ne 0 ] ; then
175 echo "CVS checkout failed, bailing out"
179 # Cleanup release dir
180 LC_ALL
=C
date -u > phpMyAdmin
/RELEASE-DATE-
${target}
182 # Olivier asked to keep those in the cvs release, to allow testers to use
184 if [ "$mode" != "snapshot" ]
186 find phpMyAdmin \
( -name .cvsignore
-o -name CVS \
) -print0 |
xargs -0 rm -rf
189 find phpMyAdmin
-type d
-print0 |
xargs -0 chmod 755
190 find phpMyAdmin
-type f
-print0 |
xargs -0 chmod 644
191 find phpMyAdmin \
( -name '*.sh' -o -name '*.pl' \
) -print0 |
xargs -0 chmod 755
193 # Building Documentation.txt
194 LC_ALL
=C w3m
-dump phpMyAdmin
/Documentation.html
> phpMyAdmin
/Documentation.txt
197 mv phpMyAdmin phpMyAdmin-
$target
200 for kit
in $KITS ; do
202 name
=phpMyAdmin-
$target-$kit
203 cp -r phpMyAdmin-
$target $name
205 # Cleanup translations
206 cd phpMyAdmin-
$target-$kit
207 # FIXME: maybe this is wrong path, use script from kit?
208 ..
/..
/scripts
/lang-cleanup.sh
$kit
211 # Prepare distributions
212 for comp
in $COMPRESSIONS ; do
215 echo "Creating $name.tar"
216 tar cf
$name.
tar $name
217 if [ $comp = tbz
] ; then
218 echo "Creating $name.tar.bz2"
221 if [ $comp = tgz
] ; then
222 echo "Creating $name.tar.gz"
223 gzip -9c $name.
tar > $name.
tar.gz
228 echo "Creating $name.zip"
229 zip -q -9 -r $name.
zip $name
232 echo "Creating $name.zip"
233 7za a
-bd -tzip $name.
zip $name > /dev
/null
236 echo "Creating $name.7z"
237 7za a
-bd $name.7z
$name > /dev
/null
240 echo "WARNING: ignoring compression '$comp', not known!"
245 # Remove directory with current dist set
250 rm -rf phpMyAdmin-
${target}
252 if [ "$mode" != "snapshot" ]
262 ls -la *.gz
*.
zip *.bz2
268 md5sum *.
{gz
,zip,bz2
,7z
} |
sed "s/\([^ ]*\)[ ]*\([^ ]*\)/\$md5sum['\2'] = '\1';/"
274 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;/"
277 echo "Add these to /home/groups/p/ph/phpmyadmin/htdocs/home_page/files.inc.php on sf"
284 1. tag the cvs tree with the new revision number for a plain release or a
286 version 2.7.0 gets two tags: RELEASE_2_7_0 and STABLE
287 version 2.7.1-rc1 gets RELEASE_2_7_1RC1 and TESTING
289 2. upload the files to SF:
290 ftp upload.sourceforge.net
293 mput cvs/*.gz *.zip *.bz2
294 3. add files to SF files page (cut and paste changelog since last release)
295 4. add SF news item to phpMyAdmin project
297 - add MD5s and file sizes to /home/groups/p/ph/phpmyadmin/htdocs/home_page/includes/list_files.inc.php
298 - add release to /home/groups/p/ph/phpmyadmin/htdocs/home_page/includes/list_release.inc.php
299 6. announce release on freshmeat (http://freshmeat.net/projects/phpmyadmin/)
300 7. send a short mail (with list of major changes) to
301 phpmyadmin-devel@lists.sourceforge.net
302 phpmyadmin-news@lists.sourceforge.net
303 phpmyadmin-users@lists.sourceforge.net
305 Don't forget to update the Description section in the announcement,
306 based on Documentation.html.
308 8. increment rc count or version in CVS :
309 - in libraries/Config.class.php PMA_Config::__constructor() the line
310 " $this->set( 'PMA_VERSION', '2.7.1-dev' ); "
311 - in Documentation.html the 2 lines
312 " <title>phpMyAdmin 2.2.2-rc1 - Documentation</title> "
313 " <h1>phpMyAdmin 2.2.2-rc1 Documentation</h1> "
314 - in translators.html
316 9. add a group for bug tracking this new version, at
317 https://sourceforge.net/tracker/admin/index.php?group_id=23067&atid=377408&add_group=1
319 10. Visit http://phpmyadmin.net/home_page/version.php then copy the results to /home/groups/p/ph/phpmyadmin/htdocs/latest.txt. This is needed for users of the pre-2.8.0 scripts/upgrade.pl.
327 if [ "$mode" = "snapshot" -a "$2" != "local" ] ; then
329 find cvs
-type d
-print0 |
xargs -0 chmod 775
330 find cvs
-type f
-print0 |
xargs -0 chmod 664
333 # Removed due to not needed thanks to clever scripting by Robbat2
334 # 9. update the demo subdirectory:
335 # - in htdocs, cvs update phpMyAdmin
336 # - and don't forget to give write rights for the updated scripts to the