diff options
author | jdp <jdp@FreeBSD.org> | 2001-05-27 00:03:48 +0000 |
---|---|---|
committer | jdp <jdp@FreeBSD.org> | 2001-05-27 00:03:48 +0000 |
commit | 044624e74c3b04e499b4be779354df7597bcc8fe (patch) | |
tree | 642621dc8bc5785797ecd16d08b8283603dd8de5 /net/cvsup | |
parent | 6ec3841ed7a1a8f86126bbaaecaa78350853dcfd (diff) | |
download | FreeBSD-ports-044624e74c3b04e499b4be779354df7597bcc8fe.zip FreeBSD-ports-044624e74c3b04e499b4be779354df7597bcc8fe.tar.gz |
Add a patch to fix the notorious "jakarta-tomcat" bug. This bug
came to the fore in checkout mode when a file "files,v" in the
repository was manually changed into a directory "files".
With this patch, CVSup will still complain that it cannot delete
"files" because the directory is not empty. However, it is now a
warning rather than a fatal error, and the update will run to
completion. The warning will happen only once. After emitting
the warning, CVSup will fix the damage in the checkouts file to
eliminate the problem. On subsequent updates everything will be
OK and no more warnings will occur.
I have bumped PORTREVISION to 1, and added "p1" to the end of the
version number printed by CVSup.
PR: misc/27495
Diffstat (limited to 'net/cvsup')
-rw-r--r-- | net/cvsup/Makefile | 1 | ||||
-rw-r--r-- | net/cvsup/files/patch-ac | 51 | ||||
-rw-r--r-- | net/cvsup/files/patch-ad | 15 |
3 files changed, 67 insertions, 0 deletions
diff --git a/net/cvsup/Makefile b/net/cvsup/Makefile index e54f675..b1fc28f 100644 --- a/net/cvsup/Makefile +++ b/net/cvsup/Makefile @@ -7,6 +7,7 @@ PORTNAME= cvsup PORTVERSION?= 16.1 +PORTREVISION?= 1 CATEGORIES= net devel MASTER_SITES?= ftp://ftp3.freebsd.org/pub/FreeBSD/development/CVSup/sources/ \ ftp://ftp.freebsd.org/pub/FreeBSD/development/CVSup/sources/ \ diff --git a/net/cvsup/files/patch-ac b/net/cvsup/files/patch-ac new file mode 100644 index 0000000..817a374 --- /dev/null +++ b/net/cvsup/files/patch-ac @@ -0,0 +1,51 @@ +Index: client/src/Updater.m3 +=================================================================== +RCS file: /home/cvsupcvs/cvsup/client/src/Updater.m3,v +retrieving revision 1.91 +diff -u -r1.91 Updater.m3 +--- client/src/Updater.m3 1999/08/13 19:51:29 1.91 ++++ client/src/Updater.m3 2001/05/26 23:11:39 +@@ -712,7 +712,7 @@ + IF SupFileRec.Option.KeepBadFiles IN sfr.options THEN + Warn(self, "Bad version saved in " & tempPath); + ELSE +- DeleteFile(tempPath); ++ DeleteFile(self, tempPath); + END; + END; + END UpdateFile; +@@ -1188,7 +1188,7 @@ + IF NOT SupFileRec.Option.CheckoutMode IN sfr.options THEN + (* Try the attic. *) + WITH atticName = SupMisc.AtticName(destPath) DO +- DeleteFile(atticName); ++ DeleteFile(self, atticName); + (* We always delete the Attic directory when it becomes empty. + FIXME - Is that the right thing to do?. *) + TRY +@@ -1196,7 +1196,7 @@ + EXCEPT OSError.E => (* Ignore. *) END; + END; + END; +- DeleteFile(destPath); ++ DeleteFile(self, destPath); + IF SupFileRec.Option.CheckoutMode IN sfr.options + OR NOT self.proto.v.dirsAreExplicit THEN + (* Delete the directory automatically if it is now empty. *) +@@ -1231,14 +1231,13 @@ + END; + END MakeDirectories; + +-PROCEDURE DeleteFile(path: Pathname.T) +- RAISES {Error} = ++PROCEDURE DeleteFile(self: T; path: Pathname.T) = + BEGIN + TRY + FileAttr.Delete(path); + EXCEPT OSError.E(l) => + IF l.head # EnoentAtom THEN +- RAISE Error("Cannot delete \"" & path & "\": " & ++ Warn(self, "Cannot delete \"" & path & "\": " & + ErrMsg.StrError(l)); + END; + END; diff --git a/net/cvsup/files/patch-ad b/net/cvsup/files/patch-ad new file mode 100644 index 0000000..1fb0cfd --- /dev/null +++ b/net/cvsup/files/patch-ad @@ -0,0 +1,15 @@ +--- quake/cvsup.quake.orig Sat Jan 16 15:47:58 1999 ++++ quake/cvsup.quake Sat May 26 16:21:51 2001 +@@ -50,10 +50,10 @@ + > tempname in + write("MODULE Version;", CR, CR, "BEGIN", CR, " Name := ") + end +- if equal("$Name: REL_16_1 $", "$" & "Name: $") ++ if equal("$Name: REL_16_1p1 $", "$" & "Name: $") + cmd = "date -u +'\"U_%Y_%m_%d_%H_%M_%S\";'" + else +- cmd = "echo '$Name: REL_16_1 $' | awk '{print \"\\\"\" $2 \"\\\"\";}'" ++ cmd = "echo '$Name: REL_16_1p1 $' | awk '{print \"\\\"\" $2 \"\\\"\";}'" + end + cmd = cmd & " >> " & tempname + if defined("PM3") |