Compare commits

..
81 Commits
Author SHA1 Message Date
Colin Percival 7459678c59 Correct a bug in the handling of backslash characters in smbfs which can
allow an attacker to escape from a chroot(2).

Approved by:	so (cperciva)
Security:	FreeBSD-SA-06:16.smbfs
2006-05-31 22:35:32 +00:00
Colin Percival 16bd853276 MFC: Correct a local information leakage bug affecting AMD FPUs.
Security:	FreeBSD-SA-06:14.fpu
Approved by:	so (cperciva)
2006-04-19 07:03:14 +00:00
Colin Percival bf41e5cc4c Add missing code needed for the detection of IPSec packet replays. [1]
Correctly identify the user running opiepasswd(1) when the login name
differs from the account name. [2]

Modify timeout handling logic in sendmail(8) to correct a reported
signal handling race condition. [3]

Approved by:	so (cperciva)
Security:	FreeBSD-SA-06:11.ipsec [1]
Security:	FreeBSD-SA-06:12.opie [2]
Security:	FreeBSD-SA-06:13.sendmail [3]
2006-03-22 16:03:25 +00:00
Simon L. B. Nielsen bbc537055a Correct a remote kernel panic when processing zero-length RPC records
via TCP.

Security:	FreeBSD-SA-06:10.nfs
Approved by:	so (cperciva)
2006-03-01 14:23:07 +00:00
Colin Percival ff1a157c26 Correct insecure temporary file usage in texindex. [06:01]
Correct insecure temporary file usage in ee. [06:02]
Correct a race condition when setting file permissions, sanitize file
names by default, and fix a buffer overflow when handling files
larger than 4GB in cpio. [06:03]

Security:	FreeBSD-SA-06:01.texindex
Security:	FreeBSD-SA-06:02.ee
Security:	FreeBSD-SA-06:03.cpio
Approved by:	so (cperciva)
2006-01-11 08:08:08 +00:00
Colin Percival d6e136cae2 Correct a man-in-the-middle SSL version rollback vulnerability.
Security:       FreeBSD-SA-05:21.openssl
Approved by:	so@ (cperciva)
2005-10-11 11:51:45 +00:00
Colin Percival fe3079a86c Fix two more temporary file usage bogons which were apparently fixed
but not MFCed to RELENG_4_10 earlier.

Approved by:	so (cperciva)
Security:	FreeBSD-SA-05:20.cvsbug
2005-09-09 19:24:22 +00:00
Colin Percival 7154d546c5 MFC: Correct insecure temporary file usage.
Security:	FreeBSD-SA-05:20.cvsbug
Approved by:	so (cperciva)
2005-09-07 13:44:36 +00:00
Simon L. B. Nielsen 88185f5e12 Correct bzip2 denial of service and permission race vulnerabilities.
Obtained from:	Redhat, Steve Grubb via RedHat
Security:	CAN-2005-0953, CAN-2005-1260
Security:	FreeBSD-SA-05:14.bzip2
Approved by:	obrien

Correct TCP connection stall denial-of-service vulnerabilities.

MFC: rev 1.270 of tcp_input.c, rev 1.25 of tcp_seq.h by ps: When a TCP
packets containing a timestamp is received, inadequate checking of
sequence numbers is performed, allowing an attacker to artificially
increase the internal "recent" timestamp for a connection.

A TCP packets with the SYN flag set is accepted for established
connections, allowing an attacker to overwrite certain TCP options.

Security:	CAN-2005-0356, CAN-2005-2068
Security:	FreeBSD-SA-05:15.tcp

Approved by:	so (cperciva)
2005-06-29 21:46:15 +00:00
Simon L. B. Nielsen e06afa22f2 Correct directory traversal and race condition vulnerabilities in gzip.
Security:	FreeBSD-SA-05:11.gzip
Security:	CAN-2005-0988, CAN-2005-1228
Obtained from:	Steve Grubb via RedHat, Debian

Approved by:	so (nectar)
2005-06-08 21:31:16 +00:00
Jacques Vidrine 13f9d4c5bd Add a knob for disabling/enabling HTT, "machdep.hyperthreading_allowed".
Default off due to information disclosure on multi-user systems.

Submitted by:	cperciva
Reviewed by:	jhb
Approved by:	security-officer
2005-05-13 00:08:30 +00:00
Colin Percival 6dfe6003be MFC: Fix two issues which were missed in FreeBSD-SA-05:08.kmem.
Reported by:	Uwe Doering
Approved by:	so (cperciva)
2005-05-08 10:35:56 +00:00
Colin Percival 90ef8aa429 If we are going to
1. Copy a NULL-terminated string into a fixed-length buffer, and
2. copyout that buffer to userland,
we really ought to
0. Zero the entire buffer
first.

Security: FreeBSD-SA-05:08.kmem
Approved by: so (cperciva)
2005-05-06 02:50:35 +00:00
Colin Percival f31c46a0ae Correctly validate inputs to the i386_get_ldt syscall.
Security: FreeBSD-SA-05:07.ldt
Approved by: so (cperciva)
2005-05-06 02:40:32 +00:00
Colin Percival ed7804d51c Correct improper permissions on /dev/iir. The earlier permissions
of 0644 allowed for people to do Evil Things via ioctl(2).

Security: FreeBSD-SA-05:06.iir
Approved by: so (cperciva)
2005-05-06 02:34:01 +00:00
Simon L. B. Nielsen 7ec7a3928a MFC:
Correct multiple security related errors: a buffer overflow, NULL
pointer dereferences, possible use of uninitialized variables, and
memory leaks.

Security:	CAN-2005-0753
Security:	FreeBSD-SA-05:05.cvs
Approved by:	so (cperciva)
2005-04-22 18:17:22 +00:00
Colin Percival 2551235700 Zero the ifr.ifr_name buffer in ifconf() in order to avoid
accidental disclosure of kernel memory to userland.

Security:	FreeBSD-SA-05:04.ifconf
Approved by:	so (cperciva)
2005-04-15 01:53:14 +00:00
Colin Percival 3b4a130ca4 MFC revision 1.103.
Security:	FreeBSD-SA-05:02.sendfile
Approved by:	so (nectar)
2005-04-04 23:54:33 +00:00
Jacques Vidrine 11acc75adb MFC src/contrib/telnet/telnet.c 1.16: Correct buffer overflows in
telnet(1).
Security: CAN-2005-0468, CAN-2005-0469
Approved by:	security-officer
2005-03-28 15:58:28 +00:00
Colin Percival 623e7349f8 FreeBSD-SA-04:17.procfs:
MFC (in the spirit of) revision 1.54 of
src/sys/fs/procfs/procfs_status.c

Approved by:	so (nectar)
2004-12-01 21:35:57 +00:00
Colin Percival 07459c4cb3 FreeBSD-SA-04:16.fetch:
MFC revision 1.75 of src/usr.bin/fetch/fetch.c
Bump newvers.sh and document in UPDATING.

Approved by:	so
2004-11-18 12:06:51 +00:00
Jacques Vidrine 8f312a426c Correct several vulnerabilities in CVS 1.11.5 (CAN-2004-0414,
CAN-2004-0416, CAN-2004-0417, CAN-2004-0418, CAN-2004-0778 and
others).

Approved by:	so
2004-09-19 22:28:14 +00:00
Colin Percival 8f98508393 FreeBSD-SA-04:13.linux:
MFC revision 1.116 of sys/compat/linux/linux_ioctl.c
Bump newvers.sh and document in UPDATING.

Approved by:	so (des)
2004-06-30 17:34:38 +00:00
Ken Smith 91884d6198 Add note about p1 and what it fixes.
Caught by:	kuriyama
Approved by:	so (implicit)
2004-06-26 04:39:46 +00:00
Ken Smith ce61d1683a MFS of fix to twe(4) driver. Fixes problem seen on 6xxx series controllers
where driver repeatedly submits the same request if the cmd queue gets
full.  This will be handled as an Errata Notice.

Commits being MFS-ed:
	sys/dev/twe/twe.c		1.1.2.10
	sys/dev/twe/twe_freebsd.c	1.2.2.9
	sys/dev/te/twevar.h		1.1.2.8

Submitted by:	ps, vkashyap
Reviewed by:	re
Approved by:	so
2004-06-26 02:22:24 +00:00
cvs2svn afc18b6631 This commit was manufactured by cvs2svn to create branch 'RELENG_4_10'. 2004-06-16 09:47:28 +00:00
Ken Smith 18aaf2a363 MFS of rev 1.73.2.91, note 4.10-RELEASE date.
Approved by:	re (implicit)
2004-05-27 06:21:52 +00:00
Bruce A. Mah 71f42d7e75 Fix version number when referring to the current FreeBSD release.
Approved by:	re (scottl)
2004-05-25 15:47:50 +00:00
Scott Long a31b245266 Trim the package list down some due to overflow problems.
Approved by:	re
2004-05-25 15:20:10 +00:00
Scott Long 3bca303ce3 Add errata for the 4.10 release
Approved by:	re
2004-05-25 14:20:51 +00:00
Scott Long ce6b0610dc Update __FreeBSD_version for 4.10. Note that it is 491000.
Approved by:	re
2004-05-25 05:33:40 +00:00
Scott Long f48f6a3925 Update for 4.10-RELEASE
Approved by: re
2004-05-25 05:30:47 +00:00
Scott Long ba58b51ee5 Update for 4.10
Approved by:	re
2004-05-25 05:29:02 +00:00
Scott Long cc37a32a9f Update for 4.10
Approved by: re
2004-05-25 05:27:16 +00:00
Ken Smith 3163ff424e MFS of Rev. 1.187.2.29, adding sysctl "vm.old_msync" to allow users to
choose the old msync(... MS_INVALIDATE) heuristics if needed.

Approved by:	re (scottl)
2004-05-22 23:09:19 +00:00
Hiroki Sato fc800e684a Bump &release.current;.
Approved by:	re (implicitly)
2004-05-22 00:23:31 +00:00
Hiroki Sato e9983f17b8 Add a link to the errata document for convenience.
Approved by:	re (implicitly)
2004-05-22 00:22:41 +00:00
Hiten Pandya b859e04cf4 Merge from RELENG_4:
* Remove a long obsolete paragraph from the BUGS section.
	* Bump the date.

Requested by:	alc
Approved by: 	re@ (scottl)
2004-05-21 02:19:21 +00:00
Dag-Erling Smørgrav 63081fab05 Merge updated patch from vendor branch (1.1.1.17)
Approved by:	re
2004-05-20 13:17:42 +00:00
Paul Saab 1ee4fce8f9 MFC: rev 1.124. Fix "thundering herd" problem in accept.
Approved by:	re (scottl)
2004-05-19 19:40:17 +00:00
Scott Long ff6413d9b4 MFC: Add support for new chip Id's.
Submitted by:	gibbs
Approved by:	re (kensmith)
2004-05-19 18:25:46 +00:00
Dag-Erling Smørgrav f1402c7718 Merge parser fix from vendor branch (rev 1.1.1.16)
Approved by:	re
2004-05-19 06:16:53 +00:00
Scott Long d8bb4710a0 MFS: Wait 1 second after loading modules to let slow devices probe.
Approved by: re (implicit)
2004-05-16 04:21:59 +00:00
Ken Smith c6325d1067 MFS of rev 1.187.2.27: Change vm_map_clean(... MS_INVALIDATE) to not
delete dirty pages.

Approved by:	re (bmah)
2004-05-14 23:06:25 +00:00
Ken Smith 5e3f77db27 MFS of rev 1.65.2.15: Implement IO_INVAL in the vnode op for writing by
marking the buffer as "no cache".

Approved by:	re (bmah)
2004-05-14 23:05:23 +00:00
Ken Smith ce57821091 MFS of rev 1.64.2.4: Change ffs_realloccg() to set the valid bits for
the extended part of the fragment to zero the valid parts of a VM_IO
buffer.

Approved by:	re (bmah)
2004-05-14 23:03:50 +00:00
Kris Kennaway 1e2ade94cc MFC: Belatedly catch up to XFree86 4.3 layout
Approved by:	re@
2004-05-13 09:41:17 +00:00
Roman Kurakin abb49b2191 MFC: Use better way of hiding FR for sppp without fr support. We should hide
it since we do not have fr support in FreeBSD's sppp, but we have it in
	Cronyx's sppp.

Requested by: Dmitry Morozovsky <marck at rinet dot ru>
Tested by: rik, Dmitry Morozovsky <marck at rinet dot ru>

Approved by: re
2004-05-12 17:19:15 +00:00
Roman Kurakin b0a8e657ba Remove reference to hints file since we don't have it in RELENG_4
Correct information about kernel configuration for these devices.

Pointy hat:     rik
Pointed by:     Dmitry Morozovsky <marck at rinet dot ru>

Approved by:	re
2004-05-12 17:13:32 +00:00
Vinod Kashyap de44083139 1. Fixed potential problem that would cause out-of-order requests in twe_startio.
2. Fixed possible race condition in twe_start.
3. Changed version.

Submitted by: scottl
Reviewed by: vkashyap
Approved by: re
2004-05-12 03:37:43 +00:00
Tim J. Robbins c08e85f83e MFS rev. 1.8.2.5: Fix BSS buffer overflow in makeargv().
Approved by:	re (kensmith)
2004-05-12 03:30:00 +00:00
Tim J. Robbins ddfa5073e3 MFS rev. 1.13.2.13: Fix two buffer overflows caused by off-by-one errors:
avoid writing a null character 1 byte past the end of cmdline[] when
libedit is being used for input, and avoid writing a null pointer 1
element past the end of margv[].

Approved by:	re (kensmith)
2004-05-12 03:14:00 +00:00
Tim J. Robbins 1876502656 MFS rev. 1.3.2.1: Fix a BSS buffer overflow caused by makeargv() writing
past the end of margv[] when an input line contains 20 or more
space-separated words.

Approved by:	re (kensmith)
2004-05-12 03:05:19 +00:00
Bruce A. Mah f41238e126 MFC: SA-04:08, SA-04:09.
Approved by:	re (implicitly)
2004-05-09 22:45:54 +00:00
Bruce A. Mah 69fd68ba96 MFRELENG_4: Add 4.10 entry so that pkg_add -r fetches from the right
package set.

	main.c	1.29.2.21->1.29.2.22

PR:		66251
Submitted by:	eik
Approved by:	re
2004-05-08 23:59:16 +00:00
Josef Karthauser 14a3df0748 Regen.
Approved by:	re
2004-05-06 18:16:38 +00:00
Josef Karthauser 5f291eb343 MFS: Zire 31 support
Approved by:	re (kensmith)
2004-05-06 18:14:50 +00:00
MIHIRA Sanpei Yoshiro 531f796ae1 MFS umass.c 1.11.2.31:
Add support 2 devices(USB-DVD-R drives)
	- Logitec LDR-H443SU2
	- IO-DATA DVR-UEH8

Approved by:	re(kensmith)
2004-05-06 13:16:06 +00:00
John Polstra f389fa7e91 Merge from RELENG_4: Atomically load and clear the bge status block.
Approved by:	re (scottl)
2004-05-06 01:55:21 +00:00
Jacques Vidrine e70165aea7 Correct a heap buffer overflow in k5admind(8) when built with Kerberos
IV support.

Obtained from:	Heimdal CVS
Approved by:	re
2004-05-05 20:48:57 +00:00
Jacques Vidrine 72246289cf Merge from 4-STABLE 1.1.1.2.2.4 config.c, 1.1.1.2.2.5 kdc.8,
1.1.1.2.2.4 kdc_locl.h, 1.1.1.2.2.5 kerberos5.c,
  1.1.1.3.2.5 krb5-protos.h, 1.1.1.3.2.3 rd_req.c, 1.1.1.3.2.3 transited.c:
Correctly validate the transited field in Kerberos tickets.

Approved by:    re
2004-05-05 20:48:19 +00:00
Ken Smith 17fa1e6b71 MFS of rev. 1.187.2.26
Approved by:	re (scottl)
2004-05-05 19:38:28 +00:00
Hiroki Sato a45fe8894c MFS: Add URLS_ABSOLUTE=YES into the doc.1 target.
Approved by:	re (implicitly)
2004-05-05 13:14:19 +00:00
Colin Percival b68126411b MFS revision 1.8.2.2: Dereferencing NULL pointers considered harmful.
Approved by:	re (kensmith)
2004-05-04 13:34:30 +00:00
Ken Smith 836902c219 MF-RELENG_4 of rev 1.1.2.36. Adjustments to package sets for upcoming
release.

Approved by:	re (scottl)
2004-05-03 01:28:12 +00:00
Ken Smith 096e0914e6 Add information about new DISC?_LABEL and DISC?_NAME variables.
Caught by:	ru
Approved by:	re (scottl in principle)
2004-04-30 13:32:18 +00:00
Ken Smith 2f57c83ff6 Merge Warner's commit that added FreeBSD copyright notice.
Permission from:	imp
Approved by:		re (implicit)
2004-04-30 12:50:48 +00:00
Hiroki Sato 1fc7f5654c MFS:
mmap(2) security fix, and
	random ephemeral port allocation.

Update release note:
	KDE 3.2.2.

Approved by:	re (implicitly)
2004-04-30 11:58:51 +00:00
Ken Smith 614ff03681 MF-RELENG_4 of rev 1.536.2.113. Adding ability to tweak CD labels using
Makefile.

Approved by:	re (scottl)
2004-04-30 04:21:00 +00:00
Ken Smith 727c013e4f Merging Alan Cox's fixes to mmap(2) into the 4.10 release. RELENG_4
commit versions being merged:

  Revision    Changes    Path
  1.35.2.10   +2 -2      src/sys/alpha/alpha/pmap.c
  1.250.2.25  +3 -2      src/sys/i386/i386/pmap.c
  1.33.2.6    +2 -2      src/sys/vm/pmap.h
  1.187.2.25  +3 -2      src/sys/vm/vm_map.c

Approved by:	re (scottl)
2004-04-30 03:05:36 +00:00
Jacques Vidrine 7a0b8cb799 MFC 1.143-1.146: Randomize ephemeral source ports.
Approved by:	re
2004-04-24 23:03:14 +00:00
Hiroki Sato 17c235cdba Update various entities for 4.10-RELEASE.
Approved by:	re (implicitly)
2004-04-24 16:41:20 +00:00
cvs2svn e51d04b515 This commit was manufactured by cvs2svn to create branch 'RELENG_4_10'. 2004-04-24 13:56:22 +00:00
Hiroki Sato 4d12ae57ff Update copyright and version number for 4.10-RC.
Approved by:	re (implicitly)
2004-04-24 13:37:53 +00:00
Don Lewis 1bb66c13aa MFS tcp_usrreq.c 1.51.2.22:
Don't skip the splx() call in *_usr_bind() and *_usr_connect()
    if the socket address length check fails.

Submitted by:	pjd
Approved by:	re (kensmith)
2004-04-24 04:52:38 +00:00
Ken Smith 6f132fefd9 Update copyright date.
Approved by:	re (bmah)
2004-04-22 21:16:17 +00:00
Scott Long d430322bd2 We are at 4.10-RC now.
Approved by:	re (implicit)
2004-04-21 12:48:08 +00:00
cvs2svn e16674995c This commit was manufactured by cvs2svn to create branch 'RELENG_4_10'. 2004-04-21 11:08:56 +00:00
cvs2svn b7b2f5b0b8 This commit was manufactured by cvs2svn to create branch 'RELENG_4_10'. 2004-04-07 12:36:51 +00:00
cvs2svn bd1f338c99 This commit was manufactured by cvs2svn to create branch 'RELENG_4_10'. 2004-03-22 23:59:56 +00:00
cvs2svn bea6bf56fc This commit was manufactured by cvs2svn to create branch 'RELENG_4_10'. 2003-01-07 04:28:56 +00:00
1559 changed files with 98854 additions and 229652 deletions

No files matched your search

+4 -4
View File
@@ -3,9 +3,9 @@
The compilation of software known as FreeBSD is distributed under the
following terms:
Copyright (C) 1992-2007 The FreeBSD Project. All rights reserved.
Copyright (C) 1992-2004 The FreeBSD Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
@@ -14,7 +14,7 @@ are met:
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+8 -10
View File
@@ -9,6 +9,7 @@
# -DNOCRYPT will prevent building of crypt versions
# -DNOMAN do not build the manual pages
# -DNOPROFILE do not build profiled libraries
# -DNOSECURE do not go into secure subdir
# -DNOGAMES do not go into games subdir
# -DNOSHARE do not go into share subdir
# -DNOINFO do not make or install info files
@@ -76,7 +77,7 @@ SUBDIR+= libexec
.if exists(${.CURDIR}/sbin)
SUBDIR+= sbin
.endif
.if exists(${.CURDIR}/secure) && !defined(NOCRYPT)
.if exists(${.CURDIR}/secure) && !defined(NOCRYPT) && !defined(NOSECURE)
SUBDIR+= secure
.endif
.if exists(${.CURDIR}/share) && !defined(NOSHARE)
@@ -507,14 +508,11 @@ buildkernel:
# Install the kernel defined by INSTALLKERNEL
#
installkernel reinstallkernel:
.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KRNLSRCDIR}/modules)
@echo
@echo "--------------------------------------------------------------"
@echo ">>> Making hierarchy"
@echo "--------------------------------------------------------------"
cd ${.CURDIR}; \
${CROSSENV} PATH=${TMPPATH} ${MAKE} -f Makefile.inc1 hierarchy
.endif
@echo
@echo "--------------------------------------------------------------"
@echo ">>> Installing kernel"
@@ -554,7 +552,7 @@ update:
@echo "--------------------------------------------------------------"
@echo ">>> Updating ${.CURDIR} from cvs repository" ${CVSROOT}
@echo "--------------------------------------------------------------"
cd ${.CURDIR}; cvs -R -q update -rRELENG_4 -P -d
cd ${.CURDIR}; cvs -R -q update -rRELENG_4_10 -P -d
.endif
#
@@ -635,12 +633,12 @@ _perl= gnu/usr.bin/perl/miniperl
.endif
.if exists(${.CURDIR}/kerberosIV) && exists(${.CURDIR}/crypto) && \
!defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS4)
!defined(NOCRYPT) && defined(MAKE_KERBEROS4)
_libroken4= kerberosIV/lib/libroken
.endif
.if exists(${.CURDIR}/kerberos5) && exists(${.CURDIR}/crypto) && \
!defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS5)
!defined(NOCRYPT) && defined(MAKE_KERBEROS5)
_libkrb5= kerberos5/lib/libroken kerberos5/lib/libvers \
kerberos5/lib/libasn1 kerberos5/lib/libhdb kerberos5/lib/libsl
.endif
@@ -721,7 +719,7 @@ _generic_libs= gnu/lib
_generic_libs+= gnu/usr.bin/perl/libperl
.endif
.if !defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS5)
.if !defined(NOCRYPT) && defined(MAKE_KERBEROS5)
_prebuild_libs+= kerberos5/lib/libasn1
_prebuild_libs+= kerberos5/lib/libgssapi
_prebuild_libs+= kerberos5/lib/libkrb5
@@ -729,7 +727,7 @@ _prebuild_libs+= kerberos5/lib/libroken
_generic_libs+= kerberos5/lib
.endif
.if !defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS4)
.if !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
_prebuild_libs+= kerberosIV/lib/libkrb
kerberosIV/lib/libkrb__L: lib/libcrypt__L
_generic_libs+= kerberosIV/lib
@@ -745,7 +743,7 @@ lib/libskey__L: lib/libcrypt__L lib/libmd__L
_generic_libs+= lib
.if !defined(NOCRYPT)
.if !defined(NOCRYPT) && !defined(NOSECURE)
.if !defined(NO_OPENSSL)
_prebuild_libs+= secure/lib/libcrypto secure/lib/libssl
.if !defined(NO_OPENSSH)
+105 -16
View File
@@ -8,24 +8,113 @@ A reverse chronology since 4.0 was released is included, followed by
the common items quick how-tos, followed by entries for versions of
-current prior to 4.0 Release.
20070426:
The ABI breakage in sendmail(8)'s libmilter has been repaired
so it is no longer necessary to recompile mail filters (aka,
milters). If you recompiled mail filters after the 20070411
note, it is not necessary to recompile them again.
This is for the 4.10 release branch. All entries since 4.10 are an
itemized list of commits to this branch, numbered from the beginning.
20070411:
sendmail(8) has been updated to version 8.14.1. Mail filters
(aka, milters) compiled against the libmilter included in the
base operating system should be recompiled.
The security advisories related to various patches contain information
on how to build/install a minimal set of binaries and start/stop a
minimal number of processes, if possible, for that patch. For those
updates that don't have an advisory, or to be safe, you can do a full
build and install as described in the COMMON ITEMS section.
20050513:
Intel Hyper-Threading is now disabled by default due to a
security issue, but can be re-enabled by setting the
machdep.hyperthreading_allowed tunable in /boot/loader.conf.
20060531: p24 FreeBSD-SA-06:16.smbfs
Correct a bug in the handling of backslash characters in smbfs
which can allow an attacker to escape from a chroot(2).
20050124:
FreeBSD 4.11-RELEASE.
20060419: p23 FreeBSD-SA-06:14.fpu
Correct a local information leakage bug affecting AMD FPUs.
20060322: p22 FreeBSD-SA-06:11.ipsec, FreeBSD-SA-06:12.opie,
FreeBSD-SA-06:13.sendmail
Add missing code needed for the detection of IPSec packet
replays. [06:11]
Correctly identify the user running opiepasswd(1) when the login
name differs from the account name. [06:12]
Modify timeout handling logic in sendmail(8) to correct a reported
signal handling race condition. [06:13]
20060301: p21 FreeBSD-SA-06:10.nfs
Correct a remote kernel panic when processing zero-length RPC
records via TCP.
20060111: p20 FreeBSD-SA-06:01.texindex, FreeBSD-SA-06:02.ee,
FreeBSD-SA-06:03.cpio
Correct insecure temporary file usage in texindex. [06:01]
Correct insecure temporary file usage in ee. [06:02]
Correct a race condition when setting file permissions,
sanitize file names by default, and fix a buffer overflow
when handling files larger than 4GB in cpio. [06:03]
20051011: p19 FreeBSD-SA-05:21.openssl
Correct a man-in-the-middle SSL version rollback vulnerability.
20050909: p18 FreeBSD-SA-05:20.cvsbug [revised]
Correct additional temporary file usage issues.
20050907: p17 FreeBSD-SA-05:20.cvsbug
Correct insecure temporary file usage.
20050629: p16 FreeBSD-SA-05:14.bzip2, FreeBSD-SA-05:15.tcp
Correct bzip2 denial of service and permission race vulnerabilities.
Correct TCP connection stall denial of service vulnerabilities.
20050608: p15 FreeBSD-SA-05:11.gzip
Correct directory traversal and race condition vulnerabilities in gzip.
20050513: p14 FreeBSD-SA-05:09.htt
Add a knob for disabling/enabling HTT. Default off due to information
disclosure on multi-user systems.
20050508: p13 FreeBSD-SA-05:08.kmem
Correct two issues which were missed from the earlier commit.
20050506: p12 FreeBSD-SA-05:08.kmem
Correct several local kernel memory disclosure bugs.
20050506: p11 FreeBSD-SA-05:07.ldt
Correctly validate inputs to the i386_get_ldt syscall.
20050506: p10 FreeBSD-SA-05:06.iir
Correct overly liberal permissions on /dev/iir.
20050422: p9 FreeBSD-SA-05:05.cvs
Correct several vulnerabilities in CVS.
20050414: p8 FreeBSD-SA-05:04.ifconf
Zero a buffer in ifconf() in order to avoid accidental
disclosure of kernel memory to userland.
20050404: p7 FreeBSD-SA-05:02.sendfile
Correct kernel memory disclosure bug in sendfile(2).
20050328: p6 FreeBSD-SA-05:01.telnet
Correct buffer overflows in telnet(1).
20041201: p5 FreeBSD-SA-04:17.procfs
Fix a tainted pointer dereference in procfs(5) and linprocfs(5)
which could allow a local attacker to panic a system and/or read
from kernel memory.
20041118: p4 FreeBSD-SA-04:16.fetch
Correct a buffer overflow in fetch(1) which could allow a
mallicious server to execute arbitrary code on the client.
20040919: p3 FreeBSD-SA-04:14.cvs
Correct several vulnerabilities in CVS (CAN-2004-0414,
CAN-2004-0416, CAN-2004-0417, CAN-2004-0418, CAN-2004-0778).
20040630: p2 FreeBSD-SA-04:13.linux
Correct an input validation error in the linux binary
compatibility code.
20040626: p1 FreeBSD-EN-04:01.twe
Fix a bug in twe(4) that could cause kernel lockups.
20040527:
FreeBSD 4.10-RELEASE.
@@ -870,7 +959,7 @@ versions of -stable/-current.
Changes to the pccardd kernel interface require that you recompile
pccardd for new kernel.
19990725:
19980725:
The ipfw interface to the kernel has changed. You will need to
recompile ipfw programs for the new kernel.
+1 -1
View File
@@ -351,7 +351,7 @@ copy(argv, type, fts_options)
* normally want to preserve them on directories.
*/
if (pflag) {
if (setfile(curr->fts_statp, -1))
if (setfile(curr->fts_statp, 0))
rval = 1;
} else {
mode = curr->fts_statp->st_mode;
+13 -20
View File
@@ -215,7 +215,7 @@ copy_link(p, exists)
warn("symlink: %s", link);
return (1);
}
return (pflag ? setfile(p->fts_statp, -1) : 0);
return (0);
}
int
@@ -231,7 +231,7 @@ copy_fifo(from_stat, exists)
warn("mkfifo: %s", to.p_path);
return (1);
}
return (pflag ? setfile(from_stat, -1) : 0);
return (pflag ? setfile(from_stat, 0) : 0);
}
int
@@ -247,7 +247,7 @@ copy_special(from_stat, exists)
warn("mknod: %s", to.p_path);
return (1);
}
return (pflag ? setfile(from_stat, -1) : 0);
return (pflag ? setfile(from_stat, 0) : 0);
}
#define RETAINBITS \
@@ -260,22 +260,20 @@ setfile(fs, fd)
{
static struct timeval tv[2];
struct stat ts;
int rval, gotstat, islink, fdval;
int rval;
int gotstat;
rval = 0;
fdval = fd != -1;
islink = !fdval && S_ISLNK(fs->st_mode);
fs->st_mode &= S_ISUID | S_ISGID | S_ISVTX |
S_IRWXU | S_IRWXG | S_IRWXO;
TIMESPEC_TO_TIMEVAL(&tv[0], &fs->st_atimespec);
TIMESPEC_TO_TIMEVAL(&tv[1], &fs->st_mtimespec);
if (islink ? lutimes(to.p_path, tv) : utimes(to.p_path, tv)) {
warn("%sutimes: %s", islink ? "l" : "", to.p_path);
if (utimes(to.p_path, tv)) {
warn("utimes: %s", to.p_path);
rval = 1;
}
if (fdval ? fstat(fd, &ts) :
(islink ? lstat(to.p_path, &ts) : stat(to.p_path, &ts)))
if (fd ? fstat(fd, &ts) : stat(to.p_path, &ts))
gotstat = 0;
else {
gotstat = 1;
@@ -289,9 +287,8 @@ setfile(fs, fd)
* chown. If chown fails, lose setuid/setgid bits.
*/
if (!gotstat || fs->st_uid != ts.st_uid || fs->st_gid != ts.st_gid)
if (fdval ? fchown(fd, fs->st_uid, fs->st_gid) :
(islink ? lchown(to.p_path, fs->st_uid, fs->st_gid) :
chown(to.p_path, fs->st_uid, fs->st_gid))) {
if (fd ? fchown(fd, fs->st_uid, fs->st_gid) :
chown(to.p_path, fs->st_uid, fs->st_gid)) {
if (errno != EPERM) {
warn("chown: %s", to.p_path);
rval = 1;
@@ -300,18 +297,14 @@ setfile(fs, fd)
}
if (!gotstat || fs->st_mode != ts.st_mode)
if (fdval ? fchmod(fd, fs->st_mode) :
(islink ? lchmod(to.p_path, fs->st_mode) :
chmod(to.p_path, fs->st_mode))) {
if (fd ? fchmod(fd, fs->st_mode) : chmod(to.p_path, fs->st_mode)) {
warn("chmod: %s", to.p_path);
rval = 1;
}
if (!gotstat || fs->st_flags != ts.st_flags)
if (fdval ?
fchflags(fd, fs->st_flags) :
(islink ? (errno = ENOSYS) :
chflags(to.p_path, fs->st_flags))) {
if (fd ?
fchflags(fd, fs->st_flags) : chflags(to.p_path, fs->st_flags)) {
warn("chflags: %s", to.p_path);
rval = 1;
}
-2
View File
@@ -130,8 +130,6 @@
/* we want to use the system malloc when we install as /bin/csh */
#define SYSMALLOC
#define BSD_STYLE_COLORLS
/* Use LC_MESSAGES locale category to open the message catalog */
#define MCLoadBySet NL_CAT_LOCALE
#endif
#if defined(__bsdi__)
+1 -23
View File
@@ -35,7 +35,7 @@
.\" @(#)date.1 8.3 (Berkeley) 4/28/95
.\" $FreeBSD$
.\"
.Dd August 9, 2004
.Dd November 17, 1993
.Dt DATE 1
.Os
.Sh NAME
@@ -219,22 +219,6 @@ When the date is adjusted to a specific value that occurs twice
the resulting timezone will be set so that the date matches the earlier of
the two times.
.Pp
Adjusting the date by months is inherently ambiguous because
a month is a unit of variable length depending on the current date.
This kind of date adjustment is applied in the most intuitive way.
First of all,
.Nm
tries to preserve the day of the month.
If it is impossible because the target month is shorter than the present one,
the last day of the target month will be the result.
For example, using
.Fl v No +1m
on May 31 will adjust the date to June 30, while using the same option
on January 30 will result in the date adjusted to the last day of February.
This approach is also believed to make the most sense for shell scripting.
Nevertheless, be aware that going forth and back by the same number of
months may take you to a different date.
.Pp
Refer to the examples below for further details.
.El
.Pp
@@ -311,12 +295,6 @@ will display the last day of February in the year 2000:
.Pp
.Dl "Tue Feb 29 03:18:00 GMT 2000"
.Pp
So will do the command:
.Pp
.Dl "date -v30d -v3m -v0y -v-1m"
.Pp
because there is no such date as the 30th of February.
.Pp
The command:
.Pp
.Dl "date -v1d -v+1m -v-1d -v-fri"
-7
View File
@@ -150,8 +150,6 @@ adjyear(struct tm *t, char type, int val, int mk)
static int
adjmon(struct tm *t, char type, int val, int istext, int mk)
{
int lmdays;
if (val < 0)
return 0;
@@ -199,11 +197,6 @@ adjmon(struct tm *t, char type, int val, int istext, int mk)
t->tm_mon = --val;
}
/* e.g., -v-1m on March, 31 is the last day of February in common sense */
lmdays = daysinmonth(t);
if (t->tm_mday > lmdays)
t->tm_mday = lmdays;
return !mk || domktime(t, type) != -1;
}
+1 -1
View File
@@ -41,7 +41,7 @@
.Sh SYNOPSIS
.Nm
.Oo
.Fl b | g | h | H | k |
.Fl b | h | H | k |
.Fl m | P
.Oc
.Op Fl ailn
+16 -23
View File
@@ -112,7 +112,7 @@ unit_t unitp [] = { NONE, KILO, MEGA, GIGA, TERA, PETA };
int bread(off_t, void *, int);
int checkvfsname(const char *, char **);
char *getmntpt(char *);
int int64width(int64_t);
int longwidth(long);
char *makenetvfslist(void);
char **makevfslist(char *);
void prthuman(struct statfs *, long);
@@ -376,15 +376,9 @@ prthumanval(double bytes)
* Convert statfs returned filesystem size into BLOCKSIZE units.
* Attempts to avoid overflow for large filesystems.
*/
static int64_t
fsbtoblk(int64_t num, uint64_t fsbs, u_long bs)
{
if (fsbs != 0 && fsbs < bs)
return (num / (int64_t)(bs / fsbs));
else
return (num * (int64_t)(fsbs / bs));
}
#define fsbtoblk(num, fsbs, bs) \
(((fsbs) != 0 && (fsbs) < (bs)) ? \
(num) / ((bs) / (fsbs)) : (num) * ((fsbs) / (bs)))
/*
* Print out status about a filesystem.
@@ -426,12 +420,11 @@ prtstat(struct statfs *sfsp, struct maxwidths *mwp)
if (hflag) {
prthuman(sfsp, used);
} else {
(void)printf(" %*lld %*lld %*lld", mwp->total,
(long long)fsbtoblk(sfsp->f_blocks, sfsp->f_bsize,
blocksize), mwp->used,
(long long)fsbtoblk(used, sfsp->f_bsize, blocksize),
mwp->avail, (long long)fsbtoblk(sfsp->f_bavail,
sfsp->f_bsize, blocksize));
(void)printf(" %*ld %*ld %*ld", mwp->total,
fsbtoblk(sfsp->f_blocks, sfsp->f_bsize, blocksize),
mwp->used, fsbtoblk(used, sfsp->f_bsize, blocksize),
mwp->avail, fsbtoblk(sfsp->f_bavail, sfsp->f_bsize,
blocksize));
}
(void)printf(" %5.0f%%",
availblks == 0 ? 100.0 : (double)used / (double)availblks * 100.0);
@@ -460,20 +453,20 @@ update_maxwidths(struct maxwidths *mwp, struct statfs *sfsp)
getbsize(&dummy, &blocksize);
mwp->mntfrom = imax(mwp->mntfrom, strlen(sfsp->f_mntfromname));
mwp->total = imax(mwp->total, int64width(fsbtoblk(sfsp->f_blocks,
mwp->total = imax(mwp->total, longwidth(fsbtoblk(sfsp->f_blocks,
sfsp->f_bsize, blocksize)));
mwp->used = imax(mwp->used, int64width(fsbtoblk(sfsp->f_blocks -
mwp->used = imax(mwp->used, longwidth(fsbtoblk(sfsp->f_blocks -
sfsp->f_bfree, sfsp->f_bsize, blocksize)));
mwp->avail = imax(mwp->avail, int64width(fsbtoblk(sfsp->f_bavail,
mwp->avail = imax(mwp->avail, longwidth(fsbtoblk(sfsp->f_bavail,
sfsp->f_bsize, blocksize)));
mwp->iused = imax(mwp->iused, int64width(sfsp->f_files -
mwp->iused = imax(mwp->iused, longwidth(sfsp->f_files -
sfsp->f_ffree));
mwp->ifree = imax(mwp->ifree, int64width(sfsp->f_ffree));
mwp->ifree = imax(mwp->ifree, longwidth(sfsp->f_ffree));
}
/* Return the width in characters of the specified long. */
int
int64width(int64_t val)
longwidth(long val)
{
int len;
@@ -567,7 +560,7 @@ usage(void)
{
(void)fprintf(stderr,
"usage: df [-b | -g | -H | -h | -k | -m | -P] [-ailn] [-t type] [file | filesystem ...]\n");
"usage: df [-b | -H | -h | -k | -m | -P] [-ailn] [-t type] [file | filesystem ...]\n");
exit(EX_USAGE);
}
+1 -1
View File
@@ -5,7 +5,7 @@ SRCS= buf.c cbc.c glbl.c io.c main.c re.c sub.c undo.c
LINKS= ${BINDIR}/ed ${BINDIR}/red
MLINKS= ed.1 red.1
.if exists(${.CURDIR}/../../secure) && !defined(NOCRYPT)
.if exists(${.CURDIR}/../../secure) && !defined(NOCRYPT) && !defined(NOSECURE)
DISTRIBUTION=crypto
CFLAGS+=-DDES
DPADD= ${LIBCIPHER}
+10 -50
View File
@@ -13,6 +13,10 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
@@ -51,91 +55,47 @@ __FBSDID("$FreeBSD$");
int
namecmp(const FTSENT *a, const FTSENT *b)
{
return (strcoll(a->fts_name, b->fts_name));
}
int
revnamecmp(const FTSENT *a, const FTSENT *b)
{
return (strcoll(b->fts_name, a->fts_name));
}
int
modcmp(const FTSENT *a, const FTSENT *b)
{
if (b->fts_statp->st_mtimespec.tv_sec >
a->fts_statp->st_mtimespec.tv_sec)
return (1);
if (b->fts_statp->st_mtimespec.tv_sec <
a->fts_statp->st_mtimespec.tv_sec)
return (-1);
if (b->fts_statp->st_mtimespec.tv_nsec >
a->fts_statp->st_mtimespec.tv_nsec)
return (1);
if (b->fts_statp->st_mtimespec.tv_nsec <
a->fts_statp->st_mtimespec.tv_nsec)
return (-1);
return (strcoll(a->fts_name, b->fts_name));
return (b->fts_statp->st_mtime - a->fts_statp->st_mtime);
}
int
revmodcmp(const FTSENT *a, const FTSENT *b)
{
return (modcmp(b, a));
return (a->fts_statp->st_mtime - b->fts_statp->st_mtime);
}
int
acccmp(const FTSENT *a, const FTSENT *b)
{
if (b->fts_statp->st_atimespec.tv_sec >
a->fts_statp->st_atimespec.tv_sec)
return (1);
if (b->fts_statp->st_atimespec.tv_sec <
a->fts_statp->st_atimespec.tv_sec)
return (-1);
if (b->fts_statp->st_atimespec.tv_nsec >
a->fts_statp->st_atimespec.tv_nsec)
return (1);
if (b->fts_statp->st_atimespec.tv_nsec <
a->fts_statp->st_atimespec.tv_nsec)
return (-1);
return (strcoll(a->fts_name, b->fts_name));
return (b->fts_statp->st_atime - a->fts_statp->st_atime);
}
int
revacccmp(const FTSENT *a, const FTSENT *b)
{
return (acccmp(b, a));
return (a->fts_statp->st_atime - b->fts_statp->st_atime);
}
int
statcmp(const FTSENT *a, const FTSENT *b)
{
if (b->fts_statp->st_ctimespec.tv_sec >
a->fts_statp->st_ctimespec.tv_sec)
return (1);
if (b->fts_statp->st_ctimespec.tv_sec <
a->fts_statp->st_ctimespec.tv_sec)
return (-1);
if (b->fts_statp->st_ctimespec.tv_nsec >
a->fts_statp->st_ctimespec.tv_nsec)
return (1);
if (b->fts_statp->st_ctimespec.tv_nsec <
a->fts_statp->st_ctimespec.tv_nsec)
return (-1);
return (strcoll(a->fts_name, b->fts_name));
return (b->fts_statp->st_ctime - a->fts_statp->st_ctime);
}
int
revstatcmp(const FTSENT *a, const FTSENT *b)
{
return (statcmp(b, a));
return (a->fts_statp->st_ctime - b->fts_statp->st_ctime);
}
+3 -5
View File
@@ -35,7 +35,7 @@
.\" @(#)ls.1 8.7 (Berkeley) 7/29/94
.\" $FreeBSD$
.\"
.Dd January 11, 2005
.Dd July 8, 2002
.Dt LS 1
.Os
.Sh NAME
@@ -188,9 +188,7 @@ This option overrides the environment variable
.Dq ell . )
List in long format.
(See below.)
A total sum (in blocks, see the
.Fl s
option for the block size unit) for all the file
If the output is to a terminal, a total sum for all the file
sizes is output on a line before the long listing.
.It Fl m
Stream output format; list files across the page, separated by commas.
@@ -218,7 +216,7 @@ lexicographical order or the oldest entries first.
.It Fl s
Display the number of file system blocks actually used by each file, in units
of 512 bytes, where partial units are rounded up to the next integer value.
A total sum for all the file
If the output is to a terminal, a total sum for all the file
sizes is output on a line before the listing.
The environment variable
.Ev BLOCKSIZE
-1
View File
@@ -597,7 +597,6 @@ display(FTSENT *p, FTSENT *list)
maxblock = makenines(maxblock);
maxnlink = makenines(maxnlink);
maxsize = makenines(maxsize);
free(jinitmax);
}
bcfile = 0;
flags = NULL;
+18 -30
View File
@@ -453,13 +453,7 @@ tar_rd(arcn, buf)
* copy out the name and values in the stat buffer
*/
hd = (HD_TAR *)buf;
/*
* old tar format specifies the name always be null-terminated,
* but let's be robust to broken archives.
* the same applies to handling links below.
*/
arcn->nlen = l_strncpy(arcn->name, hd->name,
MIN(sizeof(hd->name), sizeof(arcn->name)) - 1);
arcn->nlen = l_strncpy(arcn->name, hd->name, sizeof(arcn->name) - 1);
arcn->name[arcn->nlen] = '\0';
arcn->sb.st_mode = (mode_t)(asc_ul(hd->mode,sizeof(hd->mode),OCT) &
0xfff);
@@ -488,7 +482,7 @@ tar_rd(arcn, buf)
*/
arcn->type = PAX_SLK;
arcn->ln_nlen = l_strncpy(arcn->ln_name, hd->linkname,
MIN(sizeof(hd->linkname), sizeof(arcn->ln_name)) - 1);
sizeof(arcn->ln_name) - 1);
arcn->ln_name[arcn->ln_nlen] = '\0';
arcn->sb.st_mode |= S_IFLNK;
break;
@@ -500,7 +494,7 @@ tar_rd(arcn, buf)
arcn->type = PAX_HLK;
arcn->sb.st_nlink = 2;
arcn->ln_nlen = l_strncpy(arcn->ln_name, hd->linkname,
MIN(sizeof(hd->linkname), sizeof(arcn->ln_name)) - 1);
sizeof(arcn->ln_name) - 1);
arcn->ln_name[arcn->ln_nlen] = '\0';
/*
@@ -610,7 +604,7 @@ tar_wr(arcn)
case PAX_SLK:
case PAX_HLK:
case PAX_HRG:
if (arcn->ln_nlen >= sizeof(hd->linkname)) {
if (arcn->ln_nlen > sizeof(hd->linkname)) {
paxwarn(1,"Link name too long for tar %s", arcn->ln_name);
return(1);
}
@@ -850,19 +844,12 @@ ustar_rd(arcn, buf)
*/
dest = arcn->name;
if (*(hd->prefix) != '\0') {
cnt = l_strncpy(dest, hd->prefix,
MIN(sizeof(hd->prefix), sizeof(arcn->name) - 2));
cnt = l_strncpy(dest, hd->prefix, sizeof(arcn->name) - 2);
dest += cnt;
*dest++ = '/';
cnt++;
}
/*
* ustar format specifies the name may be unterminated
* if it fills the entire field. this also applies to
* the prefix and the linkname.
*/
arcn->nlen = cnt + l_strncpy(dest, hd->name,
MIN(sizeof(hd->name), sizeof(arcn->name) - cnt - 1));
arcn->nlen = cnt + l_strncpy(dest, hd->name, sizeof(arcn->name) - cnt);
arcn->name[arcn->nlen] = '\0';
/*
@@ -955,7 +942,7 @@ ustar_rd(arcn, buf)
* copy the link name
*/
arcn->ln_nlen = l_strncpy(arcn->ln_name, hd->linkname,
MIN(sizeof(hd->linkname), sizeof(arcn->ln_name) - 1));
sizeof(arcn->ln_name) - 1);
arcn->ln_name[arcn->ln_nlen] = '\0';
break;
case CONTTYPE:
@@ -1012,7 +999,7 @@ ustar_wr(arcn)
* check the length of the linkname
*/
if (((arcn->type == PAX_SLK) || (arcn->type == PAX_HLK) ||
(arcn->type == PAX_HRG)) && (arcn->ln_nlen > sizeof(hd->linkname))){
(arcn->type == PAX_HRG)) && (arcn->ln_nlen >= sizeof(hd->linkname))){
paxwarn(1, "Link name too long for ustar %s", arcn->ln_name);
return(1);
}
@@ -1037,16 +1024,17 @@ ustar_wr(arcn)
* occur, we remove the / and copy the first part to the prefix
*/
*pt = '\0';
l_strncpy(hd->prefix, arcn->name, sizeof(hd->prefix));
l_strncpy(hd->prefix, arcn->name, sizeof(hd->prefix) - 1);
*pt++ = '/';
} else
memset(hd->prefix, 0, sizeof(hd->prefix));
/*
* copy the name part. this may be the whole path or the part after
* the prefix. both the name and prefix may fill the entire field.
* the prefix
*/
l_strncpy(hd->name, pt, sizeof(hd->name));
l_strncpy(hd->name, pt, sizeof(hd->name) - 1);
hd->name[sizeof(hd->name) - 1] = '\0';
/*
* set the fields in the header that are type dependent
@@ -1089,8 +1077,8 @@ ustar_wr(arcn)
hd->typeflag = SYMTYPE;
else
hd->typeflag = LNKTYPE;
/* the link name may occupy the entire field in ustar */
l_strncpy(hd->linkname,arcn->ln_name, sizeof(hd->linkname));
l_strncpy(hd->linkname,arcn->ln_name, sizeof(hd->linkname) - 1);
hd->linkname[sizeof(hd->linkname) - 1] = '\0';
memset(hd->devmajor, 0, sizeof(hd->devmajor));
memset(hd->devminor, 0, sizeof(hd->devminor));
if (ul_oct((u_long)0L, hd->size, sizeof(hd->size), 3))
@@ -1190,9 +1178,9 @@ name_split(name, len)
* check to see if the file name is small enough to fit in the name
* field. if so just return a pointer to the name.
*/
if (len <= TNMSZ)
if (len < TNMSZ)
return(name);
if (len > (TPFSZ + TNMSZ + 1))
if (len > (TPFSZ + TNMSZ))
return(NULL);
/*
@@ -1201,7 +1189,7 @@ name_split(name, len)
* to find the biggest piece to fit in the name field (or the smallest
* prefix we can find)
*/
start = name + len - TNMSZ - 1;
start = name + len - TNMSZ;
while ((*start != '\0') && (*start != '/'))
++start;
@@ -1219,7 +1207,7 @@ name_split(name, len)
* the file would then expand on extract to //str. The len == 0 below
* makes this special case follow the spec to the letter.
*/
if ((len > TPFSZ) || (len == 0))
if ((len >= TPFSZ) || (len == 0))
return(NULL);
/*
+110 -133
View File
@@ -86,11 +86,6 @@ __FBSDID("$FreeBSD$");
#define W_SEP " \t" /* "Whitespace" list separators */
#define T_SEP "," /* "Terminate-element" list separators */
/* The value of this selects how extra parameters to `ps' are handled. */
#ifndef PS_BACKWARD_COMPATIBILITY
#define PS_BACKWARD_COMPATIBILITY 1
#endif
#ifdef LAZY_PS
#define DEF_UREAD 0
#define OPT_LAZY_f "f"
@@ -99,12 +94,6 @@ __FBSDID("$FreeBSD$");
#define OPT_LAZY_f /* I.e., the `-f' option is not added. */
#endif
/*
* isdigit takes an `int', but expects values in the range of unsigned char.
* This wrapper ensures that values from a 'char' end up in the correct range.
*/
#define isdigitch(Anychar) isdigit((u_char)(Anychar))
int cflag; /* -c */
int eval; /* Exit value */
time_t now; /* Current time(3) value */
@@ -155,7 +144,7 @@ static const char *
KINFO *, char *, int);
static void free_list(struct listinfo *);
static void init_list(struct listinfo *, addelem_rtn, int, const char *);
static char *kludge_oldps_options(const char *, char *, const char *);
static char *kludge_oldps_options(char *);
static int pscomp(const void *, const void *);
static void saveuser(KINFO *);
static void scanvars(void);
@@ -182,9 +171,9 @@ main(int argc, char *argv[])
struct kinfo_proc *kp;
struct varent *vent;
struct winsize ws;
const char *nlistf, *memf;
const char *cp, *nlistf, *memf;
int all, ch, dropgid, elem, flag, _fmt, i, lineno;
int nentries, nkept, nselectors;
int nentries, nocludge, nkept, nselectors;
int prtheader, showthreads, wflag, what, xkeep, xkeep_implied;
char errbuf[_POSIX2_LINE_MAX];
@@ -200,11 +189,24 @@ main(int argc, char *argv[])
termwidth = ws.ws_col - 1;
/*
* Hide a number of option-processing kludges in a separate routine,
* to support some historical BSD behaviors, such as `ps axu'.
* Don't apply a kludge if the first argument is an option taking an
* argument
*/
if (argc > 1)
argv[1] = kludge_oldps_options(PS_ARGS, argv[1], argv[2]);
if (argc > 1) {
nocludge = 0;
if (argv[1][0] == '-') {
for (cp = PS_ARGS; *cp != '\0'; cp++) {
if (*cp != ':')
continue;
if (*(cp - 1) == argv[1][1]) {
nocludge = 1;
break;
}
}
}
if (nocludge == 0)
argv[1] = kludge_oldps_options(argv[1]);
}
all = dropgid = _fmt = nselectors = optfatal = 0;
prtheader = showthreads = wflag = xkeep_implied = 0;
@@ -218,7 +220,7 @@ main(int argc, char *argv[])
init_list(&uidlist, addelem_uid, sizeof(uid_t), "user");
memf = nlistf = _PATH_DEVNULL;
while ((ch = getopt(argc, argv, PS_ARGS)) != -1)
switch ((char)ch) {
switch((char)ch) {
case 'A':
/*
* Exactly the same as `-ax'. This has been
@@ -413,30 +415,13 @@ main(int argc, char *argv[])
}
argc -= optind;
argv += optind;
#if PS_BACKWARD_COMPATIBILITY == 0 /* This is the 5.x behavior. */
/*
* If there arguments after processing all the options, attempt
* to treat them as a list of process ids.
*/
while (*argv) {
if (!isdigitch(**argv))
break;
add_list(&pidlist, *argv);
argv++;
}
if (*argv) {
fprintf(stderr, "%s: illegal argument: %s\n",
getprogname(), *argv);
usage();
}
#endif
if (optfatal)
exit(1); /* Error messages already printed. */
if (xkeep < 0) /* Neither -X nor -x was specified. */
xkeep = xkeep_implied;
#if PS_BACKWARD_COMPATIBILITY != 0 /* Historical (undocumented) behavior */
#define BACKWARD_COMPATIBILITY
#ifdef BACKWARD_COMPATIBILITY
if (*argv) {
nlistf = *argv;
if (*++argv)
@@ -447,8 +432,10 @@ main(int argc, char *argv[])
* Discard setgid privileges if not the running kernel so that bad
* guys can't print interesting stuff from kernel memory.
*/
if (dropgid)
if (dropgid) {
setgid(getgid());
setuid(getuid());
}
kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, errbuf);
if (kd == 0)
@@ -684,8 +671,9 @@ addelem_gid(struct listinfo *inf, const char *elem)
if (grp == NULL) {
warnx("No %s %s '%s'", inf->lname, nameorID, elem);
optfatal = 1;
return (0);
return (0); /* Do not add this value. */
}
if (inf->count >= inf->maxcount)
expand_list(inf);
inf->l.gids[(inf->count)++] = grp->gr_gid;
@@ -699,25 +687,24 @@ addelem_pid(struct listinfo *inf, const char *elem)
char *endp;
long tempid;
if (*elem == '\0') {
warnx("Invalid (zero-length) process id");
optfatal = 1;
return (0); /* Do not add this value. */
if (*elem == '\0')
tempid = 0L;
else {
errno = 0;
tempid = strtol(elem, &endp, 10);
if (*endp != '\0' || tempid < 0 || elem == endp) {
warnx("Invalid %s: %s", inf->lname, elem);
errno = ERANGE;
} else if (errno != 0 || tempid > BSD_PID_MAX) {
warnx("%s too large: %s", inf->lname, elem);
errno = ERANGE;
}
if (errno == ERANGE) {
optfatal = 1;
return (0); /* Do not add this value. */
}
}
errno = 0;
tempid = strtol(elem, &endp, 10);
if (*endp != '\0' || tempid < 0 || elem == endp) {
warnx("Invalid %s: %s", inf->lname, elem);
errno = ERANGE;
} else if (errno != 0 || tempid > BSD_PID_MAX) {
warnx("%s too large: %s", inf->lname, elem);
errno = ERANGE;
}
if (errno == ERANGE) {
optfatal = 1;
return (0);
}
if (inf->count >= inf->maxcount)
expand_list(inf);
inf->l.pids[(inf->count)++] = tempid;
@@ -745,13 +732,14 @@ addelem_tty(struct listinfo *inf, const char *elem)
if (stat(ttypath, &sb) == -1) {
warn("%s", ttypath);
optfatal = 1;
return (0);
return (0); /* Do not add this value. */
}
if (!S_ISCHR(sb.st_mode)) {
warn("%s: Not a terminal", ttypath);
optfatal = 1;
return (0);
return (0); /* Do not add this value. */
}
if (inf->count >= inf->maxcount)
expand_list(inf);
inf->l.ttys[(inf->count)++] = sb.st_rdev;
@@ -800,8 +788,9 @@ addelem_uid(struct listinfo *inf, const char *elem)
}
if (pwd == NULL) {
/* XXX: optfatal = 1; -- (see the above XXX) */
return (0);
return (0); /* Do not add this value */
}
if (inf->count >= inf->maxcount)
expand_list(inf);
inf->l.uids[(inf->count)++] = pwd->pw_uid;
@@ -816,8 +805,6 @@ add_list(struct listinfo *inf, const char *argp)
int toolong;
char elemcopy[PATH_MAX];
if (*argp == 0)
inf->addelem(inf, elemcopy);
while (*argp != '\0') {
while (*argp != '\0' && strchr(W_SEP, *argp) != NULL)
argp++;
@@ -834,10 +821,35 @@ add_list(struct listinfo *inf, const char *argp)
}
if (!toolong) {
*cp = '\0';
#ifndef ADD_PS_LISTRESET
/*
* Add this single element to the given list.
* This is how the standard expects lists to
* be handled.
*/
inf->addelem(inf, elemcopy);
#else
/*-
* This would add a simple non-standard-but-convienent
* feature.
*
* XXX - The first time I tried to add this check,
* it increased the total size of `ps' by 3940
* bytes on i386! That's 12% of the entire
* program! The `ps.o' file grew by only about
* 40 bytes, but the final (stripped) executable
* in /bin/ps grew by 12%. I have not had time
* to investigate, so skip the feature for now.
*/
/*
* We now have a single element. Add it to the
* list, unless the element is ":". In that case,
* reset the list so previous entries are ignored.
*/
if (strcmp(elemcopy, ":") == 0)
inf->count = 0;
else
inf->addelem(inf, elemcopy);
#endif
} else {
/*
* The string is too long to copy. Find the end
@@ -876,7 +888,8 @@ expand_list(struct listinfo *inf)
newlist = realloc(inf->l.ptr, newmax * inf->elemsize);
if (newlist == NULL) {
free(inf->l.ptr);
errx(1, "realloc to %d %ss failed", newmax, inf->lname);
errx(1, "realloc to %d %ss failed", newmax,
inf->lname);
}
inf->maxcount = newmax;
inf->l.ptr = newlist;
@@ -1060,90 +1073,54 @@ pscomp(const void *a, const void *b)
* feature is available with the option 'T', which takes no argument.
*/
static char *
kludge_oldps_options(const char *optlist, char *origval, const char *nextarg)
kludge_oldps_options(char *s)
{
size_t len;
char *argp, *cp, *newopts, *ns, *optp, *pidp;
char *newopts, *ns, *cp;
len = strlen(s);
if ((newopts = ns = malloc(len + 2)) == NULL)
errx(1, "malloc failed");
/*
* See if the original value includes any option which takes an
* argument (and will thus use up the remainder of the string).
* options begin with '-'
*/
argp = NULL;
if (optlist != NULL) {
for (cp = origval; *cp != '\0'; cp++) {
optp = strchr(optlist, *cp);
if ((optp != NULL) && *(optp + 1) == ':') {
argp = cp;
break;
}
}
}
if (argp != NULL && *origval == '-')
return (origval);
if (*s != '-')
*ns++ = '-'; /* add option flag */
/*
* gaze to end of argv[1]
*/
cp = s + len - 1;
/*
* if last letter is a 't' flag with no argument (in the context
* of the oldps options -- option string NOT starting with a '-' --
* then convert to 'T' (meaning *this* terminal, i.e. ttyname(0)).
*
* However, if a flag accepting a string argument is found earlier
* in the option string (including a possible `t' flag), then the
* remainder of the string must be the argument to that flag; so
* do not modify that argument. Note that a trailing `t' would
* cause argp to be set, if argp was not already set by some
* earlier option.
* However, if a flag accepting a string argument is found in the
* option string, the remainder of the string is the argument to
* that flag; do not modify that argument.
*/
len = strlen(origval);
cp = origval + len - 1;
pidp = NULL;
if (*cp == 't' && *origval != '-' && cp == argp) {
if (nextarg == NULL || *nextarg == '-' || isdigitch(*nextarg))
*cp = 'T';
} else if (argp == NULL) {
/*
* The original value did not include any option which takes
* an argument (and that would include `p' and `t'), so check
* the value for trailing number, or comma-separated list of
* numbers, which we will treat as a pid request.
*/
if (isdigitch(*cp)) {
while (cp >= origval && (*cp == ',' || isdigitch(*cp)))
--cp;
pidp = cp + 1;
}
}
/*
* If nothing needs to be added to the string, then return
* the "original" (although possibly modified) value.
*/
if (*origval == '-' && pidp == NULL)
return (origval);
/*
* Create a copy of the string to add '-' and/or 'p' to the
* original value.
*/
if ((newopts = ns = malloc(len + 3)) == NULL)
errx(1, "malloc failed");
if (*origval != '-')
*ns++ = '-'; /* add option flag */
if (pidp == NULL)
strcpy(ns, origval);
if (strcspn(s, "MNOoU") == len && *cp == 't' && *s != '-')
*cp = 'T';
else {
/*
* Copy everything before the pid string, add the `p',
* and then copy the pid string.
* otherwise check for trailing number, which *may* be a
* pid.
*/
len = pidp - origval;
memcpy(ns, origval, len);
ns += len;
*ns++ = 'p';
strcpy(ns, pidp);
while (cp >= s && isdigit(*cp))
--cp;
}
cp++;
memmove(ns, s, (size_t)(cp - s)); /* copy up to trailing number */
ns += cp - s;
/*
* if there's a trailing number, and not a preceding 'p' (pid) or
* 't' (tty) flag, then assume it's a pid and insert a 'p' flag.
*/
if (isdigit(*cp) &&
(cp == s || (cp[-1] != 't' && cp[-1] != 'p')) &&
(cp - 1 == s || cp[-2] != 't'))
*ns++ = 'p';
(void)strcpy(ns, cp); /* and append the number */
return (newopts);
}
+16 -11
View File
@@ -44,12 +44,11 @@ static char const copyright[] =
The Regents of the University of California. All rights reserved.\n";
#endif /* not lint */
#if 0
#ifndef lint
#if 0
static char sccsid[] = "@(#)rcp.c 8.2 (Berkeley) 4/2/94";
#endif /* not lint */
#endif
#endif /* not lint */
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
@@ -590,7 +589,7 @@ sink(int argc, char *argv[])
off_t i, j, size;
int amt, count, exists, first, mask, mode, ofd, omode;
int setimes, targisdir, wrerrno = 0;
char ch, *cp, *np, *targ, *why, *vect[1], buf[BUFSIZ], path[PATH_MAX];
char ch, *cp, *np, *targ, *why, *vect[1], buf[BUFSIZ];
#define atime tv[0]
#define mtime tv[1]
@@ -687,15 +686,21 @@ sink(int argc, char *argv[])
if (*cp++ != ' ')
SCREWUP("size not delimited");
if (targisdir) {
if (strlen(targ) + (*targ ? 1 : 0) + strlen(cp)
>= sizeof(path)) {
run_err("%s%s%s: name too long", targ,
*targ ? "/" : "", cp);
exit(1);
static char *namebuf = NULL;
static size_t cursize;
size_t need;
need = strlen(targ) + strlen(cp) + 250;
if (need > cursize) {
if (namebuf != NULL)
free(namebuf);
if (!(namebuf = malloc(need)))
run_err("%s", strerror(errno));
cursize = need;
}
(void)snprintf(path, sizeof(path), "%s%s%s", targ,
(void)snprintf(namebuf, need, "%s%s%s", targ,
*targ ? "/" : "", cp);
np = path;
np = namebuf;
} else
np = targ;
exists = stat(np, &stb) == 0;
+2
View File
@@ -2,6 +2,8 @@
# $FreeBSD$
PROG= rm
WARNS?= 2
SRCS= rm.c
LINKS= ${BINDIR}/rm ${BINDIR}/unlink
MLINKS= rm.1 unlink.1
+26 -37
View File
@@ -1,4 +1,3 @@
.\"-
.\" Copyright (c) 1990, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -13,6 +12,10 @@
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
@@ -32,7 +35,7 @@
.\" @(#)rm.1 8.5 (Berkeley) 12/5/94
.\" $FreeBSD$
.\"
.Dd September 29, 2005
.Dd January 28, 1999
.Dt RM 1
.Os
.Sh NAME
@@ -41,8 +44,7 @@
.Nd remove directory entries
.Sh SYNOPSIS
.Nm
.Op Fl f | i
.Op Fl dIPRrvW
.Op Fl dfiPRrvW
.Ar
.Nm unlink
.Ar file
@@ -78,20 +80,10 @@ The
option overrides any previous
.Fl f
options.
.It Fl I
Request confirmation once if more than three files are being removed or if a
directory is being recursively removed.
This is a far less intrusive option than
.Fl i
yet provides almost the same level of protection against mistakes.
.It Fl P
Overwrite regular files before deleting them.
Files are overwritten three times, first with the byte pattern 0xff,
then 0x00, and then 0xff again, before they are deleted.
Specifying this flag for a read only file will cause
.Nm
to generate an error message and exit.
The file wil not be removed or overwritten.
.It Fl R
Attempt to remove the file hierarchy rooted in each file argument.
The
@@ -123,10 +115,9 @@ The
utility removes symbolic links, not the files referenced by the links.
.Pp
It is an error to attempt to remove the files
.Pa / ,
.Pa .\&
.Dq .\&
or
.Pa .. .
.Dq .. .
.Pp
When the utility is called as
.Nm unlink ,
@@ -157,17 +148,31 @@ to parse its arguments, which allows it to accept
the
.Sq Li --
option which will cause it to stop processing flag options at that
point.
This will allow the removal of file names that begin
point. This will allow the removal of file names that begin
with a dash
.Pq Sq - .
For example:
.Dl rm -- -filename
The same behavior can be obtained by using an absolute or relative
path reference.
For example:
path reference. For example:
.Dl rm /home/user/-filename
.Dl rm ./-filename
.Sh SEE ALSO
.Xr chflags 1 ,
.Xr rmdir 1 ,
.Xr undelete 2 ,
.Xr unlink 2 ,
.Xr fts 3 ,
.Xr getopt 3 ,
.Xr symlink 7
.Sh BUGS
The
.Fl P
option assumes that the underlying file system is a fixed-block file
system.
UFS is a fixed-block file system, LFS is not.
In addition, only regular files are overwritten, other types of files
are not.
.Sh COMPATIBILITY
The
.Nm
@@ -183,14 +188,6 @@ Also, historical
.Bx
implementations prompted on the standard output,
not the standard error output.
.Sh SEE ALSO
.Xr chflags 1 ,
.Xr rmdir 1 ,
.Xr undelete 2 ,
.Xr unlink 2 ,
.Xr fts 3 ,
.Xr getopt 3 ,
.Xr symlink 7
.Sh STANDARDS
The
.Nm
@@ -206,11 +203,3 @@ A
.Nm
command appeared in
.At v1 .
.Sh BUGS
The
.Fl P
option assumes that the underlying file system is a fixed-block file
system.
UFS is a fixed-block file system, LFS is not.
In addition, only regular files are overwritten, other types of files
are not.
+28 -129
View File
@@ -10,6 +10,10 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
@@ -27,7 +31,6 @@
* SUCH DAMAGE.
*/
#if 0
#ifndef lint
static const char copyright[] =
"@(#) Copyright (c) 1990, 1993, 1994\n\
@@ -35,9 +38,10 @@ static const char copyright[] =
#endif /* not lint */
#ifndef lint
#if 0
static char sccsid[] = "@(#)rm.c 8.5 (Berkeley) 4/18/94";
#endif /* not lint */
#endif
#endif /* not lint */
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
@@ -49,8 +53,6 @@ __FBSDID("$FreeBSD$");
#include <errno.h>
#include <fcntl.h>
#include <fts.h>
#include <grp.h>
#include <pwd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -58,29 +60,26 @@ __FBSDID("$FreeBSD$");
#include <unistd.h>
int dflag, eval, fflag, iflag, Pflag, vflag, Wflag, stdin_ok;
int rflag, Iflag;
uid_t uid;
int check(char *, char *, struct stat *);
int check2(char **);
void checkdot(char **);
void checkslash(char **);
void rm_file(char **);
int rm_overwrite(char *, struct stat *);
void rm_overwrite(char *, struct stat *);
void rm_tree(char **);
void usage(void);
/*
* rm --
* This rm is different from historic rm's, but is expected to match
* POSIX 1003.2 behavior. The most visible difference is that -f
* POSIX 1003.2 behavior. The most visible difference is that -f
* has two specific effects now, ignore non-existent files and force
* file removal.
* file removal.
*/
int
main(int argc, char *argv[])
{
int ch;
int ch, rflag;
char *p;
/*
@@ -104,7 +103,7 @@ main(int argc, char *argv[])
}
Pflag = rflag = 0;
while ((ch = getopt(argc, argv, "dfiIPRrvW")) != -1)
while ((ch = getopt(argc, argv, "dfiPRrvW")) != -1)
switch(ch) {
case 'd':
dflag = 1;
@@ -117,9 +116,6 @@ main(int argc, char *argv[])
fflag = 0;
iflag = 1;
break;
case 'I':
Iflag = 1;
break;
case 'P':
Pflag = 1;
break;
@@ -141,22 +137,16 @@ main(int argc, char *argv[])
if (argc < 1) {
if (fflag)
return (0);
return 0;
usage();
}
checkdot(argv);
if (getenv("POSIXLY_CORRECT") == NULL)
checkslash(argv);
uid = geteuid();
if (*argv) {
stdin_ok = isatty(STDIN_FILENO);
if (Iflag) {
if (check2(argv) == 0)
exit (1);
}
if (rflag)
rm_tree(argv);
else
@@ -192,11 +182,8 @@ rm_tree(char **argv)
flags |= FTS_NOSTAT;
if (Wflag)
flags |= FTS_WHITEOUT;
if (!(fts = fts_open(argv, flags, NULL))) {
if (fflag && errno == ENOENT)
return;
err(1, "fts_open");
}
if (!(fts = fts_open(argv, flags, NULL)))
err(1, NULL);
while ((p = fts_read(fts)) != NULL) {
switch (p->fts_info) {
case FTS_DNR:
@@ -210,8 +197,8 @@ rm_tree(char **argv)
errx(1, "%s: %s", p->fts_path, strerror(p->fts_errno));
case FTS_NS:
/*
* Assume that since fts_read() couldn't stat the
* file, it can't be unlinked.
* FTS_NS: assume that if can't stat the file, it
* can't be unlinked.
*/
if (!needstat)
break;
@@ -280,18 +267,9 @@ rm_tree(char **argv)
}
break;
case FTS_NS:
/*
* Assume that since fts_read() couldn't stat
* the file, it can't be unlinked.
*/
if (fflag)
continue;
/* FALLTHROUGH */
default:
if (Pflag)
if (!rm_overwrite(p->fts_accpath, NULL))
continue;
rm_overwrite(p->fts_accpath, NULL);
rval = unlink(p->fts_accpath);
if (rval == 0 || (fflag && errno == ENOENT)) {
if (rval == 0 && vflag)
@@ -357,8 +335,7 @@ rm_file(char **argv)
rval = rmdir(f);
else {
if (Pflag)
if (!rm_overwrite(f, &sb))
continue;
rm_overwrite(f, &sb);
rval = unlink(f);
}
}
@@ -378,11 +355,11 @@ rm_file(char **argv)
* XXX
* This is a cheap way to *really* delete files. Note that only regular
* files are deleted, directories (and therefore names) will remain.
* Also, this assumes a fixed-block file system (like FFS, or a V7 or a
* System V file system). In a logging file system, you'll have to have
* Also, this assumes a fixed-block filesystem (like FFS, or a V7 or a
* System V filesystem). In a logging filesystem, you'll have to have
* kernel support.
*/
int
void
rm_overwrite(char *file, struct stat *sbp)
{
struct stat sb;
@@ -398,14 +375,14 @@ rm_overwrite(char *file, struct stat *sbp)
sbp = &sb;
}
if (!S_ISREG(sbp->st_mode))
return (1);
return;
if ((fd = open(file, O_WRONLY, 0)) == -1)
goto err;
if (fstatfs(fd, &fsb) == -1)
goto err;
bsize = MAX(fsb.f_iosize, 1024);
if ((buf = malloc(bsize)) == NULL)
err(1, "%s: malloc", file);
err(1, "malloc");
#define PASS(byte) { \
memset(buf, byte, bsize); \
@@ -424,16 +401,13 @@ rm_overwrite(char *file, struct stat *sbp)
PASS(0xff);
if (!fsync(fd) && !close(fd)) {
free(buf);
return (1);
return;
}
err: eval = 1;
if (buf)
free(buf);
if (fd != -1)
close(fd);
warn("%s", file);
return (0);
}
@@ -449,7 +423,7 @@ check(char *path, char *name, struct stat *sp)
else {
/*
* If it's not a symbolic link and it's unwritable and we're
* talking to a terminal, ask. Symbolic links are excluded
* talking to a terminal, ask. Symbolic links are excluded
* because their permissions are meaningless. Check stdin_ok
* first because we may not have stat'ed the file.
*/
@@ -460,16 +434,12 @@ check(char *path, char *name, struct stat *sp)
return (1);
strmode(sp->st_mode, modep);
if ((flagsp = fflagstostr(sp->st_flags)) == NULL)
err(1, "fflagstostr");
if (Pflag)
errx(1,
"%s: -P was specified, but file is not writable",
path);
err(1, NULL);
(void)fprintf(stderr, "override %s%s%s/%s %s%sfor %s? ",
modep + 1, modep[9] == ' ' ? "" : " ",
user_from_uid(sp->st_uid, 0),
group_from_gid(sp->st_gid, 0),
*flagsp ? flagsp : "", *flagsp ? " " : "",
*flagsp ? flagsp : "", *flagsp ? " " : "",
path);
free(flagsp);
}
@@ -481,77 +451,6 @@ check(char *path, char *name, struct stat *sp)
return (first == 'y' || first == 'Y');
}
#define ISSLASH(a) ((a)[0] == '/' && (a)[1] == '\0')
void
checkslash(char **argv)
{
char **t, **u;
int complained;
complained = 0;
for (t = argv; *t;) {
if (ISSLASH(*t)) {
if (!complained++)
warnx("\"/\" may not be removed");
eval = 1;
for (u = t; u[0] != NULL; ++u)
u[0] = u[1];
} else {
++t;
}
}
}
int
check2(char **argv)
{
struct stat st;
int first;
int ch;
int fcount = 0;
int dcount = 0;
int i;
const char *dname = NULL;
for (i = 0; argv[i]; ++i) {
if (lstat(argv[i], &st) == 0) {
if (S_ISDIR(st.st_mode)) {
++dcount;
dname = argv[i]; /* only used if 1 dir */
} else {
++fcount;
}
}
}
first = 0;
while (first != 'n' && first != 'N' && first != 'y' && first != 'Y') {
if (dcount && rflag) {
fprintf(stderr, "recursively remove");
if (dcount == 1)
fprintf(stderr, " %s", dname);
else
fprintf(stderr, " %d dirs", dcount);
if (fcount == 1)
fprintf(stderr, " and 1 file");
else if (fcount > 1)
fprintf(stderr, " and %d files", fcount);
} else if (dcount + fcount > 3) {
fprintf(stderr, "remove %d files", dcount + fcount);
} else {
return(1);
}
fprintf(stderr, "? ");
fflush(stderr);
first = ch = getchar();
while (ch != '\n' && ch != EOF)
ch = getchar();
if (ch == EOF)
break;
}
return (first == 'y' || first == 'Y');
}
#define ISDOT(a) ((a)[0] == '.' && (!(a)[1] || ((a)[1] == '.' && !(a)[2])))
void
checkdot(char **argv)
@@ -582,7 +481,7 @@ usage(void)
{
(void)fprintf(stderr, "%s\n%s\n",
"usage: rm [-f | -i] [-dIPRrvW] file ...",
"usage: rm [-f | -i] [-dPRrvW] file ...",
" unlink file");
exit(EX_USAGE);
}
+1 -1
View File
@@ -699,7 +699,7 @@ unsetfunc(char *name)
delete_cmd_entry();
return (0);
}
return (0);
return (1);
}
/*
+1 -1
View File
@@ -1164,7 +1164,7 @@ expmeta(char *enddir, char *name)
if (*p == '\0')
break;
}
if (metaflag == 0 || lstat(expdir, &statb) >= 0)
if (metaflag == 0 || stat(expdir, &statb) >= 0)
addfname(expdir);
return;
}
+1 -2
View File
@@ -930,8 +930,7 @@ dowait(int block, struct job *job)
in_dowait--;
if (breakwaitcmd != 0) {
breakwaitcmd = 0;
if (pid <= 0)
return -1;
return -1;
}
if (pid <= 0)
return pid;
-1
View File
@@ -969,7 +969,6 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
USTPUTC('\\', out);
pungetc();
} else if (c == '\n') {
plinno++;
if (doprompt)
setprompt(2);
else
+1 -1
View File
@@ -262,7 +262,7 @@ When waiting for a child, execute traps immediately.
If this option is not set,
traps are executed after the child exits,
as specified in
.St -p1003.2 .
.St -p1003.2
This nonstandard option is useful for putting guarding shells around
children that block signals. The surrounding shell may kill the child
or it may just return control to the tty and leave the child alone,
+1 -1
View File
@@ -778,7 +778,7 @@ unsetvar(char *s)
}
}
return (0);
return (1);
}
+6 -13
View File
@@ -214,6 +214,11 @@ True if string
comes after
.Ar \&s\&2
based on the ASCII value of their characters.
.It Ar \&s\&1
True if
.Ar \&s\&1
is not the null
string.
.It Ar \&n\&1 Fl \&eq Ar \&n\&2
True if the integers
.Ar \&n\&1
@@ -254,17 +259,6 @@ than or equal to the integer
.Ar \&n\&2 .
.El
.Pp
If
.Ar file
is a symbolic link,
.Nm
will fully dereference it and then evaluate the expression
against the file referenced, except for the
.Fl h
and
.Fl L
primaries.
.Pp
These primaries can be combined with the following operators:
.Bl -tag -width Ar
.It Cm \&! Ar expression
@@ -325,8 +319,7 @@ An error occurred.
.Sh SEE ALSO
.Xr builtin 1 ,
.Xr expr 1 ,
.Xr sh 1 ,
.Xr symlink 7
.Xr sh 1
.Sh STANDARDS
The
.Nm
+2 -86
View File
@@ -1,88 +1,4 @@
Authors of GNU CVS
The conflict-resolution algorithms and much of the administrative file
definitions of CVS were based on the original package written by Dick Grune
at Vrije Universiteit in Amsterdam <[email protected]>, and posted to
comp.sources.unix in the volume 6 release sometime in 1986. This original
version was a collection of shell scripts. I am thankful that Dick made
his work available.
Brian Berliner from Prisma, Inc. (now at Sun Microsystems, Inc.)
<[email protected]> converted the original CVS shell scripts into reasonably
fast C and added many, many features to support software release control
functions. See the manual page in the "man" directory. A copy of the
USENIX article presented at the Winter 1990 USENIX Conference, Washington
D.C., is included in the "doc" directory.
Jeff Polk from BSDI <[email protected]> converted the CVS 1.2
sources into much more readable and maintainable C code. He also added a
whole lot of functionality and modularity to the code in the process.
See the bottom of the NEWS file (from about 1992).
david d `zoo' zuhn <[email protected]> contributed the working base code
for CVS 1.4 Alpha. His work carries on from work done by K. Richard Pixley
and others at Cygnus Support. The CVS 1.4 upgrade is due in large part to
Zoo's efforts.
David G. Grubbs <[email protected]> contributed the CVS "history" and "release"
commands. As well as the ever-so-useful "-n" option of CVS which tells CVS
to show what it would do, without actually doing it. He also contributed
support for the .cvsignore file.
The Free Software Foundation (GNU) contributed most of the portability
framework that CVS now uses. This can be found in the "configure" script,
the Makefile's, and basically most of the "lib" directory.
K. Richard Pixley, Cygnus Support <[email protected]> contributed many bug
fixes/enhancement as well as completing early reviews of the CVS 1.3 manual
pages.
Roland Pesch, then of Cygnus Support <[email protected]> contributed
brand new cvs(1) and cvs(5) manual pages. Thanks to him for saving us
from poor use of our language!
Paul Sander, HaL Computer Systems, Inc. <[email protected]> wrote and
contributed the code in lib/sighandle.c. I added support for POSIX, BSD,
and non-POSIX/non-BSD systems.
Jim Kingdon and others at Cygnus Support <[email protected]> wrote the
remote repository access code.
Larry Jones and Derek Price <[email protected]> have been maintaining and
enhancing CVS for some years. Mark D. Baushke <[email protected]> came on in
2003.
There have been many, many contributions not listed here. Consult the
individual ChangeLog files in each directory for a more complete idea.
In addition to the above contributors, the following Beta testers
deserve special mention for their support. This is only a partial
list; if you have helped in this way and would like to be listed, let
bug-cvs know (as described in the Cederqvist manual).
Mark D. Baushke <[email protected]>
Per Cederqvist <[email protected]>
J.T. Conklin <[email protected]>
Vince DeMarco <[email protected]>
Paul Eggert <[email protected]>
Lal George <[email protected]>
Dean E. Hardi <[email protected]>
Mike Heath <[email protected]>
Jim Kingdon <[email protected]>
Bernd Leibing <[email protected]>
Benedict Lofstedt <[email protected]>
Dave Love <[email protected]>
Robert Lupton the Good <[email protected]>
Tom McAliney <[email protected]>
Eberhard Mattes <[email protected]>
Jim Meyering <[email protected]>
Thomas Mohr <[email protected]>
Thomas Nilsson <[email protected]>
Raye Raskin <[email protected]>
Harlan Stenn <[email protected]>
Gunnar Tornblom <[email protected]>
Greg A. Woods <[email protected]>
Many contributors have added code to the "contrib" directory. See the
README file there for a list of what is available. There is also a
contributed GNU Emacs CVS-mode in tools/pcl-cvs.
Um, yeah. There were lots of 'em. See the "Credits" section of the
README file and the individual ChangeLog files for more.
+154 -39
View File
@@ -15,6 +15,16 @@ similar file for the unix-like operating systems (not yet, at least).
This file also might contain some platform-specific bugs.
* Need more work on the procedure for fixing it if a binary file is
accidentally added in text mode (sanity.sh test cases, better
documentation, probably update and/or admin -kb should update
the -k setting in CVS/Entries).
* Wrappers (-t/-f) do not work client/server, and there are a variety of other
bugs and annoyances with wrappers.
* If your login name contains a space or various other characters
(particularly an issue on Windows), CVS will have trouble (it will
write invalid RCS files, probably). The fix would be to have CVS
@@ -32,19 +42,10 @@ provide a "Option-read-write" request which sends -w, in addition to
"Global_option -r" which sends -r.
* Symbolic links to files will not work with or without LockDir. In the
repository, you should avoid using symbolic links to files since this issue
can cause data loss. Symlinks are only a problem when writing files. If your
repository does not allow any write access, symlinks are not a problem.
* Symbolic links to directories will not work with LockDir. In the
repository, you should avoid using symbolic links to directories if
you intend to use LockDir as the correct directory will NOT be locked
by CVS during write. Directory symlinks are not recommended, but should work
as long as LockDir is not being used. Symlinks are only a problem when
writing files. If your repository does not allow any write access, symlinks
are never a problem, whether or not LockDir is in use.
* "make remotecheck" sometimes fails on test 187a3 with
cvs server: in directory .:
cvs [server aborted]: *PANIC* administration files missing
This does not happen every time. (-kingdon, Nov 96, Red Hat linux 3.0.3).
* The -m option to "cvs add" does not work with client/server CVS.
@@ -58,13 +59,49 @@ file's description.
users who try to add the same directory at nearly the same time.
* 'cvs admin' dumped core when files were missing from working directory
(and from the repository)?
* The following bug was reported against CVS 1.9:
Create a module named test with a file named test in it.
cactus:sfavor> cvs get test
cvs checkout: Updating test
U test/test
cactus:sfavor> cd test
cactus:sfavor> cvs get test
cvs checkout: cannot chdir to test: Not a directory
cvs checkout: ignoring module test
Exit 1
cactus:sfavor> cvs update
cvs update: Updating .
rcs.c:2139: failed assertion `rev == NULL || isdigit (*rev)'
Abort (core dumped)
Exit 134
* pcl-cvs doesn't like it when you try to check in a file which isn't
up-to-date. The messages produced by the server perhaps don't match
what pcl-cvs is looking for.
* From: [email protected] (Bill Robertson)
Subject: Problem with rtag and the -D option
Date: Fri, 17 Mar 1995 10:53:29 -0600 (CST)
I have been trying to use the -D option to specify a date for tagging, but
rtag does not recognize the -D option. It is documented to do so and I've
tested the use of -D with cvs update and cvs diff and it works fine there.
* From: "Charles M. Hannum" <[email protected]>
To: [email protected]
Subject: Still one more bug
Date: Sat, 25 Feb 1995 17:01:15 -0500
mycroft@duality [1]; cd /usr/src/lib/libc
mycroft@duality [1]; cvs diff -C2 '-D1 day ago' -Dnow
mycroft@duality [1]; cvs diff -c2 '-D1 day ago' -Dnow
cvs server: Diffing .
cvs server: Diffing DB
cvs [server aborted]: could not chdir to DB: No such file or directory
@@ -78,39 +115,117 @@ file's description.
P.S. Is anyone working on fixing these bugs?
* CVS does not always seem to be waiting to the next filesystem timestamp
quanta after commits. So far this has only shown up in testing under the BSDI
OS. The symptoms are that ocassionally CVS will not notice that modified files
are modified, though the file must be modified within a short time after the
commit, probably milliseconds or seconds, for this symptom to be noticed. One
suspected cause is that one of the calls to sleep_past() is being called with
an incorrect value, though this does not explain why symptoms have only been
noticed under BSDI.
* From: Roland McGrath <[email protected]>
To: Cyclic CVS Hackers <[email protected]>
Subject: weird bug
Date: Sat, 25 Mar 1995 16:41:41 -0500
X-Windows: Even your dog won't like it.
I just noticed some droppings on my disk from what must be a pretty weird
bug in remote CVS.
* Spaces in arguments to `cvs diff' are currently split on spaces and tabs
before being passed to diff. This can often cause diff to abort since it can
no longer interpret its options string and if it can, coincidentally,
interpret its option string, then the problem may be output in unexpected
formats.
In my home directory on a repository machine I use, I find:
drwxr-xr-x 4 roland staff 512 Mar 7 14:08 cvs-serv28962
drwxr-xr-x 4 roland staff 512 Mar 7 14:11 cvs-serv28978
drwxr-xr-x 4 roland staff 512 Mar 7 15:13 cvs-serv29141
* `release' of a project subdir does not remove the `subdir' entry from
`./CVS/Entries'.
OK, so these are leftover cruft from some cvs run that got aborted.
Well, it should clean up after itself, but so what.
The last one is pretty dull; the real weirdness is the contents of the
first two directories.
* Most of the remote commands are encountering assertion failures when listing
the toplevel of the repository (e.g. `cvs rlog .'). This appears to be
related to the symlinked CVS root fix.
duality 77 # ls -RF cvs-serv28978/
CVS/ cvs-serv28978/
cvs-serv28978/CVS:
Entries Repository
* Status
cvs-serv28978/cvs-serv28978:
arpa/
/*-------.
| Stable |
`-------*/
cvs-serv28978/cvs-serv28978/arpa:
CVS/ cvs-serv28978/
/*-------------------------.
| Sane for full scale use. |
`-------------------------*/
cvs-serv28978/cvs-serv28978/arpa/CVS:
Entries Repository
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978:
assert/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert:
CVS/ cvs-serv28978/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/CVS:
Entries Repository
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978:
bare/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare:
CVS/ cvs-serv28978/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/CVS:
Entries Repository
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978:
conf/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf:
CVS/ cvs-serv28978/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/CVS:
Entries Repository
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978:
crypt/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt:
CVS/ cvs-serv28978/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/CVS:
Entries Repository
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978:
csu/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu:
CVS/ cvs-serv28978/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/CVS:
Entries Repository
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978:
ctype/
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978/ctype:
CVS/ cvs-serv28978/
[...]
ls: cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978/ctype/cvs-serv28978/dirent/cvs-serv28978/elf/cvs-serv28978/gnu/cvs-serv28978/gnulib/cvs-serv28978/grp/cvs-serv28978/hurd/cvs-serv28978/hurd/hurd/cvs-serv28978/inet/cvs-serv28978/inet/arpa/cvs-serv28978/inet/netinet[...]/cvs-serv28978/posix/cvs-serv28978/posix/glob/cvs-serv28978/posix/gnu/cvs-serv28978/posix/sys/cvs-serv28978/protocols/cvs-serv28978/pwd/cvs-serv28978/resolv/cvs-serv28978/resolv/arpa/cvs-serv28978/resolv/sys/cvs-serv28978/resource/cvs-serv28978/resource/sys/cvs-serv28978/rpc/cvs-serv28978/setjmp/cvs-serv28978/signal/cvs-serv28978/signal/sys/cvs-serv28978/socket/cvs-serv28978/socket: File name too long
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978/ctype/cvs-serv28978/dirent/cvs-serv28978/elf/cvs-serv28978/gnu/cvs-serv28978/gnulib/cvs-serv28978/grp/cvs-serv28978/hurd/cvs-serv28978/hurd/hurd/cvs-serv28978/inet/cvs-serv28978/inet/arpa/cvs-serv28978/inet/netinet[...]/cvs-serv28978/posix/glob/cvs-serv28978/posix/gnu/cvs-serv28978/posix/sys/cvs-serv28978/protocols/cvs-serv28978/pwd/cvs-serv28978/resolv/cvs-serv28978/resolv/arpa/cvs-serv28978/resolv/sys/cvs-serv28978/resource/cvs-serv28978/resource/sys/cvs-serv28978/rpc/cvs-serv28978/setjmp/cvs-serv28978/signal/cvs-serv28978/signal/sys/cvs-serv28978/socket/cvs-serv28978:
* From: Roland McGrath <[email protected]>
To: Cyclic CVS Hackers <[email protected]>
Subject: bizarre failure mode
Date: Tue, 7 Mar 95 14:17:28 -0500
This is pretty weird:
CVS_SERVER='TMPDIR=. /usr/local/bin/cvs' ../cvs-build/src/cvs update -q
cvs [server aborted]: could not get working directory: Result too large
[Exit 1]
asylum 29 % grep 'Result too large' /usr/include/sys/errno.h
#define ERANGE 34 /* Result too large */
Now, getcwd fails with ERANGE when the buffer is too small. But I don't
know why that would be the case; I don't think there are exceptionally long
directory names involved. It would be robust to notice ERANGE and use a
bigger buffer. But I suspect something weirder is going on.
The repository in question in duality.gnu.ai.mit.edu:/gd4/gnu/cvsroot/libc.
Send me a PGP-signed message if you want the password to use the machine
where the problem showed up.
-909
View File
@@ -1,905 +1,3 @@
2004-06-09 Derek Price <[email protected]>
* NEWS: Note Stefan & Sebastian's security fixes.
* acinclude.m4 (gl_SIZE_MAX, gl_XSIZE): Import from GNULIB.
* configure.in: Call gl_XSIZE.
2004-06-09 Derek Price <[email protected]>
* NEWS: Note CAN-2004-0414 fix.
2004-05-19 Derek Price <[email protected]>
* NEWS: Note CAN-2004-0396 fix.
2004-05-17 Derek Price <[email protected]>
* BUGS: Note assertion failure of r* commands.
2004-05-17 Derek Price <[email protected]>
* BUGS: Remove out of date comment about out of date Windows build
files and several bug reports that are so old, without similar recent
reports, that I'm assuming that the problems have been fixed.
2004-05-15 Derek Price <[email protected]>
* cvsnt.dsp: Header file list updated.
* cvsnt.dep: Regenerated for "cvsnt.dsp" change.
* cvsnt.mak: Regenerated for "cvsnt.dsp" change.
(Patch from Conrad Pino <[email protected]>.)
2004-05-13 Derek Price <[email protected]>
* NEWS: Note MSVC++ project file regeneration.
2004-05-13 Derek Price <[email protected]>
* cvsnt.dsw: Rename "zlib/zlib.*" to "zlib/libz.*".
Add project "lib/libcvs".
* cvsnt.dsp: Revised for "cvsnt.dsw" changes. Move "lib/*.c" to
project "lib/libcvs". Upgraded to Visual C++ 6.0 format.
* cvsnt.dep: Added for "cvsnt.dsp" change.
* cvsnt.mak: Regenerated for "cvsnt.dsp" change.
(Patch from Conrad Pino <[email protected]>.)
* configure.in: Generate windows-NT/fix-msvc-mak.
2004-04-30 Derek Price <[email protected]>
* NEWS: Note that man page is generated from cvs.texinfo now.
* configure.in: Build doc/mkman.
* configure, Makefile.in: Regenerated.
2004-04-26 Derek Price <[email protected]>
* NEWS: Note that :ext: no longer relies on an external transport with
a GNU argument processor.
2004-04-20 Derek Price <[email protected]>
* NEWS: Note XP directory deletion fix.
2004-04-16 Derek Price <[email protected]>
* NEWS: Correct CVS name for piped checkout issue now that we have one.
2004-04-15 Derek Price <[email protected]>
* NEWS: Retroactively add CVE issue name for the piped etc issue.
2004-04-15 Derek Price <[email protected]>
* NEWS: Retroactively add CVE issue name for the trojan server issue.
2004-04-14 Derek Price <[email protected]>
* INSTALL (Building from source code under Unix): Move Autoconf &
Automake notes...
* HACKING (Regenerating Build Files): ...here.
2004-04-13 Derek Price <[email protected]>
* NEWS: Note validation of paths passed to the client.
2004-04-07 Derek Price <[email protected]>
* NEWS: Clarify relative-path up-reference article.
2004-04-07 Derek Price <[email protected]>
* NEWS: Note ignoring of method options in CVSROOTs.
2004-04-06 Derek Price <[email protected]>
* TODO (196, 217, 219, 220, 222, 226): Remove completed items.
(230): New item.
2004-04-06 Derek Price <[email protected]>
* NEWS: Note this change.
* configure.in: Do not try and use TMP, TEMP, or TMPDIR as default
temporary directories.
* configure: Regenerated.
2004-04-04 Derek Price <[email protected]>
* NEWS: Note Cygwin handles paths like X:\.
2004-04-02 Derek Price <[email protected]>
* NEWS: Note Windows ISDIRSEP fix.
2004-04-02 Derek Price <[email protected]>
* INSTALL: Instruct users to use the Workspace file and not the project
file for MSVC++.
(Patch from Conrad T. Pino <[email protected]>.)
2004-04-02 Derek Price <[email protected]>
* NEWS: Make some notes as to client/serverness of changes.
2004-04-02 Derek Price <[email protected]>
* NEWS: Note relative path fix.
2004-04-01 Derek Price <[email protected]>
* NEWS: Record run race removal.
2004-03-31 Mark D. Baushke <[email protected]>
* cvs.spec.in (BuildRequires): Do not fail if info DIR file does
not exist. (Not everyone has an install-info that generates the
dir file that we want deleted.)
(Report from Geoff Beier <[email protected]>.)
2004-03-25 Derek Price <[email protected]>
* NEWS: Note failure of Cygwin to convert back slashes to slashes.
2004-03-25 Derek Price <[email protected]>
* cvs.spec.in (BuildRoot): Use a more unique directory name.
2004-03-22 Derek Price <[email protected]>
* INSTALL: Note compilation & --without-gssapi requirement for HPPA
with HP-UX 11.11.
(Report from Nicolas Vervelle <[email protected]>.)
2004-03-20 Derek Price <[email protected]>
* NEWS: Note resurrection fixes.
2004-03-18 Derek Price <[email protected]>
* NEWS: Back out previous NEWS change at Larry Jones' suggestion.
2004-03-17 Derek Price <[email protected]>
* configure.in (--enable-password-authentication-client): Correct
error message text.
* NEWS: Note this change.
* configure: Regenerated.
2004-03-15 Derek Price <[email protected]>
* NEWS: Note cvs release + Kerberos fix.
2004-03-15 Derek Price <[email protected]>
* configure.in: Correct grammar in help text.
* configure: Regenerated.
2004-03-15 Derek Price <[email protected]>
* macintosh/.cvsignore: Complete pruning of directory started in 1999.
2004-03-14 Derek Price <[email protected]>
* NEWS: Note resurrection fix.
2004-03-14 Derek Price <[email protected]>
* NEWS: Note error & status message corrections.
2004-03-14 Derek Price <[email protected]>
* NEWS: Note diff of added files against arbitrary revisions fix.
2004-03-12 Derek Price <[email protected]>
* NEWS: Note Larry's recent documentation fixes.
2004-03-03 Derek Price <[email protected]>
* NEWS: Note that directories and files named `CVS' are now also
rejected by import.
2004-02-25 Derek Price <[email protected]>
* NEWS: Update dying gasp note.
2004-02-25 Derek Price <[email protected]>
* NEWS: Note `cvs release' Entries corruption fix.
2004-02-20 Derek Price <[email protected]>
* NEWS: Note that the dying gasp check has now been completely removed.
2004-02-17 Derek Price <[email protected]>
* NEWS: Note spec file fix.
* cvs.spec: Update to avoid the error checking algorithm's of more
recent version of RPM.
2004-02-17 Derek Price <[email protected]>
* NEWS: Note recent commenting of src/checkout.c and Mark's leak fixes.
2004-02-12 Derek Price <[email protected]>
* NEWS: Note Mark D. Baushke's recent memory leak plugs.
2004-02-12 Derek Price <[email protected]>
* NEWS: Note Ville Skyttä's other recent man page patch.
2004-02-12 Derek Price <[email protected]>
* NEWS: Note Ville Skyttä's recent man page patch.
2004-02-11 Derek Price <[email protected]>
* NEWS: Note :fork: segfault avoidance.
2004-02-11 Derek Price <[email protected]>
* NEWS: Note readability improvements.
2004-02-10 Derek Price <[email protected]>
* NEWS: Note dying gasp check.
2004-02-10 Derek Price <[email protected]>
* NEWS: Note flow control pipe race fix.
2004-02-10 Derek Price <[email protected]>
* BUGS: Note problems building with MSVC++ under Windows and
workaround.
* INSTALL: Ditto.
2004-02-10 Derek Price <[email protected]>
* cvsnt.mak: Add stack.c and stack.h in order to compile under Windows.
* NEWS: Note Windows fixes.
* README: Update copyright notice.
2004-02-09 Derek Price <[email protected]>
* NEWS: Note new tests in sanity.sh.
2004-02-06 Derek Price <[email protected]>
* README: Undo accidental overwrite.
2004-02-04 Derek Price <[email protected]>
* NEWS: Note that alias module recursion is now more comprehensive.
2004-02-03 Derek Price <[email protected]>
* NEWS: Note case insensitive client directory case preservation.
2004-02-02 Derek Price <[email protected]>
* NEWS: Note new join-rm tests.
2004-02-02 Derek Price <[email protected]>
* NEWS: Note removal from the server of support for case insensitive
clients.
2004-01-30 Derek Price <[email protected]>
* NEWS: Note man page fix.
2004-01-30 Derek Price <[email protected]>
* NEWS: Note contrib/log_accum tidy.
2004-01-25 Derek Price <[email protected]>
* NEWS: Note Kerberos 4 fix.
2004-01-22 Derek Price <[email protected]>
* NEWS: Note recent infinite alias loop fix.
2004-01-22 Derek Price <[email protected]>
* INSTALL: Remove a note about an Automake bug that has been fixed for
quite awhile.
2004-01-22 Derek Price <[email protected]>
* INSTALL: s/Automake 1.7.5/Automake 1.7.9/.
2004-01-14 Derek Price <[email protected]>
* NEWS: Note Larrys recent mktemp.sh inclusion, documentation reorg,
and zlib code fix.
2003-12-23 Larry Jones <[email protected]>
* Makefile.am: Add mktemp.sh to EXTRA_DIST.
* Makefile.in: Regenerated.
* configure.in: Get mktemp.sh from $srcdir.
* configure: Regenerated.
(Reported by Matt Selsky <[email protected]>.)
2003-12-18 Derek Price <[email protected]>
* NEWS: Add since 1.11.11 section.
* configure.in: Update for dev 1.11.11.1.
* configure: Regenerated.
2003-12-18 Derek Price <[email protected]>
* configure.in: Update for release 1.11.11.
* configure: Regenerated.
2003-12-18 Derek Price <[email protected]>
* NEWS: Note syslog of root attempts.
2003-12-18 Derek Price <[email protected]>
* NEWS: Note that pserver can no longer run as root.
2003-12-07 Mark D. Baushke <[email protected]>
* configure.in (AC_SYS_LARGEFILE): Remove. More work is needed
before AC_SYS_LARGEFILE will work on all platforms.
* configure, config.h.in: Regenerated.
* NEWS: Remove last note.
* configure.in (AC_SYS_LARGEFILE): Add. The history file on
Solaris boxes can grow beyond 2GB.
* configure, config.h.in: Regenerated.
* NEWS: Note addition of --disable-largefiles option.
2003-12-05 Derek Price <[email protected]>
* configure.in: Update to require Automake 1.7.9.
2003-12-04 Derek Price <[email protected]>
* configure.in: Update for dev version 1.11.10.1.
* NEWS: Add Changes since 1.11.10 section.
* configure: Regenerated.
2003-12-04 Derek Price <[email protected]>
* configure.in: Update for release 1.11.10.
* configure: Regenerated.
2003-12-03 Derek Price <[email protected]>
* configure.in: Always AC_LIBOBJ(fncase) when filenames are found to be
case insensitive.
* configure: Regenerated.
2003-11-26 Derek Price <[email protected]>
* NEWS: Note recase tests.
2003-11-26 Derek Price <[email protected]>
* NEWS: Note new test suite functionality.
2003-11-25 Derek Price <[email protected]>
* NEWS: Note latest case insensitivity fix.
2003-11-19 Derek Price <[email protected]>
* NEWS: Rename "OTHER ISSUES" to "GENERAL USER ISSUES" and move the
note about the Autoconf upgrade to a new "DEVELOPER ISSUES" section.
Add a note about upgrading Automake.
* aclocal.m4, configure, **/Makefile.in: Regenerated with Automake
1.7.9.
2003-11-18 Derek Price <[email protected]>
* NEWS: Subdivide Changes section into "SERVER SECURITY ISSUES" and
"OTHER ISSUES". Note module abspath issue in security section.
2003-11-10 Derek Price <[email protected]>
* BUGS: Add some detail to the last two notes Mark added.
2003-11-10 Mark D. Baushke <[email protected]>
* BUGS: Note that symlinks to files will not work with or without
LockDir. Note that symlinks to directories will not work with
LockDir.
* NEWS (Changes since 1.11.9): Note symlinked CVSROOT now works.
2003-11-10 Derek Price <[email protected]>
* configure.in: Require Autoconf 2.58.
* INSTALL, NEWS: Note new Autoconf requirements.
* configure: Regenerated.
2003-11-04 Derek Price <[email protected]>
* configure.in: Add some more help text for --enable-case-sensitivity.
* configure: Regenerated.
2003-11-03 Derek Price <[email protected]>
* configure.in: Require Automake 1.7.5.
2003-11-03 Derek Price <[email protected]>
* INSTALL: Add some notes on Autoconf requirements.
2003-10-31 Derek Price <[email protected]>
* INSTALL: Note Cygwin as an option for building CVS under Windows.
2003-10-31 Derek Price <[email protected]>
* INSTALL: s/cvsgui/wincvs/.
2003-10-27 Derek Price <[email protected]>
* configure.in: Move case sensitivity test to the enable-* section and
allow override via command line switch.
* NEWS: Update last news item to reflect new command line switch.
* configure, config.h.in: Regenerated.
2003-10-27 Derek Price <[email protected]>
* configure.in: Add new test for a case insensitive file system.
* configure, config.h.in: Regenerated.
* NEWS: Note the above change.
2003-10-24 Derek Price <[email protected]>
* NEWS: Update recent text about joins to reflect new behavior.
2003-10-24 Derek Price <[email protected]>
* BUGS: Note that release of a project subdir does not remove the entry
from `./CVS/Entries'.
2003-10-24 Derek Price <[email protected]>
* BUGS: Remove obsolete bug report.
(Patch from Paul Edwards <somewhere in Australia>.)
2003-10-24 Derek Price <[email protected]>
* BUGS: Remove obsolete bug report.
(Patch from Paul Edwards <somewhere in Australia>.)
2003-10-23 Mark D. Baushke <[email protected]>
* NEWS: Note behavior change for cvs update -jrev1 -jrev2.
2003-10-21 Derek Price <[email protected]>
* NEWS: Note Mark's recent admin -m fix.
2003-10-21 Derek Price <[email protected]>
* NEWS: Note the @email{} and @url{} fixes as misc documentation fixes.
2003-10-14 Derek Price <[email protected]>
* NEWS: Note POSIX 1003.1-2001 compatibility of docs and scripts.
2003-10-14 Derek Price <[email protected]>
Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
testing with _POSIX2_VERSION=200112 in the environment.
* BUGS: Suggest 'diff -C2', not 'diff -c2'.
* FAQ: Suggest 'sort -k 1.2', not 'sort +0.1'.
* depcomp: Sync to the depcomp shipped with Automake 1.7.8, as
it has the bug fixed and that's better than maintaining our
own depcomp.
(Patch from Paul Eggert <[email protected]>.)
2003-10-14 Derek Price <[email protected]>
* INSTALL: Add HPPA 2.0 running HP-UX 10.20 for CVS 1.11.9.
(Report from Tom Kuiper <[email protected]>.)
2003-10-10 Derek Price <[email protected]>
* NEWS (Changes since 1.11.9): New section.
* configure.in: Update package version to 1.11.9.1.
* configure: Regenerated.
2003-10-10 Derek Price <[email protected]>
* configure.in: Update package version to 1.11.9.
* configure: Regenerated.
2003-10-08 Derek Price <[email protected]>
* NEWS: Note history reporting fix.
2003-10-08 Derek Price <[email protected]>
* NEWS: Improve syntax and punctuation of my last entry.
2003-10-08 Derek Price <[email protected]>
* NEWS: Note history fix for clients requesting `P' records.
2003-10-07 Derek Price <[email protected]>
* NEWS: Note case insensitive file lookup fix.
2003-10-03 Derek Price <[email protected]>
* NEWS: Note server ignoring `-l' with a warning.
2003-10-02 Derek Price <[email protected]>
* NEWS (Changes since 1.11.8): Add empty section.
* configure.in: Update package version to 1.11.8.1.
* configure: Regenerated.
2003-10-02 Derek Price <[email protected]>
* configure.in: Update package version to 1.11.8.
* configure: Regenerated.
2003-10-02 Derek Price <[email protected]>
* NEWS: Note getpass fix.
2003-09-29 Derek Price <[email protected]>
* NEWS (Changes since 1.11.7): Insert empty entry.
* configure.in: Update to 1.11.7.1.
* configure: Regenerated.
2003-09-29 Derek Price <[email protected]>
* configure.in: Update package version to 1.11.7.
* configure: Regenerated.
2003-09-29 Derek Price <[email protected]>
* NEWS: Note recent fix of the potential segfault during a diff.
2003-09-26 Derek Price <[email protected]>
* BUGS: Note bug in options passed to diff via `cvs diff'.
2003-09-12 Derek Price <[email protected]>
* NEWS: Note checkoutlist error message handling fix.
2003-08-27 Larry Jones <[email protected]>
* NEWS: Note client/server messages have real command name, client/
server updates get logged in history file, history file has "P"
record type.
2003-07-29 Derek Price <[email protected]>
* configure.in: Replace my recent misuse of AH_VERBATIM with a call to
AC_DEFINE.
* config.h.in, configure: Regenerated.
2003-07-29 Derek Price <[email protected]>
* configure.in: Do not check for getpassphrase. Define `getpass' to
`cvs_getpass' in config.h to avoid conflicts with system decls.
* NEWS: Note use of GNULIB getpass.
* config.h.in, configure: Regenerated.
2003-07-25 Derek Price <[email protected]>
* INSTALL: Note --without-gssapi required to configure on OS X.
2003-07-18 Derek Price <[email protected]>
* BUGS: Remove mention of wrappers -t/-f since they are no longer
supported.
2003-07-18 Derek Price <[email protected]>
* Makefile.am (EXTRA_DIST): Add cvs.spec so that RPMs can be built
directly from tarballs.
* Makefile.in: Regenerated.
2003-07-18 Derek Price <[email protected]>
* TODO (72): Remove mention of the -i/-o in the modules file since they
have been removed.
2003-06-27 Larry Jones <[email protected]>
* NEWS: Note LockDir fix.
2003-06-23 Derek Price <[email protected]>
* configure.in: Debian Woody has -lkrb4, so check for that.
(Patch from Alexey Mahotkin <[email protected]>.)
* config.h.in: Regenerated.
* configure: Ditto.
2003-06-20 Derek Price <[email protected]>
* INSTALL: Add some OS X platforms to the compile list. Correct link to
cvsgui.org -> wincvs.org.
2003-06-09 Derek Price <[email protected]>
* cvsnt.mak: Rename win32.c to woe32.c in accordance with the GNU
convention to avoid implying that we consider the Microsoft Windows
Operating Environment any sort of "win".
2003-06-09 Derek Price <[email protected]>
* NEWS: Note short patch fix.
2003-06-09 Derek Price <[email protected]>
* TODO (45): Combine this with...
(30): ...this item (as #30). Remove reference to diff since the
modules file is only consulted for the r* commands.
2003-06-02 Derek Price <[email protected]>
* NEWS: Note empty diff change text fix.
2003-05-29 Derek Price <[email protected]>
* NEWS: Note removal of global -l option.
2003-05-27 Derek Price <[email protected]>
* AUTHORS: Give Mark an email address.
2003-05-27 Derek Price <[email protected]>
* cvs.spec.in: Add some files to doc. Remove redundant %defattr.
2003-05-27 Derek Price <[email protected]>
* NEWS (Changes since 1.11.5): Add missing entry.
2003-05-27 Derek Price <[email protected]>
* README (Credits): Move...
* AUTHORS: ...here and update.
2003-05-26 Derek Price <[email protected]>
* configure.in: Update CVS version to 1.11.6.1.
* configure: Regenerated.
2003-05-25 Derek Price <[email protected]>
* configure.in: Update CVS version to 1.11.6.
* configure: Regenerated.
2003-05-25 Derek Price <[email protected]>
* BUGS: Note current intermittant BSDI failures.
2003-05-22 Larry Jones <[email protected]>
* NEWS: Note recent administrative file changes.
2003-05-21 Derek Price <[email protected]>
* INSTALL: Mention new Automake version.
* NEWS: Ditto.
* Makefile.in: Regenerated.
* aclocal.m4: Ditto.
* config.h.in: Ditto.
* configure: Ditto.
2003-05-20 Derek Price <[email protected]>
* INSTALL: Using Autoconf version 2.57.
* NEWS: Ditto. Reorder NEWS items to put the stuff which it is likely
that only developers care about last.
* configure: Regenerated with Autoconf 2.57.
2003-05-09 Derek Price <[email protected]>
* configure.in: Back out all the S_ISSOCK changes I just made and move
the equivalent to lib/system.h.
* configure.in: Regenerated.
* config.h.in: Ditto.
2003-05-09 Derek Price <[email protected]>
* configure.in: Try again, with AC_TRY_LINK this time.
* configure: Regenerated.
2003-05-09 Derek Price <[email protected]>
* configure.in: Correct a typo in my last patch.
* configure: Regenerated.
2003-05-09 Derek Price <[email protected]>
* configure.in: Add some checks for S_ISSOCK to avoid a problem on
SCO OpenServer 5.0.6a.
(Reported by Boyd Lynn Gerber <[email protected]>.)
* config.h.in: Regenerated.
* configure: Ditto.
2003-05-01 Derek Price <[email protected]>
* TODO (149): Remove reference to defunct RELATIVE_REPOS macro.
2003-04-30 Derek Price <[email protected]>
* acinclude.m4 (ACX_WITH_GSSAPI): Fix typo in broken conditional.
(Thanks to Alexey Mahotkin <[email protected]>.)
* configure: Regenerated.
* aclocal.m4: Ditto.
2003-04-28 Derek Price <[email protected]>
* NEWS (Changes since 1.11.5): Note removal of Checkin.prog and
Update.prog functionality.
2003-04-10 Larry Jones <[email protected]>
* aclocal.m4 (AM_MAINTAINER_MODE): New macro to support
--enable-maintainer-mode.
* configure.in: Use it.
* configure: Regenerated.
* Makefile.in: Regenerated.
* noautomake.sh: Removed; no longer needed.
* INSTALL: Remove reference to noautomake.sh, add reference to
--enable-maintainer-mode.
* Makefile.am: Remove noautomake.sh.
* NEWS: Add note about --enable-maintainer-mode and noautomake.sh.
* README: Remove noautomake.sh.
2003-04-01 Derek Price <[email protected]>
* BUGS: Remove a pcl-cvs bug. pcl-cvs is no longer part of the CVS
source distribution.
2003-04-01 Derek Price <[email protected]>
* BUGS: Remove reference to cvs admin SEGV bug Larry Jones fixed
on 2003-02-19.
2003-04-01 Derek Price <[email protected]>
* BUGS: Remove obsolete bug.
* configure.in: Tail the BUGS file for status.
* configure: Regenerated.
2003-03-28 Derek Price <[email protected]>
* configure.in (--with-editor): Quit with an error message when no
editor is found. Allow --with-editor to override $EDITOR from the
user's environment. Add vim to the list of defaults.
* configure: Regenerated.
2003-03-26 Derek Price <[email protected]>
* configure.in (--with-editor): Quit with an error message when
--without-editor is specified.
(Report from Jim Salter <[email protected]>.)
* configure: Regenerated.
2003-03-24 Derek Price <[email protected]>
* configure.in: Add copyright notice.
* Makefile.am: Update copyright notice.
* Makefile.in: Regenerated.
* configure: Ditto.
2003-03-07 Derek Price <[email protected]>
* TESTS: Document some more global variables.
2003-03-05 Mark D Baushke <[email protected]>
* NEWS (Changes since 1.11.5): Backout CVS_LOCAL_BRANCH_NUM feature.
* NEWS (Changes since 1.11.5): Mention CVS_LOCAL_BRANCH_NUM
environment varaible.
2003-02-25 Derek Price <[email protected]>
* configure.in (WITH_KRB4): Import KRB4 patch from Redhat 8.0's CVS
1.11.2-5 SRPM. It's not the right fix, but it will work until I get
around to merging some of the code with WITH_GSSAPI and seperating the
bits into separate M4 files.
* configure: Regenerated.
* config.h.in: Ditto.
2003-02-28 Derek Price <[email protected]>
* acinclude.m4 (ACX_WITH_GSSAPI): Move the checkin from 1/23 to
aclocal.m4 to the source, here.
* aclocal.m4: Regenerated.
* configure: Regenerated.
2003-02-28 Larry Jones <[email protected]>
* TODO (206): Done in 1.11.3.
(226): Add comment about deadlock.
(228, 229): New items.
2003-02-26 Derek Price <[email protected]>
* mktemp.sh: Actually add file this time.
* mktemp.sh: Add copyright notice, some comments, and attempt to return
success and error codes.
2003-02-25 Derek Price <[email protected]>
* configure.in: Add checks for mktemp and sendmail.
* mktemp.sh: New file.
* Makefile.in: Regenerated.
* configure: Ditto.
2003-02-06 Derek Price <[email protected]>
* NEWS (Changes since 1.11.5): Note error message corrections.
2003-01-30 Larry Jones <[email protected]>
* FAQ: Update URL for tkCVS info.
* NEWS (Changes from 1.11.2 to 1.11.3): Add note about fixing watch
in server mode.
2003-01-28 Derek Price <[email protected]>
* INSTALL: Remove a reference to options.h.
(Thanks to Jenn Vesperman <[email protected]> for the report.)
2003-01-28 Larry Jones <[email protected]>
* NEWS: Update for 1.11.5, add notes about bug fixes in older
versions.
2003-01-23 Derek Price <[email protected]>
* aclocal.m4 (WITH_GSSAPI): Check for libcrypt before libroken to
satisfy a FreeBSD 4.6 dependency.
(Thanks to Jan Ruzicka <[email protected]> for the bug
report and a partial fix.)
* configure: regenerated.
2003-01-20 Derek Price <[email protected]>
* NEWS: Update the news for the last release to mention that client
builds are not affected by the security vulnerability.
2003-01-20 Derek Price <[email protected]>
* configure.in: Update to dev version 1.11.5.1.
* configure: Regenerated.
2003-01-16 Derek Price <[email protected]>
* NEWS: Add 1.11.4 entry in regards to
@@ -910,13 +8,6 @@
* configure: Regenerated.
2002-01-16 Derek Price <[email protected]>
* configure.in (--with-editor): Look for nano, the GNU GPL pico clone.
(Reported by Robin Cook <[email protected]>.)
* configure: Regenerated.
2002-01-16 Derek Price <[email protected]>
* configure.in: Update to dev version (1.11.4.1).
+2 -4
View File
@@ -1897,9 +1897,7 @@ You can branch a branch.
Note that according to the official GIC page at
http://www.cpsc.ucalgary.ca/redirect/grouplab/projects/gic/
GIC is no longer being maintained and tkCVS is recommended
instead.
For more on tkCVS, see http://www.cvshome.org/dev/addontkcvs.html.
instead. For more on tkCVS, see http://www.cyclic.com/tkcvs/
[email protected]
@@ -4332,7 +4330,7 @@ [email protected]
You should be able to run:
sort -k 1.2 ${dir1}/history ${dir2}/history > history
sort +0.1 ${dir1}/history ${dir2}/history > history
If you "diff" a standard history file before and after such a sort,
you might see other differences caused by garbage (split lines, nulls,
+24 -4
View File
@@ -7,19 +7,39 @@ not under any circumstances commit new versions onto the mainline, new
versions or official-patch versions must be imported.
To prepare a new cvs dist for import, extract it into a fresh directory;
then delete the files and directories listed in FREEBSD-Xlist.
CVS is imported from its top level directory something like this:
The following generated files were deleted:
doc/*.ps
doc/*.info*
doc/texinfo.tex
lib/getdate.c
cvsnt.*
cvs.spec*
build.com
*/*.com
*/*.dsp
*/.cvsignore
.cvsignore
README.VMS
The following non-freebsd-specific directories were deleted:
os2
emx
windows-NT
vms
zlib
It is imported from it's top level directory something like this:
cvs -n import src/contrib/cvs CVSHOME v<version>
The -n option is "don't do anything" so you can see what is about to happen
The -n option is "dont do anything" so you can see what is about to happen
first. Remove it when it looks ok.
The initial import was done with:
cvs import src/contrib/cvs CVSHOME v1_8_1
When new versions are imported, cvs will give instructions on how to merge
the local and vendor changes when/if conflicts arise.
the local and vendor changes when/if conflicts arise..
The developers can be reached at: <[email protected]>. Local changes
that are suitable for public consumption should be submitted for inclusion
-19
View File
@@ -104,25 +104,6 @@ Filenames for .c and .h files may contain _ but should not contain -
(the latter causes Visual C++ 2.1 to create makefiles which Visual C++
4.0 cannot use).
* Regenerating Build Files
On UNIX, if you wish to change the Build files, you will need Autoconf and
Automake.
Some combinations of Automake and Autoconf versions may break the
CVS build if file timestamps aren't set correctly and people don't
have the same versions the developers do, so the rules to run them
automatically aren't included in the generated Makefiles unless you run
configure with the --enable-maintainer-mode option.
The CVS Makefiles and configure script were built using Automake 1.7.9 and
Autoconf 2.58, respectively.
There is a known bug in Autoconf 2.57 that will prevent the configure
scripts it generates from working on some platforms. Other combinations of
autotool versions may or may not work. If you get other versions to work,
please send a report to <[email protected]>.
* Writing patches (strategy)
Only some kinds of changes are suitable for inclusion in the
+36 -31
View File
@@ -123,8 +123,6 @@ HPPA:
HPPA running HP-UX 9.05 (1.9)
HPPA running HP-UX 10.01 (1.7)
HPPA running HP-UX 10.20 (1.10.7)
HPPA running HP-UX 11.11 (1.11.13) (footnote 12)
HPPA 2.0 running HP-UX 10.20 (1.10.9) (footnote 13)
NextSTEP 3.3 (1.7)
i386 family:
Solaris 2.4 using gcc (about 1.4A2)
@@ -183,9 +181,6 @@ PowerPC or RS/6000:
Lynx 2.3.1 120495 (1.6.86) (footnote 9)
Lynx 2.5 (1.9) (footnote 10)
MkLinux DR3 GENERIC #6 (1.10.5.1) (presumably LinuxPPC too)
Mac OS X Darwin 6.6 Darwin Kernel Version 6.6 (1.11.1p1)
Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.11.6) (footnote 12)
Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.12.1) (footnote 12)
SPARC:
Sun SPARC running SunOS 4.1.x (1.10)
Sun SPARCstation 10 running Solaris 2.3 using gcc and cc (about 1.4A2)
@@ -243,21 +238,23 @@ VAX:
ci: RCS/loginfo,v: Invalid argument
cvs [init aborted]: failed to checkin n:/safe/CVSROOT/loginfo
(footnote 12)
Need to `configure --without-gssapi' unless you have installed Kerberos 5
libraries on the system yourself. For some reason Apple ships OS X with
the Kerberos 5 headers installed and not the libraries, which confuses the
current configure script. Some HP, BSD, & Sun boxes have similar problems.
(footnote 13)
A build under HP PA-RISC 2.0 will probably not run under PA-RISC 1.1
unless "+DAportable" is added to the HP ANSI cc compiler flags.
-------------------------------------------------------------------------------
Building from source code under Unix:
1) Run "configure":
1) Some combinations of Automake and Autoconf versions may break the CVS build
if file timestamps aren't set correctly, so you may wish to run
noautomake.sh to set the timestamps and avoid attempting to run the
autotools on your system, especially if you are building from source
checked out from CVS:
$ ./noautomake.sh --noautoconf
The CVS Makefiles and configure script were built using Automake 1.6.3 and
Autoconf 2.53, respectively. Other combinations of autotool versions may
or may not work.
2) Run "configure":
$ ./configure
@@ -371,7 +368,10 @@ Building from source code under Unix:
END OF NOTE FOR NDBM GUNK.
2) Try to build it:
3) Edit src/options.h. The defaults should be reasonable, and in fact
if you are lazy you can safely skip this step.
4) Try to build it:
$ make
@@ -382,7 +382,7 @@ Building from source code under Unix:
compiler information, make output, and anything else you think
will be helpful.
3) Run the regression tests (optional).
4a) Run the regression tests (optional).
You may also wish to validate the correctness of the new binary by
running the regression tests. If they succeed, that is nice to
@@ -394,7 +394,7 @@ Building from source code under Unix:
If you want to run the tests, see the file TESTS for more information.
4) Install the binaries/documentation:
5) Install the binaries/documentation:
$ make install
@@ -442,11 +442,7 @@ Building from source code under Windows NT/95/98/2000:
You may find interesting information in windows-NT/README.
* Using Microsoft Visual C++ 5.x (this is currently broken - someone with
MVC++ 5.x needs to regenerate the project files, but the builds using `nmake'
below will work).
1) Using Microsoft Visual C++ 5.x, open the project `cvsnt.dsw',
1) Using Microsoft Visual C++ 5.x, open the project `cvsnt.dsp',
in the top directory of the CVS distribution. If you have an older
version of Visual C++, take a look at windows-NT/README.
2) Choose "Build cvs.exe" from the "Project" menu.
@@ -459,12 +455,7 @@ following also works:
C:\> vcvars32
C:\> nmake /f cvsnt.mak CFG="cvsnt - Win32 Debug"
* Using the Cygwin development environment <http://cygwin.com>, Windows clients
and servers can be built using the instructions for building on UNIX. For
deploying the CVS server on Windows NT, see the `cygrunsrv' executable that
comes with Cygwin.
* You might also try <http://wincvs.org> & <http://www.cvsnt.org>.
* You might also try http://cvsgui.org & http://www.cvsnt.org
-------------------------------------------------------------------------------
@@ -476,10 +467,24 @@ For VMS, see README.VMS
Mac OS X: Builds fine, just like UNIX.
For older versions of Mac OS, you might try <http://wincvs.org>.
For older versions of Mac OS, you might try http://cvsgui.org .
For a Java client, see jCVS (which is a separate package from CVS
itself, but which might be preferable to the Macintosh port mentioned
above, for example).
**** ****
Builds are breaking on some systems (notably,
BSD/OS thor.sdrc.com 4.0.1 BSDI BSD/OS 4.0.1 Kernel #3: Thu Mar 9 11:29:16 EST 2000
) due to Automake's dependency tracking code. The work around for this is to
comile without it by passing the '--disable-dependency-tracking' option to
configure:
$ ./configure --disable-dependency-tracking
This will allow a compile but make will no longer be tracking header
dependencies. This means that if you make any changes to header files you may
have to run 'make clean' before running a 'make' to get everything to compile.
-------------------------------------------------------------------------------
+3 -6
View File
@@ -1,8 +1,6 @@
## Process this file with automake to produce Makefile.in
# Master Makefile for the GNU Concurrent Versions System.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1992, 1994, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,12 +33,11 @@ EXTRA_DIST = \
TESTS \
build.com \
cvs-format.el \
cvsnt.dep \
cvsnt.dsp \
cvsnt.dsw \
cvsnt.mak \
cvs.spec \
mktemp.sh
noautomake.sh
## MAINTAINER Targets
+72 -179
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,9 +15,7 @@
@SET_MAKE@
# Master Makefile for the GNU Concurrent Versions System.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1992, 1994, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,117 +26,79 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSH = @CSH@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EDITOR = @EDITOR@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
MKTEMP = @MKTEMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
SENDMAIL = @SENDMAIL@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_prefix_program = @ac_prefix_program@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build_alias = @build_alias@
datadir = @datadir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
includedir = @includedir@
includeopt = @includeopt@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
# Unix source subdirs, where we'll want to run lint and etags:
# This is a legacy variable from b4 Automake
@@ -161,12 +121,10 @@ EXTRA_DIST = \
TESTS \
build.com \
cvs-format.el \
cvsnt.dep \
cvsnt.dsp \
cvsnt.dsw \
cvsnt.mak \
cvs.spec \
mktemp.sh
noautomake.sh
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -175,16 +133,14 @@ CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = cvs.spec emx/Makefile os2/Makefile zlib/Makefile
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \
COPYING COPYING.LIB ChangeLog INSTALL Makefile.am NEWS TODO \
acinclude.m4 aclocal.m4 compile config.h.in configure \
configure.in cvs.spec.in depcomp install-sh mdate-sh missing \
mkinstalldirs
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = README AUTHORS COPYING COPYING.LIB ChangeLog INSTALL \
Makefile.am Makefile.in NEWS TODO acinclude.m4 aclocal.m4 \
compile config.h.in configure configure.in cvs.spec.in depcomp \
install-sh mdate-sh missing mkinstalldirs
DIST_SUBDIRS = $(SUBDIRS)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -193,18 +149,18 @@ all: config.h
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
$(ACLOCAL_M4): configure.in acinclude.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@@ -217,7 +173,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4)
$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/config.h.in
@@ -287,17 +243,10 @@ tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -313,15 +262,9 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
else \
include_option=--include; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
@@ -334,28 +277,13 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
@@ -367,20 +295,13 @@ am__remove_distdir = \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/. $(distdir)/contrib $(distdir)/doc $(distdir)/emx $(distdir)/os2 $(distdir)/src $(distdir)/windows-NT $(distdir)/zlib
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
$(mkinstalldirs) $(distdir)/. $(distdir)/contrib $(distdir)/emx $(distdir)/os2 $(distdir)/src $(distdir)/zlib
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -438,13 +359,12 @@ distcheck: dist
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
&& cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
@@ -452,39 +372,23 @@ distcheck: dist
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
find $$dc_install_base -type f -print ; \
exit 1; } >&2 ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
@@ -504,7 +408,7 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -512,7 +416,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -523,7 +427,6 @@ clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
@@ -546,31 +449,21 @@ installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
-rm -rf autom4te.cache
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
clean-generic clean-recursive ctags ctags-recursive dist \
dist-all dist-bzip2 dist-gzip distcheck distclean \
distclean-generic distclean-hdr distclean-recursive \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-recursive dist dist-all dist-bzip2 \
dist-gzip distcheck distclean distclean-generic distclean-hdr \
distclean-recursive distclean-tags distcleancheck distdir dvi \
dvi-am dvi-recursive info info-am info-recursive install \
install-am install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
@@ -579,9 +472,9 @@ uninstall-info: uninstall-info-recursive
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
ps-recursive tags tags-recursive uninstall uninstall-am \
uninstall-info-am uninstall-info-recursive uninstall-recursive
mostlyclean-recursive tags tags-recursive uninstall \
uninstall-am uninstall-info-am uninstall-info-recursive \
uninstall-recursive
.PHONY: localcheck remotecheck
+4 -402
View File
@@ -1,403 +1,17 @@
Changes since 1.11.16:
**********************
Changes since 1.11.4:
SERVER SECURITY FIXES
* Thanks to Stefan Esser & Sebastian Krahmer, several potential security
problems have been fixed. The ones which were considered dangerous enough
to catalogue were assigned issue numbers CAN-2004-0416, CAN-2004-0417, &
CAN-2004-0418 by the Common Vulnerabilities and Exposures Project. Please
see <http://www.cve.mitre.org> for more information.
* A potential buffer overflow vulnerability in the server has been fixed.
This addresses the Common Vulnerabilities and Exposures Project's issue
#CAN-2004-0414. Please see <http://www.cve.mitre.org> for more information.
Changes from 1.11.15 to 1.11.16:
********************************
SERVER SECURITY FIXES
* A potential buffer overflow vulnerability in the server has been fixed.
Prior to this patch, a malicious client could potentially use carefully
crafted server requests to run arbitrary programs on the CVS server machine.
This addresses the Common Vulnerabilities and Exposures Project's issue
#CAN-2004-0396. Please see <http://www.cve.mitre.org> for more information.
BUG FIXES
* The Microsoft Visual C++ workspace and project files have been repaired and
regenerated with MSVC++ 6.0.
* The cvs.1 man page is now generated automatically from a section of the CVS
Manual.
* Thanks to a report from Mark Andrews at the Internet Systems Consortium, the
:ext: connection method no longer relies on a transparent transport that uses
an argument processor that can handle arbitrary ordering of options and other
arguments when using a username other than the caller's.
* Thanks to Ken Raeburn at MIT, directory deletion, whether via `cvs release'
or empty directory pruning, now works on network shares under Windows XP.
Changes from 1.11.14 to 1.11.15:
********************************
SERVER SECURITY ISSUES
* Piped checkouts of paths above $CVSROOT no longer work. Previously, clients
could have requested the contents of RCS archive files anywhere on a CVS
server. This addresses CVE issue CAN-2004-0405. Please see
<http://www.cve.mitre.org> for more information.
CLIENT SECURITY ISSUES
* Clients now check paths from the server to verify that they are within one of
the sandboxes the user requested be updated. Previously, a trojan server
could have written or overwritten files anywhere the user had access,
presenting a serious security risk. This addresses CVE issue CAN-2004-1080.
Please see <http://www.cve.mitre.org> for more information.
GENERAL USER ISSUES
* Method options (used by WinCVS & CVS 1.12.7+) in CVSROOTs are ignored.
* Configure no longer checks the $TMPDIR, $TMP, & $TEMP variables to set the
default temporary directory.
* CVS on Cygwin correctly handles X:\ style paths.
* Import now uses backslash rather than slash on Windows when checking for
"CVS" directories to ignore in import commands.
* Relative paths containing up-references (`..') should now work in
client/server mode (client fix).
* A race condition between the ordering of messages from CVS and messages from
called scripts in client/server mode has been removed (server fix).
* Resurrected files now get their modes and timestamps set correctly and a
longstanding bug involving resurrection of an uncommitted removal has been
fixed (server fix).
* Some resurrection (cvs add) status messages have changed slightly.
* `cvs release' now works with Kerberos or GSSAPI encryption enabled (server
fix).
* File resurrection from a previously existing revision no longer just reports
that it works (server fix).
* Misc error & status message corrections.
* Diffing of locally added files against arbitrary revisions in an RCS archive
is now allowed when a file of the same name exists or used to exist on some
branch (server fix).
* Misc documentation fixes.
Changes from 1.11.13 to 1.11.14:
********************************
GENERAL USER ISSUES
* Imports will now always ignore directories and files named `CVS' to avoid
violating assumptions made by other parts of CVS.
* A problem with `cvs release' of subdirs that could corrupt CVS/Entries files
has been fixed (client/server).
* The CVS server's protocol check for unused data from the client is no longer
called automatically at program exit in order to avoid potential recursive
calls to error when the first close is due to memory allocation or similar
problems that cause calls to error() to fail. The check is still made when
the server program exits normally.
* The spec file has been updated to work with more recent versions of RPM.
* Several memory leaks have been plugged (client/server).
DEVELOPER ISSUES
* Misc cosmetic, readability, and commenting fixes.
Changes from 1.11.12 to 1.11.13:
********************************
GENERAL USER ISSUES
* Several memory leaks have been plugged.
* Thanks to Ville Skyttä the man page has a few less spelling errors and is
slightly more accurate.
* An unlikely potential segfault when using the :fork: connection method has
been fixed.
* The CVS server has had the protocol check for unused data from the client
partially restored.
* A fix has been included that should avoid a very rare race condition that
could cause a CVS server to exit with a "broken pipe" message.
* A minor problem with the nmake build file that was preventing the source from
compiling under Windows has been fixed.
* Tests have been added to the test suite.
DEVELOPER ISSUES
* Misc cosmetic, readability, and commenting fixes.
Changes from 1.11.11 to 1.11.12:
********************************
GENERAL USER ISSUES
* Infinite alias loops in the modules file are now checked for and avoided.
* Clients on case insensitive systems now preserve the case of directories in
CVS/Entries, in addition to files, for use in communications with the CVS
server.
* Some previously untested behavior is now being tested.
* Server support for case insensitive clients has been removed in favor of the
server relying on the client to preserve the case of checked out files, as
per the CVS client/server protocol spec. This is not as drastic as it may
sound, as all of the current tests still pass without modification when run
from a case insensitive client to a case sensitive server. This change
disables little previous functionality, enables access to more of the
possible namespace to users on systems with case insensitive file systems,
fixes a few bugs, and in the end this should provide a major stability
improvement.
* Thanks to Ville Skyttä the man page is a bit more accurate.
* Thanks to Ville Skyttä some unused variables were removed from the log_accum
Perl script in contrib.
* Thanks to Alexey Mahotkin, a bug that prevented CVS from being compiled with
Kerberos 4 authentication enabled has been fixed.
* A minor bug that caused CVS to fail to report an inifinte alias loop in the
modules file when portions of the alias definition contained trailing slashes
has been fixed.
* A bug in the gzip code that could cause heap corruption and segfaults in CVS
servers talking to clients less than 1.8 and some modern third-party CVS
clients has been fixed.
* mktemp.sh is now included with the source distribution so that the rcs2log
and cvsbug executables may be run on systems which do not contain an
implementation of mktemp.
* Misc documentation fixes.
Changes from 1.11.10 to 1.11.11:
********************************
SERVER SECURITY ISSUES
* pserver can no longer be configured to run as root via the
$CVSROOT/CVSROOT/passwd file, so if your passwd file is compromised, it no
longer leads directly to a root hack. Attempts to root will also be logged
via the syslog.
Changes from 1.11.9 to 1.11.10:
*******************************
SERVER SECURITY ISSUES
* Malformed module requests could cause the CVS server to attempt to create
directories and possibly files at the root of the filesystem holding the CVS
repository. Filesystem permissions usually prevent the creation of these
misplaced directories, but nevertheless, the CVS server now rejects the
malformed requests.
GENERAL USER ISSUES
* Case insensitive clients using a case sensitive server can now use a
`cvs rm -f file; cvs add FILE' command sequence to add a file with the same
name in a new case.
* CVSROOTs which contain a symlink to a real repository should work.
* The configure script now tests whether it is building CVS on a case
insensitive file system. If it is, CVS assumes that all file systems on this
platform will be case insensitive. This is useful for getting the case
insensitivity flag set correctly when compiling on Mac OS X and under Cygwin
on Windows. Autodetection can be overridden using the
--disable-case-sensitivity and --enable-case-sensitivity arguments to
configure.
* A behavior change in `cvs up -jrev1 -jrev2' for modified files with a base
revision of rev2 (ie, checked-out version matches rev2 and file has been
modified). The operation is no longer ignored and instead is passed to
diff3. This will potentially re-apply the diffs between the two revisions to
a modified local file. Status messages like from a standard merge have also
been added when the file would not or does not change due to this merge
request ("[file] already contains the changes between [revisions]...").
* A bug which could stop `cvs admin -mTAG:message' from recursing has been
fixed.
* Misc documentation cleanup and fixes.
* Some of the contrib scripts, some of the documentation, and sanity.sh were
modified to use and recommend more portable commands rather than using and
recommending commands which were not compatible with the POSIX 1003.1-2001
specification.
DEVELOPER ISSUES
* A new set of tests to test issues specific to case insensitive clients and
servers has also been added.
* Support has been added to the test suite to support testing over a :ext: link
to another machine, subject to some stringent requirements. This support can
be used, for instance, to test the operation of a case insensitive client
against a case sensitive server. Please see the comments in TEST and the
src/sanity.sh test script itself for more.
* We've standardized on Automake 1.7.9 to get a bug fix. See the note below
on the Autoconf upgrade for more details.
* We've standardized on Autoconf version 2.58 to avoid a bug and get at a few
new macros. Again, this should only really affect developers, though it is
possible that CVS will now compile on a few new platforms. Please see the
section of the INSTALL file about using the autotools if you are compiling
CVS yourself.
Changes from 1.11.8 to 1.11.9:
* CVS now knows how to report, as well as record, `P' record types.
* When running the `cvs history' command, clients will now send the
long-accepted `-e' option, for all records, rather than explicitly requesting
`P' record types, a request which servers prior to 1.11.7 will reject with a
fatal error message.
* A problem with locating files requested by case insensitive clients which was
accidentally introduced in 1.11.6 as part of a fix for a data loss problem
involving `cvs add's from case insensitive clients has been fixed. The
relevant error message was `cvs [<command> aborted]: filE,v is ambiguous;
could mean FILE,v or file,v'.
* Attempts to use the global `-l' option, removed from both client and server
as of version 1.11.6, will now elicit a warning rather than a fatal error
from the server.
Changes from 1.11.7 to 1.11.8:
* A problem in the CVS getpass library that could cause passwords to echo on
some systems has been fixed.
Changes from 1.11.6 to 1.11.7:
* A segfault that could occur in very rare cases where the stat of a file
failed during a diff has been fixed.
* Any user with write privleges to the CVSROOT/checkoutlist file could pass
arbitrary format strings directly through to a printf function. This was
probably bad and has been fixed. White space at the beginning of error strings
in checkoutlist is now ignored properly.
* In client/server mode, most messages from CVS now contain the actual
command name rather than the generic "server".
* A long-standing bug that prevented most client/server updates from being
logged in the history file has been fixed.
* Updates done via a patch ("P" status) are now logged in the history file
by default and the corresponding "P" history record type is now documented.
If you're setting the LogHistory option in your CVSROOT/config file, you may
want to add "P" to the list of record types.
* CVS now will always compile and its own getpass() function (originally from
GNULIB) in favor of any system one that may exist. This avoids some problems
with long passwords on some systems and updates us to POSIX.2 compliance, since
getpass() was removed from the POSIX.2 specification.
* A bug that allowed a write lock to be created in a directory despite
there being existing read locks when using LockDir in CVSROOT/config has
been fixed.
* A bug with short patches (`rdiff -s') which caused rdiff to sometimes report
differences that did not exist has been fixed.
* Some minor corrections were made to the diff code to keep diff & rdiff from
printing diff headers with empty change texts when two files have different
revision numbers but the same content.
* The global '-l' option, which suppressed history logging, has been removed
from both client and server.
Changes from 1.11.5 to 1.11.6:
* A warning message is now issued if an administrative file contains
more than one DEFAULT entry.
* An error running a verifymsg script (such as referencing an unset user
variable or the script not existing) now causes the verification to
fail.
* Errors in administrative files commands (like unset user variables)
are no longer reported unless the command is actually executed.
* When a file is initially checked out, its last access time is now set
to the current time rather than being set to the time the file was last
checked in like the modification time is.
* The Checkin.prog and Update.prog functionality has been removed. This
fuctionality previously allowed executables to be specified in the modules file
to be run at update and checkin time, but users could edit these files on a per
workspace basis, creating a security hole.
* contrib/rcs2log and src/cvsbug now use the BSD mktemp program to create
their temp files and directories on systems which provide it.
* Corrected the path in a failed write error message.
* Autoconf and Automake are no longer run automatically unless you run
configure with --enable-maintainer-mode. Accordingly, noautomake.sh is
no longer needed and has been removed.
* We've standardized on Automake version 1.7.5 and Autoconf version 2.57 to get
at a few new macros. Again, this should only really affect developers. See
the section of the INSTALL file about using the autotools if you are compiling
CVS yourself.
Changes from 1.11.4 to 1.11.5:
* Fixed a security hole in the CVS server by which users with read only access
could gain write access. This issue does not affect client builds. The
Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the
name CAN-2003-0015 to this issue. See
* Fixed a security hole by which users with read only access could gain
write access. The Common Vulnerabilities and Exposures project (cve.mitre.org)
has assigned the name CAN-2003-0015 to this issue. See
<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0015> for more
information.
* Fixed some bugs where revision numbers starting with 0 (like 0.3)
weren't correctly handled. (CVS doesn't normally use such revision
numbers, but users may be able to force it to do so and old RCS files
might.)
Changes from 1.11.3 to 1.11.4:
* Some minor changes to allow the code to compile on Windows platforms.
Changes from 1.11.2 to 1.11.3:
* The tag/rtag code has been fixed to once again lock just a single
directory at a time.
* There was a bug where certain error conditions could cause the server
to go into an infinite loop. There was also a bug that caused a
compressed connection from an older client to hang on shutdown. These
bugs have been fixed.
* Fixed a bug that caused the server to reject most watch commands.
* When waiting for another user's lock, the message timestamps are now
in UTC rather than the server's local time.
@@ -410,12 +24,6 @@ sanity.sh to use Autotest and Autoshell. Again, this should only really affect
developers. See the section of the INSTALL file about using the autotools if
you are compiling CVS yourself.
* Fixed a bug in the log/rlog code when a revision range crosses a
branch point.
* Fixed a bug where filenames starting with - would be misinterpreted as
options when using client/server mode.
Changes from 1.11.1p1 to 1.11.2:
* There is a new feature, enabled by RereadLogAfterVerify in CVSROOT/config,
@@ -454,12 +62,6 @@ Changes from 1.11.1 to 1.11.1p1:
Changes from 1.11 to 1.11.1:
* There was a locking bug in the tag/rtag code that could lose changes
made to a file while the tag operation was in progress. This has been
fixed, but all of the directories being tagged are now locked for the
entire duration of the tag operation rather than only one directory at a
time.
* The "cvs diff" command now accepts the -y/--side=by-side and -T/
--initial-tab options. (To use these options with a remote repository,
both the client and the server must support them.)
+85 -4
View File
@@ -3,9 +3,6 @@
Copyright (c) 1993-1994 Brian Berliner
Copyright (c) 1992 Brian Berliner and Jeff Polk
Copyright (c) 1989-1992, Brian Berliner
Copyright (c) 1998-2004 Free Software Foundation,
Derek Price,
& Ximbiot <http://ximbiot.com>
All Rights Reserved
This program is free software; you can redistribute it and/or modify
@@ -78,6 +75,7 @@ Installation:
Please read the INSTALL file for installation instructions. Brief summary:
$ ./noautomake.sh --noautoconf
$ ./configure
$ make
(run the regression tests if desired)
@@ -114,4 +112,87 @@ then it will be possible to create one.
-------------------------------------------------------------------------------
Credits: See the AUTHORS file.
Credits:
The conflict-resolution algorithms and much of the administrative file
definitions of CVS were based on the original package written by Dick Grune
at Vrije Universiteit in Amsterdam <[email protected]>, and posted to
comp.sources.unix in the volume 6 release sometime in 1986. This original
version was a collection of shell scripts. I am thankful that Dick made
his work available.
Brian Berliner from Prisma, Inc. (now at Sun Microsystems, Inc.)
<[email protected]> converted the original CVS shell scripts into reasonably
fast C and added many, many features to support software release control
functions. See the manual page in the "man" directory. A copy of the
USENIX article presented at the Winter 1990 USENIX Conference, Washington
D.C., is included in the "doc" directory.
Jeff Polk from BSDI <[email protected]> converted the CVS 1.2
sources into much more readable and maintainable C code. He also added a
whole lot of functionality and modularity to the code in the process.
See the bottom of the NEWS file (from about 1992).
david d `zoo' zuhn <[email protected]> contributed the working base code
for CVS 1.4 Alpha. His work carries on from work done by K. Richard Pixley
and others at Cygnus Support. The CVS 1.4 upgrade is due in large part to
Zoo's efforts.
David G. Grubbs <[email protected]> contributed the CVS "history" and "release"
commands. As well as the ever-so-useful "-n" option of CVS which tells CVS
to show what it would do, without actually doing it. He also contributed
support for the .cvsignore file.
The Free Software Foundation (GNU) contributed most of the portability
framework that CVS now uses. This can be found in the "configure" script,
the Makefile's, and basically most of the "lib" directory.
K. Richard Pixley, Cygnus Support <[email protected]> contributed many bug
fixes/enhancement as well as completing early reviews of the CVS 1.3 manual
pages.
Roland Pesch, then of Cygnus Support <[email protected]> contributed
brand new cvs(1) and cvs(5) manual pages. Thanks to him for saving us
from poor use of our language!
Paul Sander, HaL Computer Systems, Inc. <[email protected]> wrote and
contributed the code in lib/sighandle.c. I added support for POSIX, BSD,
and non-POSIX/non-BSD systems.
Jim Kingdon and others at Cygnus Support <[email protected]> wrote the
remote repository access code.
There have been many, many contributions not listed here. Consult the
ChangeLog files in each directory for a more complete idea.
In addition to the above contributors, the following Beta testers
deserve special mention for their support. This is only a partial
list; if you have helped in this way and would like to be listed, let
bug-cvs know (as described in the Cederqvist manual).
Mark D. Baushke <[email protected]>
Per Cederqvist <[email protected]>
J.T. Conklin <[email protected]>
Vince DeMarco <[email protected]>
Paul Eggert <[email protected]>
Lal George <[email protected]>
Dean E. Hardi <[email protected]>
Mike Heath <[email protected]>
Jim Kingdon <[email protected]>
Bernd Leibing <[email protected]>
Benedict Lofstedt <[email protected]>
Dave Love <[email protected]>
Robert Lupton the Good <[email protected]>
Tom McAliney <[email protected]>
Eberhard Mattes <[email protected]>
Jim Meyering <[email protected]>
Thomas Mohr <[email protected]>
Thomas Nilsson <[email protected]>
Raye Raskin <[email protected]>
Harlan Stenn <[email protected]>
Gunnar Tornblom <[email protected]>
Greg A. Woods <[email protected]>
Many contributors have added code to the "contrib" directory. See the
README file there for a list of what is available. There is also a
contributed GNU Emacs CVS-mode in tools/pcl-cvs.
+2 -9
View File
@@ -206,10 +206,6 @@ miss, but here are a few important ones. I'm leaving off long explanations
after the first few since it probably gives you the idea and the data is in
sanity.sh.
Note that the boolean variables contain shell commands which return true or
false when executed and are intended to be used like,
"if $remote; then ... ; else ... ; fi"
* $testdir = the directory this test is taking place in
(CVSROOT=$testdir/cvsroot or CVSROOT=:fork:$testdir/cvsroot)
@@ -220,11 +216,8 @@ false when executed and are intended to be used like,
* $username = regexp to match a username
* $hostname = regexp to match a hostname
* $PROG = regexp to match progname in CVS error messages
* $remote = ':' (true) or 'false', depending on whether the script is
running with a remote CVSROOT
* $keep = ':' (true) or 'false'. When set, the first test run will
leave any files and directories it created in $testdir and
exit when complete.
* $remote = 'yes' or 'no', depending on whether the script is running with
a remote CVSROOT
And, of course, some characters like '.' in regexps need to be '\' escaped when
you mean them literally. Some characters may be interpreted by the shell,
+36 -15
View File
@@ -6,10 +6,9 @@ The "TODO" file! -*-Indented-Text-*-
(If done, this should be configurable via commitinfo or some new
config file -kingdon, Jun 1995).
30. Add "rdiff" & "rtag" program options to the modules database. These
commands seem hard to use since these commands deal directly with the
RCS ,v files. (perhaps should think a little harder about what this is
trying to accomplish and what the best way is -kingdon, Jul 1997).
30. Add "rdiff" program option to the modules database (and "diff"
too?). (perhaps should think a little harder about what this is
trying to accomplish and what the best way is -kingdon, Jul 1997).
31. Think hard about ^C recovery.
One particular issue: RCS removes the ,foo.c, file on ^C and CVS
@@ -27,6 +26,10 @@ The "TODO" file! -*-Indented-Text-*-
PRCS 1.0 was particularly bad the way it handled the "invisible
state", but 1.2 is significantly better.
45. Consider enhancing the "rdiff" and "tag" (rtag??) command support in
the module database -- they seem hard to use since these commands
deal directly with the RCS ,v files.
49. cvs xxx commands should be able to deal with files in other
directories. I want to do a cvs add foo/bar.c.
[[ most commands now use the generic recursion processor, but not all;
@@ -53,8 +56,8 @@ The "TODO" file! -*-Indented-Text-*-
66. Length of the CVS temporary files must be limited to 14 characters for
System-V stupid support. As well as the length on the CVS.adm files.
72. Consider re-design of the module -t options to use the file system more
intuitively.
72. Consider re-design of the module -o, -i, -t options to use the file
system more intuitively.
73. Consider an option (in .cvsrc?) to automatically add files that are new
and specified to commit.
@@ -258,6 +261,10 @@ The "TODO" file! -*-Indented-Text-*-
This behavior was not particularly popular and has been since
reverted.
Note also RELATIVE_REPOS in options.h; it needs to be set for
changing CVS/Root (not CVS/Repository) to be sufficient in the
case where the directory has changed.
This whole area is a rather bad pile of individual decisions which
accumulated over time, some of them probably bad decisions with
hindsight. But we didn't get into this mess overnight, and we're
@@ -780,6 +787,10 @@ send differences instead of entire files. In the degenerate case
(e.g. "cvs diff" without arguments) the required network traffic is
reduced to zero, and the client need not even contact the server.
196. Using a CVSROOT with a trailing slash will confuse CVS. I think
we need to add a call to strip_trailing_slashes in root.c
(parse_cvsroot), but I haven't considered all of the ramifications.
197. Analyze the difference between CVS_UNLINK & unlink_file. As far as I
can tell, unlink_file aborts in noexec mode and CVS_UNLINK does not. I'm not
sure it would be possible to remove even the use of temp files in noexec mode,
@@ -814,6 +825,9 @@ and other non-canonical paths confuse CVS. Most of the cases that do
work are handled on an ad-hoc basis. We need to come up with a coherent
strategy to address path canonicalization and apply it consistently.
206. Restore directory-at-a-time locking for tag operations instead of
locking the entire tree.
208. Merge enhancements to the diff package back into the original GNU source.
209. Go through this file and try to:
@@ -848,12 +862,24 @@ glibc version.
216. Avoid command-line keyword expansion modes overriding binary mode
(or make binary mode completely separate from keyword expansion mode).
217. Fix assertion failures that occur when CVSROOT is a symlink to the
actual repository location.
218. Fix "checkout -d ." in client/server mode.
219. Fix "checkout -d multi/level/dir" in client/server mode.
220. Send correct Max-dotdot in client/server mode (broken by change to
support multiple repositories).
221. Handle spaces in file/directory names. (Most, if not all, of the
internal infrastructure already handles them correctly, but most of the
administrative file interfaces do not.)
222. Fix assertion failure (*rcsnode == NULL in commit.c, line 2056)
when adding a file from a case-insensitive client that matches an Attic
file with case differences.
223. Internationalization support. This probably means using some kind
of universal character set (ISO 10646?) internally and converting on
input and output, which opens the locale can of worms.
@@ -873,18 +899,13 @@ local time string according to the localization settings before printing it.
225. Add support for --allow-root to server command.
226. Add support for upgrading read locks to write locks and use it to
avoid holding potentially long-term write locks (for example, in tag and
commit).
227. 'cvs release' should use the CVS/Root in the directory being released
when such is specified rather than $CVSROOT. In my work directory with no CVS
dir, a release of subdirectories causes the released projects to be tested
against my $CVSROOT environment variable, which often isn't correct but which
can complete without generating error messages if the project also exists in
the other CVSROOT. This happens a lot with my copies of the ccvs project.
228. Consider adding -d to commit ala ci.
229. Improve the locking code to use a random delay with exponential
backoff ala Ethernet and separate the notification interval from the
wait interval.
230. Support for options like compression as part of the CVSROOT might be
nice. This should be fairly easy to implement now using the method options.
+1 -89
View File
@@ -85,7 +85,7 @@ AC_MSG_RESULT([$acx_gssapi_cv_gssapi])
# Set up GSSAPI includes for later use. We don't bother to check for
# $acx_gssapi_cv_gssapi=no here since that will be caught later.
#
if test x$acx_gssapi_cv_gssapi = xyes; then
if test x$acx_gssapi_cv_gssapi = yes; then
# no special includes necessary
GSSAPI_INCLUDES=""
else
@@ -210,14 +210,8 @@ when using GSSAPI.])
#
AC_SEARCH_LIBS([__dn_expand], [resolv])
#
# crypt Needed by roken under FreeBSD 4.6.
#
AC_SEARCH_LIBS([crypt], [crypt])
#
# roken Heimdal K 0.3d -lresolv
# roken FreeBSD 4.6 -lcrypt
#
AC_SEARCH_LIBS([roken_gethostbyaddr], [roken])
@@ -267,85 +261,3 @@ when using GSSAPI.])
AC_SEARCH_LIBS([gss_import_name], [gssapi_krb5 gssapi])
fi
])dnl
# size_max.m4 serial 2
dnl Copyright (C) 2003 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
AC_DEFUN([gl_SIZE_MAX],
[
AC_CHECK_HEADERS(stdint.h)
dnl First test whether the system already has SIZE_MAX.
AC_MSG_CHECKING([for SIZE_MAX])
result=
AC_EGREP_CPP([Found it], [
#include <limits.h>
#if HAVE_STDINT_H
#include <stdint.h>
#endif
#ifdef SIZE_MAX
Found it
#endif
], result=yes)
if test -z "$result"; then
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
dnl than the type 'unsigned long'.
dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
_AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
[#include <stddef.h>], result=?)
_AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
[#include <stddef.h>], result=?)
_AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
[#include <stddef.h>], result=?)
if test "$fits_in_uint" = 1; then
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
AC_TRY_COMPILE([#include <stddef.h>
extern size_t foo;
extern unsigned long foo;
], [], fits_in_uint=0)
fi
if test -z "$result"; then
if test "$fits_in_uint" = 1; then
result="$res_hi$res_lo"U
else
result="$res_hi$res_lo"UL
fi
else
dnl Shouldn't happen, but who knows...
result='~(size_t)0'
fi
fi
AC_MSG_RESULT([$result])
if test "$result" != yes; then
AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
[Define as the maximum value of type 'size_t', if the system doesn't define it.])
fi
])
# xsize.m4 serial 3
dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
AC_DEFUN([gl_XSIZE],
[
dnl Prerequisites of lib/xsize.h.
AC_REQUIRE([gl_SIZE_MAX])
AC_REQUIRE([AC_C_INLINE])
AC_CHECK_HEADERS(stdint.h)
])
+97 -249
View File
@@ -1,6 +1,6 @@
# generated automatically by aclocal 1.7.9 -*- Autoconf -*-
# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -98,7 +98,7 @@ AC_MSG_RESULT([$acx_gssapi_cv_gssapi])
# Set up GSSAPI includes for later use. We don't bother to check for
# $acx_gssapi_cv_gssapi=no here since that will be caught later.
#
if test x$acx_gssapi_cv_gssapi = xyes; then
if test x$acx_gssapi_cv_gssapi = yes; then
# no special includes necessary
GSSAPI_INCLUDES=""
else
@@ -223,14 +223,8 @@ when using GSSAPI.])
#
AC_SEARCH_LIBS([__dn_expand], [resolv])
#
# crypt Needed by roken under FreeBSD 4.6.
#
AC_SEARCH_LIBS([crypt], [crypt])
#
# roken Heimdal K 0.3d -lresolv
# roken FreeBSD 4.6 -lcrypt
#
AC_SEARCH_LIBS([roken_gethostbyaddr], [roken])
@@ -281,94 +275,12 @@ when using GSSAPI.])
fi
])dnl
# size_max.m4 serial 2
dnl Copyright (C) 2003 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
AC_DEFUN([gl_SIZE_MAX],
[
AC_CHECK_HEADERS(stdint.h)
dnl First test whether the system already has SIZE_MAX.
AC_MSG_CHECKING([for SIZE_MAX])
result=
AC_EGREP_CPP([Found it], [
#include <limits.h>
#if HAVE_STDINT_H
#include <stdint.h>
#endif
#ifdef SIZE_MAX
Found it
#endif
], result=yes)
if test -z "$result"; then
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
dnl than the type 'unsigned long'.
dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
_AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
[#include <stddef.h>], result=?)
_AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
[#include <stddef.h>], result=?)
_AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
[#include <stddef.h>], result=?)
if test "$fits_in_uint" = 1; then
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
AC_TRY_COMPILE([#include <stddef.h>
extern size_t foo;
extern unsigned long foo;
], [], fits_in_uint=0)
fi
if test -z "$result"; then
if test "$fits_in_uint" = 1; then
result="$res_hi$res_lo"U
else
result="$res_hi$res_lo"UL
fi
else
dnl Shouldn't happen, but who knows...
result='~(size_t)0'
fi
fi
AC_MSG_RESULT([$result])
if test "$result" != yes; then
AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
[Define as the maximum value of type 'size_t', if the system doesn't define it.])
fi
])
# xsize.m4 serial 3
dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
AC_DEFUN([gl_XSIZE],
[
dnl Prerequisites of lib/xsize.h.
AC_REQUIRE([gl_SIZE_MAX])
AC_REQUIRE([AC_C_INLINE])
AC_CHECK_HEADERS(stdint.h)
])
# Do all the work for Automake. -*- Autoconf -*-
# This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -386,9 +298,16 @@ AC_DEFUN([gl_XSIZE],
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 10
# serial 8
AC_PREREQ([2.54])
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
AC_PREREQ([2.52])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# the ones we care about.
@@ -414,16 +333,6 @@ if test "`cd $srcdir && pwd`" != "`pwd`" &&
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
@@ -431,8 +340,8 @@ m4_ifval([$2],
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
@@ -453,41 +362,19 @@ AM_PROG_INSTALL_STRIP
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
[AC_PROVIDE_IFELSE([AC_PROG_][CC],
[_AM_DEPENDENCIES(CC)],
[define([AC_PROG_CC],
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[define([AC_PROG_][CC],
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_][CXX],
[_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_CXX],
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
[define([AC_PROG_][CXX],
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
])
])
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
# loop where config.status creates the headers, so we can generate
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$1 | $1:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# Copyright 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -508,14 +395,14 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.7.9])])
[AM_AUTOMAKE_VERSION([1.6.3])])
# Helper functions for option handling. -*- Autoconf -*-
@@ -801,42 +688,9 @@ fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# -*- Autoconf -*-
# Copyright (C) 2003 Free Software Foundation, Inc.
# serial 4 -*- Autoconf -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 1
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# serial 5 -*- Autoconf -*-
# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -897,32 +751,18 @@ AC_CACHE_CHECK([dependency style of $depcc],
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_$1_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
fi
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
: > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
echo '#include "conftest.h"' > conftest.c
echo 'int i;' > conftest.h
echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
case $depmode in
nosideeffect)
@@ -940,20 +780,13 @@ AC_CACHE_CHECK([dependency style of $depcc],
# mode. It turns out that the SunPro C++ compiler does not properly
# handle `-M -o', and we need to detect this.
if depmode=$depmode \
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
source=conftest.c object=conftest.o \
depfile=conftest.Po tmpdepfile=conftest.TPo \
$SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
grep conftest.h conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# (even with -Werror). So we grep stderr for any message
# that says an option was ignored.
if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
done
@@ -964,9 +797,6 @@ else
fi
])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
AM_CONDITIONAL([am__fastdep$1], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
])
@@ -975,8 +805,16 @@ AM_CONDITIONAL([am__fastdep$1], [
# Choose a directory name for dependency files.
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
[rm -f .deps 2>/dev/null
mkdir .deps 2>/dev/null
if test -d .deps; then
DEPDIR=.deps
else
# MS-DOS does not allow filenames that begin with a dot.
DEPDIR=_deps
fi
rmdir .deps 2>/dev/null
AC_SUBST([DEPDIR])
])
@@ -1078,9 +916,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -1105,9 +941,8 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
doit:
@echo done
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
@@ -1121,7 +956,7 @@ echo "include confinc" > confmf
# In particular we don't look at `^make:' because GNU make might
# be invoked under some other name (usually "gmake"), in which
# case it prints its new name instead of `make'.
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
am__include=include
am__quote=
_am_result=GNU
@@ -1135,9 +970,9 @@ if test "$am__include" = "#"; then
_am_result=BSD
fi
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
AC_MSG_RESULT([$_am_result])
AC_SUBST(am__include)
AC_SUBST(am__quote)
AC_MSG_RESULT($_am_result)
rm -f confinc confmf
])
@@ -1181,7 +1016,7 @@ else
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([conditional "$1" was never defined.
AC_MSG_ERROR([conditional \"$1\" was never defined.
Usually this means the macro was only invoked conditionally.])
fi])])
@@ -1208,47 +1043,60 @@ AC_PREREQ([2.52])
# serial 6
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. We must strip everything past the first ":",
# and everything past the last "/".
# Add --enable-maintainer-mode option to configure.
# From Jim Meyering
# _AM_DIRNAME(PATH)
# -----------------
# Like AS_DIRNAME, only do it during macro expansion
AC_DEFUN([_AM_DIRNAME],
[m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
m4_if(regexp([$1], [^/.*]), -1,
[.],
patsubst([$1], [^\(/\).*], [\1])),
patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
])# _AM_DIRNAME
# Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# The stamp files are numbered to have different names.
# We could number them on a directory basis, but that's additional
# complications, let's have a unique counter.
m4_define([_AM_STAMP_Count], [0])
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# _AM_STAMP(HEADER)
# -----------------
# The name of the stamp file for HEADER.
AC_DEFUN([_AM_STAMP],
[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
[:.*])))/stamp-h[]_AM_STAMP_Count])
# serial 2
AC_DEFUN([AM_MAINTAINER_MODE],
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
dnl maintainer-mode is disabled by default
AC_ARG_ENABLE(maintainer-mode,
[ --enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer],
USE_MAINTAINER_MODE=$enableval,
USE_MAINTAINER_MODE=no)
AC_MSG_RESULT([$USE_MAINTAINER_MODE])
AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
MAINT=$MAINTAINER_MODE_TRUE
AC_SUBST(MAINT)dnl
]
)
# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
# ------------------------------------------------------------
# We used to try to get a real timestamp in stamp-h. But the fear is that
# that will cause unnecessary cvs conflicts.
AC_DEFUN([_AM_CONFIG_HEADER],
[# Add the stamp file to the list of files AC keeps track of,
# along with our hook.
AC_CONFIG_HEADERS([$1],
[# update the timestamp
echo 'timestamp for $1' >"_AM_STAMP([$1])"
$2],
[$3])
])# _AM_CONFIG_HEADER
AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
# --------------------------------------------------------------
AC_DEFUN([AM_CONFIG_HEADER],
[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
])# AM_CONFIG_HEADER
# serial 2
+5 -28
View File
@@ -41,15 +41,10 @@
/* Define to enable encryption support. */
#undef ENCRYPTION
/* Define if this executable will be running on case insensitive file systems.
In the client case, this means that it will request that the server pretend
to be case insensitive if it isn't already. */
#undef FILENAMES_CASE_INSENSITIVE
/* When committing or importing files, you must enter a log message. Normally,
you can do this either via the -m flag on the command line, the -F flag on
the command line, or an editor will be started for you. If you like to use
logging templates (the rcsinfo file within the $CVSROOT/CVSROOT directory),
logging templates (the rcsinfo file within the /CVSROOT directory),
you might want to force people to use the editor even if they specify a
message with -m or -F. Enabling FORCE_USE_EDITOR will cause the -m or -F
message to be appended to the temp file when the editor is started. */
@@ -88,7 +83,7 @@
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if your system has a working POSIX `fnmatch' function. */
/* Define to 1 if your system has a working `fnmatch' function. */
#undef HAVE_FNMATCH
/* Define to 1 if you have the <fnmatch.h> header file. */
@@ -121,6 +116,9 @@
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define to 1 if you have the `getpassphrase' function. */
#undef HAVE_GETPASSPHRASE
/* Define if you have the getspnam function. */
#undef HAVE_GETSPNAM
@@ -157,12 +155,6 @@
/* Define to 1 if you have the `krb_get_err_text' function. */
#undef HAVE_KRB_GET_ERR_TEXT
/* Define to 1 if you have the `krb' library (-lkrb). */
#undef HAVE_LIBKRB
/* Define to 1 if you have the `krb4' library (-lkrb4). */
#undef HAVE_LIBKRB4
/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
@@ -425,10 +417,6 @@
*/
#undef SERVER_SUPPORT
/* Define as the maximum value of type 'size_t', if the system doesn't define
it. */
#undef SIZE_MAX
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
@@ -482,20 +470,9 @@
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* We want to always use the GNULIB version of getpass which we have in lib,
so define getpass to something that won't conflict with any existing system
declarations. */
#undef getpass
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to `int' if <sys/types.h> does not define. */
#undef mode_t
+1704 -5335
View File
File diff suppressed because it is too large. Load diff
+35 -175
View File
@@ -1,12 +1,11 @@
dnl configure.in for cvs
AC_INIT([Concurrent Versions System (CVS)],[1.11.17],[[email protected]],[cvs])
AC_INIT([Concurrent Versions System (CVS)],[1.11.5],[[email protected]],[cvs])
AC_CONFIG_SRCDIR(src/cvs.h)
AM_INIT_AUTOMAKE([gnu 1.7.9 dist-bzip2 no-define])
AC_PREREQ(2.58)
AM_INIT_AUTOMAKE([gnu 1.5 dist-bzip2 no-define])
AC_PREREQ(2.53)
AC_PREFIX_PROGRAM(cvs)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
AC_PROG_CC
AM_PROG_CC_C_O
@@ -72,18 +71,8 @@ AC_EXEEXT
AC_PATH_PROG(PERL, perl, no)
AC_PATH_PROG(CSH, csh, no)
# for contrib/rcs2log.sh & src/cvsbug.in.
AC_PATH_PROG(MKTEMP, mktemp, mktemp)
if test x"$MKTEMP" = xmktemp; then
MKTEMP_SH_FUNCTION=$srcdir/mktemp.sh
else
MKTEMP_SH_FUNCTION=/dev/null
fi
AC_SUBST_FILE(MKTEMP_SH_FUNCTION)
# for src/cvsbug.in
AC_PATH_PROG(SENDMAIL, sendmail, no, [$PATH:/usr/sbin:/usr/lib])
# For diff/util.c
AC_PATH_PROG(PR, pr, no)
# For diff/util.c
if test x"$PR" != xno; then
AC_DEFINE_UNQUOTED([PR_PROGRAM], ["$PR"], [Path to the pr utility])
fi
@@ -185,27 +174,6 @@ AC_REPLACE_FUNCS(\
valloc \
waitpid \
)
dnl
dnl Begin GNULIB stuff.
dnl
gl_XSIZE
dnl We always want to use the GNULIB getpass, so define its name to something
dnl that won't conflict with system declarations.
AC_DEFINE([getpass], [cvs_getpass],
[We want to always use the GNULIB version of getpass which we have in lib,
so define getpass to something that won't conflict with any existing system
declarations.])
dnl
dnl End GNULIB stuff.
dnl
AC_CHECK_FUNCS(\
fchdir \
fchmod \
@@ -215,6 +183,7 @@ AC_CHECK_FUNCS(\
getgroups \
getopt \
getpagesize \
getpassphrase \
gettimeofday \
initgroups \
login \
@@ -380,20 +349,18 @@ if test -n "$krb_h"; then
LDFLAGS=$hold_ldflags
else
AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=])
AC_CHECK_FUNC(krb_recvauth,[krb_lib=yes krb_libdir=])
fi
if test -n "$krb_lib"; then
AC_DEFINE([HAVE_KERBEROS], 1,
[Define if you have MIT Kerberos version 4 available.])
test -n "${krb_libdir}" && LIBS="${LIBS} -L${krb_libdir}"
LIBS="${LIBS} -lkrb"
# Put -L${krb_libdir} in LDFLAGS temporarily so that it appears before
# -ldes in the command line. Don't do it permanently so that we honor
# the user's setting for LDFLAGS
hold_ldflags=$LDFLAGS
test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
AC_CHECK_LIB(des,printf,[LIBS="${LIBS} -ldes"])
AC_CHECK_LIB(krb,krb_recvauth)
AC_CHECK_LIB(krb4,krb_recvauth)
LDFLAGS=$hold_ldflags
if test -n "$krb_incdir"; then
includeopt="${includeopt} -I$krb_incdir"
@@ -429,21 +396,8 @@ AC_ARG_WITH(
[--with-editor],
[The default text editor CVS should use for log messages
(default autoselects)]), ,
[with_editor=yes])
[with_editor="vi emacs pico edit"])
# If --with-editor was supplied with an argument, let it override $EDITOR from
# the user's environment. We need to unset EDITOR here because AC_CHECK_PROGS
# will let the value of EDITOR ride when it is set rather than searching. We
# ignore the --without-editor case since it will be caught below.
if test -n "$EDITOR" && test yes != $with_editor; then
AS_UNSET([EDITOR])
fi
# Set the default when --with-editor wasn't supplied or when it was supplied
# without an argument.
if test yes = $with_editor; then
with_editor="vim vi emacs nano pico edit"
fi
if echo $with_editor |grep ^/ >/dev/null; then
# If $with_editor is an absolute path, issue a warning if the executable
@@ -455,40 +409,31 @@ if echo $with_editor |grep ^/ >/dev/null; then
if ! test -f $with_editor \
|| ! test -x $with_editor; then
# warn the user that they may encounter problems
AC_MSG_WARN([\`$with_editor' is not a path to an executable file])
AC_MSG_WARN([$with_editor is not a path to an executable file])
fi
elif test no != "${with_editor}"; then
# Search for an editor
AC_CHECK_PROGS([EDITOR], [$with_editor], [no])
if test no = "${EDITOR}"; then
AC_MSG_ERROR([
Failed to find a text file editor. CVS cannot be compiled
without a default log message editor. Searched for
\`$with_editor'. Try \`configure --with-editor'.])
fi
AC_CHECK_PROGS([EDITOR], [$with_editor])
else
AC_MSG_ERROR([
CVS cannot be compiled without a default log message editor.
Try \`configure --with-editor'.])
AC_MSG_CHECKING([for an editor])
AC_MSG_RESULT([no])
fi
dnl FIXME - Using --without-editor will probably break a compile at
dnl the moment, but maybe it is reasonable for someone to want to
dnl compile a CVS executable that refuses to run if no $EDITOR,
dnl $CVS_EDITOR, or -e option is specified? Making a preliminary
dnl design decision in this direction, subject to discussion.
dnl
dnl Still don't know if the above would be useful, but we shouldn't
dnl be able to get here any longer without $EDITOR defined due to the
dnl error checking above.
AC_DEFINE_UNQUOTED(
[EDITOR_DFLT], ["$EDITOR"],
[The default editor to use, if one does not specify the "-e" option
to cvs, or does not have an EDITOR environment variable. If this
is not set to an absolute path to an executable, use the shell to
find where the editor actually is. This allows sites with
/usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their
PATH is reasonable).])
if test -n "${EDITOR}"; then
dnl FIXME - Using --without-editor will probably break a compile at
dnl the moment, but maybe it is reasonable for someone to want to
dnl compile a CVS executable that refuses to run if no $EDITOR,
dnl $CVS_EDITOR, or -e option is specified? Making a preliminary
dnl design decision in this direction, subject to discussion.
AC_DEFINE_UNQUOTED(
[EDITOR_DFLT], ["$EDITOR"],
[The default editor to use, if one does not specify the "-e" option
to cvs, or does not have an EDITOR environment variable. If this
is not set to an absolute path to an executable, use the shell to
find where the editor actually is. This allows sites with
/usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their
PATH is reasonable).])
fi
dnl
dnl done finding an editor
@@ -509,7 +454,7 @@ AC_ARG_WITH(
AC_MSG_CHECKING([for temporary directory])
if test -z "$with_tmpdir" || test yes = "$with_tmpdir"; then
for with_tmpdir in /tmp /var/tmp no; do
for with_tmpdir in "$TMPDIR" "$TMP" "$TEMP" /tmp /var/tmp no; do
if test -d "$with_tmpdir" && test -x "$with_tmpdir" \
&& test -w "$with_tmpdir" && test -r "$with_tmpdir"; then
break
@@ -688,7 +633,7 @@ if test no != "$enable_password_authenticated_client"; then
method in the CVS client (default)])
else
AC_MSG_WARN(
[--enable-password-authenticated-client is meaningless with
[--enable-password-authenticated-server is meaningless with
the CVS client disabled (--disable-client)])
fi
fi
@@ -795,73 +740,6 @@ if test no != "$enable_server"; then
fi # enable_server
dnl
dnl begin --enable-case-sensitivity
dnl
AC_ARG_ENABLE(
[case-sensitivity],
AC_HELP_STRING(
[--enable-case-sensitivity],
[Force CVS to expect a case sensitive file system. Enabling this on a case
insensitive system should have little effect on the server or client
operation, though client users may ocassionally be suprised that the CVS
server appears to be case sensitive. Disabling this for a case sensitive
server disables server support for case insensitive clients, which can
confuse all users of case insensitive clients contacting the server.
Disabling this for a case sensitive client will cause the client to ask
servers to behave case insensitively, which could cause confusion for
users, but also probably no real harm. (default autoselects based on the
case sensitivity of the file system containing the current working
directory)]),
[case "$enable_case_sensitivity" in
yes | no | auto) ;;
*)
AC_MSG_ERROR([Unrecognized argument to --enable-case-sensitivity: \`$enable_case_sensitivity'. Acceptable values are \`yes', \`no', and \`auto'.])
;;
esac],
[enable_case_sensitivity=auto])
acx_forced=' (forced)'
AC_MSG_CHECKING([for a case sensitive file system])
if test $enable_case_sensitivity = auto; then
dnl
dnl Check for a case insensitive filesystem, like Mac OS X and Windows have.
dnl
AC_CACHE_VAL([acx_cv_case_sensitive],
[ rm -f ac_TEST_filenames_CASE_sensitive
echo foo >ac_test_filenames_case_sensitive
if test -f ac_TEST_filenames_CASE_sensitive; then
acx_cv_case_sensitive=no
else
acx_cv_case_sensitive=yes
fi
rm ac_test_filenames_case_sensitive
])
enable_case_sensitivity=$acx_cv_case_sensitive
acx_forced=
fi
AC_MSG_RESULT([$enable_case_sensitivity$acx_forced])
if test $enable_case_sensitivity = no; then
AC_DEFINE([FILENAMES_CASE_INSENSITIVE], [1],
[Define if this executable will be running on case insensitive
file systems. In the client case, this means that it will request
that the server pretend to be case insensitive if it isn't
already.])
dnl Compile fncase.c (containing fncase() & fncmp()) to handle file name
dnl comparisons on case insensitive filesystems.
AC_LIBOBJ(fncase)
fi
dnl
dnl end --enable-case-sensitivity
dnl
dnl
dnl begin --enable-encryption
dnl
dnl
dnl Use --enable-encryption to turn on encryption support, but ignore this
dnl option unless either client or server is enabled.
@@ -879,7 +757,7 @@ if test "$enable_encryption" = yes; then
[Define to enable encryption support.])
else
AC_MSG_WARN(
[--enable-encryption is meaningless when neither the CVS client
[--enable-encryption is meaningless with neither the CVS client
nor the CVS server is enabled (--disable-client and --disable-server).])
fi
fi
@@ -971,7 +849,6 @@ dnl end --enable-*
dnl
dnl For the moment we will assume that all systems which have
dnl the unixyness to run configure are unixy enough to do the
dnl PreservePermissions stuff. I have this sinking feeling that
@@ -979,9 +856,11 @@ dnl things won't be that simple, before long.
dnl AC_DEFINE(PRESERVE_PERMISSIONS_SUPPORT, 1,
dnl [Define if this system supports chown(), link(), and friends.])
dnl On cygwin32, we configure like a Unix system, but we need some support
dnl libraries. We do this at the end so that the new libraries are added at
dnl the end of LIBS.
dnl On cygwin32, we configure like a Unix system, but we use the
dnl Windows support code in lib/fncase.c to handle the case
dnl insensitive file system. We also need some support libraries. We
dnl do this at the end so that the new libraries are added at the end
dnl of LIBS.
dnl
dnl FIXME: We should be trying to meet the autoconf ideal of checking for
dnl the properties of the system rather than the name of the os here. In other
@@ -991,6 +870,7 @@ AC_CACHE_CHECK(for cygwin32, ccvs_cv_sys_cygwin32,
[AC_TRY_COMPILE([], [return __CYGWIN32__;],
ccvs_cv_sys_cygwin32=yes, ccvs_cv_sys_cygwin32=no)])
if test $ccvs_cv_sys_cygwin32 = yes; then
AC_LIBOBJ(fncase)
LIBS="$LIBS -ladvapi32"
dnl On Windows you can only change file times if you can write to
@@ -1018,13 +898,9 @@ AC_CONFIG_FILES(contrib/log, [chmod +x contrib/log])
AC_CONFIG_FILES(contrib/log_accum, [chmod +x contrib/log_accum])
AC_CONFIG_FILES(contrib/mfpipe, [chmod +x contrib/mfpipe])
AC_CONFIG_FILES(contrib/pvcs2rcs, [chmod +x contrib/pvcs2rcs])
AC_CONFIG_FILES(contrib/rcs2log:contrib/rcs2log.sh, [chmod +x contrib/rcs2log])
AC_CONFIG_FILES(contrib/rcslock, [chmod +x contrib/rcslock])
AC_CONFIG_FILES(contrib/sccs2rcs, [chmod +x contrib/sccs2rcs])
AC_CONFIG_FILES(doc/mkman, [chmod +x doc/mkman])
AC_CONFIG_FILES(src/cvsbug, [chmod +x src/cvsbug])
AC_CONFIG_FILES(windows-NT/fix-msvc-mak:windows-NT/fix-msvc-mak-head.pl:windows-NT/fix-msvc-mak.pl,
[chmod +x windows-NT/fix-msvc-mak])
dnl the bulk files
AC_CONFIG_FILES([Makefile \
@@ -1045,19 +921,3 @@ AC_CONFIG_FILES([Makefile \
dnl and we're done
AC_OUTPUT
# Report the state of this version of CVS if this is from dev.
m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[0-9]*\.[0-9]*\.[0-9]*\.[0-9]],
[ cat <<EOF
You are about to use an unreleased version of CVS. Be sure to
read the relevant mailing lists, most importantly <[email protected]>.
Below you will find information on the status of this version of CVS.
EOF
sed -n '/^\* Status/,$p' $srcdir/BUGS
])
-70
View File
@@ -1,73 +1,3 @@
2004-01-30 Derek Price <[email protected]>
Close issue #155.
* log_accum.in: Remove unused variables.
(Patch from (Ville Skyttä <[email protected]>.)
2003-10-14 Derek Price <[email protected]>
Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
testing with _POSIX2_VERSION=200112 in the environment.
* cvs2vendor.sh: Work with POSIX sort as well as with
traditional sort.
* rcs2sccs.sh, sccs2rcs.in: Likewise.
(Patch from Paul Eggert <[email protected]>.)
2003-09-26 Mark D. Baushke <[email protected]>
* sccs2rcs.in: Use @AWK@ to avoid ancient Solaris awk (no support
for the "?" operator). Add support for handling binary SCCS files.
(Suggestion from Allan Schrum <[email protected]>.)
2003-08-06 Derek Price <[email protected]>
* commit_prep.in, log_accum.in: Port copious changes from Karl Fogel
and CollabNet. These changes add features, generalize, and organize.
2003-07-07 Larry Jones <[email protected]>
* rcs2log.1: New file from Paul Eggert <[email protected]>
via Eric Seidel <[email protected]>.
2003-06-20 Derek Price <[email protected]>
* Don't call CVS with the -l option since CVS no longer accepts it.
(Suggestion from Matt Doar <[email protected]>.)
2003-05-21 Derek Price <[email protected]>
* Makefile.in: Regenerate with Automake version 1.7.5.
2003-04-10 Larry Jones <[email protected]>
* Makefile.in: Regenerated.
2003-03-24 Derek Price <[email protected]>
* Makefile.am: Update copyright notice.
* Makefile.in: Regenerated.
2003-02-25 Derek Price <[email protected]>
* rcs2log.sh: Import RedHat 8.0's use of mktemp from the CVS 1.11.2
RPM. Use new MKTEMP variable from configure.
* Makefile.in: Regenerated.
2003-02-24 Larry Jones <[email protected]>
and Donald Sharp <[email protected]>
* check_cvs.in: Filenames with funky characters need to be quoted
correctly. Also needed to modify regex due to locked revisions of
files cause output to be different.
* check_cvs.in: Fixed multiple symlinks in your cvsroot,
improved CVSROOT/CVSROOT handling (Patch from Shlomo Reinstein
<[email protected]). Fixed retrieving revisions of ,v
files. Added passwd, readers, and writers to list of files to
ignore and sorted list to match the one in src/mkmodules.c.
2002-12-16 Derek Price <[email protected]>
* cvs_acls.in: Fix split loop error with Perl 5.8.0.
+1 -3
View File
@@ -1,9 +1,7 @@
## Process this file with automake to produce Makefile.in
# Makefile for GNU CVS contributed sources.
# Do not use this makefile directly, but only from `../Makefile'.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
+45 -105
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -16,9 +16,7 @@
# Makefile for GNU CVS contributed sources.
# Do not use this makefile directly, but only from `../Makefile'.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -29,117 +27,79 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSH = @CSH@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EDITOR = @EDITOR@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
MKTEMP = @MKTEMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
SENDMAIL = @SENDMAIL@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_prefix_program = @ac_prefix_program@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build_alias = @build_alias@
datadir = @datadir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
includedir = @includedir@
includeopt = @includeopt@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
contribdir = $(pkgdatadir)/contrib
@@ -195,28 +155,26 @@ CLEANFILES = $(bin_SCRIPTS) $(contrib_SCRIPTS)
SUFFIXES = .sh
subdir = contrib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = check_cvs clmerge cln_hist commit_prep cvs_acls log \
log_accum mfpipe pvcs2rcs rcs2log rcslock sccs2rcs
log_accum mfpipe pvcs2rcs rcslock sccs2rcs
SCRIPTS = $(contrib_SCRIPTS)
DIST_SOURCES =
DATA = $(contrib_DATA)
DIST_COMMON = README $(srcdir)/Makefile.in ChangeLog Makefile.am \
check_cvs.in clmerge.in cln_hist.in commit_prep.in cvs_acls.in \
log.in log_accum.in mfpipe.in pvcs2rcs.in rcs2log.sh rcslock.in \
sccs2rcs.in
DIST_COMMON = README ChangeLog Makefile.am Makefile.in check_cvs.in \
clmerge.in cln_hist.in commit_prep.in cvs_acls.in log.in \
log_accum.in mfpipe.in pvcs2rcs.in rcslock.in sccs2rcs.in
all: all-am
.SUFFIXES:
.SUFFIXES: .sh
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu contrib/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
check_cvs: $(top_builddir)/config.status check_cvs.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
@@ -236,8 +194,6 @@ mfpipe: $(top_builddir)/config.status mfpipe.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
pvcs2rcs: $(top_builddir)/config.status pvcs2rcs.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
rcs2log: $(top_builddir)/config.status rcs2log.sh
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
rcslock: $(top_builddir)/config.status rcslock.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
sccs2rcs: $(top_builddir)/config.status sccs2rcs.in
@@ -284,22 +240,13 @@ uninstall-contribDATA:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -325,6 +272,7 @@ all-am: Makefile $(SCRIPTS) $(DATA)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(contribdir) $(DESTDIR)$(contribdir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -336,7 +284,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -345,7 +293,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -355,7 +303,7 @@ clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
@@ -378,21 +326,13 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-contribDATA uninstall-contribSCRIPTS \
uninstall-info-am uninstall-local
@@ -403,7 +343,7 @@ uninstall-am: uninstall-contribDATA uninstall-contribSCRIPTS \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
mostlyclean-generic uninstall uninstall-am \
uninstall-contribDATA uninstall-contribSCRIPTS \
uninstall-info-am uninstall-local
+38 -105
View File
@@ -67,7 +67,6 @@ my $verbose = 0;
my $total_revisions;
my $total_interesting_revisions;
my $total_files;
my @ignore_files;
######################################################################
# SUBROUTINES #
@@ -122,19 +121,12 @@ if( exists( $ENV{ CVSDEBUGEDIT } ) )
}
$directory_to_look_at = $ENV{ CVSROOT };
my $sym_count = 0;
while( -l $directory_to_look_at )
if( -l $directory_to_look_at )
{
$directory_to_look_at = readlink( $directory_to_look_at );
$sym_count += 1;
if( $sym_count > 5 )
{
die( "Encountered too many symlinks for $ENV{ CVSROOT }\n" );
}
}
print( "Processing: $directory_to_look_at\n" ) if( $verbose );
@ignore_files = &get_ignore_files_from_cvsroot( $directory_to_look_at );
find( \&process_file, $directory_to_look_at );
my $num_files = @list_of_broken_files;
@@ -192,6 +184,34 @@ sub process_file
elsif( ! -d $File::Find::name )
{
my $save = 0;
my @ignore_files = ( 'CVS\/fileattr$',
'^CVSROOT\/modules',
'^CVSROOT\/.#modules',
'^CVSROOT\/loginfo',
'^CVSROOT\/.#loginfo',
'^CVSROOT\/rcsinfo',
'^CVSROOT\/.#rcsinfo',
'^CVSROOT\/editinfo',
'^CVSROOT\/.#editinfo',
'^CVSROOT\/commitinfo',
'^CVSROOT\/.#commitinfo',
'^CVSROOT\/taginfo',
'^CVSROOT\/.#taginfo',
'^CVSROOT\/notify',
'^CVSROOT\/.#notify',
'^CVSROOT\/checkoutlist',
'^CVSROOT\/.#checkoutlist',
'^CVSROOT\/cvswrappers',
'^CVSROOT\/.#cvswrappers',
'^CVSROOT\/val-tags',
'^CVSROOT\/.#val-tags',
'^CVSROOT\/verifymsg',
'^CVSROOT\/.#verifymsg',
'^CVSROOT\/config',
'^CVSROOT\/.#config',
'^CVSROOT\/history',
'^CVSROOT\/cvsignore',
'^CVSROOT\/.#cvsignore' );
foreach my $ignore ( @ignore_files )
{
@@ -302,29 +322,18 @@ sub look_at_cvs_file
sub get_history
{
my( $file ) = @_;
$file =~ s/(["\$`\\])/\\$1/g;
my @revisions;
my $revision;
my $ignore = 1;
my $save_ = $_;
open( FILE, "rlog -N \"$file\" 2>&1 |" ) or die( "unable to run rlog, help" );
open( FILE, "rlog -N '$file' 2>&1 |" ) or die( "unable to run rlog, help" );
while( <FILE> )
{
#rlog outputs a "----" line before the actual revision
#without this we'll pick up peoples comments if they
#happen to start with revision
if( /^----------------------------$/ )
{
$ignore = 0;
next;
}
if( ( !$ignore ) && ( ( $revision ) = m/^revision (\S+)/ ) )
{
push( @revisions, $revision );
$ignore = 1;
if( ( $revision ) = /^revision (.*)$/ )
{
push( @revisions, $revision );
}
}
@@ -360,6 +369,9 @@ sub get_history
#
# COMMENTS :
# cvs command line options are as followed:
# -l - Do not log this command in the history file. I am
# doing this because we will literaly be looking at
# thousands of files with *lots* of revisions.
# -n - Do not run any checkout program as specified by the -o
# option in the modules file
# -p - Put all output to standard out.
@@ -371,12 +383,11 @@ sub get_history
sub check_revision
{
my( $file, $revision ) = @_;
$file =~ s/(["\$`\\])/\\$1/g;
my $cwd = getcwd();
chdir( "/tmp" );
my $ret_code = 0xffff & system( "cvs co -n -p -r $revision \"$file\" > /dev/null 2>&1" );
my $ret_code = 0xffff & system( "cvs -l co -n -p -r $revision '$file' > /dev/null 2>&1" );
chdir( $cwd );
return( 1 ) if ( $ret_code == 0 );
@@ -742,81 +753,3 @@ sub branch_split
return( $branch, pop( @split_rev ) );
}
######################################################################
#
# NAME :
# get_ignore_files_from_cvsroot
#
# PURPOSE :
# Retrieve the list of files from the CVSROOT/ directory
# that should be ignored.
# These are the regular files (e.g., commitinfo, loginfo)
# and those specified in the checkoutlist file.
#
# PARAMETERS :
# The CVSROOT
#
# GLOBALS :
# NONE
#
# RETURNS :
# @ignore - the list of files to ignore
#
# COMMENTS :
# NONE
#
######################################################################
sub get_ignore_files_from_cvsroot {
my( $cvsroot ) = @_;
my @ignore = ( 'CVS\/fileattr$',
'^CVSROOT\/loginfo',
'^CVSROOT\/.#loginfo',
'^CVSROOT\/rcsinfo',
'^CVSROOT\/.#rcsinfo',
'^CVSROOT\/editinfo',
'^CVSROOT\/.#editinfo',
'^CVSROOT\/verifymsg',
'^CVSROOT\/.#verifymsg',
'^CVSROOT\/commitinfo',
'^CVSROOT\/.#commitinfo',
'^CVSROOT\/taginfo',
'^CVSROOT\/.#taginfo',
'^CVSROOT\/cvsignore',
'^CVSROOT\/.#cvsignore',
'^CVSROOT\/checkoutlist',
'^CVSROOT\/.#checkoutlist',
'^CVSROOT\/cvswrappers',
'^CVSROOT\/.#cvswrappers',
'^CVSROOT\/notify',
'^CVSROOT\/.#notify',
'^CVSROOT\/modules',
'^CVSROOT\/.#modules',
'^CVSROOT\/readers',
'^CVSROOT\/.#readers',
'^CVSROOT\/writers',
'^CVSROOT\/.#writers',
'^CVSROOT\/passwd',
'^CVSROOT\/config',
'^CVSROOT\/.#config',
'^CVSROOT\/val-tags',
'^CVSROOT\/.#val-tags',
'^CVSROOT\/history' );
my $checkoutlist_file = "$cvsroot\/CVSROOT\/checkoutlist";
open( CHECKOUTLIST, "<$cvsroot\/CVSROOT\/checkoutlist" )
or die( "Unable to read checkoutlist file: $!\n" );
my @list = <CHECKOUTLIST>;
chomp( @list );
close( CHECKOUTLIST )
or die( "Unable to close checkoutlist file: $!\n" );
foreach my $line( @list )
{
next if( $line =~ /^#/ || $line =~ /^$/ );
if( $line =~ /^\s*(\S*)\s*/ ) { $line = $1 };
push( @ignore, "^CVSROOT\/$line", "^CVSROOT\/\.#$line" );
}
return @ignore;
}
+192 -33
View File
@@ -1,56 +1,215 @@
#! @PERL@
# -*-Perl-*-
#
#
# Perl filter to handle pre-commit checking of files. This program
# records the last directory where commits will be taking place for
# use by the log_accum.pl script.
# use by the log_accum.pl script. For new files, it forces the
# existence of a RCS "Id" keyword in the first ten lines of the file.
# For existing files, it checks version number in the "Id" line to
# prevent losing changes because an old version of a file was copied
# into the direcory.
#
# Possible future enhancements:
#
# Check for cruft left by unresolved conflicts. Search for
# "^<<<<<<<$", "^-------$", and "^>>>>>>>$".
#
# Look for a copyright and automagically update it to the
# current year. [[ bad idea! -- woods ]]
#
# IMPORTANT: this script interacts with log_accum, they have to agree
# on the tmpfile name to use. See $LAST_FILE below.
#
# Contributed by David Hampton <[email protected]>
# Stripped to minimum by Roy Fielding
#
############################################################
$TMPDIR = $ENV{'TMPDIR'} || '/tmp';
$FILE_PREFIX = '#cvs.';
# Hacked on lots by Greg A. Woods <[email protected]>
# If see a "-u $USER" argument, then destructively remove it from the
# argument list, so $ARGV[0] will be the repository dir again, as it
# used to be before we added the -u flag.
if ($ARGV[0] eq '-u') {
shift @ARGV;
$CVS_USERNAME = shift (@ARGV);
}
#
# Configurable options
#
# This needs to match the corresponding var in log_accum.pl, including
# the appending of the pgrp and username suffixes (see uses of this
# var farther down).
$LAST_FILE = "$TMPDIR/${FILE_PREFIX}lastdir";
# Constants (remember to protect strings from RCS keyword substitution)
#
$LAST_FILE = "/tmp/#cvs.lastdir"; # must match name in log_accum.pl
$ENTRIES = "CVS/Entries";
# Patterns to find $Log keywords in files
#
$LogString1 = "\\\$\\Log: .* \\\$";
$LogString2 = "\\\$\\Log\\\$";
$NoLog = "%s - contains an RCS \$Log keyword. It must not!\n";
# pattern to match an RCS Id keyword line with an existing ID
#
$IDstring = "\"@\\(#\\)[^:]*:.*\\\$\Id: .*\\\$\"";
$NoId = "
%s - Does not contain a properly formatted line with the keyword \"Id:\".
I.e. no lines match \"" . $IDstring . "\".
Please see the template files for an example.\n";
# pattern to match an RCS Id keyword line for a new file (i.e. un-expanded)
#
$NewId = "\"@(#)[^:]*:.*\\$\Id\\$\"";
$NoName = "
%s - The ID line should contain only \"@(#)module/path:\$Name\$:\$\Id\$\"
for a newly created file.\n";
$BadName = "
%s - The file name '%s' in the ID line does not match
the actual filename.\n";
$BadVersion = "
%s - How dare you!!! You replaced your copy of the file '%s',
which was based upon version %s, with an %s version based
upon %s. Please move your '%s' out of the way, perform an
update to get the current version, and them merge your changes
into that file, then try the commit again.\n";
#
# Subroutines
#
sub write_line {
my ($filename, $line) = @_;
# A check of some kind is needed here, but the rules aren't apparent
# at the moment:
# foreach($filename, $line){
# $_ =~ m#^([-\@\w.\#]+)$#;
# $_ = $1;
# }
open(FILE, ">$filename") || die("Cannot open $filename: $!\n");
local($filename, $line) = @_;
open(FILE, ">$filename") || die("Cannot open $filename, stopped");
print(FILE $line, "\n");
close(FILE);
}
sub check_version {
local($i, $id, $rname, $version);
local($filename, $cvsversion) = @_;
open(FILE, "<$filename") || return(0);
@all_lines = ();
$idpos = -1;
$newidpos = -1;
for ($i = 0; <FILE>; $i++) {
chop;
push(@all_lines, $_);
if ($_ =~ /$IDstring/) {
$idpos = $i;
}
if ($_ =~ /$NewId/) {
$newidpos = $i;
}
}
if (grep(/$LogString1/, @all_lines) || grep(/$LogString2/, @all_lines)) {
print STDERR sprintf($NoLog, $filename);
return(1);
}
if ($debug != 0) {
print STDERR sprintf("file = %s, version = %d.\n", $filename, $cvsversion{$filename});
}
if ($cvsversion{$filename} == 0) {
if ($newidpos != -1 && $all_lines[$newidpos] !~ /$NewId/) {
print STDERR sprintf($NoName, $filename);
return(1);
}
return(0);
}
if ($idpos == -1) {
print STDERR sprintf($NoId, $filename);
return(1);
}
$line = $all_lines[$idpos];
$pos = index($line, "Id: ");
if ($debug != 0) {
print STDERR sprintf("%d in '%s'.\n", $pos, $line);
}
($id, $rname, $version) = split(' ', substr($line, $pos));
if ($rname ne "$filename,v") {
print STDERR sprintf($BadName, $filename, substr($rname, 0, length($rname)-2));
return(1);
}
if ($cvsversion{$filename} < $version) {
print STDERR sprintf($BadVersion, $filename, $filename, $cvsversion{$filename},
"newer", $version, $filename);
return(1);
}
if ($cvsversion{$filename} > $version) {
print STDERR sprintf($BadVersion, $filename, $filename, $cvsversion{$filename},
"older", $version, $filename);
return(1);
}
return(0);
}
#
# Main Body
#
$id = getpgrp(); # You *must* use a shell that does setpgrp()!
# Check each file (except dot files) for an RCS "Id" keyword.
#
$check_id = 0;
# Record the directory for later use by the log_accumulate stript.
#
$record_directory = 0;
# parse command line arguments
#
while (@ARGV) {
$arg = shift @ARGV;
if ($arg eq '-d') {
$debug = 1;
print STDERR "Debug turned on...\n";
} elsif ($arg eq '-c') {
$check_id = 1;
} elsif ($arg eq '-r') {
$record_directory = 1;
} else {
push(@files, $arg);
}
}
$directory = shift @files;
if ($debug != 0) {
print STDERR "dir - ", $directory, "\n";
print STDERR "files - ", join(":", @files), "\n";
print STDERR "id - ", $id, "\n";
}
# Suck in the CVS/Entries file
#
open(ENTRIES, $ENTRIES) || die("Cannot open $ENTRIES.\n");
while (<ENTRIES>) {
local($filename, $version) = split('/', substr($_, 1));
$cvsversion{$filename} = $version;
}
# Now check each file name passed in, except for dot files. Dot files
# are considered to be administrative files by this script.
#
if ($check_id != 0) {
$failed = 0;
foreach $arg (@files) {
if (index($arg, ".") == 0) {
next;
}
$failed += &check_version($arg);
}
if ($failed) {
print STDERR "\n";
exit(1);
}
}
# Record this directory as the last one checked. This will be used
# by the log_accumulate script to determine when it is processing
# the final directory of a multi-directory commit.
#
$id = getpgrp();
&write_line("$LAST_FILE.$id.$CVS_USERNAME", $ARGV[0]);
if ($record_directory != 0) {
&write_line("$LAST_FILE.$id", $directory);
}
exit(0);
+1 -6
View File
@@ -42,11 +42,6 @@ rm -f $revfile
commentfile=/tmp/cvs2vendor_$$_comment
rm -f $commentfile
if sort -k 1,1 /dev/null 2>/dev/null
then sort_each_field='-k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9'
else sort_each_field='+0 +1 +2 +3 +4 +5 +6 +7 +8'
fi
srcdirs=`cd $tsrcdir && find . -type d -print | sed 's~^\.[/]*~~'`
# the "" is a trick to get $tsrcdir itself without resorting to '.'
@@ -73,7 +68,7 @@ for ldir in "" $srcdirs; do
fi
# work on each rev of that file in ascending order
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u $sort_each_field | sed -e 's/ /./g' > $revfile
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile
for rev in `cat $revfile`; do
File diff suppressed because it is too large. Load diff
+4 -9
View File
@@ -31,7 +31,7 @@ Report bugs to <[email protected]>.'
Id='$Id: rcs2log,v 1.48 2001/09/05 23:07:46 eggert Exp $'
# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2003
# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -49,16 +49,13 @@ Id='$Id: rcs2log,v 1.48 2001/09/05 23:07:46 eggert Exp $'
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
Copyright='Copyright 1992-2003 Free Software Foundation, Inc.
Copyright='Copyright 2001 Free Software Foundation, Inc.
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING.
Author: Paul Eggert <[email protected]>'
# functions
@MKTEMP_SH_FUNCTION@
# Use the traditional C locale.
LANG=C
LANGUAGE=C
@@ -82,10 +79,8 @@ nl='
# Parse options.
# defaults
: ${MKTEMP="@MKTEMP@"}
: ${AWK=awk}
: ${TMPDIR=/tmp}
changelog=ChangeLog # change log file name
datearg= # rlog date option
hostname= # name of local host (if empty, will deduce it later)
@@ -187,11 +182,11 @@ month_data='
m[9]="Oct"; m[10]="Nov"; m[11]="Dec"
'
logdir=`$MKTEMP -d $TMPDIR/rcs2log.XXXXXX`
test -n "$logdir" || exit
logdir=$TMPDIR/rcs2log$$
llogout=$logdir/l
trap exit 1 2 13 15
trap "rm -fr $logdir 2>/dev/null" 0
(umask 077 && exec mkdir $logdir) || exit
# If no rlog-format log file is given, generate one into $rlogfile.
case $rlogfile in
+1 -5
View File
@@ -42,17 +42,13 @@ cp $tmpfile $sedfile
############################################################
# Loop over every RCS file in RCS dir
#
if sort -k 1,1 /dev/null 2>/dev/null
then sort_each_field='-k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9'
else sort_each_field='+0 +1 +2 +3 +4 +5 +6 +7 +8'
fi
for vfile in *,v; do
# get rid of the ",v" at the end of the name
file=`echo $vfile | sed -e 's/,v$//'`
# work on each rev of that file in ascending order
firsttime=1
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u $sort_each_field | sed -e 's/ /./g' > $revfile
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile
for rev in `cat $revfile`; do
if [ $? != 0 ]; then
echo ERROR - revision
+8 -43
View File
@@ -42,12 +42,6 @@
# ...!harvard!cg-atla!viewlog!kenstir
#
# Various hacks made by Brian Berliner before inclusion in CVS contrib area.
#
# Modified to detect SCCS binary files. If binary, skip the keyword
# substitution and flag the RCS file as binary (using rcs -i -kb).
# -Allan G. Schrum [email protected] [email protected]
# Fri Sep 26 10:40:40 EDT 2003
#
# $FreeBSD$
@@ -170,13 +164,6 @@ end
onintr ERROR
sort -k 1,1 /dev/null >& /dev/null
if ($status == 0) then
set sort_each_field = '-k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9'
else
set sort_each_field = '+0 +1 +2 +3 +4 +5 +6 +7 +8'
endif
############################################################
# Loop over every s-file in SCCS dir
#
@@ -186,18 +173,7 @@ foreach sfile (SCCS/s.*)
# work on each rev of that file in ascending order
set firsttime = 1
# Only scan the file up to the "I" keyword, then see if
# the "f" keyword is set to binary. The SCCS file has
# <ctrl>-aI denoting the start of the file (or end of header).
set binary = (`sed -e '/^.I/,$d' < $sfile | grep '^.f e 1$'`)
#if ($#binary) then
# echo This is a binary file
#else
# echo This is not a binary file
#endif
sccs prs $file | grep "^D " | @AWK@ '{print $2}' | sed -e 's/\./ /g' | sort -n -u $sort_each_field | sed -e 's/ /./g' > $revfile
sccs prs $file | grep "^D " | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile
foreach rev (`cat $revfile`)
if ($status != 0) goto ERROR
@@ -206,34 +182,23 @@ foreach sfile (SCCS/s.*)
# Is the substr stuff and the +0 in the following awk script really
# necessary? It seems to me that if we didn't find the date format
# we expected in the output we have other problems.
# Note: Solaris awk does not like the following line. Use gawk
# mawk, or nawk instead.
set date = `sccs prs -r$rev $file | @AWK@ '/^D / {print (substr($3,0,2)+0<70?20:19) $3, $4; exit}'`
set author = `sccs prs -r$rev $file | @AWK@ '/^D / {print $5; exit}'`
set date = `sccs prs -r$rev $file | awk '/^D / {print (substr($3,0,2)+0<70?20:19) $3, $4; exit}'`
set author = `sccs prs -r$rev $file | awk '/^D / {print $5; exit}'`
echo ""
echo "==> file $file, rev=$rev, date=$date, author=$author"
sccs edit -r$rev $file >>& $logfile
if ($status != 0) goto ERROR
echo checked out of SCCS
# add RCS keywords in place of SCCS keywords (only if not binary)
if ($#binary == 0) then
sed -f $sedfile $file > $tmpfile
if ($status != 0) goto ERROR
echo performed keyword substitutions
cp $tmpfile $file
endif
# add RCS keywords in place of SCCS keywords
sed -f $sedfile $file > $tmpfile
if ($status != 0) goto ERROR
echo performed keyword substitutions
cp $tmpfile $file
# check file into RCS
if ($firsttime) then
set firsttime = 0
if ($#binary) then
echo this is a binary file
# Mark initial, empty file as binary
rcs -i -kb -t$emptyfile $file
endif
if ($nodesc) then
echo about to do ci
echo ci -f -r$rev -d"$date" -w$author -t$emptyfile $file
+118 -200
View File
@@ -1,7 +1,7 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
# Copyright 1999, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,11 +18,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <[email protected]>.
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
@@ -31,16 +26,7 @@ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
@@ -64,9 +50,8 @@ fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
## we want. Yay!
"$@" -MT "$object" -MF "$tmpdepfile" -MD -MP
stat=$?
if test $stat -eq 0; then :
else
@@ -172,25 +157,19 @@ sgi)
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
# in a .u file. This file always lives in the current directory.
# Also, the AIX compiler puts `$object:' at the start of each line;
# $object doesn't have directory information.
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
@@ -198,7 +177,6 @@ aix)
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
@@ -213,80 +191,29 @@ aix)
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# The Tru64 AIX compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
tmpdepfile="$object.d"
if test "$libtool" = yes; then
tmpdepfile1="$dir.libs/$base.lo.d"
tmpdepfile2="$dir.libs/$base.d"
"$@" -Wc,-MD
else
tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d"
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
else
tmpdepfile="$tmpdepfile2"
fi
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
# That's a space and a tab in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
@@ -299,42 +226,34 @@ tru64)
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
test -z "$dashmflag" && dashmflag=-M
( IFS=" "
case " $* " in
*" --mode=compile "*) # this is libtool, let us make it quiet
for arg
do # cycle over the arguments
case "$arg" in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
"$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
@@ -352,40 +271,36 @@ dashXmstdout)
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
(
shift
cleared=no
for arg in "$@"; do
case $cleared in no)
set ""; shift
cleared=yes
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift;;
-*)
;;
*)
set fnord "$@" "$arg"; shift;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
tail +3 "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
@@ -395,39 +310,35 @@ makedepend)
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
( IFS=" "
case " $* " in
*" --mode=compile "*)
for arg
do # cycle over the arguments
case $arg in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift # fnord
shift # "$arg"
done
;;
esac
done
"$@" -E |
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
@@ -437,27 +348,34 @@ cpp)
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
( IFS=" "
case " $* " in
*" --mode=compile "*)
for arg
do # cycle over the arguments
case $arg in
"--mode=compile")
# insert --quiet before "--mode=compile"
set fnord "$@" --quiet
shift # fnord
;;
esac
set fnord "$@" "$arg"
shift
shift
;;
shift # fnord
shift # "$arg"
done
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
) &
proc=$!
"$@"
stat=$?
wait "$proc"
if test "$stat" != 0; then exit $stat; fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
-51
View File
@@ -1,54 +1,3 @@
2004-05-15 Derek Price <[email protected]>
* libdiff.dsp: Header file list updated.
* libdiff.dep: Regenerated for "libdiff.dsp" changes.
* libdiff.mak: Regenerated for "libdiff.dsp" changes.
(Patch from Conrad Pino <[email protected]>.)
2004-05-13 Derek Price <[email protected]>
* .cvsignore: Changed for "libdiff.dsp" changes.
* libdiff.dep: Added for "../cvsnt.dsw" changes.
* libdiff.dsp: Changed for "../cvsnt.dsw" changes.
* libdiff.mak: Regenerated for "../cvsnt.dsw" changes.
(Patch from Conrad Pino <[email protected]>.)
2004-03-20 Derek Price <[email protected]>
* diff.c (diff_run): Update string arg to const.
* diffrun.h: Update prototype to match.
2003-07-12 Larry Jones <[email protected]>
* io.c (find_identical_ends): Update to match current diffutils
code and improve handling of files with no newline at end.
(Patch from Andrew Moise <[email protected]>.)
2003-06-13 Derek Price <[email protected]>
* diff3.c (read_diff): Fix memory leak.
(Patch from Kenneth Lorber <[email protected]>.)
2003-05-21 Derek Price <[email protected]>
* Makefile.in: Regenerate with Automake version 1.7.5.
2003-05-09 Derek Price <[email protected]>
* system.h: Define S_ISSOCK on SCO OpenServer.
2003-04-10 Larry Jones <[email protected]>
* Makefile.in: Regenerated.
2003-02-25 Derek Price <[email protected]>
* Makefile.in: Regenerated.
2003-02-01 Larry Jones <[email protected]>
* util.c (finish_output): Handle EINTR from waitpid.
2002-09-24 Derek Price <[email protected]>
* Makefile.in: Regenerated using Automake 1.6.3.
+1 -2
View File
@@ -21,5 +21,4 @@ libdiff_a_SOURCES = diff.c diff3.c analyze.c cmpbuf.c cmpbuf.h io.c \
context.c ed.c normal.c ifdef.c util.c dir.c version.c diff.h \
side.c system.h diffrun.h
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note \
libdiff.dep libdiff.dsp libdiff.mak
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note libdiff.dsp
+71 -145
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -13,117 +13,79 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSH = @CSH@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EDITOR = @EDITOR@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
MKTEMP = @MKTEMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
SENDMAIL = @SENDMAIL@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_prefix_program = @ac_prefix_program@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build_alias = @build_alias@
datadir = @datadir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
includedir = @includedir@
includeopt = @includeopt@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
INCLUDES = -I$(top_srcdir)/lib
@@ -134,11 +96,8 @@ libdiff_a_SOURCES = diff.c diff3.c analyze.c cmpbuf.c cmpbuf.h io.c \
side.c system.h diffrun.h
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note \
libdiff.dep libdiff.dsp libdiff.mak
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note libdiff.dsp
subdir = diff
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -152,7 +111,11 @@ am_libdiff_a_OBJECTS = diff.$(OBJEXT) diff3.$(OBJEXT) analyze.$(OBJEXT) \
version.$(OBJEXT) side.$(OBJEXT)
libdiff_a_OBJECTS = $(am_libdiff_a_OBJECTS)
DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/analyze.Po ./$(DEPDIR)/cmpbuf.Po \
@@ -166,18 +129,19 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
CFLAGS = @CFLAGS@
DIST_SOURCES = $(libdiff_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am
DIST_COMMON = ChangeLog Makefile.am Makefile.in
SOURCES = $(libdiff_a_SOURCES)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu diff/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
AR = ar
@@ -209,35 +173,26 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Po@am__quote@
distclean-depend:
-rm -rf ./$(DEPDIR)
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `cygpath -w $<`
CCDEPMODE = @CCDEPMODE@
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -263,41 +218,20 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -322,6 +256,7 @@ check: check-am
all-am: Makefile $(LIBRARIES)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -333,7 +268,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -341,7 +276,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -351,10 +286,9 @@ clean: clean-am
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
dvi: dvi-am
@@ -375,33 +309,25 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am info \
info-am install install-am install-data install-data-am \
install-exec install-exec-am install-info install-info-am \
install-man install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
ps ps-am tags uninstall uninstall-am uninstall-info-am
.PHONY: GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES distclean distclean-compile \
distclean-depend distclean-generic distclean-tags distdir dvi \
dvi-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic tags uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
+1 -3
View File
@@ -233,13 +233,11 @@ static struct option const longopts[] =
{0, 0, 0, 0}
};
int
diff_run (argc, argv, out, callbacks_arg)
int argc;
char *argv[];
const char *out;
char *out;
const struct diff_callbacks *callbacks_arg;
{
int val;
-1
View File
@@ -1363,7 +1363,6 @@ read_diff (filea, fileb, output_placement)
if (close (fd) != 0)
diff3_perror_with_exit ("pipe close");
unlink (diffout);
free( diffout );
return diff_result + total;
}
+1 -1
View File
@@ -56,7 +56,7 @@ struct diff_callbacks
/* Run a diff. */
extern int diff_run DIFFPARAMS((int, char **, const char *,
extern int diff_run DIFFPARAMS((int, char **, char *,
const struct diff_callbacks *));
/* Run a diff3. */
+3 -2
View File
@@ -508,10 +508,11 @@ find_identical_ends (filevec)
beg0 = filevec[0].prefix_end + (n0 < n1 ? 0 : n0 - n1);
/* Scan back until chars don't match or we reach that point. */
for (; p0 != beg0; p0--, p1--)
if (*p0 != *p1)
while (p0 != beg0)
if (*--p0 != *--p1)
{
/* Point at the first char of the matching suffix. */
++p0, ++p1;
beg0 = p0;
break;
}
+3 -13
View File
@@ -61,19 +61,9 @@ GNU General Public License for more details.
#if !defined(S_ISFIFO) && defined(S_IFFIFO)
#define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFFIFO)
#endif
#ifndef S_ISSOCK
# if defined( S_IFSOCK )
# ifdef S_IFMT
# define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK)
# else
# define S_ISSOCK(mode) ((mode) & S_IFSOCK)
# endif /* S_IFMT */
# elif defined( S_ISNAM )
/* SCO OpenServer 5.0.6a */
# define S_ISSOCK S_ISNAM
# endif /* !S_IFSOCK && S_ISNAM */
#endif /* !S_ISSOCK */
#if !defined(S_ISSOCK) && defined(S_IFSOCK)
#define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK)
#endif
#if HAVE_UNISTD_H
#include <unistd.h>
+2 -4
View File
@@ -300,7 +300,7 @@ finish_output ()
if (paginate_flag && outfile != 0 && outfile != stdout)
{
#ifdef PR_PROGRAM
int wstatus, w;
int wstatus;
if (ferror (outfile))
fatal ("write error");
# if ! HAVE_FORK
@@ -308,9 +308,7 @@ finish_output ()
# else /* HAVE_FORK */
if (fclose (outfile) != 0)
pfatal_with_name ("write error");
while ((w = waitpid (pr_pid, &wstatus, 0)) < 0 && errno == EINTR)
;
if (w < 0)
if (waitpid (pr_pid, &wstatus, 0) < 0)
pfatal_with_name ("waitpid");
# endif /* HAVE_FORK */
if (wstatus != 0)
+1 -523
View File
@@ -1,525 +1,3 @@
2004-05-28 Derek Price <[email protected]>
* cvs.texinfo (Global options): Remove reference to global -l option.
(Report from Kevin Bulgrien <[email protected]>.)
2004-05-14 Mark D. Baushke <[email protected]>
* cvs.texinfo: Fix makeinfo error.
* cvs.texinfo (Adding files): Minor cleanup.
(Using keywords): Minor cleanup.
(annotate): Move into the manual section, split into three nodes.
(annotate options): New node.
(annotate example): New node.
(based on patch from Steve McIntyre <[email protected]>.)
(Locks, GSSAPI authenticated): Minor cleanup.
(Sticky tags): Clarify operation.
(Locks): Spelling fix.
(Merging adds and removals): Ditto.
(Invoking CVS): Ditto
(Builds): Grammar fix.
(Line group formats): Ditto
(Line group formats, Line formats): Ditto
(commit files): Ditto.
* cvs.1, stamp-vti, version.texi: Regenerated
2004-05-12 Derek Price <[email protected]>
* mkman.in: Clarify status messages.
2004-05-10 Derek Price <[email protected]>
* mkman.in: Organize & tidy comments. Check for unprocessed texinfo
commands. Output better error messages on finding unprocessed texinfo
commands.
(do_keyword, keyword_mode): Accept $file argument for error messages.
2004-05-06 Derek Price <[email protected]>
* mkman.in: Require Perl 5.005. Add comments. Remove duplicate s///.
Handle @:.
2004-05-06 Derek Price <[email protected]>
* cvs.man.header: Minor text correction.
* mkman.in: Ignore @need keyword. Restore previous font for nested
keywords.
(do_keyword): Ditto on fonts. Move some functionality to...
(keyword_mode): ...this new function.
2004-05-06 Derek Price <[email protected]>
* mkman.in: Handle keywords that cross multiple lines.
(do_keyword): New function.
2004-05-04 Derek Price <[email protected]>
* cvs.man.header, cvs.man.footer: Reference `info CVS' rather than
`info cvs' to send users to the top node.
2004-05-03 Derek Price <[email protected]>
* Makefile.am: mkman is built in the build dir, not $(srcdir).
(Report from Mark D. Baushke <[email protected]>.)
2004-05-03 Derek Price <[email protected]>
* HACKING.DOCS: Fix spelling error. Add reference for @strong.
(Report from Mark D. Baushke <[email protected]>.)
* HACKING.DOCS: Note dependency on `makeinfo' 3.11 & greater.
2004-04-30 Derek Price <[email protected]>
* mkman.in: Handle single quotes better. Parse out some redundancy
from node and section names.
* cvs.man.footer: Replace some quotes with the usual bold font.
Reformat links in the SEE ALSO section.
* cvs.1: Regenerated.
2004-04-30 Derek Price <[email protected]>
* mkman.in: Handle examples better. Protect a few more characters.
* cvs.1, stamp-vti, version.texi: Regenerated.
2004-04-30 Derek Price <[email protected]>
* cvs.man.header: Add copyright notice.
* cvs.1: Regenerated.
2004-04-30 Derek Price <[email protected]>
* mkman.in: Add copyright and license notice.
2004-04-30 Derek Price <[email protected]>
* mkman.in: Handle @@.
* cvs.1: Regenerated.
2004-04-30 Derek Price <[email protected]>
First pass at closing issue #3 on cvshome.org.
* .cvsignore: Ignore mkman.
* cvs.1, mkman.in, cvs.man.header, cvs.man.footer: New files.
* cvs.texinfo: Add cut tags for mkman.
* Makefile.in (man_MANS): Add cvs.1.
(EXTRA_DIST): Add cvs.man.header & cvs.man.footer.
(cvs.1, mkman): New targets.
* Makefile.in: Regenerated.
2004-04-23 Derek Price <[email protected]>
* cvs.texinfo: Update years in Copyright.
* stamp-vti, version.texi: Regenerated.
2004-04-21 Derek Price <[email protected]>
* cvs.texinfo: Use splitrcskeyword macro consistently in a failed
attempt to avoid a warning during PDF generation.
* stamp-vti, version.texi: Regenerated.
2004-04-18 Derek Price <[email protected]>
* cvs.texinfo: Various spelling, typo, and capitalization fixes.
(Patch from Ville Skyttä <[email protected]>.)
2004-04-06 Larry Jones <[email protected]>
* cvs.texinfo (Assigning revisions): Note that client/server mode
only considers files sent to the server to determine the major
revision for new files.
(Reported by Krzysztof GORBIEL <[email protected]>.)
* stamp-vti, version.texi: Regenerated.
2004-03-15 Derek Price <[email protected]>
* stamp-vti, version.texi: Regenerated.
2004-03-11 Larry Jones <[email protected]>
* cvs.texinfo (loginfo, Error messages): Note that not reading all of
the log info can result in a broken pipe signal.
(Reported by Steven Nicoloso <[email protected]>.)
* stamp-vti, version.texi: Regenerated.
2004-02-04 Derek Price <[email protected]>
* cvs.texinfo (File Permissions): Clarify index entry.
* stamp-vti, version.texi: Regenerated.
2004-01-22 Derek Price <[email protected]>
* stamp-vti, version.texi: Regenerated.
2004-01-08 Larry Jones <[email protected]>
* cvs.texinfo (user-defined logging): Move taginfo stuff from here...
(Administrative files): ...to its own node under here.
2003-12-18 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.11.1.
2003-12-18 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.11.
2003-12-05 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated.
2003-12-04 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.10.1.
2003-12-04 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.10.
2003-11-18 Derek Price <[email protected]>
* stamp-vti, version.texi: Regenerated.
2003-11-13 Larry Jones <[email protected]>
* cvs.texinfo (Reverting local changes): Use the same vendor tag
in the admin command as was used in the previous import commands.
2003-11-10 Derek Price <[email protected]>
* stamp-vti, version.texi: Regenerated.
2003-11-07 Mark D. Baushke <[email protected]>
* cvs.texinfo (CVS commands): Fix typo.
(FreeBSD PR docs/58669 reported by Ceri Davies <[email protected]>.)
2003-10-30 Derek Price <[email protected]>
* stamp-vti, version.texi: Regenerated.
2003-10-30 Derek Price <[email protected]>
* cvs.texinfo (File permissions, Error messages): Add index entries for
CVSROOT/val-tags file.
2003-10-21 Derek Price <[email protected]>
* cvs.texinfo: Note gnu.cvs.* usenet mirrors of the email lists.
(Suggestion from Paul Edwards, from somewhere in Australia.)
* cvs.texinfo: Put email addresses in @email{} tags and URLs in @url{}
tags rather than relying on markup like @code{}.
* stamp-vti, version.texi: Regenerated.
2003-10-14 Derek Price <[email protected]>
* stamp-vti, version.texi: Regenerated.
2003-10-14 Derek Price <[email protected]>
Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
testing with _POSIX2_VERSION=200112 in the environment.
* cvs.texinfo: Suggest 'sed 1q', not 'head -1'.
(Patch from Paul Eggert <[email protected]>.)
2003-10-10 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.9.1.
2003-10-10 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.9.
2003-10-06 Derek Price <[email protected]>
* cvsclient.texi (Requests): Add recommendation to client developers to
avoid the `Case' request.
* stamp-1, version-client.texi: Regenerated.
2003-10-02 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.8.1.
2003-10-02 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.8.
2003-09-29 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.7.1.
2003-09-29 Derek Price <[email protected]>
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
for 1.11.7.
2003-09-12 Derek Price <[email protected]>
* cvs.texinfo (checkoutlist): Document the error messages which may be
specified in this file.
* stamp-vti, version.texi: Regenerated.
2003-08-27 Larry Jones <[email protected]>
* cvs.texinfo (history options): Note the 'P' record type which
has been around for a long time but never actually appeared in
the history file due to bugs in the code.
(Invoking CVS): Ditto.
(config): Ditto.
* stamp-vti, version.texi: Regenerated.
2003-08-07 Derek Price <[email protected]>
* .cvsignore: Ignore {cvs,cvsclient}.txt.
2003-08-07 Derek Price <[email protected]>
* cvs.texinfo: Use the @dircategory and @direntry commands from texinfo
rather than rolling our own.
* stamp-vti, version.texi: Regenerated.
2003-08-07 Derek Price <[email protected]>
* Makefile.am (POSTSCRIPTS): Rename to...
(PSS): ...to sync with and override Automakes default targets.
(PDFS): Reorder to match PSS.
(SUFFIXES): Remove .pdf and .aux.
(cvs.aux, cvs.pdf, cvsclient.aux, cvsclient.pdf): Remove these targets.
.aux weren't being generated anyhow and .pdf no longer need to be
supplied explicitly.
(cvs-paper.pdf: cvs-paper.ps): Provide ps2pdf rule explicitly.
(.{texinfo,texi,txy}.pdf): Remove these suffix rules - they are now
provided by Automake.
2003-08-06 Derek Price <[email protected]>
* Makefile.am (CLEANFILES): Move...
(MOSTLYCLEANFILES): ...here and drop PDFs since this is where Automake
cleans PDFs & PSs by default.
(MAINTAINERCLEANFILES): Clean all PostScripts even though they will
have been removed in mostlyclean. That is a bug in Automake.
(doc): Depend on info & ps.
(pdf, ps): Removed in favor of Automake's default targets for these
types.
(cvsclient.* targets): Depened on version-client.texi.
(cvs-paper.pdf): Remove in favor of Automake's default target.
(.{texinfo,texi,txi}.{pdf,txt}): Update these targets based on
Automake's similar treatment of dvi, ps, and info targets.
* .cvsignore: Add cvs.tmp, a `make pdf' generated file.
* Makefile.in: Regenerated.
2003-07-18 Derek Price <[email protected]>
* cvs.texinfo: Put a few errant references to bug-cvs inside @code{}
for consistancy.
2003-07-18 Derek Price <[email protected]>
* cvs.texinfo: Update WARNINGs and Notes for a more consistent
appearance. Remove some obsolete comments.
* stamp-vti: Regenerated.
* version.texi: Regenerated.
2003-07-12 Larry Jones <[email protected]>
* cvs.texinfo (Binary howto): Add note about how to determine whether
a file is marked as binary or not.
(Suggested by Erik Sigra <[email protected]>.)
* stamp-vti: Regenerated.
* version.texi: Regenerated.
2003-06-23 Derek Price <[email protected]>
* stamp-vti: Regenerated.
* version.texi: Ditto.
2003-06-16 Derek Price <[email protected]>
* cvs.texinfo (splitrcskeyword): New macro, now that @ifhtml will work
properly with texi2html (as of version 1.68), to cause output HTML to
contain <i></i> where we used to have @asis{} and prevent RCS keyword
substitution in generated HTML.
(Original patch from Patrice Dumas <[email protected]>.)
2003-06-11 Derek Price <[email protected]>
* cvs.texinfo (Invoking CVS): Remove `-P' from the list of `cvs export'
options.
(Patch from Alexander Taler <[email protected]>.)
2003-06-11 Derek Price <[email protected]>
* cvs.texinfo (Top): Remove out-of-date (by at least 5 years) comment.
(Patch from Alexander Taler <[email protected]>.)
2003-05-27 Derek Price <[email protected]>
* cvs.texinfo: Consolidate copyright notices into a single macro that
is called elsewhere to avoid needing three of them. Update copyright
notice.
(BUGS): Suggest Ximbiot rather than the defunct Signum Support as CVS
consultants.
* stamp-vti: Regenerated.
* version.texi: Ditto.
2003-05-26 Derek Price <[email protected]>
* stamp-1: Regenerated for 1.11.6.1.
* stamp-vti: Ditto.
* version-client.texi: Ditto.
* version.texi: Ditto.
2003-05-25 Derek Price <[email protected]>
* stamp-1: Regenerated for 1.11.6.
* stamp-vti: Ditto.
* version-client.texi: Ditto.
* version.texi: Ditto.
2003-05-21 Derek Price <[email protected]>
* Makefile.in: Regenerate with Automake version 1.7.5.
2003-04-28 Derek Price <[email protected]>
* cvs.texinfo (Working directory storage, Module options, Module
program options): Remove references to Checkin.prog and Update.prog.
(commit options): Remove reference to -n option.
* stamp-vti: Regenerated.
* version.texi: Ditto.
2003-04-10 Larry Jones <[email protected]>
* Makefile.in: Regenerated.
2003-03-26 Derek Price <[email protected]>
* stamp-vti: Regenerated.
* version.texi: Ditto.
2003-03-25 Larry Jones <[email protected]>
* cvs.texinfo (Server temporary directory): Reorder list of places
to match code.
(Connection): Add additional example error message and note about
firewall software.
* stamp-vti: Regenerated.
* version.texi: Ditto.
2003-03-24 Derek Price <[email protected]>
* Makefile.am: Update copyright notice.
* Makefile.in: Regenerated.
2003-03-06 Derek Price <[email protected]>
* cvs.texinfo (What is CVS?): Correct date of first post of CVS by
Dick Grune from December to July based on the archive posted on
Google:
<http://groups.google.com/groups?q=Grune+cvs+group:mod.sources.*&hl=en&lr=&ie=UTF-8&selm=122%40mirror.UUCP&rnum=2>.
(Thanks to David A Wheeler <[email protected]>.)
* stamp-vti: Regenerated.
* version.texi: Ditto.
2003-03-05 Mark D. Baushke <[email protected]>
* cvs.texinfo (CVS_LOCAL_BRANCH_NUM): Backout CVS_LOCAL_BRANCH_NUM
feature.
* cvs.texinfo (CVS_LOCAL_BRANCH_NUM): Document new environment
variable.
2003-02-27 Derek Price <[email protected]>
* cvs.texinfo (Environment variables): Make the information on
CVS_CLIENT_PORT slightly clearer.
(Kerberos authenticated): XREF the Environment variables node.
* stamp-vti: Regenerated.
* version.texi: Ditto.
2003-02-25 Derek Price <[email protected]>
* Makefile.in: Regenerated.
* stamp-1: Ditto.
* version-client.texi: Ditto.
2003-02-06 Derek Price <[email protected]>
* cvs.texinfo (Working directory storage, Module options,
Module program options): Correct description of where Checkin.prog
and Update.prog are run. Provide more index entries and cross
references. Remove some FIXME comments. Add a FIXCVS THEN FIXME.
(Thanks to Art Manion at the CERT Coordination Center <[email protected]>.)
2003-02-04 Derek Price <[email protected]>
* cvs.texinfo (File status): Mention the "Unresolved Conflict" status
which was apparently and erroneously removed from the doc at some
point in the past.
2003-02-03 Derek Price <[email protected]>
* cvs.texinfo (Merging a branch): Mention the GCA as opposed to the
"branch point" as the implicit revision when merging a branch.
2003-02-03 Derek Price <[email protected]>
* cvs.texinfo (Remote repositories): :METHOD: is optional.
2003-02-03 Derek Price <[email protected]>
* cvs.texinfo (Committing your changes): Move index entries closer to
their corresponding references.
(Environment variables): Include $VISUAL in order of
preference. Add index entries. Reference Global options node.
(Variables): Change order of list to match the Env. Variables node
mentioned above.
* stamp-1: Regenerated.
* stamp-vti: Ditto.
* version-client.texi: Ditto.
* version.texi: Ditto.
2003-02-14 Derek Price <[email protected]>
* cvs.texinfo (Watch Information, Editing files, Getting Notified,
Setting a watch): Edit usage specs for correctness and uniformity.
(Sticky tags): Use ref rather than xref to avoid a warning from
makeinfo.
* stamp-vti: Regenerated.
* version.texi: Ditto.
2003-01-23 Derek Price <[email protected]>
* stamp-1: Regenerated.
* stamp-vti: Ditto.
* version-client.texi: Ditto.
* version.texi: Ditto.
2003-01-22 Larry Jones <[email protected]>
* cvs.texinfo (config): Correct LogHistory default (U was omitted).
2003-01-16 Derek Price <[email protected]>
* stamp-1: Regenerated for version (1.11.5).
@@ -701,7 +179,7 @@
* Makefile.in: Regenerated.
* stamp-1: New file.
* version-client.texi: Ditto.
(Reported by Alexey Mahotkin <[email protected]>.)
(Reportred by Alexey Mahotkin <[email protected]>.)
2001-09-04 Derek Price <[email protected]>
+34 -31
View File
@@ -1,8 +1,6 @@
## Process this file with automake to produce Makefile.in
# Makefile for GNU CVS documentation (excluding man pages - see ../man).
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,16 +13,15 @@
# GNU General Public License for more details.
info_TEXINFOS = cvs.texinfo cvsclient.texi
man_MANS = cvs.1
PSS = \
POSTSCRIPTS = \
cvs.ps \
cvs-paper.ps \
cvsclient.ps
PDFS = \
cvs.pdf \
cvs-paper.pdf \
cvs.pdf \
cvsclient.pdf
TXTS = \
@@ -32,26 +29,25 @@ TXTS = \
cvsclient.txt
EXTRA_DIST = \
$(PSS) \
$(POSTSCRIPTS) \
.cvsignore \
ChangeLog.fsf \
RCSFILES \
mdate-sh \
cvs.1 \
cvs-paper.ms \
cvs.man.header \
cvs.man.footer
cvs-paper.ms
MOSTLYCLEANFILES = \
CLEANFILES = \
$(PDFS) \
$(TXTS)
# These Automake generates MOSTLYCLEAN targets for PostScripts genersted from
# TEXINFOS, but it shouldn't when those files are in EXTRA_DIST
MAINTAINERCLEANFILES = \
$(PSS)
cvs-paper.ps
doc: info ps
.PHONY: doc
doc ps: $(POSTSCRIPTS)
.PHONY: doc ps
pdf: $(PDFS)
.PHONY: pdf
txt: $(TXTS)
.PHONY: txt
@@ -62,8 +58,8 @@ dvi: cvs.dvi cvsclient.dvi
# FIXME-AUTOMAKE:
# For some reason if I remove version.texi, it doesn't get built automatically.
# This needs to be fixed in automake.
cvs.txt: cvs.texinfo $(srcdir)/version.texi
cvsclient.txt: cvsclient.texi $(srcdir)/version-client.texi
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(srcdir)/version.texi
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi
# These targets need to be very specific so that the other PDFs get generated
# correctly. If they are more generic and cvs.ps is made before cvs.pdf, then
@@ -74,29 +70,36 @@ cvs-paper.ps: cvs-paper.ms
mv $@-t $@
cvs-paper.pdf: cvs-paper.ps
ps2pdf $< $@
$(PS2PDF) $< $@
# Targets to build a man page from cvs.texinfo.
cvs.1: @MAINTAINER_MODE_TRUE@ mkman cvs.man.header cvs.texinfo cvs.man.footer
./mkman $(srcdir)/cvs.man.header $(srcdir)/cvs.texinfo \
$(srcdir)/cvs.man.footer >$@
SUFFIXES = .aux .txt .pdf
# texinfo based targets automake neglects to include
SUFFIXES = .txt
.texinfo.pdf:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
.txi.pdf:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
.texi.pdf:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
.texinfo.txt:
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
.txi.txt:
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
.texi.txt:
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
##
## MAINTAINER Targets
##
## realclean ##
# for backwards compatibility with the old makefiles
realclean: maintainer-clean
.PHONY: realclean
+176 -282
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,9 +15,7 @@
@SET_MAKE@
# Makefile for GNU CVS documentation (excluding man pages - see ../man).
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,130 +26,91 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSH = @CSH@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EDITOR = @EDITOR@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
MKTEMP = @MKTEMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
SENDMAIL = @SENDMAIL@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_prefix_program = @ac_prefix_program@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build_alias = @build_alias@
datadir = @datadir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
includedir = @includedir@
includeopt = @includeopt@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
info_TEXINFOS = cvs.texinfo cvsclient.texi
man_MANS = cvs.1
PSS = \
POSTSCRIPTS = \
cvs.ps \
cvs-paper.ps \
cvsclient.ps
PDFS = \
cvs.pdf \
cvs-paper.pdf \
cvs.pdf \
cvsclient.pdf
@@ -161,162 +120,157 @@ TXTS = \
EXTRA_DIST = \
$(PSS) \
$(POSTSCRIPTS) \
.cvsignore \
ChangeLog.fsf \
RCSFILES \
mdate-sh \
cvs.1 \
cvs-paper.ms \
cvs.man.header \
cvs.man.footer
cvs-paper.ms
MOSTLYCLEANFILES = \
CLEANFILES = \
$(PDFS) \
$(TXTS)
# These Automake generates MOSTLYCLEAN targets for PostScripts genersted from
# TEXINFOS, but it shouldn't when those files are in EXTRA_DIST
MAINTAINERCLEANFILES = \
$(PSS)
cvs-paper.ps
# texinfo based targets automake neglects to include
SUFFIXES = .txt
SUFFIXES = .aux .txt .pdf
subdir = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = mkman
CONFIG_CLEAN_FILES =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES =
am__TEXINFO_TEX_DIR = $(srcdir)
INFO_DEPS = cvs.info cvsclient.info
DVIS = cvs.dvi cvsclient.dvi
TEXINFOS = cvs.texinfo cvsclient.texi
NROFF = nroff
MANS = $(man_MANS)
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am mdate-sh \
mkman.in stamp-1 stamp-vti texinfo.tex version-client.texi \
version.texi
DIST_COMMON = ChangeLog Makefile.am Makefile.in mdate-sh stamp-1 \
stamp-vti texinfo.tex version-client.texi version.texi
all: all-am
.SUFFIXES:
.SUFFIXES: .txt .dvi .info .pdf .ps .texi .texinfo .txi
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
.SUFFIXES: .aux .txt .pdf .dvi .info .ps .texi .texinfo .txi
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
mkman: $(top_builddir)/config.status mkman.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
.texinfo.info:
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.texinfo.dvi:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
.texinfo.pdf:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
cvs.info: cvs.texinfo version.texi
cvs.dvi: cvs.texinfo version.texi
cvs.pdf: cvs.texinfo version.texi
version.texi: @MAINTAINER_MODE_TRUE@ stamp-vti
stamp-vti: cvs.texinfo $(top_srcdir)/configure
@(dir=.; test -f ./cvs.texinfo || dir=$(srcdir); \
set `$(SHELL) $(srcdir)/mdate-sh $$dir/cvs.texinfo`; \
$(srcdir)/version.texi: $(srcdir)/stamp-vti
@:
$(srcdir)/stamp-vti: cvs.texinfo $(top_srcdir)/configure.in
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/cvs.texinfo`; \
echo "@set UPDATED $$1 $$2 $$3"; \
echo "@set UPDATED-MONTH $$2 $$3"; \
echo "@set EDITION $(VERSION)"; \
echo "@set VERSION $(VERSION)") > vti.tmp
@cmp -s vti.tmp version.texi \
|| (echo "Updating version.texi"; \
cp vti.tmp version.texi)
@cmp -s vti.tmp $(srcdir)/version.texi \
|| (echo "Updating $(srcdir)/version.texi"; \
cp vti.tmp $(srcdir)/version.texi)
-@rm -f vti.tmp
@cp version.texi $@
@cp $(srcdir)/version.texi $@
mostlyclean-vti:
-rm -f vti.tmp
maintainer-clean-vti:
@MAINTAINER_MODE_TRUE@ -rm -f stamp-vti version.texi
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
.texi.info:
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
cvs.info: cvs.texinfo $(srcdir)/version.texi
cvs.dvi: cvs.texinfo $(srcdir)/version.texi
.texi.dvi:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
.texi.pdf:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
cvsclient.info: cvsclient.texi version-client.texi
cvsclient.dvi: cvsclient.texi version-client.texi
cvsclient.pdf: cvsclient.texi version-client.texi
version-client.texi: @MAINTAINER_MODE_TRUE@ stamp-1
stamp-1: cvsclient.texi $(top_srcdir)/configure
@(dir=.; test -f ./cvsclient.texi || dir=$(srcdir); \
set `$(SHELL) $(srcdir)/mdate-sh $$dir/cvsclient.texi`; \
$(srcdir)/version-client.texi: $(srcdir)/stamp-1
@:
$(srcdir)/stamp-1: cvsclient.texi $(top_srcdir)/configure.in
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/cvsclient.texi`; \
echo "@set UPDATED $$1 $$2 $$3"; \
echo "@set UPDATED-MONTH $$2 $$3"; \
echo "@set EDITION $(VERSION)"; \
echo "@set VERSION $(VERSION)") > 1.tmp
@cmp -s 1.tmp version-client.texi \
|| (echo "Updating version-client.texi"; \
cp 1.tmp version-client.texi)
@cmp -s 1.tmp $(srcdir)/version-client.texi \
|| (echo "Updating $(srcdir)/version-client.texi"; \
cp 1.tmp $(srcdir)/version-client.texi)
-@rm -f 1.tmp
@cp version-client.texi $@
@cp $(srcdir)/version-client.texi $@
mostlyclean-1:
-rm -f 1.tmp
maintainer-clean-1:
@MAINTAINER_MODE_TRUE@ -rm -f stamp-1 version-client.texi
-rm -f $(srcdir)/stamp-1 $(srcdir)/version-client.texi
TEXI2PDF = $(TEXI2DVI) --pdf --batch
cvsclient.info: cvsclient.texi $(srcdir)/version-client.texi
cvsclient.dvi: cvsclient.texi $(srcdir)/version-client.texi
.texi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
`echo $< | sed 's,.*/,,'`
.texi.dvi:
TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) $<
.texi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
`echo $< | sed 's,.*/,,'`
.texinfo.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
`echo $< | sed 's,.*/,,'`
.texinfo.dvi:
TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) $<
.texinfo:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
`echo $< | sed 's,.*/,,'`
MAKEINFO = @MAKEINFO@
DVIPS = dvips
.dvi.ps:
$(DVIPS) -o $@ $<
$(DVIPS) $< -o $@
uninstall-info-am:
$(PRE_UNINSTALL)
@if (install-info --version && \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile"; \
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile; \
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file; \
done; \
else :; fi
@$(NORMAL_UNINSTALL)
@list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
(if cd $(DESTDIR)$(infodir); then \
echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
echo " rm -f $$file $$file-[0-9] $$file-[0-9][0-9])"; \
rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \
else :; fi); \
done
dist-info: $(INFO_DEPS)
list='$(INFO_DEPS)'; \
for base in $$list; do \
if test -f $$base; then d=.; else d=$(srcdir); fi; \
d=$(srcdir); \
for file in $$d/$$base*; do \
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
test -f $(distdir)/$$relfile || \
@@ -325,86 +279,30 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
-rm -f cvs.aux cvs.cp cvs.cps cvs.fn cvs.fns cvs.ky cvs.kys cvs.log cvs.pg \
cvs.pgs cvs.tmp cvs.toc cvs.tp cvs.tps cvs.vr cvs.vrs cvs.dvi \
cvs.pdf cvs.ps cvsclient.aux cvsclient.cp cvsclient.cps \
cvsclient.fn cvsclient.fns cvsclient.ky cvsclient.kys \
cvsclient.log cvsclient.pg cvsclient.pgs cvsclient.tmp \
cvsclient.toc cvsclient.tp cvsclient.tps cvsclient.vr \
cvsclient.vrs cvsclient.dvi cvsclient.pdf cvsclient.ps
-rm -f cvs.aux cvs.cp cvs.cps cvs.dvi cvs.fn cvs.fns cvs.ky cvs.log cvs.pg \
cvs.ps cvs.tmp cvs.toc cvs.tp cvs.vr cvsclient.aux \
cvsclient.cp cvsclient.dvi cvsclient.fn cvsclient.ky \
cvsclient.log cvsclient.pg cvsclient.ps cvsclient.tmp \
cvsclient.toc cvsclient.tp cvsclient.vr
maintainer-clean-aminfo:
@list='$(INFO_DEPS)'; for i in $$list; do \
i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done
man1dir = $(mandir)/man1
install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man1dir)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
done
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
rm -f $(DESTDIR)$(man1dir)/$$inst; \
cd $(srcdir) && \
list='$(INFO_DEPS)'; for i in $$list; do \
rm -f $$i; \
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
rm -f $$i-[0-9]*; \
fi; \
done
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -425,14 +323,15 @@ distdir: $(DISTFILES)
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
top_distdir="${top_distdir}" distdir="$(distdir)" \
dist-info
check-am: all-am
check: check-am
all-am: Makefile $(INFO_DEPS) $(MANS)
all-am: Makefile $(INFO_DEPS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(man1dir)
$(mkinstalldirs) $(DESTDIR)$(infodir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -444,16 +343,16 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -464,7 +363,7 @@ clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
@@ -475,7 +374,7 @@ info: info-am
info-am: $(INFO_DEPS)
install-data-am: install-info-am install-man
install-data-am: install-info-am
install-exec-am:
@@ -486,12 +385,10 @@ install-info-am: $(INFO_DEPS)
$(mkinstalldirs) $(DESTDIR)$(infodir)
@list='$(INFO_DEPS)'; \
for file in $$list; do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
$$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
d=$(srcdir); \
for ifile in echo $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \
if test -f $$ifile; then \
relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
relfile=`expr "$$ifile" : "$$d/\(.*\)"`; \
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
else : ; fi; \
@@ -499,20 +396,19 @@ install-info-am: $(INFO_DEPS)
done
@$(POST_INSTALL)
@if (install-info --version && \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile";\
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile || :;\
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
done; \
else : ; fi
install-man: install-man1
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-1 \
maintainer-clean-aminfo maintainer-clean-generic \
maintainer-clean-vti
@@ -522,33 +418,24 @@ mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-1 mostlyclean-aminfo mostlyclean-generic \
mostlyclean-vti
pdf: pdf-am
pdf-am: $(PDFS)
ps: ps-am
ps-am: $(PSS)
uninstall-am: uninstall-info-am uninstall-man
uninstall-man: uninstall-man1
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic dist-info \
distclean distclean-generic distdir dvi dvi-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-man1 install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-1 \
maintainer-clean-aminfo maintainer-clean-generic \
maintainer-clean-vti mostlyclean mostlyclean-1 \
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am \
uninstall-man uninstall-man1
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-1 maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-vti mostlyclean \
mostlyclean-1 mostlyclean-aminfo mostlyclean-generic \
mostlyclean-vti uninstall uninstall-am uninstall-info-am
doc: info ps
.PHONY: doc
doc ps: $(POSTSCRIPTS)
.PHONY: doc ps
pdf: $(PDFS)
.PHONY: pdf
txt: $(TXTS)
.PHONY: txt
@@ -559,8 +446,8 @@ dvi: cvs.dvi cvsclient.dvi
# FIXME-AUTOMAKE:
# For some reason if I remove version.texi, it doesn't get built automatically.
# This needs to be fixed in automake.
cvs.txt: cvs.texinfo $(srcdir)/version.texi
cvsclient.txt: cvsclient.texi $(srcdir)/version-client.texi
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(srcdir)/version.texi
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi
# These targets need to be very specific so that the other PDFs get generated
# correctly. If they are more generic and cvs.ps is made before cvs.pdf, then
@@ -571,21 +458,28 @@ cvs-paper.ps: cvs-paper.ms
mv $@-t $@
cvs-paper.pdf: cvs-paper.ps
ps2pdf $< $@
$(PS2PDF) $< $@
# texinfo based targets automake neglects to include
.texinfo.pdf:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
.txi.pdf:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
.texi.pdf:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
# Targets to build a man page from cvs.texinfo.
cvs.1: @MAINTAINER_MODE_TRUE@ mkman cvs.man.header cvs.texinfo cvs.man.footer
./mkman $(srcdir)/cvs.man.header $(srcdir)/cvs.texinfo \
$(srcdir)/cvs.man.footer >$@
.texinfo.txt:
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
.txi.txt:
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
.texi.txt:
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
# for backwards compatibility with the old makefiles
realclean: maintainer-clean
File diff suppressed because it is too large. Load diff
-60
View File
@@ -1,60 +0,0 @@
.SH "AUTHORS"
.TP
Dick Grune
Original author of the
.B cvs
shell script version posted to
.B comp.sources.unix
in the volume6 release of December, 1986.
Credited with much of the
.B cvs
conflict resolution algorithms.
.TP
Brian Berliner
Coder and designer of the
.B cvs
program itself in April, 1989, based on the original work done by Dick.
.TP
Jeff Polk
Helped Brian with the design of the
.B cvs
module and vendor branch support and author of the
.BR checkin ( 1 )
shell script (the ancestor of \fBcvs import\fP).
.TP
Larry Jones, Derek R. Price, and Mark D. Baushke
Have helped maintain
.B cvs
for many years.
.TP
And many others too numerous to mention here.
.SH "SEE ALSO"
The most comprehensive manual for CVS is
Version Management with CVS by Per Cederqvist et al. Depending on
your system, you may be able to get it with the
.B info CVS
command or it may be available as cvs.pdf (Portable Document Format),
cvs.ps (PostScript), cvs.texinfo (Texinfo source), or cvs.html.
.SP
For CVS updates, more information on documentation, software related
to CVS, development of CVS, and more, see:
.in +1i
.SP
.PD 0
.IP "" 4
.B http://cvshome.org
.IP "" 4
.B http://www.loria.fr/~molli/cvs-index.html
.in -1i
.SP
.BR ci ( 1 ),
.BR co ( 1 ),
.BR cvs ( 5 ),
.BR cvsbug ( 8 ),
.BR diff ( 1 ),
.BR grep ( 1 ),
.BR patch ( 1 ),
.BR rcs ( 1 ),
.BR rcsdiff ( 1 ),
.BR rcsmerge ( 1 ),
.BR rlog ( 1 ).
-61
View File
@@ -1,61 +0,0 @@
.\" This is the man page for CVS. It is auto-generated from the
.\" cvs.man.header, cvs.texinfo, & cvs.man.footer files. Please make changes
.\" there. A full copyright & license notice may also be found in cvs.texinfo.
.\"
.\" Copyright 2004 The Free Software Foundation,
.\" Derek R. Price,
.\" & Ximbiot <http://ximbiot.com>
.\"
.\" This documentation is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2, or (at your option)
.\" any later version.
.\"
.\" This documentation is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this documentation; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.de Id
.ds Rv \\$3
.ds Dt \\$4
..
.TH CVS 1 "\*(Dt"
.\" Full space in nroff; half space in troff
.de SP
.if n .sp
.if t .sp .5
..
.\" quoted command
.de `
.RB ` "\|\\$1\|" '\\$2
..
.SH "NAME"
cvs \- Concurrent Versions System
.SH "SYNOPSIS"
.TP
\fBcvs\fP [ \fIcvs_options\fP ]
.I cvs_command
[
.I command_options
] [
.I command_args
]
.SH "NOTE"
.IX "revision control system" "\fLcvs\fR"
.IX cvs "" "\fLcvs\fP \- concurrent versions system"
.IX "concurrent versions system \- \fLcvs\fP"
.IX "release control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system"
.IX "source control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system"
.IX revisions "cvs command" "" "\fLcvs\fP \- source control"
This manpage is a summary of some of the features of
\fBcvs\fP. It is auto-generated from an appendix of the CVS manual.
For more in-depth documentation, please consult the
Cederqvist manual (via the
.B info CVS
command or otherwise,
as described in the SEE ALSO section of this manpage). Cross-references
in this man page refer to nodes in the same.
File diff suppressed because it is too large. Load diff
-10
View File
@@ -943,16 +943,6 @@ there are some situations it cannot handle (ignore patterns, or
situations where the user specifies a filename and the client does not
know about that file).
Though this request will be supported into the forseeable future, it has been
the source of numerous bug reports in the past due to the complexity of testing
this functionality via the test suite and client developers are encouraged not
to use it. Instead, please consider munging conflicting names and maintaining
a map for communicating with the server. For example, suppose the server sends
files @file{case}, @file{CASE}, and @file{CaSe}. The client could write all
three files to names such as, @file{case}, @file{case_prefix_case}, and
@file{case_prefix_2_case} and maintain a mapping between the file names in, for
instance a new @file{CVS/Map} file.
@item Argument @var{text} \n
Response expected: no.
Save argument for use in a subsequent command. Arguments
-314
View File
@@ -1,314 +0,0 @@
#! @PERL@
#
# Generate a man page from sections of a Texinfo manual.
#
# Copyright 2004 The Free Software Foundation,
# Derek R. Price,
# & Ximbiot <http://ximbiot.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Need Perl 5.005 or greater for re 'eval'.
require 5.005;
# The usual.
use strict;
use IO::File;
###
### GLOBALS
###
my $texi_num = 0; # Keep track of how many texinfo files have been encountered.
my @parent; # This needs to be global to be used inside of a regex later.
###
### FUNCTIONS
###
sub keyword_mode
{
my ($keyword, $file) = @_;
return "\\fR"
if $keyword =~ /^(|r|t)$/;
return "\\fB"
if $keyword =~ /^(strong|sc|code|file|samp)$/;
return "\\fI"
if $keyword =~ /^(emph|var|dfn)$/;
die "no handler for keyword \`$keyword', found at line $. of file \`$file'\n";
}
# Return replacement for \@$keyword{$content}.
sub do_keyword
{
my ($file, $parent, $keyword, $content) = @_;
return "see node \`$content\\(aq in the CVS manual"
if $keyword =~ /^(p?x)?ref$/;
return "\\fP\\fP$content"
if $keyword =~ /^splitrcskeyword$/;
my $endmode = keyword_mode $parent;
my $startmode = keyword_mode $keyword, $file;
return "$startmode$content$endmode";
}
###
### MAIN
###
for my $file (@ARGV)
{
my $fh = new IO::File "< $file"
or die "Failed to open file \`$file': $!";
if ($file !~ /\.(texinfo|texi|txi)$/)
{
print stderr "Passing \`$file' through unprocessed.\n";
# Just cat any file that doesn't look like a Texinfo source.
while (my $line = $fh->getline)
{
print $line;
}
next;
}
print stderr "Processing \`$file'.\n";
$texi_num++;
my $gotone = 0;
my $inblank = 0;
my $indent = 0;
my $inexample = 0;
my $inmenu = 0;
my $intable = 0;
my $last_header = "";
my @table_headers;
my @table_footers;
my $table_header = "";
my $table_footer = "";
my $last;
while ($_ = $fh->getline)
{
if (!$gotone && /^\@c ----- START MAN $texi_num -----$/)
{
$gotone = 1;
next;
}
# Skip ahead until our man section.
next unless $gotone;
# If we find the end tag we are done.
last if /^\@c ----- END MAN $texi_num -----$/;
# Need to do this everywhere. i.e., before we print example
# lines, since literal back slashes can appear there too.
s/\\/\\\\/g;
s/^\./\\&./;
s/([\s])\./$1\\&./;
s/'/\\(aq/g;
s/`/\\`/g;
s/(?<!-)---(?!-)/\\(em/g;
s/\@bullet({}|\b)/\\(bu/g;
s/\@dots({}|\b)/\\&.../g;
# Examples should be indented and otherwise untouched
if (/^\@example$/)
{
$indent += 2;
print qq{.SP\n.PD 0\n};
$inexample = 1;
next;
}
if ($inexample)
{
if (/^\@end example$/)
{
$indent -= 2;
print qq{\n.PD\n.IP "" $indent\n};
$inexample = 0;
next;
}
if (/^[ ]*$/)
{
print ".SP\n";
next;
}
# Preserve the newline.
$_ = qq{.IP "" $indent\n} . $_;
}
# Compress blank lines into a single line. This and its
# corresponding skip purposely bracket the @menu and comment
# removal so that blanks on either side of a menu are
# compressed after the menu is removed.
if (/^[ ]*$/)
{
$inblank = 1;
next;
}
# Not used
if (/^\@(ignore|menu)$/)
{
$inmenu++;
next;
}
# Delete menu contents.
if ($inmenu)
{
next unless /^\@end (ignore|menu)$/;
$inmenu--;
next;
}
# Remove comments
next if /^\@c(omment)?\b/;
# It's okay to ignore this keyword - we're not using any
# first-line indent commands at all.
next if s/^\@noindent\s*$//;
# @need is only significant in printed manuals.
next if s/^\@need\s+.*$//;
# If we didn't hit the previous check and $inblank is set, then
# we just finished with some number of blanks. Print the man
# page blank symbol before continuing processing of this line.
if ($inblank)
{
print ".SP\n";
$inblank = 0;
}
# Chapter headers.
$last_header = $1 if s/^\@node\s+(.*)$/.SH "$1"/;
if (/^\@appendix\w*\s+(.*)$/)
{
my $content = $1;
$content =~ s/^$last_header(\\\(em|\s+)?//;
next if $content =~ /^\s*$/;
s/^\@appendix\w*\s+.*$/.SS "$content"/;
}
# Tables are similar to examples, except we need to handle the
# keywords.
if (/^\@(itemize|table)(\s+(.*))?$/)
{
$indent += 2;
push @table_headers, $table_header;
push @table_footers, $table_footer;
my $content = $3;
if (/^\@itemize/)
{
my $bullet = $content;
$table_header = qq{.IP "$bullet" $indent\n};
$table_footer = "";
}
else
{
my $hi = $indent - 2;
$table_header = qq{.IP "" $hi\n};
$table_footer = qq{\n.IP "" $indent};
if ($content)
{
$table_header .= "$content\{";
$table_footer = "\}$table_footer";
}
}
$intable++;
next;
}
if ($intable)
{
if (/^\@end (itemize|table)$/)
{
$table_header = pop @table_headers;
$table_footer = pop @table_footers;
$indent -= 2;
$intable--;
next;
}
s/^\@itemx?(\s+(.*))?$/$table_header$2$table_footer/;
# Fall through so the rest of the table lines are
# processed normally.
}
# Index entries.
s/^\@cindex\s+(.*)$/.IX "$1"/;
$_ = "$last$_" if $last;
undef $last;
# Trap keywords
my $nk = qr/
\@(\w+)\{
(?{ push @parent, $1 }) # Keep track of the last keyword
# keyword we encountered.
((?:
(?> (?:[^{}]|(?<=\@)[{}])*) # Non-braces without backtracking
|
(??{ $nk }) # Nested keywords
)*)
\}
(?{ pop (@parent) }) # Lose track of the current keyword.
/x;
@parent = ("");
while (s/$nk/do_keyword $file, $parent[$#parent], $1, $2/e)
{
# Do nothing except replace our last-replacement
# tracker - the replacement regex above is handling
# everything else.
@parent = ("");
}
s/$nk/do_keyword $file, $parent[$#parent], $1, $2/ge;
if (/\@\w+\{/)
{
# If there is still an opening keyword left, we need to
# find the close bracket. Set $last to append the next
# line in the next pass.
$last = $_;
next;
}
# Finally, unprotect texinfo special characters.
s/\@://g;
s/\@([{}])/$1/g;
# Verify we haven't left commands unprocessed.
die "Unprocessed command at line $. of file \`$file': "
. ($1 ? "$1\n" : "<EOL>\n")
if /^(?>(?:[^\@]|\@\@)*)\@(\w+|.|$)/;
# Unprotect @@.
s/\@\@/\@/g;
# And print whatever's left.
print $_;
}
}
+4 -4
View File
@@ -1,4 +1,4 @@
@set UPDATED 3 February 2004
@set UPDATED-MONTH February 2004
@set EDITION 1.11.17
@set VERSION 1.11.17
@set UPDATED 5 September 2001
@set UPDATED-MONTH September 2001
@set EDITION 1.11.5
@set VERSION 1.11.5
+4 -4
View File
@@ -1,4 +1,4 @@
@set UPDATED 27 May 2004
@set UPDATED-MONTH May 2004
@set EDITION 1.11.17
@set VERSION 1.11.17
@set UPDATED 18 November 2002
@set UPDATED-MONTH November 2002
@set EDITION 1.11.5
@set VERSION 1.11.5
+4 -4
View File
@@ -1,4 +1,4 @@
@set UPDATED 3 February 2004
@set UPDATED-MONTH February 2004
@set EDITION 1.11.17
@set VERSION 1.11.17
@set UPDATED 5 September 2001
@set UPDATED-MONTH September 2001
@set EDITION 1.11.5
@set VERSION 1.11.5
+4 -4
View File
@@ -1,4 +1,4 @@
@set UPDATED 27 May 2004
@set UPDATED-MONTH May 2004
@set EDITION 1.11.17
@set VERSION 1.11.17
@set UPDATED 18 November 2002
@set UPDATED-MONTH November 2002
@set EDITION 1.11.5
@set VERSION 1.11.5
-139
View File
@@ -1,142 +1,3 @@
2004-05-28 Derek Price <[email protected]>
* xsize.h: New file from GNULIB.
* Makefile.am (libcvs_a_SOURCES): Add xsize.h.
2004-05-15 Derek Price <[email protected]>
* libcvs.dsp: Header file list updated.
* libcvs.dep: Regenerated for "libcvs.dsp" changes.
* libcvs.mak: Regenerated for "libcvs.dsp" changes.
(Patch from Conrad Pino <[email protected]>.)
2004-05-13 Derek Price <[email protected]>
* .cvsignore: Changed for "libcvs.dsp" changes.
* libcvs.dsp: Added for "../cvsnt.dsw" changes.
* libcvs.dep: Added for "libcvs.dsp" addition.
* libcvs.mak: Added for "libcvs.dsp" addition.
(Patch from Conrad Pino <[email protected]>.)
2004-04-20 Derek Price <[email protected]>
* system.h: Correct comments.
2004-04-19 Derek Price <[email protected]>
* system.h: Gratuitous reformatting.
2004-04-07 Derek Price <[email protected]>
* regex.c: Revise "FREE_VAR" macro to eliminate C4090/C4022 warnings
in Windows build with Visual C++ 6.0 compiler.
(Original patch from Conrad T. Pino <[email protected]>.)
2004-04-04 Derek Price <[email protected]>
* system.h: Correct comment.
2004-04-04 Derek Price <[email protected]>
* system.h: Restore complete path folding for Cygwin under Windows.
Add ISABSOLUTE macro for determining whether a path is absolute to
handle X:\ style paths under Windows (& Cygwin).
2004-03-25 Derek Price <[email protected]>
* system.h: No longer fold back slashes in paths into slashes.
2004-03-20 Derek Price <[email protected]>
* mkdir.c (mkdir): Declare string args const.
2004-03-19 Derek Price <[email protected]>
* .cvsignore: Add fnmatch.h for Windows and other platforms which build
it.
2003-12-09 Derek Price <[email protected]>
* system.h: Correct spelling in comment.
2003-12-03 Derek Price <[email protected]>
* fncase.c (OSX_filename_classes): New array.
(fncmp): Use FOLD_FN_CASE rather relying on the fact that it will be
#defined to use WNT_filename_classes.
* system.h: Define FOLD_FN_CASE, fncmp, and fnfold for all case
insensitive filesystems. Share some code between the new generic case
insensitive section and the old WOE32 section.
2003-10-02 Derek Price <[email protected]>
* getpass.c: Back out my last getpass.c update since the new GNULIB
version introduced some dependencies which I do not want to introduce
on stable.
2003-10-01 Derek Price <[email protected]>
* getpass.c: Update to new version from GNULIB with Larry's fix
incorporated.
2003-09-30 Larry Jones <[email protected]>
* getpass.c: Fix bug that caused password to be echoed on many
systems (input may not be followed by output on the same stream
without an intervening call to a file positioning function).
(Reported by David Everly <[email protected]>.)
2003-07-29 Derek Price <[email protected]>
* getpass.c: New file, almost identical to GNULIB's currect version.
* Makefile.am (libcvs_a_SOURCES): Add getpass.c.
* Makefile.in: Regenerated.
2003-06-09 Derek Price <[email protected]>
* system.h: Reference the WIN32 macro only in order to define WOE32,
in accordance with the GNU convention to avoid implying that we
consider the Microsoft Windows Operating Environment any sort of "win".
2003-05-21 Derek Price <[email protected]>
* Makefile.in: Regenerate with Automake version 1.7.5.
2003-05-09 Derek Price <[email protected]>
* system.h: Define S_ISSOCK on SCO OpenServer.
2003-04-10 Larry Jones <[email protected]>
* Makefile.in: Regenerated.
2003-04-03 Derek Price <[email protected]>
* Makefile.am (distclean-local): New target to remove fnmatch.h when
necessary. This should be handled by Automake, but until then...
(Resolves issue #100
<http://ccvs.cvshome.org/issues/show_bug.cgi?id=100> from
Serguei E. Leontiev <[email protected]>.)
* Makefile.in: Regenerated.
2003-03-24 Derek Price <[email protected]>
* Makefile.am: Update copyright notice.
* Makefile.in: Regenerated.
2003-02-25 Derek Price <[email protected]>
* Makefile.in: Regenerated.
2003-01-23 Larry Jones <[email protected]>
* getdate.y: Add RCS/CVS timestamp format (Y.mm.dd.hh.mm.ss).
* getdate.c: Regenerated.
* wait.h (WCOREDUMP): New macro.
2002-12-27 Derek Price <[email protected]>
* getdate.c: Regenerated with Bison 1.35.
+1 -12
View File
@@ -1,8 +1,6 @@
## Process this file with automake to produce Makefile.in
# Makefile for library files used by GNU CVS.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1994, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -46,7 +44,6 @@ libcvs_a_SOURCES = \
getline.c \
getopt.c \
getopt1.c \
getpass.c \
md5.c \
regex.c \
savecwd.c \
@@ -85,16 +82,8 @@ EXTRA_DIST = \
.cvsignore \
ChangeLog.fsf \
build_lib.com \
libcvs.dep libcvs.dsp libcvs.mak \
xgssapi.h
# For the xsize module from GNULIB.
libcvs_a_SOURCES += xsize.h
# Until Automake gets its act together
distclean-local:
rm -f fnmatch.h
# for backwards compatibility with the old makefiles
realclean: maintainer-clean
.PHONY: realclean
+81 -166
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,9 +15,7 @@
@SET_MAKE@
# Makefile for library files used by GNU CVS.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1994, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,117 +26,79 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSH = @CSH@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EDITOR = @EDITOR@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
MKTEMP = @MKTEMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
SENDMAIL = @SENDMAIL@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_prefix_program = @ac_prefix_program@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build_alias = @build_alias@
datadir = @datadir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
includedir = @includedir@
includeopt = @includeopt@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
# For now we need to include $(top_srcdir)/src because some systems
# (at least 'AIX rioscpu2 3 4 000030498200',
@@ -166,15 +126,12 @@ noinst_LIBRARIES = libcvs.a
# Also should look into unifying regular expression matching in CVS
# with the diff library (perhaps to have the caller, CVS, do the
# matching?)
# For the xsize module from GNULIB.
libcvs_a_SOURCES = \
argmatch.c \
getdate.y \
getline.c \
getopt.c \
getopt1.c \
getpass.c \
md5.c \
regex.c \
savecwd.c \
@@ -191,19 +148,17 @@ libcvs_a_SOURCES = \
system.h \
wait.h \
xselect.h \
xtime.h\
xsize.h
xtime.h
libcvs_a_LIBADD = @LIBOBJS@
EXTRA_DIST = \
.cvsignore \
ChangeLog.fsf \
build_lib.com \
libcvs.dep libcvs.dsp libcvs.mak \
xgssapi.h
subdir = lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -213,12 +168,16 @@ libcvs_a_AR = $(AR) cru
libcvs_a_DEPENDENCIES = @LIBOBJS@
am_libcvs_a_OBJECTS = argmatch.$(OBJEXT) getdate.$(OBJEXT) \
getline.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) \
getpass.$(OBJEXT) md5.$(OBJEXT) regex.$(OBJEXT) \
savecwd.$(OBJEXT) sighandle.$(OBJEXT) stripslash.$(OBJEXT) \
xgetwd.$(OBJEXT) yesno.$(OBJEXT)
md5.$(OBJEXT) regex.$(OBJEXT) savecwd.$(OBJEXT) \
sighandle.$(OBJEXT) stripslash.$(OBJEXT) xgetwd.$(OBJEXT) \
yesno.$(OBJEXT)
libcvs_a_OBJECTS = $(am_libcvs_a_OBJECTS)
DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/dup2.Po $(DEPDIR)/fncase.Po \
@@ -230,31 +189,31 @@ am__depfiles_maybe = depfiles
@AMDEP_TRUE@ $(DEPDIR)/valloc.Po $(DEPDIR)/waitpid.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/argmatch.Po ./$(DEPDIR)/getdate.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getline.Po ./$(DEPDIR)/getopt.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/getopt1.Po ./$(DEPDIR)/getpass.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/md5.Po ./$(DEPDIR)/regex.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/savecwd.Po ./$(DEPDIR)/sighandle.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/stripslash.Po ./$(DEPDIR)/xgetwd.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/yesno.Po
@AMDEP_TRUE@ ./$(DEPDIR)/getopt1.Po ./$(DEPDIR)/md5.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/regex.Po ./$(DEPDIR)/savecwd.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/sighandle.Po ./$(DEPDIR)/stripslash.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/xgetwd.Po ./$(DEPDIR)/yesno.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
CFLAGS = @CFLAGS@
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
DIST_SOURCES = $(libcvs_a_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am dup2.c \
fncase.c fnmatch.c fnmatch.h.in ftruncate.c getdate.c \
gethostname.c memmove.c mkdir.c rename.c strerror.c strstr.c \
strtoul.c valloc.c waitpid.c
DIST_COMMON = ChangeLog Makefile.am Makefile.in dup2.c fncase.c \
fnmatch.c fnmatch.h.in ftruncate.c getdate.c gethostname.c \
memmove.c mkdir.c rename.c strerror.c strstr.c strtoul.c \
valloc.c waitpid.c
SOURCES = $(libcvs_a_SOURCES)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj .y
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu lib/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
AR = ar
@@ -291,7 +250,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getline.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpass.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/savecwd.Po@am__quote@
@@ -300,30 +258,26 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetwd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yesno.Po@am__quote@
distclean-depend:
-rm -rf $(DEPDIR) ./$(DEPDIR)
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `cygpath -w $<`
CCDEPMODE = @CCDEPMODE@
.y.c:
$(YACCCOMPILE) `test -f '$<' || echo '$(srcdir)/'`$<
sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@
rm -f y.tab.c
if test -f y.tab.h; then \
to=`echo "$*_H" | sed \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
@@ -339,16 +293,11 @@ distclean-compile:
if test -f y.output; then \
mv y.output $*.output; \
fi
sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@
rm -f y.tab.c
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -374,41 +323,20 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -433,6 +361,7 @@ check: check-am
all-am: Makefile $(LIBRARIES)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -444,7 +373,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -452,21 +381,20 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-rm -f getdate.c
-test -z "getdate.c" || rm -f getdate.c
clean: clean-am
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
distclean: distclean-am
-rm -rf $(DEPDIR) ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-local distclean-tags
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
dvi: dvi-am
@@ -487,40 +415,27 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf $(DEPDIR) ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES ctags distclean distclean-compile \
distclean-generic distclean-local distclean-tags distdir dvi \
.PHONY: GTAGS all all-am check check-am clean clean-generic \
clean-noinstLIBRARIES distclean distclean-compile \
distclean-depend distclean-generic distclean-tags distdir dvi \
dvi-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-info-am
mostlyclean-generic tags uninstall uninstall-am \
uninstall-info-am
# Until Automake gets its act together
distclean-local:
rm -f fnmatch.h
# for backwards compatibility with the old makefiles
realclean: maintainer-clean
.PHONY: realclean
+5 -45
View File
@@ -50,8 +50,6 @@ main ()
}
#endif
/* Under Windows NT, filenames are case-insensitive but case-preserving,
and both \ and / are path element separators. */
unsigned char
WNT_filename_classes[] =
{
@@ -89,56 +87,18 @@ WNT_filename_classes[] =
0xf8,0xf9,0xfa,0xfb, 0xfc,0xfd,0xfe,0xff,
};
/* Same as WNT_filename_classes, but do not fold `\' into `/'. */
unsigned char
OSX_filename_classes[] =
{
0x00,0x01,0x02,0x03, 0x04,0x05,0x06,0x07,
0x08,0x09,0x0a,0x0b, 0x0c,0x0d,0x0e,0x0f,
0x10,0x11,0x12,0x13, 0x14,0x15,0x16,0x17,
0x18,0x19,0x1a,0x1b, 0x1c,0x1d,0x1e,0x1f,
0x20,0x21,0x22,0x23, 0x24,0x25,0x26,0x27,
0x28,0x29,0x2a,0x2b, 0x2c,0x2d,0x2e,0x2f,
0x30,0x31,0x32,0x33, 0x34,0x35,0x36,0x37,
0x38,0x39,0x3a,0x3b, 0x3c,0x3d,0x3e,0x3f,
0x40,0x61,0x62,0x63, 0x64,0x65,0x66,0x67,
0x68,0x69,0x6a,0x6b, 0x6c,0x6d,0x6e,0x6f,
0x70,0x71,0x72,0x73, 0x74,0x75,0x76,0x77,
0x78,0x79,0x7a,0x5b, 0x2f,0x5d,0x5e,0x5f,
0x60,0x61,0x62,0x63, 0x64,0x65,0x66,0x67,
0x68,0x69,0x6a,0x6b, 0x6c,0x6d,0x6e,0x6f,
0x70,0x71,0x72,0x73, 0x74,0x75,0x76,0x77,
0x78,0x79,0x7a,0x7b, 0x7c,0x7d,0x7e,0x7f,
0x80,0x81,0x82,0x83, 0x84,0x85,0x86,0x87,
0x88,0x89,0x8a,0x8b, 0x8c,0x8d,0x8e,0x8f,
0x90,0x91,0x92,0x93, 0x94,0x95,0x96,0x97,
0x98,0x99,0x9a,0x9b, 0x9c,0x9d,0x9e,0x9f,
0xa0,0xa1,0xa2,0xa3, 0xa4,0xa5,0xa6,0xa7,
0xa8,0xa9,0xaa,0xab, 0xac,0xad,0xae,0xaf,
0xb0,0xb1,0xb2,0xb3, 0xb4,0xb5,0xb6,0xb7,
0xb8,0xb9,0xba,0xbb, 0xbc,0xbd,0xbe,0xbf,
0xc0,0xc1,0xc2,0xc3, 0xc4,0xc5,0xc6,0xc7,
0xc8,0xc9,0xca,0xcb, 0xcc,0xcd,0xce,0xcf,
0xd0,0xd1,0xd2,0xd3, 0xd4,0xd5,0xd6,0xd7,
0xd8,0xd9,0xda,0xdb, 0xdc,0xdd,0xde,0xdf,
0xe0,0xe1,0xe2,0xe3, 0xe4,0xe5,0xe6,0xe7,
0xe8,0xe9,0xea,0xeb, 0xec,0xed,0xee,0xef,
0xf0,0xf1,0xf2,0xf3, 0xf4,0xf5,0xf6,0xf7,
0xf8,0xf9,0xfa,0xfb, 0xfc,0xfd,0xfe,0xff,
};
/* Like strcmp, but with the appropriate tweaks for file names.
Under Windows NT, filenames are case-insensitive but case-preserving,
and both \ and / are path element separators. Under Mac OS X, filenames
are case-insensitive but case-preserving. */
and both \ and / are path element separators. */
int
fncmp (const char *n1, const char *n2)
{
while (*n1 && *n2
&& (FOLD_FN_CHAR(*n1)
== FOLD_FN_CHAR(*n2)))
&& (WNT_filename_classes[(unsigned char) *n1]
== WNT_filename_classes[(unsigned char) *n2]))
n1++, n2++;
return (FOLD_FN_CHAR(*n1) - FOLD_FN_CHAR(*n2));
return (WNT_filename_classes[(unsigned char) *n1]
- WNT_filename_classes[(unsigned char) *n2]);
}
/* Fold characters in FILENAME to their canonical forms.
-18
View File
@@ -175,27 +175,9 @@ item : time {
| rel {
yyHaveRel++;
}
| cvsstamp {
yyHaveTime++;
yyHaveDate++;
yyHaveZone++;
}
| number
;
cvsstamp: tUNUMBER '.' tUNUMBER '.' tUNUMBER '.' tUNUMBER '.' tUNUMBER '.' tUNUMBER {
yyYear = $1;
if (yyYear < 100) yyYear += 1900;
yyMonth = $3;
yyDay = $5;
yyHour = $7;
yyMinutes = $9;
yySeconds = $11;
yyDSTmode = DSToff;
yyTimezone = 0;
}
;
time : tUNUMBER tMERIDIAN {
yyHour = $1;
yyMinutes = 0;
-106
View File
@@ -1,106 +0,0 @@
/* Copyright (C) 1992,93,94,95,96,97,98,99,2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#ifndef SEEK_CUR
#define SEEK_CUR 1
#endif
#include <termios.h>
#include <unistd.h>
#include "getline.h"
/* It is desirable to use this bit on systems that have it.
The only bit of terminal state we want to twiddle is echoing, which is
done in software; there is no need to change the state of the terminal
hardware. */
#ifndef TCSASOFT
# define TCSASOFT 0
#endif
char *
getpass (const char *prompt)
{
FILE *in, *out;
struct termios s, t;
int tty_changed;
static char *buf;
static size_t bufsize;
ssize_t nread;
/* Try to write to and read from the terminal if we can.
If we can't open the terminal, use stderr and stdin. */
in = fopen ("/dev/tty", "w+");
if (in == NULL)
{
in = stdin;
out = stderr;
}
else
out = in;
/* Turn echoing off if it is on now. */
if (tcgetattr (fileno (in), &t) == 0)
{
/* Save the old one. */
s = t;
/* Tricky, tricky. */
t.c_lflag &= ~(ECHO|ISIG);
tty_changed = (tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0);
}
else
tty_changed = 0;
/* Write the prompt. */
fputs (prompt, out);
fflush (out);
/* Read the password. */
nread = getline (&buf, &bufsize, in);
if (buf != NULL)
{
if (nread < 0)
buf[0] = '\0';
else if (buf[nread - 1] == '\n')
{
/* Remove the newline. */
buf[nread - 1] = '\0';
if (tty_changed)
{
/* Write the newline that was not echoed. */
if (out == in) fseek (out, 0, SEEK_CUR);
putc ('\n', out);
}
}
}
/* Restore the original setting. */
if (tty_changed)
(void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s);
if (in != stdin)
/* We opened the terminal; now close it. */
fclose (in);
return buf;
}
+1 -1
View File
@@ -37,7 +37,7 @@ extern int errno;
int
mkdir (dpath, dmode)
const char *dpath;
char *dpath;
int dmode;
{
int cpid, status;
+1 -1
View File
@@ -4001,7 +4001,7 @@ static boolean alt_match_null_string_p (),
/* Free everything we malloc. */
#ifdef MATCH_MAY_ALLOCATE
#define FREE_VAR(var) if (var) { (void)REGEX_FREE ((void *)var); var = NULL; } else
#define FREE_VAR(var) if (var) { REGEX_FREE (var); var = NULL; } else
#define FREE_VARIABLES() \
do { \
REGEX_FREE_STACK (fail_stack.stack); \
+58 -107
View File
@@ -84,18 +84,13 @@
# endif
#endif
#ifndef S_ISSOCK
# if defined( S_IFSOCK )
# ifdef S_IFMT
# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
# else
# define S_ISSOCK(m) ((m) & S_IFSOCK)
# endif /* S_IFMT */
# elif defined( S_ISNAM )
/* SCO OpenServer 5.0.6a */
# define S_ISSOCK S_ISNAM
# endif /* !S_IFSOCK && S_ISNAM */
#endif /* !S_ISSOCK */
#if !defined(S_ISSOCK) && defined(S_IFSOCK)
# if defined(S_IFMT)
# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
# else
# define S_ISSOCK(m) ((m) & S_IFSOCK)
# endif
#endif
#if !defined(S_ISMPB) && defined(S_IFMPB) /* V7 */
# if defined(S_IFMT)
@@ -289,7 +284,7 @@ int utime ();
#ifdef STDC_HEADERS
# include <stdlib.h>
#include <stdlib.h>
#else
char *getenv ();
char *malloc ();
@@ -300,7 +295,7 @@ extern int errno;
/* SunOS4 apparently does not define this in stdlib.h. */
#ifndef EXIT_FAILURE
# define EXIT_FAILURE 1
#define EXIT_FAILURE 1
#endif
/* check for POSIX signals */
@@ -323,26 +318,26 @@ extern int errno;
/* Under OS/2, this must be included _after_ stdio.h; that's why we do
it here. */
#ifdef USE_OWN_TCPIP_H
# include "tcpip.h"
#include "tcpip.h"
#endif
#ifdef HAVE_FCNTL_H
# include <fcntl.h>
#include <fcntl.h>
#else
# include <sys/file.h>
#include <sys/file.h>
#endif
#ifndef SEEK_SET
# define SEEK_SET 0
# define SEEK_CUR 1
# define SEEK_END 2
#define SEEK_SET 0
#define SEEK_CUR 1
#define SEEK_END 2
#endif
#ifndef F_OK
# define F_OK 0
# define X_OK 1
# define W_OK 2
# define R_OK 4
#define F_OK 0
#define X_OK 1
#define W_OK 2
#define R_OK 4
#endif
#if HAVE_DIRENT_H
@@ -367,7 +362,7 @@ extern int errno;
#define convert_blocks(b, k) ((k) ? ((b) + 1) / 2 : (b))
#ifndef S_ISLNK
# define lstat stat
#define lstat stat
#endif
/*
@@ -375,13 +370,13 @@ extern int errno;
* because "config.h" is always included last.
*/
#ifndef S_IWRITE
# define S_IWRITE 0000200 /* write permission, owner */
#define S_IWRITE 0000200 /* write permission, owner */
#endif
#ifndef S_IWGRP
# define S_IWGRP 0000020 /* write permission, grougroup */
#define S_IWGRP 0000020 /* write permission, grougroup */
#endif
#ifndef S_IWOTH
# define S_IWOTH 0000002 /* write permission, other */
#define S_IWOTH 0000002 /* write permission, other */
#endif
/* Under non-UNIX operating systems (MS-DOS, WinNT, MacOS), many filesystem
@@ -390,134 +385,97 @@ extern int errno;
can hang their own definitions. */
#ifndef CVS_ACCESS
# define CVS_ACCESS access
#define CVS_ACCESS access
#endif
#ifndef CVS_CHDIR
# define CVS_CHDIR chdir
#define CVS_CHDIR chdir
#endif
#ifndef CVS_CREAT
# define CVS_CREAT creat
#define CVS_CREAT creat
#endif
#ifndef CVS_FOPEN
# define CVS_FOPEN fopen
#define CVS_FOPEN fopen
#endif
#ifndef CVS_FDOPEN
# define CVS_FDOPEN fdopen
#define CVS_FDOPEN fdopen
#endif
#ifndef CVS_MKDIR
# define CVS_MKDIR mkdir
#define CVS_MKDIR mkdir
#endif
#ifndef CVS_OPEN
# define CVS_OPEN open
#define CVS_OPEN open
#endif
#ifndef CVS_READDIR
# define CVS_READDIR readdir
#define CVS_READDIR readdir
#endif
#ifndef CVS_CLOSEDIR
# define CVS_CLOSEDIR closedir
#define CVS_CLOSEDIR closedir
#endif
#ifndef CVS_OPENDIR
# define CVS_OPENDIR opendir
#define CVS_OPENDIR opendir
#endif
#ifndef CVS_RENAME
# define CVS_RENAME rename
#define CVS_RENAME rename
#endif
#ifndef CVS_RMDIR
# define CVS_RMDIR rmdir
#define CVS_RMDIR rmdir
#endif
#ifndef CVS_STAT
# define CVS_STAT stat
#define CVS_STAT stat
#endif
/* Open question: should CVS_STAT be lstat by default? We need
to use lstat in order to handle symbolic links correctly with
the PreservePermissions option. -twp */
#ifndef CVS_LSTAT
# define CVS_LSTAT lstat
#define CVS_LSTAT lstat
#endif
#ifndef CVS_UNLINK
# define CVS_UNLINK unlink
#define CVS_UNLINK unlink
#endif
/* Wildcard matcher. Should be case-insensitive if the system is. */
#ifndef CVS_FNMATCH
# define CVS_FNMATCH fnmatch
#define CVS_FNMATCH fnmatch
#endif
#ifdef WIN32
/*
* According to GNU conventions, we should avoid referencing any macro
* containing "WIN" as a reference to Microsoft Windows, as we would like to
* avoid any implication that we consider Microsoft Windows any sort of "win".
*
* FIXME: As of 2003-06-09, folks on the GNULIB project were discussing
* defining a configure macro to define WOE32 appropriately. If they ever do
* write such a beast, we should use it, though in most cases it would be
* preferable to avoid referencing any OS or compiler anyhow, per Autoconf
* convention, and reference only tested features of the system.
*/
# define WOE32 1
#endif /* WIN32 */
#if defined (__CYGWIN32__) || defined (WIN32)
/* Under Windows NT, filenames are case-insensitive, and both / and \
are path component separators. */
#ifdef WOE32
/* Under Windows NT, filenames are case-insensitive. */
# define FILENAMES_CASE_INSENSITIVE 1
#endif /* WOE32 */
#ifdef FILENAMES_CASE_INSENSITIVE
# if defined (__CYGWIN32__) || defined (WOE32)
/* Under Windows, filenames are case-insensitive, and both / and \
are path component separators. */
# define FOLD_FN_CHAR(c) (WNT_filename_classes[(unsigned char) (c)])
#define FOLD_FN_CHAR(c) (WNT_filename_classes[(unsigned char) (c)])
extern unsigned char WNT_filename_classes[];
/* Is the character C a path name separator? Under
Windows NT, you can use either / or \. */
# define ISDIRSEP(c) (FOLD_FN_CHAR(c) == '/')
# define ISABSOLUTE(s) (ISDIRSEP(s[0]) || FOLD_FN_CHAR(s[0]) >= 'a' && FOLD_FN_CHAR(s[0]) <= 'z' && s[1] == ':' && ISDIRSEP(s[2]))
# else /* ! WOE32 */
/* As far as I know, just Macintosh OS X can make it here,
* but since the OS X fold just folds a-z into A-Z or visa-versa, I'm just
* allowing it to be used for any case insensitive system which we aren't
* yet making other specific folds or exceptions for (basically, anything
* case insensitive other than Windows, where \ and C:\ style absolute paths
* also need to be accounted for).
*
* Under Mac OS X, filenames are case-insensitive.
*/
# define FOLD_FN_CHAR(c) (OSX_filename_classes[(unsigned char) (c)])
extern unsigned char OSX_filename_classes[];
# endif /* __CYGWIN32__ || WOE32 */
#define FILENAMES_CASE_INSENSITIVE 1
/* The following need to be declared for all case insensitive filesystems.
* When not FOLD_FN_CHAR is not #defined, a default definition for these
* functions is provided later in this header file. */
/* Is the character C a path name separator? Under
Windows NT, you can use either / or \. */
#define ISDIRSEP(c) (FOLD_FN_CHAR(c) == '/')
/* Like strcmp, but with the appropriate tweaks for file names. */
/* Like strcmp, but with the appropriate tweaks for file names.
Under Windows NT, filenames are case-insensitive but case-preserving,
and both \ and / are path element separators. */
extern int fncmp (const char *n1, const char *n2);
/* Fold characters in FILENAME to their canonical forms. */
/* Fold characters in FILENAME to their canonical forms.
If FOLD_FN_CHAR is not #defined, the system provides a default
definition for this. */
extern void fnfold (char *FILENAME);
#endif /* FILENAMES_CASE_INSENSITIVE */
#endif /* defined (__CYGWIN32__) || defined (WIN32) */
/* Some file systems are case-insensitive. If FOLD_FN_CHAR is
#defined, it maps the character C onto its "canonical" form. In a
@@ -525,22 +483,15 @@ extern void fnfold (char *FILENAME);
to lower case. Under Windows NT, / and \ are both path component
separators, so FOLD_FN_CHAR would map them both to /. */
#ifndef FOLD_FN_CHAR
# define FOLD_FN_CHAR(c) (c)
# define fnfold(filename) (filename)
# define fncmp strcmp
#define FOLD_FN_CHAR(c) (c)
#define fnfold(filename) (filename)
#define fncmp strcmp
#endif
/* Different file systems have different path component separators.
For the VMS port we might need to abstract further back than this. */
#ifndef ISDIRSEP
# define ISDIRSEP(c) ((c) == '/')
#endif
/* Different file systems can have different naming patterns which designate
* a path as absolute
*/
#ifndef ISABSOLUTE
# define ISABSOLUTE(s) ISDIRSEP(s[0])
#define ISDIRSEP(c) ((c) == '/')
#endif
-3
View File
@@ -27,9 +27,6 @@
#ifndef WIFEXITED
#define WIFEXITED(w) (((w) & 0xff) == 0)
#endif
#ifndef WCOREDUMP /* not POSIX, but common and useful */
#define WCOREDUMP(w) (((w) & 0x80) != 0)
#endif
#ifndef WSTOPSIG
#define WSTOPSIG(w) (((w) >> 8) & 0xff)
-55
View File
@@ -1,58 +1,3 @@
2004-04-30 Derek Price <[email protected]>
First pass at closing issue #3 from cvshome.org.
* Makefile.am (man_MANS): Remove cvs.1.
* cvs.1: Removed.
* Makefile.in: Regenerated.
2004-02-12 Derek Price <[email protected]>
Close issue #162.
* cvs.1: Remove references to the removed global -l option.
(Original patch from Ville Skyttä <[email protected]>.)
2004-02-12 Derek Price <[email protected]>
Close issue #161.
* cvs.1, cvs.5: A couple of spelling fixes.
(Patch from Ville Skyttä <[email protected]>.)
2004-01-30 Derek Price <[email protected]>
Close issue #146.
* cvs.1: Reference `cvs --help diff' rather than the rcsdiff man page.
Use consistent spelling of `initialization'.
(Patch from Ville Skyttä <[email protected]>.)
2003-05-21 Derek Price <[email protected]>
* Makefile.in: Regenerate with Automake version 1.7.5.
2003-04-10 Larry Jones <[email protected]>
* Makefile.in: Regenerated.
2003-03-24 Derek Price <[email protected]>
* Makefile.am: Update copyright notice.
* Makefile.in: Regenerated.
2003-03-05 Mark D. Baushke <[email protected]>
* cvs.1 (CVS_LOCAL_BRANCH_NUM): Backout CVS_LOCAL_BRANCH_NUM feature.
* cvs.1 (CVS_LOCAL_BRANCH_NUM): Document new environment variable.
2003-02-26 Larry Jones <[email protected]>
* cvs.1: Note using "cvs" in .cvsrc for global options.
(Patch from "Mark D. Baushke" <[email protected]>).
2003-02-25 Derek Price <[email protected]>
* Makefile.in: Regenerated.
2002-09-24 Derek Price <[email protected]>
* Makefile.in: Regenerated using Automake 1.6.3.
+2 -4
View File
@@ -1,8 +1,6 @@
## Process this file with automake to produce Makefile.in
# Makefile.am for GNU CVS man pages.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986-1992, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -14,7 +12,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
man_MANS = cvs.5 cvsbug.8
man_MANS = cvs.1 cvs.5 cvsbug.8
EXTRA_DIST = \
.cvsignore \
$(man_MANS)
+93 -115
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,9 +15,7 @@
@SET_MAKE@
# Makefile.am for GNU CVS man pages.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986-1992, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,125 +26,86 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSH = @CSH@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EDITOR = @EDITOR@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
MKTEMP = @MKTEMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
SENDMAIL = @SENDMAIL@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_prefix_program = @ac_prefix_program@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build_alias = @build_alias@
datadir = @datadir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
includedir = @includedir@
includeopt = @includeopt@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
man_MANS = cvs.5 cvsbug.8
man_MANS = cvs.1 cvs.5 cvsbug.8
EXTRA_DIST = \
.cvsignore \
$(man_MANS)
subdir = man
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
@@ -154,17 +113,60 @@ DIST_SOURCES =
NROFF = nroff
MANS = $(man_MANS)
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am
DIST_COMMON = ChangeLog Makefile.am Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu man/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
man1dir = $(mandir)/man1
install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man1dir)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
done
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
rm -f $(DESTDIR)$(man1dir)/$$inst; \
done
man5dir = $(mandir)/man5
install-man5: $(man5_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
@@ -201,10 +203,6 @@ uninstall-man5:
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
5*) ;; \
*) ext='5' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@@ -248,10 +246,6 @@ uninstall-man8:
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
8*) ;; \
*) ext='8' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@@ -261,22 +255,13 @@ uninstall-man8:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -301,7 +286,8 @@ check: check-am
all-am: Makefile $(MANS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir)
$(mkinstalldirs) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -313,7 +299,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -321,7 +307,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -331,7 +317,7 @@ clean: clean-am
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
@@ -348,39 +334,31 @@ install-exec-am:
install-info: install-info-am
install-man: install-man5 install-man8
install-man: install-man1 install-man5 install-man8
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am uninstall-man
uninstall-man: uninstall-man5 uninstall-man8
uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-man5 install-man8 install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am \
uninstall-man uninstall-man5 uninstall-man8
install-man1 install-man5 install-man8 install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
uninstall uninstall-am uninstall-info-am uninstall-man \
uninstall-man1 uninstall-man5 uninstall-man8
# for backwards compatibility with the old makefiles
+22 -13
View File
@@ -209,6 +209,14 @@ Do not read the
.B cvs
startup file (\fI~/.cvsrc\fP).
.TP
.B \-l
Do not log the
.I cvs_command
in the command history (but execute it anyway). See the description
of the
.B history
command for information on command history.
.TP
.B \-n
Do not change any files. Attempt to execute the
.IR cvs_command ,
@@ -541,6 +549,15 @@ subdirectories. Available with the following commands:
.BR checkout ", " commit ", " diff ", "
.BR export ", " remove ", " rdiff ", " rtag ", "
.BR status ", " tag ", and " update .
.I Warning:
this is not the same
as the overall
.` "cvs \-l"
option, which you can specify to the
.I left
of a
.B cvs
command!
.TP
.B \-n
Do
@@ -1078,7 +1095,7 @@ Others would simply do
.` "cvs checkout -rEXPR1 whatever_module"
to work with you on the experimental change.
.TP
\fBdiff\fP [\fB\-kl\fP] [\fIformat_options\fP] [[\fB\-r\fP \fIrev1\fP | \fB\-D\fP \fIdate1\fP | \fB\-j\fP \fIrev1:date1\fP] [\fB\-r\fP \fIrev2\fP | \fB\-D\fP \fIdate2\fP | \fB\-j\fP \fIrev2:date2\fP]] [\fIfiles.\|.\|.\fP]
\fBdiff\fP [\fB\-kl\fP] [\fIrcsdiff_options\fP] [[\fB\-r\fP \fIrev1\fP | \fB\-D\fP \fIdate1\fP | \fB\-j\fP \fIrev1:date1\fP] [\fB\-r\fP \fIrev2\fP | \fB\-D\fP \fIdate2\fP | \fB\-j\fP \fIrev2:date2\fP]] [\fIfiles.\|.\|.\fP]
.I Requires:
working directory, repository.
.br
@@ -1114,9 +1131,8 @@ and
options can be mixed together with at most two options ever specified.
.SP
See
.` "cvs --help diff"
for a list of supported
.IR format_options .
.BR rcsdiff ( 1 )
for a list of other accepted options.
.SP
If you don't specify any files,
.B diff
@@ -1447,7 +1463,7 @@ is able to find the files that are located in other directories.
.SP
The standard option \fIflags\fP \fB\-f\fP, and \fB\-l\fP
are available with this command. There are also several
special option flags:
special options flags:
.SP
If you use the
.B \-s
@@ -1916,7 +1932,7 @@ Files in home directories:
\&.cvsrc
The
.B cvs
initialization file. Lines in this file can be used to specify default
initialisation file. Lines in this file can be used to specify default
options for each
.B cvs
command. For example the line
@@ -2107,13 +2123,6 @@ If neither is set, a system-dependent default editor (e.g.,
.BR vi )
is used.
.TP
.SM CVS_CLIENT_PORT
If this variable is set then
.B cvs
will use this port in
\fIpserver mode\fP
rather than the default port (cvspserver 2401).
.TP
.SM CVS_IGNORE_REMOTE_ROOT
If this variable is set then
.B cvs
+1 -1
View File
@@ -284,7 +284,7 @@ containing the logging forms) rather than command templates.
The `\|editinfo\|' file allows you to execute a script \fIbefore the
commit starts\fP, but after the log information is recorded. These
"edit" scripts can verify information recorded in the log file. If
the edit script exits with a non-zero exit status, the commit is aborted.
the edit script exits wth a non-zero exit status, the commit is aborted.
.SP
The `\|loginfo\|' file contains commands to execute \fIat the end\fP
of a commit. The text specified as a commit log message is piped
-39
View File
@@ -1,39 +0,0 @@
# mktemp
# Copyright (c) Derek Price, Ximbiot <http://ximbiot.com>, and the
# Free Software Foundation, Inc. <http://gnu.org>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# This Bourne Shell scriptlet is intended as a simple replacement for
# the BSD mktemp function for systems that do not support mktemp. It
# currently does not check that the files it is creating did not exist
# previously and it does not verify that it successfully creates the
# files it returns the names of.
mktemp() {
if test x"$1" = x-d; then
tmp=`echo $2 |sed "s/XXXXXX/$$/"`
(umask 077 && exec mkdir $tmp) || return 1
else
tmp=`echo $1 |sed "s/XXXXXX/$$/"`
(umask 077 && touch $tmp) || return 1
fi
echo $tmp
return 0
}
+1 -1849
View File
File diff suppressed because it is too large. Load diff
+3 -8
View File
@@ -1,8 +1,6 @@
## Process this file with automake to produce Makefile.in
# Makefile for GNU CVS program.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -73,7 +71,6 @@ cvs_SOURCES = \
run.c \
scramble.c \
server.c \
stack.c \
status.c \
subr.c \
tag.c \
@@ -91,12 +88,10 @@ cvs_SOURCES = \
fileattr.h \
hardlink.h \
hash.h \
history.h \
myndbm.h \
rcs.h \
root.h \
server.h \
stack.h \
update.h \
watch.h
@@ -123,11 +118,11 @@ check-local: localcheck remotecheck
.PHONY: localcheck
localcheck:
$(SHELL) $(srcdir)/sanity.sh `pwd`/cvs$(EXEEXT)
$(SHELL) $(srcdir)/sanity.sh `pwd`/cvs
.PHONY: remotecheck
remotecheck: all
$(SHELL) $(srcdir)/sanity.sh -r `pwd`/cvs$(EXEEXT)
$(SHELL) $(srcdir)/sanity.sh -r `pwd`/cvs
## MAINTAINER Targets
+79 -160
View File
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -15,9 +15,7 @@
@SET_MAKE@
# Makefile for GNU CVS program.
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -32,114 +30,76 @@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
SHELL = /bin/sh
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSH = @CSH@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EDITOR = @EDITOR@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
MKTEMP = @MKTEMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
SENDMAIL = @SENDMAIL@
SET_MAKE = @SET_MAKE@
SHELL = /bin/sh
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_prefix_program = @ac_prefix_program@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
bindir = @bindir@
build_alias = @build_alias@
datadir = @datadir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
includedir = @includedir@
includeopt = @includeopt@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
# $(includeopt) is CVS specific and set by configure
# FIXME - This includes line is dependant on its order. This means there is
@@ -197,7 +157,6 @@ cvs_SOURCES = \
run.c \
scramble.c \
server.c \
stack.c \
status.c \
subr.c \
tag.c \
@@ -215,12 +174,10 @@ cvs_SOURCES = \
fileattr.h \
hardlink.h \
hash.h \
history.h \
myndbm.h \
rcs.h \
root.h \
server.h \
stack.h \
update.h \
watch.h
@@ -246,7 +203,6 @@ EXTRA_DIST = \
sanity.sh
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = cvsbug
@@ -267,17 +223,20 @@ am_cvs_OBJECTS = add.$(OBJEXT) admin.$(OBJEXT) annotate.$(OBJEXT) \
patch.$(OBJEXT) rcs.$(OBJEXT) rcscmds.$(OBJEXT) \
recurse.$(OBJEXT) release.$(OBJEXT) remove.$(OBJEXT) \
repos.$(OBJEXT) root.$(OBJEXT) run.$(OBJEXT) scramble.$(OBJEXT) \
server.$(OBJEXT) stack.$(OBJEXT) status.$(OBJEXT) \
subr.$(OBJEXT) tag.$(OBJEXT) update.$(OBJEXT) version.$(OBJEXT) \
vers_ts.$(OBJEXT) watch.$(OBJEXT) wrapper.$(OBJEXT) \
zlib.$(OBJEXT)
server.$(OBJEXT) status.$(OBJEXT) subr.$(OBJEXT) tag.$(OBJEXT) \
update.$(OBJEXT) version.$(OBJEXT) vers_ts.$(OBJEXT) \
watch.$(OBJEXT) wrapper.$(OBJEXT) zlib.$(OBJEXT)
cvs_OBJECTS = $(am_cvs_OBJECTS)
cvs_DEPENDENCIES = ../diff/libdiff.a ../lib/libcvs.a ../zlib/libz.a
cvs_LDFLAGS =
SCRIPTS = $(bin_SCRIPTS)
DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/add.Po ./$(DEPDIR)/admin.Po \
@@ -302,28 +261,28 @@ am__depfiles_maybe = depfiles
@AMDEP_TRUE@ ./$(DEPDIR)/release.Po ./$(DEPDIR)/remove.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/repos.Po ./$(DEPDIR)/root.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/run.Po ./$(DEPDIR)/scramble.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/server.Po ./$(DEPDIR)/stack.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/status.Po ./$(DEPDIR)/subr.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/tag.Po ./$(DEPDIR)/update.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/vers_ts.Po ./$(DEPDIR)/version.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/watch.Po ./$(DEPDIR)/wrapper.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/zlib.Po
@AMDEP_TRUE@ ./$(DEPDIR)/server.Po ./$(DEPDIR)/status.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/subr.Po ./$(DEPDIR)/tag.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/update.Po ./$(DEPDIR)/vers_ts.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/version.Po ./$(DEPDIR)/watch.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/wrapper.Po ./$(DEPDIR)/zlib.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
CFLAGS = @CFLAGS@
DIST_SOURCES = $(cvs_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am cvsbug.in
DIST_COMMON = ChangeLog Makefile.am Makefile.in cvsbug.in
SOURCES = $(cvs_SOURCES)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
cvsbug: $(top_builddir)/config.status cvsbug.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
@@ -337,7 +296,7 @@ install-binPROGRAMS: $(bin_PROGRAMS)
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \
done
@@ -426,7 +385,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scramble.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/server.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/status.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tag.Po@am__quote@
@@ -437,35 +395,26 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrapper.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zlib.Po@am__quote@
distclean-depend:
-rm -rf ./$(DEPDIR)
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCC_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `cygpath -w $<`
CCDEPMODE = @CCDEPMODE@
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -491,41 +440,20 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
@@ -552,6 +480,7 @@ all-am: Makefile $(PROGRAMS) $(SCRIPTS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@@ -563,7 +492,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@@ -571,7 +500,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@@ -582,10 +511,9 @@ clean: clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
dvi: dvi-am
@@ -606,47 +534,38 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
clean-binPROGRAMS clean-generic ctags distclean \
distclean-compile distclean-generic distclean-tags distdir dvi \
.PHONY: GTAGS all all-am check check-am check-local clean \
clean-binPROGRAMS clean-generic distclean distclean-compile \
distclean-depend distclean-generic distclean-tags distdir dvi \
dvi-am info info-am install install-am install-binPROGRAMS \
install-binSCRIPTS install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-binPROGRAMS \
uninstall-binSCRIPTS uninstall-info-am
mostlyclean-compile mostlyclean-generic tags uninstall \
uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-info-am
check-local: localcheck remotecheck
.PHONY: localcheck
localcheck:
$(SHELL) $(srcdir)/sanity.sh `pwd`/cvs$(EXEEXT)
$(SHELL) $(srcdir)/sanity.sh `pwd`/cvs
.PHONY: remotecheck
remotecheck: all
$(SHELL) $(srcdir)/sanity.sh -r `pwd`/cvs$(EXEEXT)
$(SHELL) $(srcdir)/sanity.sh -r `pwd`/cvs
# for backwards compatibility with the old makefiles
.PHONY: realclean
+133 -169
View File
@@ -24,15 +24,13 @@
* file to be resurrected.
*/
#include <assert.h>
#include "cvs.h"
#include "savecwd.h"
#include "fileattr.h"
static int add_directory PROTO ((struct file_info *finfo));
static int build_entry PROTO((const char *repository, const char *user,
const char *options, const char *message,
List * entries, const char *tag));
static int build_entry PROTO((char *repository, char *user, char *options,
char *message, List * entries, char *tag));
static const char *const add_usage[] =
{
@@ -152,7 +150,7 @@ add (argc, argv)
#ifdef CLIENT_SUPPORT
if (current_parsed_root->isremote)
{
int j;
int i;
if (argc == 0)
/* We snipped out all the arguments in the above sanity
@@ -182,12 +180,22 @@ add (argc, argv)
free (repository);
}
for (j = 0; j < argc; ++j)
for (i = 0; i < argc; ++i)
{
/* FIXME: Does this erroneously call Create_Admin in error
conditions which are only detected once the server gets its
hands on things? */
if (isdir (argv[j]))
/* FIXME-also: if filenames are case-insensitive on the
client, and the directory in the repository already
exists and is named "foo", and the command is "cvs add
FOO", this call to Create_Admin puts the wrong thing in
CVS/Repository and so a subsequent "cvs update" will
give an error. The fix will be to have the server report
back what it actually did (e.g. use tagged text for the
"Directory %s added" message), and then Create_Admin,
which should also fix the error handling concerns. */
if (isdir (argv[i]))
{
char *tag;
char *date;
@@ -202,11 +210,8 @@ add (argc, argv)
if (save_cwd (&cwd))
error_exit ();
filedir = xstrdup (argv[j]);
/* Deliberately discard the const below since we know we just
* allocated filedir and can do what we like with it.
*/
p = (char *)last_component (filedir);
filedir = xstrdup (argv[i]);
p = last_component (filedir);
if (p == filedir)
{
update_dir = "";
@@ -241,7 +246,7 @@ add (argc, argv)
rcsdir = xmalloc (strlen (repository) + strlen (p) + 5);
sprintf (rcsdir, "%s/%s", repository, p);
Create_Admin (p, argv[j], rcsdir, tag, date,
Create_Admin (p, argv[i], rcsdir, tag, date,
nonbranch, 0, 1);
if (found_slash)
@@ -258,7 +263,7 @@ add (argc, argv)
free (rcsdir);
if (p == filedir)
Subdir_Register ((List *) NULL, (char *) NULL, argv[j]);
Subdir_Register ((List *) NULL, (char *) NULL, argv[i]);
else
{
Subdir_Register ((List *) NULL, update_dir, p);
@@ -284,7 +289,10 @@ add (argc, argv)
int begin_added_files = added_files;
#endif
struct file_info finfo;
char *filename, *p;
char *p;
#if defined (SERVER_SUPPORT) && !defined (FILENAMES_CASE_INSENSITIVE)
char *found_name;
#endif
memset (&finfo, 0, sizeof finfo);
@@ -292,12 +300,8 @@ add (argc, argv)
error_exit ();
finfo.fullname = xstrdup (argv[i]);
filename = xstrdup (argv[i]);
/* We know we can discard the const below since we just allocated
* filename and can do as we like with it.
*/
p = (char *)last_component (filename);
if (p == filename)
p = last_component (argv[i]);
if (p == argv[i])
{
finfo.update_dir = "";
finfo.file = p;
@@ -305,7 +309,7 @@ add (argc, argv)
else
{
p[-1] = '\0';
finfo.update_dir = filename;
finfo.update_dir = argv[i];
finfo.file = p;
if (CVS_CHDIR (finfo.update_dir) < 0)
error (1, errno, "could not chdir to %s", finfo.update_dir);
@@ -321,8 +325,7 @@ add (argc, argv)
repository = Name_Repository (NULL, finfo.update_dir);
/* don't add stuff to Emptydir */
if (strncmp (repository, current_parsed_root->directory,
cvsroot_len) == 0
if (strncmp (repository, current_parsed_root->directory, cvsroot_len) == 0
&& ISDIRSEP (repository[cvsroot_len])
&& strncmp (repository + cvsroot_len + 1,
CVSROOTADM,
@@ -337,12 +340,65 @@ add (argc, argv)
finfo.repository = repository;
finfo.entries = entries;
#if defined (SERVER_SUPPORT) && !defined (FILENAMES_CASE_INSENSITIVE)
if (ign_case)
{
/* Need to check whether there is a directory with the
same name but different case. We'll check for files
with the same name later (when Version_TS calls
RCS_parse which calls fopen_case). If CVS some day
records directories in the RCS files, then we should be
able to skip the separate check here, which would be
cleaner. */
DIR *dirp;
struct dirent *dp;
dirp = CVS_OPENDIR (finfo.repository);
if (dirp == NULL)
error (1, errno, "cannot read directory %s", finfo.repository);
found_name = NULL;
errno = 0;
while ((dp = CVS_READDIR (dirp)) != NULL)
{
if (cvs_casecmp (dp->d_name, finfo.file) == 0)
{
if (found_name != NULL)
error (1, 0, "%s is ambiguous; could mean %s or %s",
finfo.file, dp->d_name, found_name);
found_name = xstrdup (dp->d_name);
}
}
if (errno != 0)
error (1, errno, "cannot read directory %s", finfo.repository);
CVS_CLOSEDIR (dirp);
if (found_name != NULL)
{
/* OK, we are about to patch up the name, so patch up
the temporary directory too to match. The isdir
should "always" be true (since files have ,v), but
I guess we might as well make some attempt to not
get confused by stray files in the repository. */
if (isdir (finfo.file))
{
if (CVS_MKDIR (found_name, 0777) < 0
&& errno != EEXIST)
error (0, errno, "cannot create %s", finfo.file);
}
/* OK, we found a directory with the same name, maybe in
a different case. Treat it as if the name were the
same. */
finfo.file = found_name;
}
}
#endif
/* We pass force_tag_match as 1. If the directory has a
sticky branch tag, and there is already an RCS file which
does not have that tag, then the head revision is
meaningless to us. */
vers = Version_TS (&finfo, options, NULL, NULL, 1, 0);
if (vers->vn_user == NULL)
{
/* No entry available, ts_rcs is invalid */
@@ -451,90 +507,24 @@ same name already exists in the repository.");
}
else
{
char *timestamp = NULL;
if (vers->ts_user == NULL)
{
/* If this file does not exist locally, assume that
* the last version on the branch is being
* resurrected.
*
* Compute previous revision. We assume that it
* exists and that it is not a revision on the
* trunk of the form X.1 (1.1, 2.1, 3.1, ...). We
* also assume that it is not dead, which seems
* fair since we know vers->vn_rcs is dead
* and we shouldn't see two dead revisions in a
* row.
*/
char *prev = previous_rev (vers->srcfile,
vers->vn_rcs);
int status;
assert (prev != NULL);
if (!quiet)
error (0, 0,
"Resurrecting file `%s' from revision %s.",
finfo.fullname, prev);
status = RCS_checkout (vers->srcfile, finfo.file,
prev, vers->tag,
vers->options, RUN_TTY,
NULL, NULL);
xchmod (finfo.file, 1);
if (status != 0)
{
error (0, 0, "Failed to resurrect revision %s",
prev);
err++;
}
else
{
/* I don't actually set vers->ts_user here
* because it would confuse server_update().
*/
timestamp = time_stamp (finfo.file);
if (!really_quiet)
write_letter (&finfo, 'U');
}
free (prev);
}
if (!quiet)
{
if (vers->tag)
error (0, 0,
"file `%s' will be added on branch `%s' from version %s",
finfo.fullname, vers->tag,
vers->vn_rcs);
error (0, 0, "\
file `%s' will be added on branch `%s' from version %s",
finfo.fullname, vers->tag, vers->vn_rcs);
else
/* I'm not sure that mentioning
vers->vn_rcs makes any sense here; I
can't think of a way to word the
message which is not confusing. */
error (0, 0,
"Re-adding file `%s' (in place of dead revision %s).",
finfo.fullname, vers->vn_rcs);
error (0, 0, "\
re-adding file %s (in place of dead revision %s)",
finfo.fullname, vers->vn_rcs);
}
Register (entries, finfo.file, "0",
timestamp ? timestamp : vers->ts_user,
vers->options, vers->tag, vers->date, NULL);
if (timestamp) free (timestamp);
#ifdef SERVER_SUPPORT
if (server_active && vers->ts_user == NULL)
{
/* If we resurrected the file from the archive, we
* need to tell the client about it.
*/
server_updated (&finfo, vers,
SERVER_UPDATED,
(mode_t) -1, NULL, NULL);
/* This is kinda hacky or, at least, it renders the
* name "begin_added_files" obsolete, but we want
* the added_files to be counted without triggering
* the check that causes server_checked_in() to be
* called below since we have already called
* server_updated() to complete the resurrection.
*/
++begin_added_files;
}
#endif
Register (entries, finfo.file, "0", vers->ts_user,
vers->options,
vers->tag, NULL, NULL);
++added_files;
}
}
@@ -580,56 +570,36 @@ cannot resurrect %s; RCS file removed by second party", finfo.fullname);
}
else
{
int status;
/*
* There is an RCS file, so remove the "-" from the
* version number and restore the file
*/
char *tmp = xmalloc (strlen (vers->vn_user));
char *tmp = xmalloc (strlen (finfo.file) + 50);
(void) strcpy (tmp, vers->vn_user + 1);
(void) strcpy (vers->vn_user, tmp);
free(tmp);
status = RCS_checkout (vers->srcfile, finfo.file,
vers->vn_user, vers->tag,
vers->options, RUN_TTY,
NULL, NULL);
xchmod (finfo.file, 1);
if (status != 0)
(void) sprintf (tmp, "Resurrected %s", finfo.file);
Register (entries, finfo.file, vers->vn_user, tmp,
vers->options,
vers->tag, vers->date, vers->ts_conflict);
free (tmp);
/* XXX - bugs here; this really resurrect the head */
/* Note that this depends on the Register above actually
having written Entries, or else it won't really
check the file out. */
if (update (2, argv + i - 1) == 0)
{
error (0, 0, "Failed to resurrect revision %s",
error (0, 0, "%s, version %s, resurrected",
finfo.fullname,
vers->vn_user);
err++;
tmp = NULL;
}
else
{
/* I don't actually set vers->ts_user here because it
* would confuse server_update().
*/
tmp = time_stamp (finfo.file);
write_letter (&finfo, 'U');
if (!quiet)
error (0, 0, "%s, version %s, resurrected",
finfo.fullname, vers->vn_user);
error (0, 0, "could not resurrect %s", finfo.fullname);
err++;
}
Register (entries, finfo.file, vers->vn_user,
tmp, vers->options,
vers->tag, vers->date, NULL);
if (tmp) free (tmp);
#ifdef SERVER_SUPPORT
if (server_active)
{
/* If we resurrected the file from the archive, we
* need to tell the client about it.
*/
server_updated (&finfo, vers,
SERVER_UPDATED,
(mode_t) -1, NULL, NULL);
}
/* We don't increment added_files here because this isn't
* a change that needs to be committed.
*/
#endif
}
}
else
@@ -672,11 +642,11 @@ cannot resurrect %s; RCS file removed by second party", finfo.fullname);
error_exit ();
free_cwd (&cwd);
/* It's okay to discard the const to free this - we allocated this
* above. The const is for everybody else.
*/
free ((char *) finfo.fullname);
free ((char *) filename);
free (finfo.fullname);
#if defined (SERVER_SUPPORT) && !defined (FILENAMES_CASE_INSENSITIVE)
if (ign_case && found_name != NULL)
free (found_name);
#endif
}
if (added_files && !really_quiet)
error (0, 0, "use '%s commit' to add %s permanently",
@@ -688,11 +658,9 @@ cannot resurrect %s; RCS file removed by second party", finfo.fullname);
if (options)
free (options);
return err;
return (err);
}
/*
* The specified user file is really a directory. So, let's make sure that
* it is created in the RCS source repository, and that the user's directory
@@ -704,9 +672,9 @@ static int
add_directory (finfo)
struct file_info *finfo;
{
const char *repository = finfo->repository;
char *repository = finfo->repository;
List *entries = finfo->entries;
const char *dir = finfo->file;
char *dir = finfo->file;
char *rcsdir = NULL;
struct saved_cwd cwd;
@@ -720,12 +688,12 @@ add_directory (finfo)
/* "Can't happen". */
error (0, 0,
"directory %s not added; must be a direct sub-directory", dir);
return 1;
return (1);
}
if (fncmp (dir, CVSADM) == 0)
{
error (0, 0, "cannot add a `%s' directory", CVSADM);
return 1;
return (1);
}
/* before we do anything else, see if we have any per-directory tags */
@@ -739,11 +707,11 @@ add_directory (finfo)
/* now, remember where we were, so we can get back */
if (save_cwd (&cwd))
return 1;
if (CVS_CHDIR (dir) < 0)
return (1);
if ( CVS_CHDIR (dir) < 0)
{
error (0, errno, "cannot chdir to %s", finfo->fullname);
return 1;
return (1);
}
#ifdef SERVER_SUPPORT
if (!server_active && isfile (CVSADM))
@@ -769,8 +737,7 @@ add_directory (finfo)
+ 80
+ (tag == NULL ? 0 : strlen (tag) + 80)
+ (date == NULL ? 0 : strlen (date) + 80));
(void) sprintf (message, "Directory %s added to the repository\n",
rcsdir);
(void) sprintf (message, "Directory %s added to the repository\n", rcsdir);
if (tag)
{
(void) strcat (message, "--> Using per-directory sticky tag `");
@@ -832,7 +799,7 @@ add_directory (finfo)
li->type = T_TITLE;
li->tag = xstrdup (tag);
li->rev_old = li->rev_new = NULL;
p->data = li;
p->data = (char *) li;
(void) addnode (ulist, p);
Update_Logfile (rcsdir, message, (FILE *) NULL, ulist);
dellist (&ulist);
@@ -853,13 +820,12 @@ add_directory (finfo)
Subdir_Register (entries, (char *) NULL, dir);
if (!really_quiet)
cvs_output (message, 0);
cvs_output (message, 0);
free (rcsdir);
free (message);
return 0;
return (0);
out:
if (restore_cwd (&cwd, NULL))
@@ -867,30 +833,28 @@ out:
free_cwd (&cwd);
if (rcsdir != NULL)
free (rcsdir);
return 0;
return (0);
}
/*
* Builds an entry for a new file and sets up "CVS/file",[pt] by
* interrogating the user. Returns non-zero on error.
*/
static int
build_entry (repository, user, options, message, entries, tag)
const char *repository;
const char *user;
const char *options;
const char *message;
char *repository;
char *user;
char *options;
char *message;
List *entries;
const char *tag;
char *tag;
{
char *fname;
char *line;
FILE *fp;
if (noexec)
return 0;
return (0);
/*
* The requested log is read directly from the user and stored in the
@@ -915,5 +879,5 @@ build_entry (repository, user, options, message, entries, tag)
(void) sprintf (line, "Initial %s", user);
Register (entries, user, "0", line, options, tag, (char *) 0, (char *) 0);
free (line);
return 0;
return (0);
}
+18 -38
View File
@@ -15,9 +15,9 @@
#endif
#include <assert.h>
static Dtype admin_dirproc PROTO ((void *callerdat, const char *dir,
const char *repos, const char *update_dir,
List *entries));
static Dtype admin_dirproc PROTO ((void *callerdat, char *dir,
char *repos, char *update_dir,
List *entries));
static int admin_fileproc PROTO ((void *callerdat, struct file_info *finfo));
static const char *const admin_usage[] =
@@ -367,7 +367,7 @@ admin (argc, argv)
/* getopt will have printed an error message. */
usage_error:
/* Don't use cvs_cmd_name; it might be "server". */
/* Don't use command_name; it might be "server". */
error (1, 0, "specify %s -H admin for usage information",
program_name);
}
@@ -520,8 +520,7 @@ admin (argc, argv)
err = start_recursion (admin_fileproc, (FILESDONEPROC) NULL, admin_dirproc,
(DIRLEAVEPROC) NULL, (void *)&admin_data,
argc, argv, 0,
W_LOCAL, 0, CVS_LOCK_NONE, (char *) NULL, 1,
(char *) NULL);
W_LOCAL, 0, CVS_LOCK_NONE, (char *) NULL, 1);
Lock_Cleanup ();
return_it:
@@ -565,22 +564,15 @@ admin_fileproc (callerdat, finfo)
if (version != NULL && strcmp (version, "0") == 0)
{
error (0, 0, "cannot admin newly added file `%s'", finfo->file);
status = 1;
goto exitfunc;
}
rcs = vers->srcfile;
if (rcs == NULL)
{
if (!really_quiet)
error (0, 0, "nothing known about %s", finfo->file);
status = 1;
goto exitfunc;
}
if (rcs->flags & PARTIAL)
RCS_reparsercsfile (rcs, (FILE **) NULL, (struct rcsbuffer *) NULL);
status = 0;
if (!really_quiet)
{
cvs_output ("RCS file: ", 0);
@@ -784,7 +776,7 @@ admin_fileproc (callerdat, finfo)
error (0, 0,
"%s: symbolic name %s already bound to %s",
rcs->path,
tag, (char *)n->data);
tag, n->data);
status = 1;
free (tag);
continue;
@@ -843,7 +835,7 @@ admin_fileproc (callerdat, finfo)
continue;
}
free (rev);
delta = n->data;
delta = (RCSVers *) n->data;
free (delta->state);
delta->state = tag;
break;
@@ -857,32 +849,20 @@ admin_fileproc (callerdat, finfo)
status = 1;
continue;
}
*p = '\0'; /* temporarily make arg+2 its own string */
rev = RCS_gettag (rcs, arg + 2, 1, NULL); /* Force tag match */
*p = '\0';
rev = RCS_gettag (rcs, arg + 2, 0, NULL);
if (rev == NULL)
{
error (0, 0, "%s: no such revision %s", rcs->path, arg+2);
error (0, 0, "%s: no such revision %s", rcs->path, rev);
status = 1;
*p = ':'; /* restore the full text of the -m argument */
continue;
}
msg = p+1;
*p++ = ':';
msg = p;
n = findnode (rcs->versions, rev);
/* tags may exist against non-existing versions */
if (n == NULL)
{
error (0, 0, "%s: no such revision %s: %s",
rcs->path, arg+2, rev);
status = 1;
*p = ':'; /* restore the full text of the -m argument */
free (rev);
continue;
}
*p = ':'; /* restore the full text of the -m argument */
free (rev);
delta = n->data;
delta = (RCSVers *) n->data;
if (delta->text == NULL)
{
delta->text = (Deltatext *) xmalloc (sizeof (Deltatext));
@@ -931,9 +911,9 @@ admin_fileproc (callerdat, finfo)
static Dtype
admin_dirproc (callerdat, dir, repos, update_dir, entries)
void *callerdat;
const char *dir;
const char *repos;
const char *update_dir;
char *dir;
char *repos;
char *update_dir;
List *entries;
{
if (!quiet)
+4 -6
View File
@@ -54,7 +54,7 @@ annotate (argc, argv)
int err = 0;
int c;
is_rannotate = (strcmp(cvs_cmd_name, "rannotate") == 0);
is_rannotate = (strcmp(command_name, "rannotate") == 0);
if (argc == -1)
usage (annotate_usage);
@@ -224,12 +224,14 @@ rannotate_proc (argc, argv, xwhere, mwhere, mfile, shorten, local, mname, msg)
free (repository);
return (1);
}
free (repository);
/* End section which is identical to patch_proc. */
if (force_tag_match && tag != NULL)
which = W_REPOS | W_ATTIC;
else
which = W_REPOS;
repository = NULL;
}
else
{
@@ -247,11 +249,7 @@ rannotate_proc (argc, argv, xwhere, mwhere, mfile, shorten, local, mname, msg)
err = start_recursion (annotate_fileproc, (FILESDONEPROC) NULL,
(DIRENTPROC) NULL, (DIRLEAVEPROC) NULL, NULL,
argc - 1, argv + 1, local, which, 0, CVS_LOCK_READ,
where, 1, repository);
if ( which & W_REPOS )
free ( repository );
if ( where != NULL )
free (where);
where, 1);
return err;
}
Loaded 100 of 1559 files, more files were not shown because too many files have changed in this diff. Show more