@@ -27,7 +27,7 @@ library.
2727 * [ Step 3: Fix Transition Times] ( #Step3FixTransitionTimes )
2828 * [ Step 4: Generate Start Until Times] ( #Step4GenerateStartUntilTimes )
2929 * [ Step 5: Calculate Abbreviations] ( #Step5CalculateAbbreviations )
30- * [ Upgrading ZoneInfo Files to a New TZDB Version ] ( #UpgradingZoneInfoFiles )
30+ * [ Upgrading TZDB] ( #UpgradingZoneInfoFiles )
3131* [ Release Process] ( #ReleaseProcess )
3232
3333<a name =" ProjectRepoDependency " ></a >
@@ -792,7 +792,7 @@ field is a static array of 7 characters (to account for the terminating NUL
792792character).
793793
794794<a name =" UpgradingZoneInfoFiles " ></a >
795- ## Upgrading ZoneInfo Files to a New TZDB Version
795+ ## Upgrading TZDB
796796
797797About 2-4 times a year, a new TZDB version is released. Here are some notes
798798(mostly for myself) on how to create a new release after a new TZDB version is
@@ -805,29 +805,48 @@ available.
805805 - ` $ git pull `
806806 - Check that the correct tag is pulled (e.g. ` 2020c ` tag if that's the
807807 version that we want to upgrade to).
808- - Update the Hinnant date repo (https://github.com:HowardHinnant/date ). This
808+ - Update the Hinnant ` date ` repo (https://github.com:HowardHinnant/date ). This
809809 should be a sibling to the ` AceTime ` repo:
810810 - ` $ cd ../date `
811811 - ` $ git pull `
812812- Update the zonedb files for ` acetimepy ` (needed by AcetzBasicTest and
813813 AcetzExtendedTest):
814- - ` $ cd acetimepy/src/acetime `
815- - ` $ vi zonedb*/Makefile `
814+ - ` $ cd acetimepy `
815+ - ` $ vi src/ zonedb*/Makefile `
816816 - Update the ` TZ_VERSION ` variable in the various makefiles.
817817 - ` $ make zonedbs `
818+ - ` $ make all `
818819- Update the zonedb files for ` acetimec ` (needed by AcetimecBasicTest and
819820 AcetimecExtendedTest)
820821 - ` $ cd acetimec/src `
821822 - ` $ vi zonedb*/Makefile `
822823 - Update the ` TZ_VERSION ` variable in the various makefiles.
823824 - ` $ make zonedbs `
824825 - ` $ make ` to update the ` acetimec.a ` lib file
826+ - ` $ cd ../tests `
827+ - ` $ make -j2 `
828+ - ` $ make runtests `
829+ - Update the zonedb files for ` acetimego `
830+ - ` $ cd acetimego `
831+ - ` $ vi zonedb*/Makefile `
832+ - Update the ` TZ_VERSION ` variable in the various makefiles.
833+ - ` $ make zonedbs `
834+ - ` $ make all `
835+ - ` $ make test `
836+ - Update the zonedb files for ` AceTime ` :
837+ - ` $ cd AceTime/src `
838+ - ` $ vi zonedb*/Makefile `
839+ - Update the ` TZ_VERSION ` variable in the makefiles.
840+ - ` $ make zonedbs `
841+ - ` $ cd ../tests `
842+ - ` $ make clean `
843+ - ` $ make -j2 tests `
844+ - ` $ make runtests `
825845- Recompile the binaries in ` AceTimeValidation ` tools
826846 - ` $ cd AceTimeValidation/tools `
827847 - ` $ make clean `
828- - ` $ make `
829- - Verify that ` AceTimeValidation ` passes. This compares AceTime with 3 other
830- libraries: acetimec, acetimepy, and the Hinnant ` date ` library:
848+ - ` $ make -j2 `
849+ - Verify that ` AceTimeValidation/tests ` pass.
831850 - ` $ cd AceTimeValidation/tests `
832851 - ` $ make clean `
833852 - ` $ vi {Acetimec,Acetz,Hinnant}{Basic,Extended}*/Makefile `
@@ -838,32 +857,32 @@ available.
838857 - ` AcetzExtendedTest/Makefile `
839858 - ` HinnantBasicTest/Makefile `
840859 - ` HinnantExtendedTest/Makefile `
841- - Validate against one library, acetimec:
860+ - Validate against the other libraries:
861+ - ` $ make -j2 tests `
862+ - ` $ make runtests `
863+ - (Debugging) To validate against one library, e.g. acetimec:
842864 - ` $ make -C AcetimecExtendedTest clean `
843865 - ` $ make -C AcetimecExtendedTest all `
844866 - ` $ make -C AcetimecExtendedTest run `
845- - Validate against the other libraries:
846- - ` $ make clean `
847- - ` $ make -j4 tests `
848- - ` $ make runtests `
849- - Update the various zoneinfo files for AceTime:
850- - ` $ cd AceTime/src `
851- - ` $ vi zonedb*/Makefile `
852- - Update the ` TZ_VERSION ` variable in the makefiles.
853- - ` $ make zonedbs `
867+ - Verify that ` AceTimeValidation/validation ` passes.
868+ - ` $ cd AceTimeValidation/validation `
869+ - ` $ make clean `
870+ - ` $ make -j2 validation `
854871- Update CHANGELOGs
855872 - Copy a summary of the TZDB release notes from
856873 https://mm.icann.org/pipermail/tz-announce/ to the various CHANGELOG.md
857874 files.
858875 - AceTime/CHANGELOG.md
859876 - acetimec/CHANGELOG.md
877+ - acetimego/CHANGELOG.md
860878 - acetimepy/CHANGELOG.md
861879 - AceTimeValidation/CHANGELOG.md
862- - Commit and push the changes for the following repos: AceTime, acetimec,
863- acetimepy, AceTimeValidation
864- - ` $ git add ... `
865- - ` $ git commit -m "..." `
866- - ` $ git push `
880+ - Commit and push the changes for the following repos:
881+ - AceTime
882+ - acetimec
883+ - acetimego
884+ - acetimepy
885+ - AceTimeValidation
867886
868887There are 12 other validation tests in the AceTimeValidation project that
869888compare AceTime with various other third party libraries:
0 commit comments