Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <3830485B.CE742FCA@agames.com> Date: Mon, 15 Nov 1999 09:52:27 -0800 From: "David O'Riva" Organization: Atari Games, Inc. X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: cygwin AT sourceware DOT cygnus DOT com CC: Andre Oliveira da Costa , rogers AT agames DOT com Subject: Re: [NOT FIXED] Symbolic links & RCS -- READ IT! References: <3830060D DOT F521C1C6 AT agames DOT com> Content-Type: multipart/mixed; boundary="------------2072CE062E7D5A8F2CFF0E8E" --------------2072CE062E7D5A8F2CFF0E8E Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Well, shoot. The patch I just put up has a problem - bad_nw_rename wasn't configuring at all. This revised patch takes care of that and is a bit clearer about what the problem is (utime(UNWRITEABLEFILE,struct utime) fails). Sigh... This one actually passes all my tests, and should be everything the previous one was supposed to be. ;-) -- -dave _________________________ ------------/ David O'Riva \-------------- 408- | Staff Software Engineer | oriva@ 473-9413 | Atari Games, Inc. | agames.com \_________________________/ --------------2072CE062E7D5A8F2CFF0E8E Content-Type: text/plain; charset=us-ascii; name="rcs-5.7-cygwinb20.patchb" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="rcs-5.7-cygwinb20.patchb" # patches rcs-5.7 to work with cygwin b19/20/20.1 # doesn't break the configure script for other systems # To apply: cd rcs-5.7 ; patch -p 1 -i rcs-5.7-cygwinb20.patchb diff -rc rcs-5.7/src/conf.sh rcs-5.7-good/src/conf.sh *** rcs-5.7/src/conf.sh Mon Nov 15 07:17:49 1999 --- rcs-5.7-good/src/conf.sh Mon Nov 15 08:49:40 1999 *************** *** 311,325 **** # We must do has_readlink next, because it might generate # #include directives that affect later definitions. ! $ech >&3 "$0: configuring has_readlink, readlink_isreg_errno $dots" cat >a.c <&3 "$0: configuring has_readlink, readlink_isreg_errno, bad_readlink_enoent $dots" cat >a.c <&3 $h, $readlink_isreg_errno cat <&3 $h, $readlink_isreg_errno, $bh cat <&3 $has_map_fd, $has_mmap, $has_madvise, $mmap_signal --- 1071,1077 ---- # when someone unexpectedly truncates a file # while RCS has it mmapped. rm -f a.e && cp a.c a.e && ! mmap_signal=`$aout a.e &3 $has_map_fd, $has_mmap, $has_madvise, $mmap_signal *************** *** 1103,1108 **** --- 1121,1151 ---- echo "#define bad_a_rename $a /* Does rename(A,B) fail if A is unwritable? */" echo "#define bad_b_rename $b /* Does rename(A,B) fail if B is unwritable? */" echo "#define bad_NFS_rename 0 /* Can rename(A,B) falsely report success? */" + + $ech >&3 "$0: configuring bad_nw_utime $dots" + cat >a.c <&2 + then + rm -f a.a && + echo a >a.a && chmod -w a.a || exit + if $aout + then a=0 + else a=1 + fi + rm -f a.a || exit + else a=0 + fi + echo >&3 $a + echo "#define bad_nw_utime $a /* Does utime() work on unwriteable files? */" $ech >&3 "$0: configuring void, VOID $dots" cat >a.c <string, &st) == 0 ) ! /* File exists, but no symlink */ ! return 1; ! } ! # else ! return 1; ! # endif case ENOENT: return 0; default: return -1; } *************** *** 1595,1601 **** } # endif ! # if bad_a_rename /* * There's a short window of inconsistency * during which the lock file is writable. --- 1610,1617 ---- } # endif ! if ( bad_a_rename || (bad_nw_utime && mtime!=-1) ) ! { /* * There's a short window of inconsistency * during which the lock file is writable. *************** *** 1603,1609 **** mode_while_renaming = mode|S_IWUSR; if (mode != mode_while_renaming) set_mode = 1; ! # endif # if has_fchmod if (0