|
Packit |
95306a |
The files in this directory are for primary use by me, the author
|
|
Packit |
95306a |
of Date::Manip to prepare a new release.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
There is no reason for an end user to need to do this. However, it
|
|
Packit |
95306a |
is documented for the sake of completeness, and to remind me of the
|
|
Packit |
95306a |
steps I need to do.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
It's also available in case someone ever chooses to fork the
|
|
Packit |
95306a |
module (though I hope that won't be necessary).
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Update the windows zones. Useful information in determining timezone
|
|
Packit |
95306a |
mapping may be obtained at:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
http://support.microsoft.com/kb/914387
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Go to:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html
|
|
Packit |
95306a |
|
|
Packit |
95306a |
and copy the contents of the 'Mapping for: windows' table into a file 'windows.new'
|
|
Packit |
95306a |
and run the script:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
windows.compare
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Currently, ignore the addition:
|
|
Packit |
95306a |
"UTC" => "Etc/GMT",
|
|
Packit |
95306a |
|
|
Packit |
95306a |
and the suggestions:
|
|
Packit |
95306a |
"Argentina Standard Time" => "America/Buenos_Aires",
|
|
Packit |
95306a |
"GTB Standard Time" => "Europe/Bucharest",
|
|
Packit |
95306a |
"India Standard Time" => "Asia/Calcutta",
|
|
Packit |
95306a |
"Nepal Standard Time" => "Asia/Katmandu",
|
|
Packit |
95306a |
"US Eastern Standard Time" => "America/Indianapolis",
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Make sure that new and changed zones refer to valid Olsen time zones. Make
|
|
Packit |
95306a |
the changes in data.alias.pl .
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Then remove windows.new .
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Get the newest tzdata package.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
The tzdata/tzcode archives are obtained from
|
|
Packit |
95306a |
|
|
Packit |
95306a |
ftp://ftp.iana.org/tz/
|
|
Packit |
95306a |
|
|
Packit |
95306a |
In order to create the appropriate Date::Manip modules, run the
|
|
Packit |
95306a |
following commands:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
./internal/tzdata -f : to download the packages
|
|
Packit |
95306a |
./internal/tzdata -b : to build the package
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Some timezones store information about time changes quite a ways in advance. We
|
|
Packit |
95306a |
need to make sure that we're storing enough information to get to a 'lastrule'.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Run the following:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
cd tzdata
|
|
Packit |
95306a |
grep Rule africa antarctica asia australasia europe northamerica pacificnew \
|
|
Packit |
95306a |
southamerica | \
|
|
Packit |
95306a |
awk '{print $3}' | sort -u | egrep '^[1-9]' | sort -n | tail -1
|
|
Packit |
95306a |
cd ..
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Make sure that the value for $keep_years (in internal/data.misc.pl) is greater
|
|
Packit |
95306a |
than (MAX_YEAR - CURR_YEAR) where MAX_YEAR is the output from the line above and
|
|
Packit |
95306a |
CURR_YEAR is the current year.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
./internal/tzdata -l : to get a list of all the zones that need modules
|
|
Packit |
95306a |
./internal/tzdata -d : to dump all zones
|
|
Packit |
95306a |
./internal/tzdata -m : to create the individual zone modules
|
|
Packit |
95306a |
*** see NOTE 2 below ***
|
|
Packit |
95306a |
./internal/tzdata -o : to create the individual offset modules
|
|
Packit |
95306a |
*** see NOTE 3 below ***
|
|
Packit |
95306a |
./internal/tzdata -z : to create the main Zone module
|
|
Packit |
95306a |
*** see NOTE 3 below ***
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Run the following to double check every timezone in zoneinfo against the
|
|
Packit |
95306a |
Date::Manip version:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
./internal/dumps
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Run the two tzdata tests:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
(cd t; ./runtests tzdata)
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Then clean up:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
./internal/tzdata -c
|
|
Packit |
95306a |
|
|
Packit |
95306a |
|
|
Packit |
95306a |
NOTE 1: although the tzdata script runs on my computer, it is quite possible
|
|
Packit |
95306a |
that it will not run on other systems due to differences in what tools are
|
|
Packit |
95306a |
available.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Since the tzdata script is designed only to create the modules which are
|
|
Packit |
95306a |
then distributed as part of Date::Manip, there is no reason for anyone other
|
|
Packit |
95306a |
than me to run the above commands. If you DO choose to run them, please do
|
|
Packit |
95306a |
not report problems due to differences in operating systems, or packages that
|
|
Packit |
95306a |
are installed on your system. If you discover a bug in tzdata, I am interested
|
|
Packit |
95306a |
in knowing about it however.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
NOTE 2: If you get a LAST RULE in Jan/Dec line, check it out. A zone
|
|
Packit |
95306a |
is doing time changes in Jan or Dec. Make sure it won't cause any
|
|
Packit |
95306a |
problems. Provided it's not early in the day of Jan 1 or late in the day
|
|
Packit |
95306a |
of Dec 31, it'll be fine.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
Currently, the following warn (but have been cleared as safe):
|
|
Packit |
95306a |
Pacific/Fiji
|
|
Packit |
95306a |
Pacific/Tongatapu
|
|
Packit |
95306a |
|
|
Packit |
95306a |
NOTE 3: These steps often require manual intervention described
|
|
Packit |
95306a |
below. After the intervention, rerun the command to make sure no
|
|
Packit |
95306a |
output is produced.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
The old values of data are stored in the internal/data.* files. This is
|
|
Packit |
95306a |
so that I am explicitly notified of every change to the zoneinfo data
|
|
Packit |
95306a |
which could impact Date::Manip. Any output reflects potential changes
|
|
Packit |
95306a |
so every entry should be checked to ensure that it acceptable. Then,
|
|
Packit |
95306a |
the output needs to be added to the appropriate data.* file, replacing
|
|
Packit |
95306a |
any previous value for the entry. It is especially important that the first
|
|
Packit |
95306a |
line in each entry should remain unchanged unless there is good reason
|
|
Packit |
95306a |
to change it. The order of remaining lines may change to some extent.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
If the '-o' option produces any output, the entries need to be added
|
|
Packit |
95306a |
to the data.offset.pl file.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
If the '-z' option produces any output, the entries need to be added
|
|
Packit |
95306a |
to the data.alias.pl or data.abbrev.pl file.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
After adding a new value, rerun the command to make sure there are no more
|
|
Packit |
95306a |
problems.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Clean up stuff that shouldn't be in the manifest
|
|
Packit |
95306a |
|
|
Packit |
95306a |
In internal/benchmarks directory
|
|
Packit |
95306a |
rm -f nytprof.out parse-1.in
|
|
Packit |
95306a |
rm -rf nytprof
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Before every release, spellcheck the documents:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
for i in `find lib -type f -name \*.pod | egrep -v 'Lang\/' |
|
|
Packit |
95306a |
egrep -v Zones.pod` ;do
|
|
Packit |
95306a |
pod2text $i > $i.txt
|
|
Packit |
95306a |
ispell -p internal/module.isp $i.txt
|
|
Packit |
95306a |
rm -f $i.txt $i.txt.bak
|
|
Packit |
95306a |
done
|
|
Packit |
95306a |
|
|
Packit |
95306a |
internal/langpod
|
|
Packit |
95306a |
|
|
Packit |
95306a |
pod2text ./lib/Date/Manip/Lang/english.pod > english.txt
|
|
Packit |
95306a |
ispell -p internal/module.isp english.txt
|
|
Packit |
95306a |
rm -f english.txt english.txt.bak
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Update the copyright
|
|
Packit |
95306a |
|
|
Packit |
95306a |
y=`date '+%Y'`
|
|
Packit |
95306a |
for i in `find . -type f | egrep -v '.git' | xargs egrep -l 'Copyright \(c\) ....\-.... Sullivan Beck'` ;do
|
|
Packit |
95306a |
sed -e "s,\(Copyright (c) ....\)\-.... \(Sullivan Beck\),\1-$y \2," $i > z
|
|
Packit |
95306a |
mv z $i
|
|
Packit |
95306a |
done
|
|
Packit |
95306a |
chmod +x internal/tzdata internal/gen_dm5abbrevs examples/dm_*
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Switch the system timezone to America/Central and run the tests.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Update the Changes5/Changes6 docs with the date.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Install the module. Then run the following:
|
|
Packit |
95306a |
|
|
Packit |
95306a |
./internal/gen_dm5abbrevs > lib/Date/Manip/DM5abbrevs.pm
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Make sure that the test suite covers everything
|
|
Packit |
95306a |
|
|
Packit |
95306a |
. ../0
|
|
Packit |
95306a |
cover -delete
|
|
Packit |
95306a |
cover -test
|
|
Packit |
95306a |
# make sure everything is 100%
|
|
Packit |
95306a |
cover -delete
|
|
Packit |
95306a |
make distclean
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Regenerate the MANIFEST and run the kwalitee tests
|
|
Packit |
95306a |
|
|
Packit |
95306a |
find . -name \*.swp
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#########################################################################
|
|
Packit |
95306a |
Run the internal/leak.pl whenever a new version of perl is available to
|
|
Packit |
95306a |
see if the leak persists. When it's fixed, note this in the known problems
|
|
Packit |
95306a |
section.
|
|
Packit |
95306a |
|
|
Packit |
95306a |
A patch for this went in on Dec 13, 2011 when the following versions of
|
|
Packit |
95306a |
perl are active:
|
|
Packit |
95306a |
5.16.0 FIXED
|
|
Packit |
95306a |
5.15.6 FIXED
|
|
Packit |
95306a |
5.14.2 maint
|
|
Packit |
95306a |
5.12.4 maint
|
|
Packit |
95306a |
5.10.1 unmaint
|
|
Packit |
95306a |
|
|
Packit |
95306a |
so look for it to be corrected in newer versions than this (not sure if
|
|
Packit |
95306a |
it'll be applied to the maintenance versions).
|
|
Packit |
95306a |
|