Patch Name: PHCO_16964 Patch Description: s700_800 10.20 rcs(1) Year 2000 cumulative patch Creation Date: 99/03/03 Post Date: 99/03/12 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: SourceControl.SRC-CNTL SourceControl.SRC-ENG-A-MAN Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_16964 Symptoms: PHCO_16964: rcs ci -k option is not year 2000 compliant. rcs co -d option is not year 2000 compliant. PHCO_16020: HP rcs incompatible with GNU rcs for years beyond 1999. GNU rcs uses 4 digit format for years beyond 1999 whereas HP rcs continues to use the 2 digit format. PHCO_10125: rlog: option -d, the locale of the date input will be in the mm/dd/yy fixed format. co: option -d, the locale of the date input will be in the mm/dd/yy fixed format. Defect Description: PHCO_16964: rcs ci -k issues an error message when an archive file is re-checked-in in the year 2000. rcs co -d option does not pick up the correct versions in the year 2000. Resolution: The generic function "cmpnum()" which compares two numbers was wrongly invoked to compare two dates. Now this has been replaced by function "cmpdate()" which compares two dates correctly. The function "cmpdate()" has been tested to be Y2K compliant. The function getprevdate() had hard coded assumptions about the date format. The assumption worked fine for dates before year 2000, like 99/01/01 which used to get converted to 99.01.01. However the assumption failed for year 2000 and beyond. For example 2000/01/01 used to get converted to 20.0/.1/.1 which is invalid. This function has now been corrected. After the installation of this patch, rcs ci -k will After the installation of this patch, rcs ci -k will not issue any error messages when an archive file is re-checked-in in the year 2000. The check-in of the archive file will be sucessfull. After the installation of this patch, rcs co -d will be able to check out the correct revisions in the year 2000. PHCO_16020: HP RCS generated archives (,v files) containing revisions created in the year 2000 and beyond will not be correctly parsed by the public domain GNU RCS and vice versa. The format of the time stamps in the rcs generated archives (,v files) has been changed such that all dates beyond year 1999 are represented using 4 digits and dates prior to year 2000 are represented using 2 digits. After the installation of this patch, HP rcs will be compatible with GNU rcs. All dates beyond year 1999 will be displayed using 4 digits and all dates prior to year 2000 will be displayed using 2 digits format. PHCO_10125: rlog: option -d, the locale of the date input will be in the mm/dd/yy fixed format. co: option -d, the locale of the date input will be in the mm/dd/yy fixed format. SR: 5003435529 1653278853 4701397638 4701334763 Patch Files: /usr/bin/ci /usr/bin/co /usr/bin/ident /usr/bin/merge /usr/bin/rcs /usr/bin/rcsdiff /usr/bin/rcsmerge /usr/bin/rlog /usr/lbin/rdiff /usr/share/man/man1.Z/co.1 what(1) Output: /usr/bin/ci: $Revision: 78.1.1.6 $ PATCH_10_20: ../hpux_rel.o ci.o 99/03/02 /usr/bin/co: $Revision: 78.1.1.6 $ PATCH_10_20: ../hpux_rel.o co.o 99/03/02 /usr/bin/ident: $Revision: 78.1.1.6 $ PATCH_10_20: ident.o ../hpux_rel.o 99/03/02 /usr/bin/merge: None /usr/bin/rcs: $Revision: 78.1.1.6 $ PATCH_10_20: rcs.o ../hpux_rel.o 99/03/02 /usr/bin/rcsdiff: $Revision: 78.1.1.6 $ PATCH_10_20: rcsdiff.o ../hpux_rel.o 99/03/02 /usr/bin/rcsmerge: $Revision: 78.1.1.6 $ PATCH_10_20: rcsmerge.o ../hpux_rel.o 99/03/02 /usr/bin/rlog: $Revision: 78.1.1.6 $ PATCH_10_20: rlog.o ../hpux_rel.o 99/03/02 /usr/lbin/rdiff: $Revision: 78.1.1.6 $ PATCH_10_20: diff.o diffreg.o ../hpux_rel.o 99/03/02 /usr/share/man/man1.Z/co.1: None cksum(1) Output: 1664683156 77824 /usr/bin/ci 3954641786 73728 /usr/bin/co 3505500808 12288 /usr/bin/ident 2010403416 1342 /usr/bin/merge 2631119537 77824 /usr/bin/rcs 3052333840 45056 /usr/bin/rcsdiff 2484479309 49152 /usr/bin/rcsmerge 4147771357 73728 /usr/bin/rlog 1289741724 24576 /usr/lbin/rdiff 73649100 5545 /usr/share/man/man1.Z/co.1 Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_10125 PHCO_16020 Equivalent Patches: PHCO_16965: s700: 11.00 s800: 11.00 PHCO_16963: s700: 10.10 s800: 10.10 PHCO_16962: s700: 10.01 s800: 10.01 Patch Package Size: 500 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_16964 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_16964.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHCO_16964.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_16964. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHCO_16964.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_16964.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None