Patch Name: PHCO_19044 Patch Description: s700_800 10.26 rcs(1) Year 2000 cumulative patch Creation Date: 99/08/23 Post Date: 99/10/20 Hardware Platforms - OS Releases: s700: 10.26 s800: 10.26 Products: N/A Filesets: SourceControl.SRC-CNTL SourceControl.SRC-ENG-A-MAN Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_19044 Symptoms: PHCO_19044: Repackage of 10.20 patch PHCO_18912: (PHCO_18912) 1. Option "d" of rlog(1) doesn't work properly. 2. rlog(1) manpage has incorrect example. PHCO_17955: Port of PHCO_16964 (PHCO_16964) rcs ci -k option is not year 2000 compliant. rcs co -d option is not year 2000 compliant. PHCO_17056: Port of PHCO_16020 (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_19044: Repackage of 10.20 patch PHCO_18912: (PHCO_18912) 1. year 2000 rcs patch has non-year 2000 date handling defect. rlog(1) doesn't return the latest revision before "date" if the option -d"date" is specified. Only the header of the rcs archive is shown. Ex : $rlog -d"1988/12/12" foo.c,v This will show only the header of rcs archive, but not the revision information. Resolution: Normal date format "DATEFORM" was used for zero date format, this will pass "00.00.00.00.00 .00" to function cmpdate() and in cmpdate() funtion the format was converted to "2000.00.00.00.00.00",this was leading to problems when comparing with any dates, A new date format "ZERODATEFORM" "0000.00.00.00.00.00" is added and used to pass this format for cmpdate() function. 2. rlog: 10.20 example is incorrect. The rlog(1) manpage gives an incorrect example on how to use the -d option. Resolution: The example was in -d"yy/mm/dd" format, which is invalid. So changed the example to -d"mm/dd/yy" format. PHCO_17955: Port of PHCO_16964 (PHCO_16964) rcs ci -k issues an error message when an archive 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 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_17056: Port of PHCO_16020 (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. Resolution: Port of PHCO_16020 to 10.26 SR: 1653307082 1653307108 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 /usr/share/man/man1.Z/rlog.1 what(1) Output: /usr/bin/ci: $Revision: 78.1.1.7 $ PATCH_10_20: ../hpux_rel.o ci.o 99/06/16 /usr/bin/co: $Revision: 78.1.1.7 $ PATCH_10_20: ../hpux_rel.o co.o 99/06/16 /usr/bin/ident: $Revision: 78.1.1.7 $ PATCH_10_20: ident.o ../hpux_rel.o 99/06/16 /usr/bin/merge: None /usr/bin/rcs: $Revision: 78.1.1.7 $ PATCH_10_20: rcs.o ../hpux_rel.o 99/06/16 /usr/bin/rcsdiff: $Revision: 78.1.1.7 $ PATCH_10_20: rcsdiff.o ../hpux_rel.o 99/06/16 /usr/bin/rcsmerge: $Revision: 78.1.1.7 $ PATCH_10_20: rcsmerge.o ../hpux_rel.o 99/06/16 /usr/bin/rlog: $Revision: 78.1.1.7 $ PATCH_10_20: rlog.o ../hpux_rel.o 99/06/16 /usr/lbin/rdiff: $Revision: 78.1.1.7 $ PATCH_10_20: diff.o diffreg.o ../hpux_rel.o 99/06/16 /usr/share/man/man1.Z/co.1: None /usr/share/man/man1.Z/rlog.1: None cksum(1) Output: 2199576176 77824 /usr/bin/ci 2108047394 73728 /usr/bin/co 2796226599 12288 /usr/bin/ident 2010403416 1342 /usr/bin/merge 1508631823 77824 /usr/bin/rcs 1388196396 45056 /usr/bin/rcsdiff 2995629984 49152 /usr/bin/rcsmerge 1309766572 73728 /usr/bin/rlog 3061180037 24576 /usr/lbin/rdiff 3281312088 5540 /usr/share/man/man1.Z/co.1 763473516 2753 /usr/share/man/man1.Z/rlog.1 Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_17056 PHCO_17955 Equivalent Patches: PHCO_18912: s700: 10.20 s800: 10.20 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_19044 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_19044.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_19044. 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_19044.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_19044.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None