This commit was generated by cvs2svn to compensate for changes in r107484,

which included commits to RCS files with non-trunk default branches.
This commit is contained in:
Peter Wemm 2002-12-02 03:13:37 +00:00
commit 6711752f92
77 changed files with 13825 additions and 5834 deletions

View File

@ -1,3 +1,277 @@
2002-11-21 Larry Jones <lawrence.jones@eds.com>
* configure.in: Add contrib/check_cvs.
* configure: Regenerated.
2002-11-12 Derek Price <derek@ximbiot.com>
* .cvsignore: Update autom4te ignore pattern for version number
included in path name by new versions of autom4te.
2002-10-28 Derek Price <derek@ximbiot.com>
* configure.in: Flesh out some comments in regards to Sun Interactive
UNIX (ISC).
2002-09-24 Derek Price <derek@ximbiot.com>
* configure.in (WITH_KRB4): Update WITH_KRB4 output to use
AC_MSG_CHECKING and AC_MSG_RESULT for consitency.
(with-editor): Update comment.
* configure: Regenerated.
2002-09-24 Derek Price <derek@ximbiot.com>
* configure.in (--enable-password-authenticated-client): New option.
(--enable-encryption): Increase the readability of the help text.
* configure: Regenerated.
* config.h.in: Ditto.
2002-09-24 Derek Price <derek@ximbiot.com>
* configure.in (enable-encryption): Move to a more sensible location
and print a warning if it is specified with neither the client or the
server enabled.
(--with-editor): Move to a closer resemblance to alphabetical order.
(enables and withs): Reformat help strings for consistency.
* acinclude.m4: Ditto.
* configure: Regenerated.
* aclocal.m4: Ditto.
2002-09-24 Derek Price <derek@ximbiot.com>
* configure.in (enable-force-editor): New option.
* configure: Regenerated.
* config.h.in: Ditto.
2002-09-24 Derek Price <derek@ximbiot.com>
* acinclude.m4 (ACX_WITH_GSAPI): Use AC_MSG_CHECKING & AC_MSG_RESULT
instead of AS_MESSAGE for consistent appearance of the output even
though it makes the code look a little clunky.
2002-09-24 Derek Price <derek@ximbiot.com>
* INSTALL: Document --with-umask.
* configure.in (--with-umask): New option.
(--with-tmpdir): Move to something more closely resembling alphabetical
order of the --with- arguments.
* configure: Regenerated.
* config.h.in: Ditto.
2002-09-24 Derek Price <derek@ximbiot.com>
* INSTALL: Note new Automake version.
* NEWS: Ditto.
* configure.in (AC_ISC_POSIX): Remove this obsolete call and comment
out some related code with an explanation.
* Makefile.in: Regenerated using Automake 1.6.3.
* aclocal.m4: Ditto.
* configure: Regenerated.
2002-09-24 Larry Jones <lawrence.jones@eds.com>
* aclocal.m4: Remove no longer needed definition of AC_ISC_POSIX
from gettext-0.10.40.
* configure.in: Remove warnings about obsolete AC_STRUCT_ST_BLKSIZE
and AC_STRUCT_ST_RDEV, add check for geteuid().
* configure, config.h.in: Regenerated.
2002-09-24 Derek Price <derek@ximbiot.com>
* TODO (227): New item.
2002-09-24 Larry Jones <lawrence.jones@eds.com>
* configure.in (--enable-server-flow-control): Fix nonportable code.
* configure: Regenerated.
2002-09-24 Derek Price <derek@ximbiot.com>
* INSTALL: Explain --with-tmpdir.
* configure.in (--with-tmpdir): New configure argument.
* configure: Regenerated.
* config.h.in: Ditto.
2002-09-24 Derek Price <derek@ximbiot.com>
* INSTALL: Explain --with-editor.
* configure.in (--with-editor): New configure argument.
* Makefile.in: Regenerated.
* configure: Ditto.
* config.h.in: Ditto.
2002-09-24 Larry Jones <lawrence.jones@eds.com>
* TODO (226): New item.
* configure.in: Remove PATCH_PROGRAM.
* configure: Regenerated.
* config.h.in: Ditto.
2002-09-20 Derek Price <derek@ximbiot.com>
* INSTALL: Explain --enable-server-flow-control.
* configure.in (--enable-server-flow-control): New configure argument.
* configure: Regenerated.
* config.h.in: Ditto.
2002-09-20 Derek Price <derek@ximbiot.com>
* configure.in: Set PATCH_PROGRAM as possible, autodetecting with
a user override.
* configure: Regenerated.
* config.h.in: Ditto.
2002-09-20 Derek Price <derek@ximbiot.com>
* configure.in: Use AC_HELP_STRING to create pretty help strings.
Reformat some lines for legibility.
(with-krb4): Fix help strings and logging.
* configure.in: Regenerated.
2002-08-16 Derek Price <derek@ximbiot.com>
* configure.in: Make CVS_BADROOT a configure option.
* configure: Regenerated.
* config.h.in: Ditto.
2002-08-12 Derek Price <oberon@umich.edu>
* configure.in: Move ftruncate from AC_CHECK_FUNC to AC_REPLACE_FUNC.
(Symptoms reported by
Andrey Aristarkhov <Aristarkhov@bitechnology.ru>.)
* aclocal.m4: Regenerated.
* configure: Ditto.
2002-07-09 Larry Jones <lawrence.jones@eds.com>
* NEWS (Changes since 1.11.2): Note lock message times now UTC.
2002-06-28 Derek Price <oberon@umich.edu>
* INSTALL (Building [on] other platforms): Don't reference the Mac
README file since it has been missing for several releases. Mention
the UNIXness of Mac OS X and correct references to wincvs.org to point
to the new cvsgui.org .
(Reported by Sarah Gonzales <slindahl@rice.edu>.)
2002-05-22 Larry Jones <lawrence.jones@eds.com>
* TODO (173, 202): Update to reflect current state of affairs.
(207): Defunct as of 1.11.2.
* NEWS (Changes from 1.11.1p1 to 1.11.2): Note new RereadLogAfterVerify
config option.
2002-05-15 Larry Jones <lawrence.jones@eds.com>
* NEWS (Changes from 1.11.1p1 to 1.11.2): Note log/rlog changes.
2002-05-08 Derek Price <oberon@umich.edu>
* configure.in: Add code to use lib/fnmatch.h.in redirection when
necessary to avoid namespace conflicts in #includes.
* configure: Regenerated.
2002-05-08 Derek Price <oberon@umich.edu>
* TODO (215): Add note.
2002-05-08 Derek Price <oberon@umich.edu>
* TODO (214): Clarify item.
2002-05-02 Derek Price <oberon@umich.edu>
* configure.in: Add check for fnmatch.h so we can avoid namespace
conflicts on systems where the fnmatch function is broken. Not sure
this applies to any systems but Mac OS X.
* configure: Regenerated.
* config.h.in: Ditto.
2002-05-02 Derek Price <oberon@umich.edu>
* .cvsignore: Remove config.cache and add autom4te.cache.
2002-05-02 Derek Price <oberon@umich.edu>
* noautoconf.sh: Update this script for operation with the new autotools.
* stamp-h1.in: Remove this obsolete file.
2002-05-01 Derek Price <oberon@umich.edu>
* TODO (224): Comment on this item.
2002-05-01 Larry Jones <lawrence.jones@eds.com>
* TODO (215 - 225): New items.
2002-05-01 Derek Price <oberon@umich.edu>
* TODO (214): Add note about moving options.h options into the configure
script.
* configure.in: Remove last few references to options.h.
* configure: Regenerated.
2002-04-30 Derek Price <oberon@umich.edu>
* acconfig.h: Remove this file, it is deprecated.
* Makefile.am (AUTOMAKE_OPTIONS): Move these into configure.in.
* acinclude.m4: Some minor updates for compatibility with the new
Autotools, some reformatting for readability, and a minor bugfix or
two.
* configure.in: Add new AC_DEFINE arguments and replace some direct
assignments to LIBOBJS with calls to AC_LIBOBJ. Call AC_INIT and
AM_INIT_AUTOMAKE with the new APIs. Call AC_PACKAGE_NAME,
AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION, and AC_PACKAGE_STRING to
subst/define the corresponding variables. Call AC_CONFIG_FILES with
the old AC_OUTPUT args and call AC_OUTPUT without args. Remove
references to version.h.
* cvs.spec.in: Use the new substs.
* INSTALL: Mention new versions of Automake & Autoconf.
* NEWS: Ditto.
* Makefile.in: Regenerated.
* aclocal.m4: Ditto.
* configure: Ditto.
* config.h.in: Ditto.
2002-04-28 Derek Price <oberon@umich.edu>
* TODO (208, 209, 210, 211, 212, 213): New items.
2002-04-27 Derek Price <oberon@umich.edu>
* configure.in: Set LIBOBJ for fnmatch.c and fnmatch.h using the
correct functions. Add checks for some functions whose names conflict
with functions on Mac OS X 10.1 with the most recent dev packages.
This should be removable after the Mac dev packages are fixed.
* configure: Regenerated.
* config.h.in: Ditto.
2002-04-18 Derek Price <oberon@umich.edu>
* NEWS: Add a dummy entry so automake will let me update the version.
* configure.in: Update the version number.
* configure: Regenerated.
2002-04-17 Derek Price <oberon@umich.edu>
* configure.in: Update version number.

View File

@ -249,8 +249,8 @@ Building from source code under Unix:
$ ./noautomake.sh --noautoconf
The CVS Makefiles and configure script were built using Automake 1.5 and
Autoconf 2.13, respectively. Other combinations of autotool versions may
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":
@ -278,14 +278,37 @@ Building from source code under Unix:
Typically this can reduce the size of the executable by around 30%.
If you are building CVS with the server enabled, you can disable
server flow control using the --disable-server-flow-control
If you are working with a large remote repository and a 'cvs
checkout' is swamping your network and memory, enable flow control.
You will end up with even less probability of a consistent checkout
(see Concurrency in cvs.texinfo), but CVS doesn't try to guarantee
that anyway. The master server process will monitor how far it is
getting behind, if it reaches the high water mark, it will signal
the child process to stop generating data when convenient (ie: no
locks are held, currently at the beginning of a new directory).
Once the buffer has drained sufficiently to reach the low water
mark, it will be signalled to start again. You may override the
default hi/low watermarks here too by passing
'<lowwater>,<highwater>', in bytes, as an argument to
--enable-server-flow-control. The low water mark defaults to one
megabyte and the high water mark defaults to two megabytes.
$ ./configure --enable-server-flow-control=1M,2M
The --with-tmpdir argument to configure may be used to set a
specific directory for use as a default temporary directory. If not
set, configure will pick the first directory it finds which it has
read, write, and execute permissions to from $TMPDIR, $TMP, $TEMP,
/tmp, and /var/tmp, in that order. Failing that, it will use /tmp.
The --with-umask argument to configure can be used to change
the default umask used by the CVS server executable.
Unlike previous versions of CVS, you do not need to install RCS
or GNU diff.
NOTE: The configure program will cache the results of the previous
configure execution. If you need to re-run configure from scratch, you
may need to run "make distclean" first to remove the cached
configuration information.
If you are using gcc and are planning to modify CVS, you may want to
configure with -Wall; see the file HACKING for details.
@ -431,7 +454,7 @@ following also works:
C:\> vcvars32
C:\> nmake /f cvsnt.mak CFG="cvsnt - Win32 Debug"
* You might also try http://wincvs.org & http://www.cvsnt.org
* You might also try http://cvsgui.org & http://www.cvsnt.org
-------------------------------------------------------------------------------
@ -441,8 +464,9 @@ For OS/2, see os2/README and emx/README.
For VMS, see README.VMS
For Macintosh, see macintosh/README.MacCVS, or, since that file isn't there
anymore, you might try http://wincvs.org .
Mac OS X: Builds fine, just like UNIX.
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

View File

@ -12,8 +12,6 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
AUTOMAKE_OPTIONS = 1.5 dist-bzip2
## Subdirectories to run make in for the primary targets.
# Unix source subdirs, where we'll want to run lint and etags:
# This is a legacy variable from b4 Automake

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 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
# 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,
@ -25,7 +26,6 @@
# 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@
@ -56,9 +56,13 @@ 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@
@ -68,22 +72,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CSH = @CSH@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
EDITOR = @EDITOR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LN_S = @LN_S@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
@ -92,8 +100,6 @@ am__quote = @am__quote@
includeopt = @includeopt@
install_sh = @install_sh@
AUTOMAKE_OPTIONS = 1.5 dist-bzip2
# Unix source subdirs, where we'll want to run lint and etags:
# This is a legacy variable from b4 Automake
USOURCE_SUBDIRS = lib zlib diff src
@ -123,7 +129,7 @@ EXTRA_DIST = \
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h $(top_builddir)/src/options.h
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = cvs.spec emx/Makefile os2/Makefile zlib/Makefile
DIST_SOURCES =
@ -131,23 +137,23 @@ 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 ./stamp-h1.in AUTHORS COPYING COPYING.LIB \
ChangeLog INSTALL Makefile.am Makefile.in NEWS TODO acconfig.h \
acinclude.m4 aclocal.m4 compile config.h.in configure \
configure.in cvs.spec.in depcomp install-sh mdate-sh missing \
mkinstalldirs
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
.SUFFIXES:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$@ $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
@ -156,39 +162,31 @@ $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENC
$(ACLOCAL_M4): configure.in acinclude.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1 stamp-h1T
@echo timestamp > stamp-h1T 2> /dev/null
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
$(SHELL) ./config.status
@mv stamp-h1T stamp-h1
$(srcdir)/config.h.in: $(srcdir)/./stamp-h1.in
@if test ! -f $@; then \
rm -f $(srcdir)/./stamp-h1.in; \
$(MAKE) $(srcdir)/./stamp-h1.in; \
else :; fi
$(srcdir)/./stamp-h1.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h
@rm -f $(srcdir)/./stamp-h1.in $(srcdir)/./stamp-h1.inT
@echo timestamp > $(srcdir)/./stamp-h1.inT 2> /dev/null
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER)
@mv $(srcdir)/./stamp-h1.inT $(srcdir)/./stamp-h1.in
touch $(srcdir)/config.h.in
distclean-hdr:
-rm -f config.h
-rm -f config.h stamp-h1
cvs.spec: $(top_builddir)/config.status cvs.spec.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $@
emx/Makefile: $(top_builddir)/config.status $(top_srcdir)/emx/Makefile.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $@
os2/Makefile: $(top_builddir)/config.status $(top_srcdir)/os2/Makefile.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $@
zlib/Makefile: $(top_builddir)/config.status $(top_srcdir)/zlib/Makefile.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $@
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
@ -198,7 +196,7 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $(MAKEFLAGS); amf=$$2; \
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@ -218,7 +216,7 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@ -246,16 +244,19 @@ tags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
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; }'`; \
mkid -fID $$unique $(LISP)
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@ -266,51 +267,61 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
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 "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
# Avoid unsightly `./'.
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/. $(distdir)/contrib $(distdir)/emx $(distdir)/os2 $(distdir)/src $(distdir)/zlib
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@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 \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
for subdir in $(SUBDIRS); do \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
@ -328,27 +339,33 @@ distdir: $(DISTFILES)
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist: distdir
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
$(am__remove_distdir)
dist-bzip2: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
$(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
chmod a-w $(distdir)
dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
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 \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@ -356,17 +373,24 @@ distcheck: dist
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| (echo "Error: files left after uninstall" 1>&2; \
exit 1) ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& $(MAKE) $(AM_MAKEFLAGS) distclean \
|| { 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 \
&& (test `find . -type f -print | wc -l` -eq 0 \
|| (echo "Error: files left after distclean" 1>&2; \
exit 1) )
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
distcleancheck: distclean
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 after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile config.h
@ -384,6 +408,7 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -391,7 +416,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -400,12 +425,8 @@ clean: clean-recursive
clean-am: clean-generic mostlyclean-am
dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
distclean: distclean-recursive
-rm -f config.status config.cache config.log
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive
@ -427,7 +448,8 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf autom4te.cache
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
@ -440,10 +462,10 @@ uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-recursive dist dist-all dist-bzip2 \
distcheck distclean distclean-generic distclean-hdr \
distclean-recursive distclean-tags distdir dvi dvi-am \
dvi-recursive info info-am info-recursive install install-am \
install-data install-data-am install-data-recursive \
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 \
install-info install-info-am install-info-recursive install-man \
install-recursive install-strip installcheck installcheck-am \

View File

@ -1,4 +1,28 @@
Changes since 1.11.1p1:
Changes since 1.11.2:
* When waiting for another user's lock, the message timestamps are now
in UTC rather than the server's local time.
* We've standardized on Automake version 1.6.3 and Autoconf version 2.53.
They are cleaner, less bug prone, and will hopfully allow me to start updating
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.
Changes from 1.11.1p1 to 1.11.2:
* There is a new feature, enabled by RereadLogAfterVerify in CVSROOT/config,
which tells CVS to reread the log message after running the verifymsg
script. This allows the verifymsg script to reformat or otherwise
modify the log message.
* The interpretation of revision ranges using :: in "log" and "rlog"
has changed: a::b now excludes the log message from revision a but
includes the log message from revision b. Also, revision ranges that
cross branch points should now work.
* zlib has been updated to version 1.4. There is a security advisory
out in regards to 1.3. This should fix that problem.
* The "log" and "rlog" commands now have a -S option to suppress the
header information when no revisions are selected.

View File

@ -395,11 +395,11 @@ trying to accomplish and what the best way is -kingdon, Jul 1997).
the checkout and update commands that could turn this invocation of the
script off, for mature users.
173. We have a tagged branch in CVS. How do we get the version of that branch
(for an entire directory) that corresponds to the files on that branch on a
certain day? I'd like to specify BOTH -r and -D to 'cvs checkout', but I
can't. It looks like I can only specify the date for the main line (as
opposed to any branches). True? Any workarounds to get what I need?
173. Need generic date-on-branch handling. Currently, many commands
allow both -r and -D, but that's problematic for commands like diff
that interpret that as two revisions rather than a single revision.
Checkout and update -j takes tag:date which is probably a better
solution overall.
174. I would like to see "cvs release" modified so that it only removes files
which are known to CVS - all the files in the repository, plus those which
@ -808,9 +808,9 @@ properly. This should ease patch submission.
201. cvs_temp_file should be creating temporary files in a privately owned
subdirectory of of temp due to security issues on some systems.
202. Merge most of the diff & rdiff code. Enable rdiff to accept most
diff options. Make rdiff output look like diff's. Make CVS diff
garbage go to stderr and only standard diff output go to stdout.
202. Enable rdiff to accept most diff options. Make rdiff output look
like diff's. Make CVS diff garbage go to stderr and only standard diff
output go to stdout.
203. Add val-tags additions to the tagging code. Don't remove the
update additions since val-tags could still be used as a cache when the
@ -828,8 +828,84 @@ 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.
207. Fix the branch following logic in log to work with CVS branching.
Right now the code assumes RCS branching where all revisions on the
branch have the same number of components in their revision numbers and
that isn't true for CVS (revisions 1.2 and 2.4.6.8 can be on the same
branch in CVS).
208. Merge enhancements to the diff package back into the original GNU source.
209. Go through this file and try to:
a. Verify that items are still valid.
b. Create test cases for valid items when they don't exist.
c. Remove fixed and no longer applicable items.
210. Explain to sanity.sh how to deal with paths with spaces and other odd
characters in them.
211. Make sanity.sh run under the Win32 bash (cygwin) and maybe other Windex
environments (e.g. DGSS or whatever the MSVC portability environemnt is called).
212. Autotestify (see autoconf source) sanity.sh.
213. Examine desirability of updating the regex library (regex.{c,h}) to the
more recent versions that come with glibc and emacs. It might be worth waiting
for the emacs folks to get their act together and merge their changes into the
glibc version.
214. Make options.h options configure script options instead.
215. Add reditors and rwatchers commands.
- Is an r* command abstraction layer possible here for the commands
where this makes sense? Would it be simpler? It seems to me the
major operational differences lie in the file list construction.
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.
224. Better timezone handling. Many people would like to see times
output in local time rather than UTC, but that's tricky since the
conversion from internal form is currently done by the server who has no
idea what the user's timezone even is, let alone the rules for
converting to it.
- On the contrary, I think the MT server response should be easily adaptable
for this purpose. It is defined in cvsclient.texi as processed by the client
if it knows how and printed to stdout otherwise. A "time" tag or the like
could be the usual CVS server UTC time string. An old client could just print
the time in UTC and a new client would know that it could convert the time to a
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.

View File

@ -8,7 +8,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. */
AC_DEFUN(ACX_WITH_GSSAPI,[
AC_DEFUN([ACX_WITH_GSSAPI],[
#
# Use --with-gssapi[=DIR] to enable GSSAPI support.
#
@ -16,9 +16,12 @@ AC_DEFUN(ACX_WITH_GSSAPI,[
#
# Search for /SUNHEA/ and read the comments about this default below.
#
AC_ARG_WITH([gssapi],
[ --with-gssapi=value GSSAPI directory],
[acx_gssapi_withgssapi=$withval], [acx_gssapi_withgssapi=yes])dnl
AC_ARG_WITH(
[gssapi],
AC_HELP_STRING(
[--with-gssapi],
[GSSAPI directory (default autoselects)]), ,
[with_gssapi=yes])dnl
dnl
dnl FIXME - cache withval and obliterate later cache values when options change
@ -34,7 +37,7 @@ if test -n "$acx_gssapi_cv_gssapi"; then
AC_MSG_CHECKING([for GSSAPI])
else :; fi
AC_CACHE_VAL([acx_gssapi_cv_gssapi], [
if test x$acx_gssapi_withgssapi = xyes; then
if test x$with_gssapi = xyes; then
# --with but no location specified
# assume a gssapi.h or gssapi/gssapi.h locates our install.
#
@ -53,10 +56,12 @@ if test x$acx_gssapi_withgssapi = xyes; then
break
fi
if test x$acx_gssapi_cv_gssapi = xyes; then
AC_CHECKING([for GSSAPI])
AC_MSG_CHECKING([for GSSAPI])
AC_MSG_RESULT([])
else
CPPFLAGS="$acx_gssapi_save_CPPFLAGS -I$acx_gssapi_cv_gssapi/include"
AC_CHECKING([for GSSAPI in $acx_gssapi_cv_gssapi])
AC_MSG_CHECKING([for GSSAPI in $acx_gssapi_cv_gssapi])
AC_MSG_RESULT([])
fi
unset ac_cv_header_gssapi_h
unset ac_cv_header_gssapi_gssapi_h
@ -70,7 +75,7 @@ if test x$acx_gssapi_withgssapi = xyes; then
done
CPPFLAGS=$acx_gssapi_save_CPPFLAGS
else
acx_gssapi_cv_gssapi=$acx_gssapi_withgssapi
acx_gssapi_cv_gssapi=$with_gssapi
fi
AC_MSG_CHECKING([for GSSAPI])
])dnl
@ -93,7 +98,8 @@ fi
#
if test x$acx_gssapi_cv_gssapi != xno; then
# define HAVE_GSSAPI and set up the includes
AC_DEFINE([HAVE_GSSAPI],, [Define if you have GSSAPI with Kerberos version 5 available.])
AC_DEFINE([HAVE_GSSAPI], ,
[Define if you have GSSAPI with Kerberos version 5 available.])
includeopt=$includeopt$GSSAPI_INCLUDES
# locate any other headers
@ -103,37 +109,61 @@ if test x$acx_gssapi_cv_gssapi != xno; then
dnl easier to spot errors by reading configure output
AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h gssapi/gssapi_generic.h krb5.h])
# And look through them for GSS_C_NT_HOSTBASED_SERVICE or its alternatives
AC_CACHE_CHECK([for GSS_C_NT_HOSTBASED_SERVICE], [acx_gssapi_cv_gss_c_nt_hostbased_service],
[acx_gssapi_cv_gss_c_nt_hostbased_service=no
AC_CACHE_CHECK(
[for GSS_C_NT_HOSTBASED_SERVICE],
[acx_gssapi_cv_gss_c_nt_hostbased_service],
[
acx_gssapi_cv_gss_c_nt_hostbased_service=no
if test "$ac_cv_header_gssapi_h" = "yes"; then
AC_EGREP_HEADER([GSS_C_NT_HOSTBASED_SERVICE], [gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=yes],
AC_EGREP_HEADER([gss_nt_service_name], [gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name]))
AC_EGREP_HEADER(
[GSS_C_NT_HOSTBASED_SERVICE], [gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=yes],
[
AC_EGREP_HEADER(
[gss_nt_service_name], [gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name])
])
fi
if test $acx_gssapi_cv_gss_c_nt_hostbased_service = no &&
test "$ac_cv_header_gssapi_gssapi_h" = "yes"; then
AC_EGREP_HEADER([GSS_C_NT_HOSTBASED_SERVICE], [gssapi/gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service],
AC_EGREP_HEADER([gss_nt_service_name], [gssapi/gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name]))
fi
test "$ac_cv_header_gssapi_gssapi_h" = "yes"; then
AC_EGREP_HEADER(
[GSS_C_NT_HOSTBASED_SERVICE], [gssapi/gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=yes],
[
AC_EGREP_HEADER([gss_nt_service_name], [gssapi/gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name])
])
else :; fi
if test $acx_gssapi_cv_gss_c_nt_hostbased_service = no &&
test "$ac_cv_header_gssapi_gssapi_generic_h" = "yes"; then
AC_EGREP_HEADER([GSS_C_NT_HOSTBASED_SERVICE], [gssapi/gssapi_generic.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service],
AC_EGREP_HEADER([gss_nt_service_name], [gssapi/gssapi_generic.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name]))
fi])
test "$ac_cv_header_gssapi_gssapi_generic_h" = "yes"; then
AC_EGREP_HEADER(
[GSS_C_NT_HOSTBASED_SERVICE], [gssapi/gssapi_generic.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=yes],
[
AC_EGREP_HEADER(
[gss_nt_service_name], [gssapi/gssapi_generic.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name])
])
else :; fi
])
if test $acx_gssapi_cv_gss_c_nt_hostbased_service != yes &&
test $acx_gssapi_cv_gss_c_nt_hostbased_service != no; then
test $acx_gssapi_cv_gss_c_nt_hostbased_service != no; then
# don't define for yes since that means it already means something and
# don't define for no since we'd rather the compiler catch the error
AC_DEFINE_UNQUOTED([GSS_C_NT_HOSTBASED_SERVICE], [$acx_gssapi_cv_gss_c_nt_hostbased_service],
# It's debatable whether we'd prefer that the compiler catch the error
# - it seems our estranged developer is more likely to be familiar with
# the intricacies of the compiler than with those of autoconf, but by
# the same token, maybe we'd rather alert them to the fact that most
# of the support they need to fix the problem is installed if they can
# simply locate the appropriate symbol.
AC_DEFINE_UNQUOTED(
[GSS_C_NT_HOSTBASED_SERVICE],
[$acx_gssapi_cv_gss_c_nt_hostbased_service],
[Define to an alternative value if GSS_C_NT_HOSTBASED_SERVICE isn't defined
in the gssapi.h header file. MIT Kerberos 1.2.1 requires this. Only relevant
when using GSSAPI.])
fi
else :; fi
CPPFLAGS=$acx_gssapi_save_CPPFLAGS
# Expect the libs to be installed parallel to the headers

722
contrib/cvs/aclocal.m4 vendored
View File

@ -1,6 +1,6 @@
# aclocal.m4 generated automatically by aclocal 1.5
# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
# 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,
@ -21,7 +21,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. */
AC_DEFUN(ACX_WITH_GSSAPI,[
AC_DEFUN([ACX_WITH_GSSAPI],[
#
# Use --with-gssapi[=DIR] to enable GSSAPI support.
#
@ -29,9 +29,12 @@ AC_DEFUN(ACX_WITH_GSSAPI,[
#
# Search for /SUNHEA/ and read the comments about this default below.
#
AC_ARG_WITH([gssapi],
[ --with-gssapi=value GSSAPI directory],
[acx_gssapi_withgssapi=$withval], [acx_gssapi_withgssapi=yes])dnl
AC_ARG_WITH(
[gssapi],
AC_HELP_STRING(
[--with-gssapi],
[GSSAPI directory (default autoselects)]), ,
[with_gssapi=yes])dnl
dnl
dnl FIXME - cache withval and obliterate later cache values when options change
@ -47,7 +50,7 @@ if test -n "$acx_gssapi_cv_gssapi"; then
AC_MSG_CHECKING([for GSSAPI])
else :; fi
AC_CACHE_VAL([acx_gssapi_cv_gssapi], [
if test x$acx_gssapi_withgssapi = xyes; then
if test x$with_gssapi = xyes; then
# --with but no location specified
# assume a gssapi.h or gssapi/gssapi.h locates our install.
#
@ -66,10 +69,12 @@ if test x$acx_gssapi_withgssapi = xyes; then
break
fi
if test x$acx_gssapi_cv_gssapi = xyes; then
AC_CHECKING([for GSSAPI])
AC_MSG_CHECKING([for GSSAPI])
AC_MSG_RESULT([])
else
CPPFLAGS="$acx_gssapi_save_CPPFLAGS -I$acx_gssapi_cv_gssapi/include"
AC_CHECKING([for GSSAPI in $acx_gssapi_cv_gssapi])
AC_MSG_CHECKING([for GSSAPI in $acx_gssapi_cv_gssapi])
AC_MSG_RESULT([])
fi
unset ac_cv_header_gssapi_h
unset ac_cv_header_gssapi_gssapi_h
@ -83,7 +88,7 @@ if test x$acx_gssapi_withgssapi = xyes; then
done
CPPFLAGS=$acx_gssapi_save_CPPFLAGS
else
acx_gssapi_cv_gssapi=$acx_gssapi_withgssapi
acx_gssapi_cv_gssapi=$with_gssapi
fi
AC_MSG_CHECKING([for GSSAPI])
])dnl
@ -106,7 +111,8 @@ fi
#
if test x$acx_gssapi_cv_gssapi != xno; then
# define HAVE_GSSAPI and set up the includes
AC_DEFINE([HAVE_GSSAPI],, [Define if you have GSSAPI with Kerberos version 5 available.])
AC_DEFINE([HAVE_GSSAPI], ,
[Define if you have GSSAPI with Kerberos version 5 available.])
includeopt=$includeopt$GSSAPI_INCLUDES
# locate any other headers
@ -116,37 +122,61 @@ if test x$acx_gssapi_cv_gssapi != xno; then
dnl easier to spot errors by reading configure output
AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h gssapi/gssapi_generic.h krb5.h])
# And look through them for GSS_C_NT_HOSTBASED_SERVICE or its alternatives
AC_CACHE_CHECK([for GSS_C_NT_HOSTBASED_SERVICE], [acx_gssapi_cv_gss_c_nt_hostbased_service],
[acx_gssapi_cv_gss_c_nt_hostbased_service=no
AC_CACHE_CHECK(
[for GSS_C_NT_HOSTBASED_SERVICE],
[acx_gssapi_cv_gss_c_nt_hostbased_service],
[
acx_gssapi_cv_gss_c_nt_hostbased_service=no
if test "$ac_cv_header_gssapi_h" = "yes"; then
AC_EGREP_HEADER([GSS_C_NT_HOSTBASED_SERVICE], [gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=yes],
AC_EGREP_HEADER([gss_nt_service_name], [gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name]))
AC_EGREP_HEADER(
[GSS_C_NT_HOSTBASED_SERVICE], [gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=yes],
[
AC_EGREP_HEADER(
[gss_nt_service_name], [gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name])
])
fi
if test $acx_gssapi_cv_gss_c_nt_hostbased_service = no &&
test "$ac_cv_header_gssapi_gssapi_h" = "yes"; then
AC_EGREP_HEADER([GSS_C_NT_HOSTBASED_SERVICE], [gssapi/gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service],
AC_EGREP_HEADER([gss_nt_service_name], [gssapi/gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name]))
fi
test "$ac_cv_header_gssapi_gssapi_h" = "yes"; then
AC_EGREP_HEADER(
[GSS_C_NT_HOSTBASED_SERVICE], [gssapi/gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=yes],
[
AC_EGREP_HEADER([gss_nt_service_name], [gssapi/gssapi.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name])
])
else :; fi
if test $acx_gssapi_cv_gss_c_nt_hostbased_service = no &&
test "$ac_cv_header_gssapi_gssapi_generic_h" = "yes"; then
AC_EGREP_HEADER([GSS_C_NT_HOSTBASED_SERVICE], [gssapi/gssapi_generic.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service],
AC_EGREP_HEADER([gss_nt_service_name], [gssapi/gssapi_generic.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name]))
fi])
test "$ac_cv_header_gssapi_gssapi_generic_h" = "yes"; then
AC_EGREP_HEADER(
[GSS_C_NT_HOSTBASED_SERVICE], [gssapi/gssapi_generic.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=yes],
[
AC_EGREP_HEADER(
[gss_nt_service_name], [gssapi/gssapi_generic.h],
[acx_gssapi_cv_gss_c_nt_hostbased_service=gss_nt_service_name])
])
else :; fi
])
if test $acx_gssapi_cv_gss_c_nt_hostbased_service != yes &&
test $acx_gssapi_cv_gss_c_nt_hostbased_service != no; then
test $acx_gssapi_cv_gss_c_nt_hostbased_service != no; then
# don't define for yes since that means it already means something and
# don't define for no since we'd rather the compiler catch the error
AC_DEFINE_UNQUOTED([GSS_C_NT_HOSTBASED_SERVICE], [$acx_gssapi_cv_gss_c_nt_hostbased_service],
# It's debatable whether we'd prefer that the compiler catch the error
# - it seems our estranged developer is more likely to be familiar with
# the intricacies of the compiler than with those of autoconf, but by
# the same token, maybe we'd rather alert them to the fact that most
# of the support they need to fix the problem is installed if they can
# simply locate the appropriate symbol.
AC_DEFINE_UNQUOTED(
[GSS_C_NT_HOSTBASED_SERVICE],
[$acx_gssapi_cv_gss_c_nt_hostbased_service],
[Define to an alternative value if GSS_C_NT_HOSTBASED_SERVICE isn't defined
in the gssapi.h header file. MIT Kerberos 1.2.1 requires this. Only relevant
when using GSSAPI.])
fi
else :; fi
CPPFLAGS=$acx_gssapi_save_CPPFLAGS
# Expect the libs to be installed parallel to the headers
@ -245,11 +275,30 @@ when using GSSAPI.])
fi
])dnl
# Do all the work for Automake. 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.
# Do all the work for Automake. -*- Autoconf -*-
# serial 5
# 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 1996, 1997, 1998, 1999, 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.
# 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 8
# 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,
@ -258,62 +307,52 @@ fi
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# We require 2.13 because we rely on SHELL being computed by configure.
AC_PREREQ([2.13])
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
# -----------------------------------------------------------
# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
# The purpose of this macro is to provide the user with a means to
# check macros which are provided without letting her know how the
# information is coded.
# If this macro is not defined by Autoconf, define it here.
ifdef([AC_PROVIDE_IFELSE],
[],
[define([AC_PROVIDE_IFELSE],
[ifdef([AC_PROVIDE_$1],
[$2], [$3])])])
# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
# ----------------------------------------------
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured
if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
fi
# Define the identity of the package.
PACKAGE=$1
AC_SUBST(PACKAGE)dnl
VERSION=$2
AC_SUBST(VERSION)dnl
ifelse([$3],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
AC_PREREQ([2.52])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# the ones we care about.
ifdef([m4_pattern_allow],
[m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
# Autoconf 2.50 always computes EXEEXT. However we need to be
# compatible with 2.13, for now. So we always define EXEEXT, but we
# don't compute it.
AC_SUBST(EXEEXT)
# Similar for OBJEXT -- only we only use OBJEXT if the user actually
# requests that it be used. This is a bit dumb.
: ${OBJEXT=o}
AC_SUBST(OBJEXT)
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
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
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal)
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar)
@ -323,9 +362,9 @@ AM_PROG_INSTALL_STRIP
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_PROVIDE_IFELSE([AC_PROG_][CC],
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_][CC],
[_AM_DEPENDENCIES(CC)],
[define([AC_PROG_][CC],
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
@ -334,11 +373,102 @@ AC_PROVIDE_IFELSE([AC_PROG_][CXX],
[define([AC_PROG_][CXX],
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
])
])
# Copyright 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.
# 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
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# 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.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.6.3])])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright 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.
# 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 2
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# ------------------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
#
# Check to make sure that the build environment is sane.
#
# Copyright 1996, 1997, 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
# 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 3
# AM_SANITY_CHECK
@ -382,8 +512,27 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
# -*- Autoconf -*-
# serial 2
# Copyright 1997, 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
# 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 3
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@ -405,13 +554,29 @@ if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
am_backtick='`'
AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
AC_MSG_WARN([`missing' script is too old or missing])
fi
])
# AM_AUX_DIR_EXPAND
# Copyright 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
# 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.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@ -450,19 +615,59 @@ fi
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
# Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])
AC_DEFUN([AM_AUX_DIR_EXPAND], [
# expand $ac_aux_dir to an absolute path
am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
am_aux_dir=`cd $ac_aux_dir && pwd`
])
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
# Copyright 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
# 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.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# AM_PROG_INSTALL_STRIP
# Copyright 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
# 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.
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
@ -472,11 +677,35 @@ AC_SUBST(install_sh)])
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# serial 4 -*- Autoconf -*-
# 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
# 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.
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
@ -488,9 +717,9 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# _AM_DEPENDENCIES(NAME)
# ---------------------
# ----------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX" or "OBJC".
# NAME is "CC", "CXX", "GCJ", or "OBJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@ -505,7 +734,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
@ -567,8 +796,7 @@ else
am_cv_$1_dependencies_compiler_type=none
fi
])
$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
AC_SUBST([$1DEPMODE])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
])
@ -586,7 +814,7 @@ else
DEPDIR=_deps
fi
rmdir .deps 2>/dev/null
AC_SUBST(DEPDIR)
AC_SUBST([DEPDIR])
])
@ -601,30 +829,48 @@ if test "x$enable_dependency_tracking" != xno; then
AMDEPBACKSLASH='\'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
pushdef([subst], defn([AC_SUBST]))
subst(AMDEPBACKSLASH)
popdef([subst])
AC_SUBST([AMDEPBACKSLASH])
])
# Generate code to set up dependency tracking.
# This macro should only be invoked once -- use via AC_REQUIRE.
# Usage:
# AM_OUTPUT_DEPENDENCY_COMMANDS
# Generate code to set up dependency tracking. -*- Autoconf -*-
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
AC_OUTPUT_COMMANDS([
test x"$AMDEP_TRUE" != x"" ||
for mf in $CONFIG_FILES; do
case "$mf" in
Makefile) dirpart=.;;
*/Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
*) continue;;
esac
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
# Copyright 1999, 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.
# 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 2
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named `Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
fi
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
@ -648,14 +894,46 @@ for mf in $CONFIG_FILES; do
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
$ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
fdir=`AS_DIRNAME(["$file"])`
AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
], [AMDEP_TRUE="$AMDEP_TRUE"
ac_aux_dir="$ac_aux_dir"])])
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# 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
# 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 2
# AM_MAKE_INCLUDE()
# -----------------
@ -668,7 +946,7 @@ 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])
am__include='#'
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
@ -688,7 +966,7 @@ if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
am__include=.include
am__quote='"'
am__quote="\""
_am_result=BSD
fi
fi
@ -698,23 +976,35 @@ AC_MSG_RESULT($_am_result)
rm -f confinc confmf
])
# serial 3
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright 1997, 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
# 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 5
AC_PREREQ(2.52)
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
#
# FIXME: Once using 2.50, use this:
# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_DEFUN([AM_CONDITIONAL],
[ifelse([$1], [TRUE],
[errprint(__file__:__line__: [$0: invalid condition: $1
])dnl
m4exit(1)])dnl
ifelse([$1], [FALSE],
[errprint(__file__:__line__: [$0: invalid condition: $1
])dnl
m4exit(1)])dnl
[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])
AC_SUBST([$1_FALSE])
if $2; then
@ -723,80 +1013,114 @@ if $2; then
else
$1_TRUE='#'
$1_FALSE=
fi])
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([conditional \"$1\" was never defined.
Usually this means the macro was only invoked conditionally.])
fi])])
# Like AC_CONFIG_HEADER, but automatically create stamp file.
# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
# serial 3
# Copyright 1996, 1997, 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
# 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.
AC_PREREQ([2.52])
# serial 6
# 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 "/".
AC_PREREQ([2.12])
AC_DEFUN([AM_CONFIG_HEADER],
[ifdef([AC_FOREACH],dnl
[dnl init our file count if it isn't already
m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
dnl prepare to store our destination file list for use in config.status
AC_FOREACH([_AM_File], [$1],
[m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
dnl and add it to the list of files AC keeps track of, along
dnl with our hook
AC_CONFIG_HEADERS(_AM_File,
dnl COMMANDS, [, INIT-CMDS]
[# update the timestamp
echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
m4_popdef([_AM_Dest])])],dnl
[AC_CONFIG_HEADER([$1])
AC_OUTPUT_COMMANDS(
ifelse(patsubst([$1], [[^ ]], []),
[],
[test -z "$CONFIG_HEADERS" || echo timestamp >dnl
patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
[am_indx=1
for am_file in $1; do
case " \$CONFIG_HEADERS " in
*" \$am_file "*)
am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
if test -n "\$am_dir"; then
am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
am_tmpdir=\$am_tmpdir\$am_subdir/
if test ! -d \$am_tmpdir; then
mkdir \$am_tmpdir
fi
done
fi
echo timestamp > "\$am_dir"stamp-h\$am_indx
;;
esac
am_indx=\`expr \$am_indx + 1\`
done])
])]) # AM_CONFIG_HEADER
# _AM_DIRNAME(PATH)
# -----------------
# Like AS_DIRNAME, only do it during macro expansion
AC_DEFUN([_AM_DIRNAME],
[m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
m4_if(m4_regexp([$1], [^/.*]), -1,
[m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
m4_if(regexp([$1], [^/.*]), -1,
[.],
m4_patsubst([$1], [^\(/\).*], [\1])),
m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
]) # _AM_DIRNAME
patsubst([$1], [^\(/\).*], [\1])),
patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
])# _AM_DIRNAME
# 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])
# _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])
# _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
# 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
# AM_PROG_CC_C_O
# --------------
# Like AC_PROG_CC_C_O, but changed for automake.
# 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
# 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.
AC_DEFUN([AM_PROG_CC_C_O],
[AC_REQUIRE([AC_PROG_CC_C_O])dnl
AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
@ -814,21 +1138,3 @@ if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
fi
])
#serial 1
# This test replaces the one in autoconf.
# Currently this macro should have the same name as the autoconf macro
# because gettext's gettext.m4 (distributed in the automake package)
# still uses it. Otherwise, the use in gettext.m4 makes autoheader
# give these diagnostics:
# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
undefine([AC_ISC_POSIX])
AC_DEFUN([AC_ISC_POSIX],
[
dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
]
)

View File

@ -1,348 +1,474 @@
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* config.h.in. Generated from configure.in by autoheader. */
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
#undef _ALL_SOURCE
#endif
/* Enable AUTH_CLIENT_SUPPORT to enable pserver as a remote access method in
the CVS client (default) */
#undef AUTH_CLIENT_SUPPORT
/* Define if the closedir function returns void instead of int. */
#undef CLOSEDIR_VOID
/* Define to empty if the keyword does not work. */
#undef const
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define if your system has a working fnmatch function. */
#undef HAVE_FNMATCH
/* Define if you support file names longer than 14 characters. */
#undef HAVE_LONG_FILE_NAMES
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define if your struct stat has st_blksize. */
#undef HAVE_ST_BLKSIZE
/* Define if your struct stat has st_rdev. */
#undef HAVE_ST_RDEV
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define if utime(file, NULL) sets file's timestamp to the present. */
#undef HAVE_UTIME_NULL
/* Define if you have <vfork.h>. */
#undef HAVE_VFORK_H
/* Define if on MINIX. */
#undef _MINIX
/* Define to `int' if <sys/types.h> doesn't define. */
#undef mode_t
/* Define if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
/* Define if the system does not provide POSIX.1 features except
with this defined. */
#undef _POSIX_1_SOURCE
/* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define vfork as fork if vfork does not work. */
#undef vfork
/* Define if you have MIT Kerberos version 4 available. */
#undef HAVE_KERBEROS
/* Define if you want CVS to be able to be a remote repository client. */
#undef CLIENT_SUPPORT
/* Define if you want CVS to be able to serve repositories to remote
clients. */
#undef SERVER_SUPPORT
/* Define if you want to use the password authenticated server. */
/* Define if you want to use the password authenticated server. */
#undef AUTH_SERVER_SUPPORT
/* Define if you want encryption support. */
/* Define if you want CVS to be able to be a remote repository client. */
#undef CLIENT_SUPPORT
/* Define to 1 if the `closedir' function returns void instead of `int'. */
#undef CLOSEDIR_VOID
/* When committing a permanent change, CVS and RCS make a log entry of who
committed the change. If you are committing the change logged in as "root"
(not under "su" or other root-priv giving program), CVS/RCS cannot
determine who is actually making the change. As such, by default, CVS
prohibits changes committed by users logged in as "root". You can disable
checking by passing the "--enable-rootcommit" option to configure or by
commenting out the lines below. */
#undef CVS_BADROOT
/* 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). */
#undef EDITOR_DFLT
/* Define to enable encryption support. */
#undef ENCRYPTION
/* Define if you have the connect function. */
/* 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 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. */
#undef FORCE_USE_EDITOR
/* Define to an alternative value if GSS_C_NT_HOSTBASED_SERVICE isn't defined
in the gssapi.h header file. MIT Kerberos 1.2.1 requires this. Only
relevant when using GSSAPI. */
#undef GSS_C_NT_HOSTBASED_SERVICE
/* Define if you have the connect function. */
#undef HAVE_CONNECT
/* Define if you have memchr (always for CVS). */
#undef HAVE_MEMCHR
/* Define if you have strchr (always for CVS). */
#undef HAVE_STRCHR
/* Define if utime requires write access to the file (true on Windows,
but not Unix). */
#undef UTIME_EXPECTS_WRITABLE
/* Define if setmode is required when writing binary data to stdout. */
#undef USE_SETMODE_STDOUT
/* Define if the diff library should use setmode for binary files.
FIXME: Why two different macros for setmode? */
#undef HAVE_SETMODE
/* Define if you have the crypt function. */
/* Define if you have the crypt function. */
#undef HAVE_CRYPT
/* Define if you have the getspnam function. */
#undef HAVE_GETSPNAM
/* Define to force lib/regex.c to use malloc instead of alloca. */
#undef REGEX_MALLOC
/* Define to force lib/regex.c to define re_comp et al. */
#undef _REGEX_RE_COMP
/* Define if you have the dup2 function. */
#undef HAVE_DUP2
/* Define if you have the fchdir function. */
#undef HAVE_FCHDIR
/* Define if you have the fchmod function. */
#undef HAVE_FCHMOD
/* Define if you have the fsync function. */
#undef HAVE_FSYNC
/* Define if you have the ftime function. */
#undef HAVE_FTIME
/* Define if you have the ftruncate function. */
#undef HAVE_FTRUNCATE
/* Define if you have the getgroups function. */
#undef HAVE_GETGROUPS
/* Define if you have the getpagesize function. */
#undef HAVE_GETPAGESIZE
/* Define if you have the getpassphrase function. */
#undef HAVE_GETPASSPHRASE
/* Define if you have the gettimeofday function. */
#undef HAVE_GETTIMEOFDAY
/* Define if you have the initgroups function. */
#undef HAVE_INITGROUPS
/* Define if you have the krb_get_err_text function. */
#undef HAVE_KRB_GET_ERR_TEXT
/* Define if you have the memmove function. */
#undef HAVE_MEMMOVE
/* Define if you have the mkdir function. */
#undef HAVE_MKDIR
/* Define if you have the mknod function. */
#undef HAVE_MKNOD
/* Define if you have the mkstemp function. */
#undef HAVE_MKSTEMP
/* Define if you have the mktemp function. */
#undef HAVE_MKTEMP
/* Define if you have the nanosleep function. */
#undef HAVE_NANOSLEEP
/* Define if you have the putenv function. */
#undef HAVE_PUTENV
/* Define if you have the readlink function. */
#undef HAVE_READLINK
/* Define if you have the rename function. */
#undef HAVE_RENAME
/* Define if you have the select function. */
#undef HAVE_SELECT
/* Define if you have the sigaction function. */
#undef HAVE_SIGACTION
/* Define if you have the sigblock function. */
#undef HAVE_SIGBLOCK
/* Define if you have the sigprocmask function. */
#undef HAVE_SIGPROCMASK
/* Define if you have the sigsetmask function. */
#undef HAVE_SIGSETMASK
/* Define if you have the sigvec function. */
#undef HAVE_SIGVEC
/* Define if you have the strerror function. */
#undef HAVE_STRERROR
/* Define if you have the strstr function. */
#undef HAVE_STRSTR
/* Define if you have the strtoul function. */
#undef HAVE_STRTOUL
/* Define if you have the tempnam function. */
#undef HAVE_TEMPNAM
/* Define if you have the timezone function. */
#undef HAVE_TIMEZONE
/* Define if you have the tzset function. */
#undef HAVE_TZSET
/* Define if you have the usleep function. */
#undef HAVE_USLEEP
/* Define if you have the valloc function. */
#undef HAVE_VALLOC
/* Define if you have the vprintf function. */
#undef HAVE_VPRINTF
/* Define if you have the wait3 function. */
#undef HAVE_WAIT3
/* Define if you have the waitpid function. */
#undef HAVE_WAITPID
/* Define if you have the <direct.h> header file. */
/* Define to 1 if you have the <direct.h> header file. */
#undef HAVE_DIRECT_H
/* Define if you have the <dirent.h> header file. */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
/* Define if you have the <errno.h> header file. */
/* Define to 1 if you have the `dup2' function. */
#undef HAVE_DUP2
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define if you have the <fcntl.h> header file. */
/* Define to 1 if you have the `fchdir' function. */
#undef HAVE_FCHDIR
/* Define to 1 if you have the `fchmod' function. */
#undef HAVE_FCHMOD
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define if you have the <gssapi.h> header file. */
#undef HAVE_GSSAPI_H
/* Define to 1 if your system has a working `fnmatch' function. */
#undef HAVE_FNMATCH
/* Define if you have the <gssapi/gssapi.h> header file. */
#undef HAVE_GSSAPI_GSSAPI_H
/* Define to 1 if you have the <fnmatch.h> header file. */
#undef HAVE_FNMATCH_H
/* Define if you have the <gssapi/gssapi_generic.h> header file. */
#undef HAVE_GSSAPI_GSSAPI_GENERIC_H
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
/* Define if you have the <io.h> header file. */
#undef HAVE_IO_H
/* Define to 1 if you have the `fsync' function. */
#undef HAVE_FSYNC
/* Define if you have the <krb5.h> header file. */
#undef HAVE_KRB5_H
/* Define to 1 if you have the `ftime' function. */
#undef HAVE_FTIME
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE
/* Define if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `geteuid' function. */
#undef HAVE_GETEUID
/* Define if you have the <ndbm.h> header file. */
#undef HAVE_NDBM_H
/* Define to 1 if you have the `getgroups' function. */
#undef HAVE_GETGROUPS
/* Define if you have the <ndir.h> header file. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME
/* Define if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `getopt' function. */
#undef HAVE_GETOPT
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define if you have the <sys/bsdtypes.h> header file. */
#undef HAVE_SYS_BSDTYPES_H
/* Define to 1 if you have the `getpassphrase' function. */
#undef HAVE_GETPASSPHRASE
/* Define if you have the <sys/dir.h> header file. */
#undef HAVE_SYS_DIR_H
/* Define if you have the getspnam function. */
#undef HAVE_GETSPNAM
/* Define if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H
/* Define if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
/* Define if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
/* Define if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
/* Name of package */
#undef PACKAGE
/* Version number of package */
#undef VERSION
/* Path to the pr utility */
#undef PR_PROGRAM
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define if you have GSSAPI with Kerberos version 5 available. */
#undef HAVE_GSSAPI
/* Define to an alternative value if GSS_C_NT_HOSTBASED_SERVICE isn't defined
in the gssapi.h header file. MIT Kerberos 1.2.1 requires this. Only relevant
when using GSSAPI. */
#undef GSS_C_NT_HOSTBASED_SERVICE
/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
#undef HAVE_GSSAPI_GSSAPI_GENERIC_H
/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
#undef HAVE_GSSAPI_GSSAPI_H
/* Define to 1 if you have the <gssapi.h> header file. */
#undef HAVE_GSSAPI_H
/* Define to 1 if you have the `initgroups' function. */
#undef HAVE_INITGROUPS
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <io.h> header file. */
#undef HAVE_IO_H
/* Define if you have MIT Kerberos version 4 available. */
#undef HAVE_KERBEROS
/* Define to 1 if you have the <krb5.h> header file. */
#undef HAVE_KRB5_H
/* 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 `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the `login' function. */
#undef HAVE_LOGIN
/* Define to 1 if you have the `logout' function. */
#undef HAVE_LOGOUT
/* Define to 1 if you support file names longer than 14 characters. */
#undef HAVE_LONG_FILE_NAMES
/* Define if you have memchr (always for CVS). */
#undef HAVE_MEMCHR
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `mkdir' function. */
#undef HAVE_MKDIR
/* Define to 1 if you have the `mknod' function. */
#undef HAVE_MKNOD
/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP
/* Define to 1 if you have the `mktemp' function. */
#undef HAVE_MKTEMP
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define to 1 if you have the `nanosleep' function. */
#undef HAVE_NANOSLEEP
/* Define to 1 if you have the <ndbm.h> header file. */
#undef HAVE_NDBM_H
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
/* Define to 1 if you have the `regcomp' function. */
#undef HAVE_REGCOMP
/* Define to 1 if you have the `regerror' function. */
#undef HAVE_REGERROR
/* Define to 1 if you have the `regexec' function. */
#undef HAVE_REGEXEC
/* Define to 1 if you have the `regfree' function. */
#undef HAVE_REGFREE
/* Define to 1 if you have the `rename' function. */
#undef HAVE_RENAME
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define if the diff library should use setmode for binary files. */
#undef HAVE_SETMODE
/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION
/* Define to 1 if you have the `sigblock' function. */
#undef HAVE_SIGBLOCK
/* Define to 1 if you have the `sigprocmask' function. */
#undef HAVE_SIGPROCMASK
/* Define to 1 if you have the `sigsetmask' function. */
#undef HAVE_SIGSETMASK
/* Define to 1 if you have the `sigvec' function. */
#undef HAVE_SIGVEC
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define if you have strchr (always for CVS). */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if `st_blksize' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE
/* Define to 1 if `st_rdev' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_RDEV
/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
/* Define to 1 if you have the <sys/bsdtypes.h> header file. */
#undef HAVE_SYS_BSDTYPES_H
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the `tempnam' function. */
#undef HAVE_TEMPNAM
/* Define to 1 if you have the `timezone' function. */
#undef HAVE_TIMEZONE
/* Define to 1 if you have the `tzset' function. */
#undef HAVE_TZSET
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `usleep' function. */
#undef HAVE_USLEEP
/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
/* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */
#undef HAVE_UTIME_NULL
/* Define to 1 if you have the `valloc' function. */
#undef HAVE_VALLOC
/* Define to 1 if you have the `vfork' function. */
#undef HAVE_VFORK
/* Define to 1 if you have the <vfork.h> header file. */
#undef HAVE_VFORK_H
/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF
/* Define to 1 if you have the `wait3' function. */
#undef HAVE_WAIT3
/* Define to 1 if you have the `waitpid' function. */
#undef HAVE_WAITPID
/* Define to 1 if `fork' works. */
#undef HAVE_WORKING_FORK
/* Define to 1 if `vfork' works. */
#undef HAVE_WORKING_VFORK
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Path to the pr utility */
#undef PR_PROGRAM
/* Define to force lib/regex.c to use malloc instead of alloca. */
#undef REGEX_MALLOC
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* If you are working with a large remote repository and a 'cvs checkout' is
swamping your network and memory, define these to enable flow control. You
will end up with even less probability of a consistent checkout (see
Concurrency in cvs.texinfo), but CVS doesn't try to guarantee that anyway.
The master server process will monitor how far it is getting behind, if it
reaches the high water mark, it will signal the child process to stop
generating data when convenient (ie: no locks are held, currently at the
beginning of a new directory). Once the buffer has drained sufficiently to
reach the low water mark, it will be signalled to start again. */
#undef SERVER_FLOWCONTROL
/* The high water mark in bytes for server flow control. Required if
SERVER_FLOWCONTROL is defined, and useless otherwise. */
#undef SERVER_HI_WATER
/* The low water mark in bytes for server flow control. Required if
SERVER_FLOWCONTROL is defined, and useless otherwise. */
#undef SERVER_LO_WATER
/* Define if you want CVS to be able to serve repositories to remote clients.
*/
#undef SERVER_SUPPORT
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Directory used for storing temporary files, if not overridden by
environment variables or the -T global option. There should be little need
to change this (-T is a better mechanism if you need to use a different
directory for temporary files). */
#undef TMPDIR_DFLT
/* The default umask to use when creating or otherwise setting file or
directory permissions in the repository. Must be a value in the range of 0
through 0777. For example, a value of 002 allows group rwx access and world
rx access; a value of 007 allows group rwx access but no world access. This
value is overridden by the value of the CVSUMASK environment variable,
which is interpreted as an octal number. */
#undef UMASK_DFLT
/* Define if setmode is required when writing binary data to stdout. */
#undef USE_SETMODE_STDOUT
/* Define if utime requires write access to the file (true on Windows, but not
Unix). */
#undef UTIME_EXPECTS_WRITABLE
/* Define to 1 if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Define to force lib/regex.c to define re_comp et al. */
#undef _REGEX_RE_COMP
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to `int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define as `fork' if `vfork' does not work. */
#undef vfork

12147
contrib/cvs/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,11 @@
dnl configure.in for cvs
AC_INIT(src/cvs.h)
AM_INIT_AUTOMAKE(cvs, 1.11.2)
AC_PREREQ(2.13)
AC_INIT([Concurrent Versions System (CVS)],[1.11.2.1],[bug-cvs@gnu.org],[cvs])
AC_CONFIG_SRCDIR(src/cvs.h)
AM_INIT_AUTOMAKE([gnu 1.5 dist-bzip2 no-define])
AC_PREREQ(2.53)
AC_PREFIX_PROGRAM(cvs)
AM_CONFIG_HEADER(config.h src/options.h)
AM_CONFIG_HEADER(config.h)
AC_PROG_CC
AM_PROG_CC_C_O
@ -15,11 +17,52 @@ dnl These are here instead of later because they want to be called before
dnl anything that calls a C compiler.
AC_AIX
AC_MINIX
AC_ISC_POSIX
if test "$ISC" = yes; then
CFLAGS="$CFLAGS -D_SYSV3"
LIBS="-lcrypt $LIBS"
fi
# Find the posix library needed on INTERACTIVE UNIX (ISC)
dnl
dnl From the Autoconf 2.53 manual (AC_ISC_POSIX):
dnl
dnl For INTERACTIVE UNIX (ISC), add `-lcposix' to output variable
dnl `LIBS' if necessary for POSIX facilities. Call this after
dnl `AC_PROG_CC' and before any other macros that use POSIX
dnl interfaces. INTERACTIVE UNIX is no longer sold, and Sun says that
dnl they will drop support for it on 2006-07-23, so this macro is
dnl becoming obsolescent.
dnl
AC_SEARCH_LIBS([strerror], [cposix])
dnl
dnl Autoconf stopped setting $ISC sometime before 2.53
dnl
dnl If this is still important, someone should come up with a generic test
dnl for whether _SYSV3 needs to be defined. Removed code below:
dnl
dnl if test "$ISC" = yes; then
dnl CFLAGS="$CFLAGS -D_SYSV3"
dnl # And I don't like this... In theory it should be found later if server is
dnl # enabled, but maybe something on INTERACTIVE UNIX (ISC) we didn't ask to
dnl # link with crypt tries? Anyhow, the autoconf manual says we can delete
dnl # this ISC stuff on or after 2006-07-23 when Sun discontinues support and
dnl # ISC becomes obsolescent, but I suppose that is probably a matter of
dnl # opinion.
dnl #
dnl # N.B. The reason for doing this is that some moron decided to put a stub
dnl # for crypt in libc that always returns NULL. Without this here, the later
dnl # check will find the stub instead of the real thing, resulting in a server
dnl # that can't process crypted passwords correctly.
dnl
dnl # again, if we have to try and reenable this for ISC, someone should come
dnl # up with a generic test that figures out whether crypt is good or not -
dnl # Is it always returning NULL?
dnl LIBS="-lcrypt $LIBS"
dnl fi
dnl
dnl FIXME - This has been broken for at least a few months anyhow, so I'm
dnl removing the crypt lib define above, but the correct fix would be to
dnl provide a CRYPT_WORKS macro or the like that gets called sometime after
dnl the AC_SEARCH_LIBS call that normally finds crypt, and if crypt doesn't
dnl work, the macro should be retried with LIBS="-lcrypt $LIBS" forced.
dnl
AC_PROG_RANLIB
AC_PROG_YACC
@ -88,6 +131,7 @@ AC_CHECK_HEADERS(\
errno.h \
direct.h \
fcntl.h \
fnmatch.h \
io.h \
limits.h \
memory.h \
@ -114,10 +158,13 @@ AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
AC_STRUCT_ST_BLKSIZE
AC_STRUCT_ST_RDEV
AC_CHECK_MEMBERS([struct stat.st_blksize])
AC_CHECK_MEMBERS([struct stat.st_rdev])
AC_REPLACE_FUNCS(\
dup2 \
ftruncate \
gethostname \
memmove \
mkdir \
rename \
@ -132,17 +179,24 @@ AC_CHECK_FUNCS(\
fchmod \
fsync \
ftime \
ftruncate \
geteuid \
getgroups \
getopt \
getpagesize \
getpassphrase \
gettimeofday \
initgroups \
login \
logout \
mknod \
mkstemp \
mktemp \
putenv \
readlink \
regcomp \
regerror \
regexec \
regfree \
sigaction \
sigblock \
sigprocmask \
@ -166,17 +220,21 @@ dnl The CVS coding standard (as specified in HACKING) is that if it exists
dnl in SunOS4 and ANSI, we use it. CVS itself, of course, therefore doesn't
dnl need HAVE_* defines for such functions, but diff wants them.
dnl
AC_DEFINE(HAVE_STRCHR)
AC_DEFINE(HAVE_MEMCHR)
AC_DEFINE(HAVE_STRCHR, 1,
[Define if you have strchr (always for CVS).])
AC_DEFINE(HAVE_MEMCHR, 1,
[Define if you have memchr (always for CVS).])
dnl
dnl Force lib/regex.c to use malloc instead of messing around with alloca
dnl and define the old re_comp routines that we use.
dnl
AC_DEFINE(REGEX_MALLOC)
AC_DEFINE(_REGEX_RE_COMP)
AC_DEFINE(REGEX_MALLOC, 1,
[Define to force lib/regex.c to use malloc instead of alloca.])
AC_DEFINE(_REGEX_RE_COMP, 1,
[Define to force lib/regex.c to define re_comp et al.])
dnl
dnl AC_FUNC_VFORK is rather baroque. It seems to be rather more picky
dnl AC_FUNC_FORK([]) is rather baroque. It seems to be rather more picky
dnl than, say, the Single Unix Specification (version 2), which simplifies
dnl a lot of cases by saying that the child process can't set any variables
dnl (thus avoiding problems with register allocation) or call any functions
@ -186,9 +244,9 @@ dnl I think the only way to do redirection this way is by doing it in the
dnl parent, and then undoing it afterwards (analogous to windows-NT/run.c).
dnl That would appear to have a race condition if the user hits ^C (or
dnl some other signal) at the wrong time, as main_cleanup will try to use
dnl stdout/stderr. So maybe we are stuck with AC_FUNC_VFORK.
dnl stdout/stderr. So maybe we are stuck with AC_FUNC_FORK([]).
dnl
AC_FUNC_VFORK
AC_FUNC_FORK([])
AC_FUNC_CLOSEDIR_VOID
dnl
@ -197,24 +255,35 @@ dnl
dnl We used to try to determine whether shadow passwords were actually in
dnl use or not, but the code has been changed to work right reguardless,
dnl so we can go back to a simple check.
AC_SEARCH_LIBS(getspnam, sec gen, AC_DEFINE(HAVE_GETSPNAM))
AC_SEARCH_LIBS(getspnam, sec gen, AC_DEFINE(HAVE_GETSPNAM, 1,
[Define if you have the getspnam function.]))
AC_FUNC_UTIME_NULL
AC_SYS_LONG_FILE_NAMES
AC_FUNC_FNMATCH
if test "$ac_cv_func_fnmatch_works" = no; then
LIBOBJS="$LIBOBJS fnmatch.o"
AC_LIBOBJ(fnmatch)
AC_CONFIG_LINKS(lib/fnmatch.h:lib/fnmatch.h.in)
AC_LIBSOURCE(fnmatch.h.in)
fi
dnl for the buffer routine replacements
AC_FUNC_MMAP
# Try to find connect and gethostbyname.
AC_CHECK_LIB(nsl, main,
AC_SEARCH_LIBS(connect, xnet socket inet, AC_DEFINE(HAVE_CONNECT),, -lnsl),
AC_SEARCH_LIBS(connect, xnet socket inet, AC_DEFINE(HAVE_CONNECT)))
AC_SEARCH_LIBS(gethostbyname, netinet nsl)
AC_CHECK_LIB(nsl, main)
AC_SEARCH_LIBS(connect, xnet socket inet,
AC_DEFINE(HAVE_CONNECT, 1,
[Define if you have the connect function.]))
dnl no need to search nsl for gethostbyname here since we should have
dnl just added libnsl above if we found it.
AC_SEARCH_LIBS(gethostbyname, netinet)
dnl
dnl begin --with-*
dnl
dnl
dnl set $(KRB4) from --with-krb4=value -- WITH_KRB4
@ -225,11 +294,15 @@ dnl override the system -lkrb.
dnl
KRB4=/usr/kerberos
define(WITH_KRB4,[
AC_ARG_WITH([krb4],
[ --with-krb4=value set default \$(KRB4) from value],
[KRB4=$withval],
AC_ARG_WITH(
[krb4],
AC_HELP_STRING(
[--with-krb4],
[Kerberos 4 directory (default /usr/kerberos)]),
[KRB4=$with_krb4],
)dnl
echo "default place for krb4 is $KRB4"
AC_MSG_CHECKING([for KRB4 in $KRB4])
AC_MSG_RESULT([])
AC_SUBST(KRB4)])dnl
WITH_KRB4
@ -278,7 +351,8 @@ if test -n "$krb_h"; then
AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=])
fi
if test -n "$krb_lib"; then
AC_DEFINE(HAVE_KERBEROS)
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
@ -295,60 +369,418 @@ if test -n "$krb_h"; then
fi
AC_CHECK_FUNCS(krb_get_err_text)
dnl
dnl WITH_GSSAPI is external
dnl
dnl TODO - I tried to put these in alphabetical order, but ACX_WITH_GSSAPI
dnl fails unless called after the KRB4 stuff. I don't know why.
dnl
ACX_WITH_GSSAPI
dnl
dnl Use --with-encryption to turn on encryption support
dnl begin --with-editor
dnl
AC_ARG_ENABLE(encryption,
[ --enable-encryption enable encryption support],
[case "${enableval}" in
yes) encryption=true ;;
no) encryption=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for encryption option) ;;
esac],
[encryption=false])
if test "$encryption" = "true"; then
AC_DEFINE(ENCRYPTION)
dnl Set the default editor to use for log messages
dnl
AC_ARG_VAR(
[EDITOR],
[The text editor CVS will use by default for log messages.])
# Let the confiscator request a specific editor
AC_ARG_WITH(
[editor],
AC_HELP_STRING(
[--with-editor],
[The default text editor CVS should use for log messages
(default autoselects)]), ,
[with_editor="vi emacs pico edit"])
if echo $with_editor |grep ^/ >/dev/null; then
# If $with_editor is an absolute path, issue a warning if the executable
# doesn't exist or isn't usable, but then trust the user and use it
# regardless
EDITOR=$with_editor
AC_MSG_CHECKING([for an editor])
AC_MSG_RESULT([$EDITOR])
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])
fi
elif test no != "${with_editor}"; then
# Search for an editor
AC_CHECK_PROGS([EDITOR], [$with_editor])
else
AC_MSG_CHECKING([for an editor])
AC_MSG_RESULT([no])
fi
AC_CHECK_FUNC(gethostname, :, LIBOBJS="$LIBOBJS hostname.o")
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
dnl
dnl end --with-editor
dnl
dnl
dnl Find a temporary directory
dnl
AC_ARG_WITH(
[tmpdir],
AC_HELP_STRING(
[--with-tmpdir],
[The temporary directory CVS should use as a default
(default autoselects)]))
AC_MSG_CHECKING([for temporary directory])
if test -z "$with_tmpdir" || test yes = "$with_tmpdir"; then
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
fi
done
if test no = "$with_tmpdir"; then
AC_MSG_WARN([Failed to find usable temporary directory. Using '/tmp'.])
with_tmpdir=/tmp
fi
AC_MSG_RESULT([$with_tmpdir])
elif ! echo "$with_tmpdir" |grep '^[[\\/]]'; then
AC_MSG_RESULT([$with_tmpdir])
AC_MSG_ERROR([--with-tmpdir requires an absolute path.])
elif ! test -d "$with_tmpdir" || ! test -x "$with_tmpdir" \
|| ! test -w "$with_tmpdir" || ! test -r "$with_tmpdir"; then
AC_MSG_RESULT([$with_tmpdir])
AC_MSG_WARN(
[User supplied temporary directory ('$with_tmpdir') does not
exist or lacks sufficient permissions for read/write.])
fi
AC_DEFINE_UNQUOTED(
[TMPDIR_DFLT], ["$with_tmpdir"],
[Directory used for storing temporary files, if not overridden by
environment variables or the -T global option. There should be little
need to change this (-T is a better mechanism if you need to use a
different directory for temporary files).])
dnl
dnl done finding tmpdir
dnl
dnl
dnl Get default umask
dnl
AC_ARG_WITH(
[umask],
AC_HELP_STRING(
[--with-umask],
[Set the umask CVS will use by default in the repository (default 002)]))
if test -z "$with_umask" || test yes = "$with_umask"; then
with_umask=002
elif test no = "$with_umask"; then
with_umask=000
fi
AC_DEFINE_UNQUOTED(
[UMASK_DFLT], [$with_umask],
[The default umask to use when creating or otherwise setting file or
directory permissions in the repository. Must be a value in the
range of 0 through 0777. For example, a value of 002 allows group
rwx access and world rx access; a value of 007 allows group rwx
access but no world access. This value is overridden by the value
of the CVSUMASK environment variable, which is interpreted as an
octal number.])
dnl
dnl Done setting default umask
dnl
dnl
dnl end --with-*
dnl
dnl
dnl begin --enables
dnl
# Check for options requesting client and server feature. If none are
# given and we have connect(), we want the full client & server arrangement.
AC_ARG_ENABLE(client,
[ --enable-client include code for running as a remote client (default)
--disable-client don't include remote client code],
[if test "$enable_client" = yes; then
AC_DEFINE(CLIENT_SUPPORT)
fi],
[if test "$ac_cv_search_connect" != no; then
AC_DEFINE(CLIENT_SUPPORT)
fi])
AC_ARG_ENABLE(server,
[ --enable-server include code for running as a server (default)
--disable-server don't include server code],
[if test "$enable_server" = yes; then
AC_DEFINE(SERVER_SUPPORT)
fi],
[if test "$ac_cv_search_connect" != no; then
AC_DEFINE(SERVER_SUPPORT)
enable_server=yes
fi])
AC_ARG_ENABLE(
[client],
AC_HELP_STRING(
[--enable-client],
[Include code for running as a remote client (default)]), ,
[if test "$ac_cv_search_connect" != no; then
enable_client=yes
fi])
if test no != "$enable_client"; then
AC_DEFINE(
[CLIENT_SUPPORT], [1],
[Define if you want CVS to be able to be a remote repository client.])
fi
dnl The auth server needs to be able to check passwords against passwd
dnl file entries, so we only #define AUTH_SERVER_SUPPORT if we can
dnl find the crypt function.
AC_ARG_ENABLE(
[password-authenticated-client],
AC_HELP_STRING(
[--enable-password-authenticated-client],
[Enable pserver as a remote access method in the CVS client
(default)]))
if test "$enable_server" = yes; then
AC_SEARCH_LIBS(crypt, crypt, AC_DEFINE(HAVE_CRYPT) AC_DEFINE(AUTH_SERVER_SUPPORT))
if test no != "$enable_password_authenticated_client"; then
if test no != "$enable_client"; then
AC_DEFINE(
[AUTH_CLIENT_SUPPORT], [1],
[Enable AUTH_CLIENT_SUPPORT to enable pserver as a remote access
method in the CVS client (default)])
else
AC_MSG_WARN(
[--enable-password-authenticated-server is meaningless with
the CVS client disabled (--disable-client)])
fi
fi
dnl
dnl Give the confiscator control over whether the server code is compiled
dnl
AC_ARG_ENABLE(
[server],
AC_HELP_STRING(
[--enable-server],
[Include code for running as a server (default)]), ,
[if test "$ac_cv_search_connect" != no; then
enable_server=yes
fi])
if test no != "$enable_server"; then
AC_DEFINE(
[SERVER_SUPPORT], [1],
[Define if you want CVS to be able to serve repositories to remote
clients.])
dnl
dnl The auth server needs to be able to check passwords against passwd
dnl file entries, so we only #define AUTH_SERVER_SUPPORT if we can
dnl find the crypt function.
dnl
AC_SEARCH_LIBS(
[crypt], [crypt],
[AC_DEFINE(
[HAVE_CRYPT], [1],
[Define if you have the crypt function.])
AC_DEFINE(
[AUTH_SERVER_SUPPORT], [1],
[Define if you want to use the password authenticated server.])dnl
])dnl AC_SEARCH_LIBS
dnl
dnl Allow the configurer to enable server flowcontrol. Read the help
dnl strings below for a full explanation.
dnl
AC_ARG_ENABLE(
[server-flow-control],
AC_HELP_STRING(
[--enable-server-flow-control],
[If you are working with a large remote repository and a 'cvs
checkout' is swamping your network and memory, define these to
enable flow control. You may optionally pass a low water mark
in bytes and a high water mark in bytes, separated by commas.
(default is enabled 1M,2M)]),
[if test yes = $enable_server_flow_control; then
enable_server_flow_control=1M,2M
fi],
[enable_server_flow_control=1M,2M])
if test no != $enable_server_flow_control; then
ccvs_lwm=`expr "$enable_server_flow_control" : '\(.*\),'`
ccvs_hwm=`expr "$enable_server_flow_control" : '.*,\(.*\)'`
ccvs_lwm_E=`expr "$ccvs_lwm" : '[[0-9]][[0-9]]*\(.*\)'`
ccvs_lwm=`expr "$ccvs_lwm" : '\([[0-9]][[0-9]]*\)'`
test "" != "$ccvs_lwm" || ccvs_lwm_E="?"
case $ccvs_lwm_E in
G) ccvs_lwm="$ccvs_lwm * 1024 * 1024 * 1024";;
M) ccvs_lwm="$ccvs_lwm * 1024 * 1024";;
k) ccvs_lwm="$ccvs_lwm * 1024";;
b | '') ;;
*) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control
('$enable_server_flow_control') as <lwm>,<hwm>])
esac
ccvs_hwm_E=`expr "$ccvs_hwm" : '[[0-9]][[0-9]]*\(.*\)'`
ccvs_hwm=`expr "$ccvs_hwm" : '\([[0-9]][[0-9]]*\).*'`
test "" != "$ccvs_hwm" || ccvs_hwm_E="?"
case $ccvs_hwm_E in
G) ccvs_hwm="$ccvs_hwm * 1024 * 1024 * 1024";;
M) ccvs_hwm="$ccvs_hwm * 1024 * 1024";;
k) ccvs_hwm="$ccvs_hwm * 1024";;
b | '') ccvs_hwm="$ccvs_hwm";;
*) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control
('$enable_server_flow_control') as <lwm>,<hwm>])
esac
AC_DEFINE(
[SERVER_FLOWCONTROL], [1],
[If you are working with a large remote repository and a 'cvs
checkout' is swamping your network and memory, define these to
enable flow control. You will end up with even less probability of
a consistent checkout (see Concurrency in cvs.texinfo), but CVS
doesn't try to guarantee that anyway. The master server process
will monitor how far it is getting behind, if it reaches the high
water mark, it will signal the child process to stop generating
data when convenient (ie: no locks are held, currently at the
beginning of a new directory). Once the buffer has drained
sufficiently to reach the low water mark, it will be signalled to
start again.])
AC_DEFINE_UNQUOTED(
[SERVER_LO_WATER], [($ccvs_lwm)],
[The low water mark in bytes for server flow control. Required if
SERVER_FLOWCONTROL is defined, and useless otherwise.])
AC_DEFINE_UNQUOTED(
[SERVER_HI_WATER], [($ccvs_hwm)],
[The high water mark in bytes for server flow control. Required if
SERVER_FLOWCONTROL is defined, and useless otherwise.])
fi # enable_server_flow_control
fi # enable_server
dnl
dnl Use --enable-encryption to turn on encryption support, but ignore this
dnl option unless either client or server is enabled.
dnl
AC_ARG_ENABLE(
[encryption],
AC_HELP_STRING(
[--enable-encryption],
[Enable encryption support (disabled by default)]), ,
[enable_encryption=no])
if test "$enable_encryption" = yes; then
if test no != "$with_client" || test no != "$with_server"; then
AC_DEFINE(
[ENCRYPTION], [1],
[Define to enable encryption support.])
else
AC_MSG_WARN(
[--enable-encryption is meaningless with neither the CVS client
nor the CVS server is enabled (--disable-client and --disable-server).])
fi
fi
dnl
dnl end --enable-encryption
dnl
dnl
dnl begin --enable-force-editor
dnl
AC_ARG_ENABLE(
[force-editor],
AC_HELP_STRING(
[--enable-force-editor],
[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), you might want to force
people to use the editor even if they specify a message with -m or
-F. --enable-force-editor will cause the -m or -F message to be
appended to the temp file when the editor is started. (disabled
by default)]), ,
[enable_force_editor=no])
if test yes = "$enable_force_editor"; then
AC_DEFINE(
[FORCE_USE_EDITOR], [1],
[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), 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.])
fi
dnl
dnl end --enable-force-editor
dnl
dnl
dnl begin --enable-rootcommit
dnl
dnl
dnl I don't like this here, but I don't really like options.h, either.
dnl Besides, this is causing some problems currently when compiling under
dnl Windows and moving it here should avoid the issue (the wrong options.h
dnl is being used).
dnl
dnl I don't like making this a runtime option either. I think I just don't
dnl like making it easy to get to, but putting it here goes along with the
dnl Autoconf ideal.
dnl
AC_ARG_ENABLE(
[rootcommit],
AC_HELP_STRING(
[--enable-rootcommit],
[Allow the root user to commit files (disabled by default)]), ,
[enable_rootcommit=no])
if test "$enable_rootcommit" = no; then
AC_DEFINE(
[CVS_BADROOT], [1],
[When committing a permanent change, CVS and RCS make a log entry of
who committed the change. If you are committing the change logged
in as "root" (not under "su" or other root-priv giving program),
CVS/RCS cannot determine who is actually making the change.
As such, by default, CVS prohibits changes committed by users
logged in as "root". You can disable checking by passing the
"--enable-rootcommit" option to configure or by commenting out the
lines below.])
fi
dnl
dnl end --enable-rootcommit
dnl
dnl
dnl end --enables
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
dnl things won't be that simple, before long.
dnl AC_DEFINE(PRESERVE_PERMISSIONS_SUPPORT)
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 use the
dnl Windows support code in lib/fncase.c to handle the case
@ -364,40 +796,42 @@ 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
LIBOBJS="$LIBOBJS fncase.o"
AC_LIBOBJ(fncase)
LIBS="$LIBS -ladvapi32"
dnl On Windows you can only change file times if you can write to
dnl the file. cygwin32 should really handle this for us, but as of
dnl January 1998 it doesn't.
AC_DEFINE(UTIME_EXPECTS_WRITABLE)
AC_DEFINE(UTIME_EXPECTS_WRITABLE, 1,
[Define if utime requires write access to the file (true on Windows,
but not Unix).])
dnl On Windows we must use setmode to change between binary and text
dnl mode.
AC_DEFINE(USE_SETMODE_STDOUT)
AC_DEFINE(HAVE_SETMODE)
dnl mode. This probably doesn't really require two macro definitions
AC_DEFINE(USE_SETMODE_STDOUT, 1,
[Define if setmode is required when writing binary data to stdout.])
AC_DEFINE(HAVE_SETMODE, 1,
[Define if the diff library should use setmode for binary files.])
fi
test -f src/options.h && (
AC_MSG_WARN(saving ./src/options.h in ./src/options.h-SAVED)
AC_MSG_WARN(You may wish to check that local options have not been lost.)
AC_MSG_WARN(Do not re-run ./configure or ./config.status until you have....)
cp ./src/options.h ./src/options.h-SAVED
)
dnl associate the setting of the execute bit with the individual scripts
AC_CONFIG_FILES(contrib/check_cvs, [chmod +x contrib/check_cvs])
AC_CONFIG_FILES(contrib/clmerge, [chmod +x contrib/clmerge])
AC_CONFIG_FILES(contrib/cln_hist, [chmod +x contrib/cln_hist])
AC_CONFIG_FILES(contrib/commit_prep, [chmod +x contrib/commit_prep])
AC_CONFIG_FILES(contrib/cvs_acls, [chmod +x contrib/cvs_acls])
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/rcslock, [chmod +x contrib/rcslock])
AC_CONFIG_FILES(contrib/sccs2rcs, [chmod +x contrib/sccs2rcs])
AC_CONFIG_FILES(src/cvsbug, [chmod +x src/cvsbug])
AC_OUTPUT([Makefile \
cvs.spec \
dnl the bulk files
AC_CONFIG_FILES([Makefile \
contrib/Makefile \
contrib/clmerge \
contrib/cln_hist \
contrib/commit_prep \
contrib/cvs_acls \
contrib/log \
contrib/log_accum \
contrib/mfpipe \
contrib/pvcs2rcs \
contrib/rcslock \
contrib/sccs2rcs \
cvs.spec \
diff/Makefile \
doc/Makefile \
emx/Makefile \
@ -405,22 +839,11 @@ AC_OUTPUT([Makefile \
man/Makefile \
os2/Makefile \
src/Makefile \
src/cvsbug \
src/version.h \
tools/Makefile \
vms/Makefile \
windows-NT/Makefile \
windows-NT/SCC/Makefile \
zlib/Makefile],
[chmod +x \
contrib/clmerge \
contrib/cln_hist \
contrib/commit_prep \
contrib/cvs_acls \
contrib/log \
contrib/log_accum \
contrib/mfpipe \
contrib/pvcs2rcs \
contrib/rcslock \
contrib/sccs2rcs \
src/cvsbug])
zlib/Makefile])
dnl and we're done
AC_OUTPUT

View File

@ -1,3 +1,35 @@
2002-11-21 Larry Jones <lawrence.jones@eds.com>
* .cvsignore: Add check_cvs.
* check_cvs.in: New script contributed by Donald Sharp.
* Makefile.am (contrib_SCRIPTS): Add check_cvs.
* Makefile.in: Regenerated.
* README: Add check_cvs and other missing scripts, alphabetize.
2002-11-08 Derek Price <derek@ximbiot.com>
* debug_check_log.sh: Simplify some code. Attempt to default to
src/check.log before falling back to ./check.log.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated using Automake 1.6.3.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated.
2002-05-20 Derek Price <oberon@umich.edu>
* cvs_acls.in: Add note about using checkoutlist with avail
in the commentary's INSTALLATION section.
(Original patch from Ville Skyttä <ville.skytta@xemacs.org>.)
2002-04-30 Derek Price <oberon@umich.edu>
* Makefile.in: Regenerated with automake 1.6.
2002-03-21 Derek Price <oberon@umich.edu>
* Makefile.am (install-data-local): Import a patch from RedHat which

View File

@ -13,21 +13,10 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# DISTFILES = \
# ChangeLog README .cvsignore intro.doc \
# Makefile.in clmerge.pl cln_hist.pl commit_prep.pl cvs2vendor.sh \
# cvs_acls.pl cvscheck.sh cvscheck.man cvshelp.man debug_check_log.sh \
# descend.sh \
# descend.man dirfns.shar log.pl log_accum.pl mfpipe.pl rcs-to-cvs.sh \
# rcs2log.sh rcslock.pl sccs2rcs.csh rcs2sccs.sh
# files installed in $(pkgdatadir)
#
# CONTRIB_FILES = README intro.doc cvscheck.man
contribdir = $(pkgdatadir)/contrib
contrib_SCRIPTS = \
check_cvs \
clmerge \
cln_hist \
commit_prep \

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 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
# 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,
@ -26,19 +27,6 @@
# 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.
# DISTFILES = \
# ChangeLog README .cvsignore intro.doc \
# Makefile.in clmerge.pl cln_hist.pl commit_prep.pl cvs2vendor.sh \
# cvs_acls.pl cvscheck.sh cvscheck.man cvshelp.man debug_check_log.sh \
# descend.sh \
# descend.man dirfns.shar log.pl log_accum.pl mfpipe.pl rcs-to-cvs.sh \
# rcs2log.sh rcslock.pl sccs2rcs.csh rcs2sccs.sh
# files installed in $(pkgdatadir)
#
# CONTRIB_FILES = README intro.doc cvscheck.man
SHELL = @SHELL@
srcdir = @srcdir@
@ -69,9 +57,13 @@ 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@
@ -81,22 +73,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CSH = @CSH@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
EDITOR = @EDITOR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LN_S = @LN_S@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
@ -108,6 +104,7 @@ install_sh = @install_sh@
contribdir = $(pkgdatadir)/contrib
contrib_SCRIPTS = \
check_cvs \
clmerge \
cln_hist \
commit_prep \
@ -159,17 +156,17 @@ CLEANFILES = $(bin_SCRIPTS) $(contrib_SCRIPTS)
SUFFIXES = .sh
subdir = contrib
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
CONFIG_CLEAN_FILES = clmerge cln_hist commit_prep cvs_acls log log_accum \
mfpipe pvcs2rcs rcslock sccs2rcs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = check_cvs clmerge cln_hist commit_prep cvs_acls log \
log_accum mfpipe pvcs2rcs rcslock sccs2rcs
SCRIPTS = $(contrib_SCRIPTS)
DIST_SOURCES =
DATA = $(contrib_DATA)
DIST_COMMON = README ChangeLog Makefile.am Makefile.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
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:
@ -178,59 +175,59 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu contrib/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./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)/$@
clmerge: $(top_builddir)/config.status clmerge.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
cln_hist: $(top_builddir)/config.status cln_hist.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
commit_prep: $(top_builddir)/config.status commit_prep.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
cvs_acls: $(top_builddir)/config.status cvs_acls.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
log: $(top_builddir)/config.status log.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
log_accum: $(top_builddir)/config.status log_accum.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mfpipe: $(top_builddir)/config.status mfpipe.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
pvcs2rcs: $(top_builddir)/config.status pvcs2rcs.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
rcslock: $(top_builddir)/config.status rcslock.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
sccs2rcs: $(top_builddir)/config.status sccs2rcs.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
contribSCRIPT_INSTALL = $(INSTALL_SCRIPT)
install-contribSCRIPTS: $(contrib_SCRIPTS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(contribdir)
@list='$(contrib_SCRIPTS)'; for p in $$list; do \
f="`echo $$p|sed '$(transform)'`"; \
if test -f $$p; then \
echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(contribdir)/$$f"; \
$(INSTALL_SCRIPT) $$p $(DESTDIR)$(contribdir)/$$f; \
elif test -f $(srcdir)/$$p; then \
echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(contribdir)/$$f"; \
$(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(contribdir)/$$f; \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f $$d$$p; then \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " $(contribSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(contribdir)/$$f"; \
$(contribSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(contribdir)/$$f; \
else :; fi; \
done
uninstall-contribSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(contrib_SCRIPTS)'; for p in $$list; do \
f="`echo $$p|sed '$(transform)'`"; \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " rm -f $(DESTDIR)$(contribdir)/$$f"; \
rm -f $(DESTDIR)$(contribdir)/$$f; \
done
uninstall-info-am:
contribDATA_INSTALL = $(INSTALL_DATA)
install-contribDATA: $(contrib_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(contribdir)
@list='$(contrib_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(contribdir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(contribdir)/$$f; \
echo " $(contribDATA_INSTALL) $$d$$p $(DESTDIR)$(contribdir)/$$f"; \
$(contribDATA_INSTALL) $$d$$p $(DESTDIR)$(contribdir)/$$f; \
done
uninstall-contribDATA:
@ -243,22 +240,26 @@ uninstall-contribDATA:
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@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 \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@ -283,6 +284,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -291,7 +293,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"

View File

@ -28,11 +28,20 @@ would presumably be willing to list your software.
An attempt at a table of Contents for this directory:
README This file.
log A perl script suitable for including in your
$CVSROOT/CVSROOT/loginfo file for logging commit
changes. Includes the RCS revision of the change
as part of the log.
Contributed by Kevin Samborn <samborn@sunrise.com>.
check_cvs A perl script to check an entire repository for
corruption.
Contributed by Donald Sharp <sharpd@cisco.com>.
clmerge A perl script to handle merge conflicts in GNU
style ChangeLog files .
Contributed by Tom Tromey <tromey@busco.lanl.gov>.
cln_hist A perl script to compress your
$CVSROOT/CVSROOT/history file, as it can grow quite
large after extended use.
Contributed by David G. Grubbs <dgg@ksr.com>
commit_prep A perl script, to be combined with log_accum.pl, to
log_accum provide for a way to combine the individual log
messages of a multi-directory "commit" into a
@ -41,33 +50,30 @@ An attempt at a table of Contents for this directory:
committing the correct revision of the file.
Read the comments carefully.
Contributed by David Hampton <hampton@cisco.com>.
mfpipe Another perl script for logging. Allows you to
pipe the log message to a file and/or send mail
to some alias.
Contributed by John Clyne <clyne@niwot.scd.ucar.edu>.
rcs-to-cvs Script to import sources that may have been under
RCS control already.
Contributed by Per Cederqvist <ceder@lysator.liu.se>.
cvscheck Identifies files added, changed, or removed in a
cvscheck.man checked out CVS tree; also notices unknown files.
Contributed by Lowell Skoog <fluke!lowell@uunet.uu.net>
cvshelp.man An introductory manual page written by Lowell Skoog
<fluke!lowell@uunet.uu.net>. It is most likely
out-of-date relative to CVS 1.3, but still may be
useful.
dirfns A shar file which contains some code that might
help your system support opendir/readdir/closedir,
if it does not already.
Copied from the C-News distribution.
rcslock A perl script that can be added to your commitinfo
file that tries to determine if your RCS file is
currently locked by someone else, as might be the
case for a binary file.
Contributed by John Rouillard <rouilj@cs.umb.edu>.
cvs2vendor A shell script to move changes from a repository
that was started without a vendor branch to one
that has a vendor branch.
Contributed by Greg A. Woods <woods@planix.com>.
cvs_acls A perl script that implements Access Control Lists
by using the "commitinfo" hook provided with the
"cvs commit" command.
Contributed by David G. Grubbs <dgg@ksr.com>.
cvscheck Identifies files added, changed, or removed in a
cvscheck.man checked out CVS tree; also notices unknown files.
Contributed by Lowell Skoog <fluke!lowell@uunet.uu.net>
cvshelp.man An introductory manual page written by Lowell Skoog
<fluke!lowell@uunet.uu.net>. It is most likely
out-of-date relative to CVS 1.3, but still may be
useful.
debug_check_log A shell script to help analyze sanity check failures.
Contributed by Derek R. Price
<derek.price@openavenue.com>
descend A shell script that can be used to recursively
descend.man descend through a directory. In CVS 1.2, this was
very useful, since many of the commands were not
@ -75,30 +81,53 @@ An attempt at a table of Contents for this directory:
the commands are recursive. However, this may still
come in handy.
Contributed by Lowell Skoog <fluke!lowell@uunet.uu.net>
cln_hist A perl script to compress your
$CVSROOT/CVSROOT/history file, as it can grow quite
large after extended use.
Contributed by David G. Grubbs <dgg@ksr.com>
sccs2rcs A C-shell script that can convert (some) SCCS files
into RCS files, retaining the info contained in the
SCCS file (like dates, author, and log message).
Contributed by Ken Cox <kenstir@viewlogic.com>.
dirfns A shar file which contains some code that might
help your system support opendir/readdir/closedir,
if it does not already.
Copied from the C-News distribution.
intro.doc A user's view of what you need to know to get
started with CVS.
Contributed by <Steven.Pemberton@cwi.nl>.
log A perl script suitable for including in your
$CVSROOT/CVSROOT/loginfo file for logging commit
changes. Includes the RCS revision of the change
as part of the log.
Contributed by Kevin Samborn <samborn@sunrise.com>.
log_accum See commit_prep.
mfpipe Another perl script for logging. Allows you to
pipe the log message to a file and/or send mail
to some alias.
Contributed by John Clyne <clyne@niwot.scd.ucar.edu>.
pvcs2rcs A perl script to convert a PVCS tree to an RCS tree.
rcs-to-cvs Script to import sources that may have been under
RCS control already.
Contributed by Per Cederqvist <ceder@lysator.liu.se>.
rcs2log A shell script to create a ChangeLog-format file
given only a set of RCS files.
Contributed by Paul Eggert <eggert@twinsun.com>.
rcs2sccs A shell script to convert simple RCS files into
SCCS files, originally gleaned off the network
somewhere (originally by "kenc") and modified by
Jerry Jelinek <jerry@rmtc.Central.Sun.COM> and
Brian Berliner <berliner@sun.com> to increase
robustness and add support for one-level of branches.
rcs2log A shell script to create a ChangeLog-format file
given only a set of RCS files.
Contributed by Paul Eggert <eggert@twinsun.com>.
clmerge A perl script to handle merge conflicts in GNU
style ChangeLog files .
Contributed by Tom Tromey <tromey@busco.lanl.gov>.
cvs2vendor A shell script to move changes from a repository
that was started without a vendor branch to one
that has a vendor branch.
Contributed by Greg A. Woods <woods@planix.com>
rcslock A perl script that can be added to your commitinfo
file that tries to determine if your RCS file is
currently locked by someone else, as might be the
case for a binary file.
Contributed by John Rouillard <rouilj@cs.umb.edu>.
sccs2rcs A C-shell script that can convert (some) SCCS files
into RCS files, retaining the info contained in the
SCCS file (like dates, author, and log message).
Contributed by Ken Cox <kenstir@viewlogic.com>.

View File

@ -0,0 +1,755 @@
#! @PERL@ -w
########################################################################
# Copyright (c) 2000, 2001 by Donald Sharp <sharpd@cisco.com>
# All Rights Reserved
#
# Permission is granted to copy and/or distribute this file, with or
# without modifications, provided this notice is preserved.
#
########################################################################
=head1 check_cvs.pl
Script to check the integrity of the Repository
=head1 SYNOPSIS
check_cvs.pl
=head1 DESCRIPTION
This script will search through a repository and determine if
any of the files in it are corrupted.
Please do not run this script inside of the repository itself,
it will cause it too fail.
Also it currently can only be run over the entire repository,
so only point your CVSROOT at the actual CVSROOT.
=head1 OPTIONS
There are no options.
=head1 EXAMPLES
setenv CVSROOT /release/111/cvs
# To see more verbose output
setenv CVSDEBUGEDIT 1
check_cvs.pl
=head1 SEE ALSO
None
=cut
######################################################################
# MODULES #
######################################################################
use strict;
use File::Find;
use File::Basename;
use File::Path;
use Cwd;
######################################################################
# GLOBALS #
######################################################################
my @list_of_broken_files;
my @extra_files;
my $verbose = 0;
my $total_revisions;
my $total_interesting_revisions;
my $total_files;
######################################################################
# SUBROUTINES #
######################################################################
######################################################################
#
# NAME :
# main
#
# PURPOSE :
# To search the repository for broken files
#
# PARAMETERS :
# NONE
#
# GLOBALS :
# $ENV{ CVSROOT } - The CVS repository to search through
# $ENV{ CVSDEBUGEDIT } - Turn on Debugging.
# @list_of_broken_files - The list of files that need to
# be fixed.
# $verbose - is verbose mode on?
# $total_revisions - The number of revisions considered
# $total_interesting_revisions - The number of revisions used
# $total_files - The total number of files looked at.
#
# RETURNS :
# A list of broken files
#
# COMMENTS :
# Do not run this script inside the repository. Choose
# a nice safe spot( like /tmp ) outside of the repository.
#
######################################################################
my $directory_to_look_at;
select (STDOUT); $| = 1; # make unbuffered
$total_revisions = 0;
$total_interesting_revisions = 0;
$total_files = 0;
if( !exists( $ENV{ CVSROOT } ) )
{
die( "The script should be run with the CVSROOT environment variable set" );
}
if( exists( $ENV{ CVSDEBUGEDIT } ) )
{
$verbose = 1;
print( "Verbose Mode Turned On\n" );
}
$directory_to_look_at = $ENV{ CVSROOT };
if( -l $directory_to_look_at )
{
$directory_to_look_at = readlink( $directory_to_look_at );
}
print( "Processing: $directory_to_look_at\n" ) if( $verbose );
find( \&process_file, $directory_to_look_at );
my $num_files = @list_of_broken_files;
print( "List of corrupted files\n" ) if( $num_files > 0 );
foreach my $broken ( @list_of_broken_files )
{
print( "**** File: $broken\n" );
}
$num_files = @extra_files;
print( "List of Files That Don't belong in Repository:\n" ) if( $num_files > 0 );
foreach my $extra ( @extra_files )
{
print( "**** File: $extra\n" );
}
print( "Total Files: $total_files\n" );
print( "Total Revisions: $total_revisions Interesting Revisions: $total_interesting_revisions\n" );
######################################################################
#
# NAME :
# process_file
#
# PURPOSE :
# This function is called by the find function, it's purpose
# is to decide if it is important to look at a file or not.
# We only care about files that have the ,v at the end.
#
# PARAMETERS :
# NONE
#
# GLOBALS :
# $ENV{ CVSROOT } - The CVS repository to search through
#
# RETURNS :
# NONE
#
# COMMENTS :
# NONE
#
######################################################################
sub process_file
{
my $path = $File::Find::name;
$total_files += 1;
$path =~ s/^$directory_to_look_at\///;
print( "\tProcessing File: $path\n" ) if( $verbose );
if( $path =~ /,v$/ )
{
$path =~ s/,v$//;
look_at_cvs_file( $path );
}
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 )
{
if( $path =~ /$ignore/ )
{
$save = 1;
last;
}
}
if( !$save )
{
push( @extra_files, $path );
}
}
}
######################################################################
#
# NAME :
# look_at_cvs_file
#
# PURPOSE :
# To decide if a file is broken or not. The algorithm is:
# a) Get the revision history for the file.
# - If that fails the file is broken, save the fact
# and continue processing other files.
# - If that succeeds we have a list of revisions.
# b) For Each revision try to retrieve that version
# - If that fails the file is broken, save the fact
# and continue processing other files.
# c) Continue on
#
# PARAMETERS :
# $file - The file to look at.
#
# GLOBALS :
# NONE
#
# RETURNS :
# NONE
#
# COMMENTS :
# We have to handle Attic files in a special manner.
# Basically remove the Attic from the string if it
# exists at the end of the $path variable.
#
######################################################################
sub look_at_cvs_file
{
my( $file ) = @_;
my( $name, $path, $suffix ) = fileparse( $file );
if( $path =~ s/Attic\/$// )
{
$file = $path . $name;
}
my $revisions = get_history( $name );
if( !defined( $revisions ) )
{
print( "\t$file is corrupted, this was determined via a cvs log command\n" ) if( $verbose );
push( @list_of_broken_files, $file );
return();
}
my @int_revisions = find_interesting_revisions( @$revisions );
foreach my $revision ( @int_revisions )
{
print( "\t\tLooking at Revision: $revision\n" ) if( $verbose );
if( !check_revision( $file, $revision ) )
{
print( "\t$file is corrupted in revision: $revision\n" ) if( $verbose );
push( @list_of_broken_files, $file );
return();
}
}
}
######################################################################
#
# NAME :
# get_history
#
# PURPOSE :
# To retrieve a array of revision numbers.
#
# PARAMETERS :
# $file - The file to retrieve the revision numbers for
#
# GLOBALS :
# NONE
#
# RETURNS :
# On Success - Reference to the list of revision numbers
# On Failure - undef.
#
# COMMENTS :
# The $_ is saved off because The File::find functionality
# expects the $_ to not have been changed.
# The -N option for the rlog command means to spit out
# tags or branch names.
#
######################################################################
sub get_history
{
my( $file ) = @_;
my @revisions;
my $revision;
my $save_ = $_;
open( FILE, "rlog -N '$file' 2>&1 |" ) or die( "unable to run rlog, help" );
while( <FILE> )
{
if( ( $revision ) = /^revision (.*)$/ )
{
push( @revisions, $revision );
}
}
$_ = $save_;
if( !close( FILE ) )
{
return( undef );
}
return( \@revisions );
}
######################################################################
#
# NAME :
# check_revision
#
# PURPOSE :
# Given a file and a revision number ensure that we can
# check out that file
#
# PARAMETERS :
# $file - The file to look at.
# $revision - The revision to look at.
#
# GLOBALS :
# NONE
#
# RETURNS :
# If we can get the File - 1
# If we can not get the File - 0
#
# 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.
# -r - The revision of the file that we would like to look at.
# Please note that cvs will return 0 for being able to successfully
# read the file and 1 for failure to read the file.
#
######################################################################
sub check_revision
{
my( $file, $revision ) = @_;
my $cwd = getcwd();
chdir( "/tmp" );
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 );
return( 0 );
return( $ret_code );
}
######################################################################
#
# NAME :
# find_interesting_revisions
#
# PURPOSE :
# CVS stores information in a logical manner. We only really
# need to look at some interestin revisions. These are:
# The first version
# And the last version on every branch.
# This is because cvs stores changes descending from
# main line. ie suppose the last version on mainline is 1.6
# version 1.6 of the file is stored in toto. version 1.5
# is stored as a diff between 1.5 and 1.6. 1.4 is stored
# as a diff between 1.5 and 1.4.
# branches are stored a little differently. They are
# stored in ascending order. Suppose there is a branch
# on 1.4 of the file. The first branches revision number
# would be 1.4.1.1. This is stored as a diff between
# version 1.4 and 1.4.1.1. The 1.4.1.2 version is stored
# as a diff between 1.4.1.1 and 1.4.1.2. Therefore
# we are only interested in the earliest revision number
# and the highest revision number on a branch.
#
# PARAMETERS :
# @revisions - The list of revisions to find interesting ones
#
# GLOBALS :
# NONE
#
# RETURNS :
# @new_revisions - The list of revisions that we find interesting
#
# COMMENTS :
#
######################################################################
sub find_interesting_revisions
{
my( @revisions ) = @_;
my @new_revisions;
my %branch_revision;
my $branch_number;
my $branch_rev;
my $key;
my $value;
START_OVER:
foreach my $revision( @revisions )
{
my $start_over = 0;
( $branch_number, $branch_rev ) = branch_split( $revision );
#if the number of elements in the branch is 1
#and the new branch is less than the old branch
if( elements_in_branch( $branch_number ) == 1 )
{
( $start_over,
%branch_revision ) = find_int_mainline_revision( $branch_number,
$branch_rev,
%branch_revision );
next START_OVER if( $start_over );
}
%branch_revision = find_int_branch_revision( $branch_number,
$branch_rev,
%branch_revision );
}
%branch_revision = remove_duplicate_branches( %branch_revision );
while( ( $key, $value ) = each ( %branch_revision ) )
{
push( @new_revisions, $key . "." . $value );
}
my $nrc;
my $rc;
$rc = @revisions;
$nrc = @new_revisions;
$total_revisions += $rc;
$total_interesting_revisions += $nrc;
print( "\t\tTotal Revisions: $rc Interesting Revisions: $nrc\n" ) if( $verbose );
return( @new_revisions );
}
########################################################################
#
# NAME :
# remove_duplicate_branches
#
# PURPOSE :
# To remove from the list of branches that we are interested
# in duplication that will cause cvs to check a revision multiple
# times. For Instance revision 1.1.1.1 should be prefered
# to be checked over revision 1.1, as that v1.1.1.1 can
# only be retrieved by going through v1.1. Therefore
# we should remove v1.1 from the list of branches that
# are interesting.
#
# PARAMETERS :
# %branch_revisions - The hash of the interesting revisions
#
# GLOBALS :
# NONE
#
# RETURNS :
# %branch_revisions - The hash of the modified interesting revisions
#
# COMMENTS :
# NONE
#
########################################################################
sub remove_duplicate_branches
{
my( %branch_revisions ) = @_;
my $key;
my $value;
my $branch_comp;
my $branch;
RESTART:
{
my @keys = keys( %branch_revisions );
while( ( $key, $value ) = each ( %branch_revisions ) )
{
$branch_comp = $key . "." . $value;
foreach $branch ( @keys )
{
if( $branch eq $key )
{
next;
}
if( elements_in_branch( $branch_comp ) ==
elements_in_branch( $branch ) - 1 )
{
if( $branch =~ /^$branch_comp/ )
{
delete( $branch_revisions{ $key } );
goto RESTART;
}
}
}
}
}
return( %branch_revisions );
}
######################################################################
#
# NAME :
# find_int_branch_revision
#
# PURPOSE :
# To Find a interesting branch revision.
# Algorithm:
# If the $branch_revision exists in the interesting branch
# hash and the new $branch_rev is less than currently saved
# one replace it with the new $branch_rev.
# else if the $branch_revision doesn't exist in the interesting
# branch hash, then just store the $branch_number and $branch_rev
#
# PARAMETERS :
# $branch_number - The branch that we are looking at
# $branch_rev - The particular revision we are looking
# at on the $branch_number.
# %branch_revision - The hash storing the interesting branches
# and the revisions on them.
#
# GLOBALS :
# NONE
#
# RETURNS :
# %branch_revision - The modified hash that stores interesting
# branches.
#
# COMMENTS :
# NONE
#
######################################################################
sub find_int_branch_revision
{
my( $branch_number, $branch_rev, %branch_revision ) = @_;
if( exists( $branch_revision{ $branch_number } ) )
{
if( $branch_rev > $branch_revision{ $branch_number } )
{
$branch_revision{ $branch_number } = $branch_rev;
}
}
else
{
$branch_revision{ $branch_number } = $branch_rev;
}
return( %branch_revision );
}
######################################################################
#
# NAME :
# find_int_mainline_revision
#
# PURPOSE :
# To Find a interesting mainline revision.
# Algorithm:
# if the $branch_number is less then a branch number
# with one element in it, then delete the old branch_number
# and return.
# if the $branch_number is greater than a branch number
# then return, and tell the calling function that we
# should skip this element, as that it's not important.
# if the $branch_number is the same as a branch number
# with one element in it, then check to see if the
# $branch_rev is less than the stored branch rev if
# it is replace with new $branch_rev. Else ignore revision
#
# PARAMETERS :
# $branch_number - The branch that we are looking at
# $branch_rev - The particular revision we are looking
# at on the $branch_number.
# %branch_revision - The hash storing the interesting branches
# and the revisions on them.
#
# GLOBALS :
# NONE
#
# RETURNS :
# ( $skip, %branch_revision ) -
# $skip - 1 if we need to ignore this particular $branch_number
# $branch_rev combo. Else 0.
# %branch_revision - The modified hash that stores interesting
# branches.
#
# COMMENTS :
# NONE
#
######################################################################
sub find_int_mainline_revision
{
my( $branch_number, $branch_rev, %branch_revision ) = @_;
foreach my $key ( keys %branch_revision )
{
if( elements_in_branch( $key ) == 1 )
{
if( $branch_number < $key )
{
delete( $branch_revision{ $key } );
next;
}
if( $branch_number > $key )
{
return( 1, %branch_revision );
}
if( ( exists( $branch_revision{ $branch_number } ) ) &&
( $branch_rev < $branch_revision{ $branch_number } ) )
{
$branch_revision{ $branch_number } = $branch_rev;
return( 1, %branch_revision );
}
}
}
return( 0, %branch_revision );
}
######################################################################
#
# NAME :
# elements_in_branch
#
# PURPOSE :
# Determine the number of elements in a revision number
# Elements are defined by numbers seperated by ".".
# the revision 1.2.3.4 would have 4 elements
# the revision 1.2.4.5.6.7 would have 6 elements
#
# PARAMETERS :
# $branch - The revision to look at.
#
# GLOBALS :
# NONE
#
# RETURNS :
# $count - The number of elements
#
# COMMENTS :
# NONE
#
######################################################################
sub elements_in_branch
{
my( $branch ) = @_;
my @split_rev;
@split_rev = split /\./, $branch;
my $count = @split_rev;
return( $count );
}
######################################################################
#
# NAME :
# branch_split
#
# PURPOSE :
# To split up a revision number up into the branch part and
# the number part. For Instance:
# 1.1.1.1 - is split 1.1.1 and 1
# 2.1 - is split 2 and 1
# 1.3.4.5.7.8 - is split 1.3.4.5.7 and 8
#
# PARAMETERS :
# $revision - The revision to look at.
#
# GLOBALS :
# NONE
#
# RETURNS :
# ( $branch, $revision ) -
# $branch - The branch part of the revision number
# $revision - The revision part of the revision number
#
# COMMENTS :
# NONE
#
######################################################################
sub branch_split
{
my( $revision ) = @_;
my $branch;
my $version;
my @split_rev;
my $count;
@split_rev = split /\./, $revision;
my $numbers = @split_rev;
@split_rev = reverse( @split_rev );
$branch = pop( @split_rev );
for( $count = 0; $count < $numbers - 2 ; $count++ )
{
$branch .= "." . pop( @split_rev );
}
return( $branch, pop( @split_rev ) );
}

View File

@ -19,7 +19,16 @@
#
# 2. Install this file as /usr/local/bin/cvs_acls and make it executable.
#
# 3. Create a file named $CVSROOT/CVSROOT/avail.
# 3. Create a file named CVSROOT/avail and optionally add it to
# CVSROOT/checkoutlist and check it in. See the CVS manual's
# administrative files section about checkoutlist. Typically:
#
# $ cvs checkout CVSROOT
# $ cd CVSROOT
# [ create the avail file ]
# [ add avail to checkoutlist ]
# $ cvs add avail
# $ cvs commit -m 'Added avail for use with cvs_acls.' avail checkoutlist
#
# ==== FORMAT OF THE avail FILE:
#

View File

@ -184,14 +184,15 @@ fi
# set default arg
if test $# -eq 0; then
dcl_argvar=dcl_default
dcl_default=check.log
else
dcl_argvar=@
if test -f src/check.log && test -r src/check.log; then
set src/check.log
else
set check.log
fi
fi
eval for file in \"\$$dcl_argvar\"\; do \
process_check_log \$file\; \
for file in "$@"; do
process_check_log $file;
done
exit 0

View File

@ -1,3 +1,24 @@
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated using Automake 1.6.3.
2002-09-24 Larry Jones <lawrence.jones@eds.com>
* system.h: Use HAVE_STRUCT_STAT_ST_BLKSIZE instead of the
obsolete HAVE_ST_BLKSIZE.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated.
2002-04-30 Derek Price <oberon@umich.edu>
* Makefile.in: Regenerated with automake 1.6.
2002-04-28 Derek Price <oberon@umich.edu>
* diff.c: Use the system fnmatch.h when present.
2001-09-04 Derek Price <dprice@collab.net>
* Makefile.in: Regenerated with automake 1.5.

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 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
# 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,
@ -12,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
@ -43,9 +43,13 @@ 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@
@ -55,22 +59,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CSH = @CSH@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
EDITOR = @EDITOR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LN_S = @LN_S@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
@ -91,7 +99,7 @@ libdiff_a_SOURCES = diff.c diff3.c analyze.c cmpbuf.c cmpbuf.h io.c \
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note libdiff.dsp
subdir = diff
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
@ -104,17 +112,19 @@ am_libdiff_a_OBJECTS = diff.$(OBJEXT) diff3.$(OBJEXT) analyze.$(OBJEXT) \
libdiff_a_OBJECTS = $(am_libdiff_a_OBJECTS)
DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/src
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/analyze.Po $(DEPDIR)/cmpbuf.Po \
@AMDEP_TRUE@ $(DEPDIR)/context.Po $(DEPDIR)/diff.Po \
@AMDEP_TRUE@ $(DEPDIR)/diff3.Po $(DEPDIR)/dir.Po $(DEPDIR)/ed.Po \
@AMDEP_TRUE@ $(DEPDIR)/ifdef.Po $(DEPDIR)/io.Po \
@AMDEP_TRUE@ $(DEPDIR)/normal.Po $(DEPDIR)/side.Po \
@AMDEP_TRUE@ $(DEPDIR)/util.Po $(DEPDIR)/version.Po
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/analyze.Po ./$(DEPDIR)/cmpbuf.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/context.Po ./$(DEPDIR)/diff.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/diff3.Po ./$(DEPDIR)/dir.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/ed.Po ./$(DEPDIR)/ifdef.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/io.Po ./$(DEPDIR)/normal.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/side.Po ./$(DEPDIR)/util.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/version.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
@ -132,9 +142,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu diff/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
AR = ar
@ -151,28 +159,28 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/analyze.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cmpbuf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/context.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diff3.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ed.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ifdef.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/io.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/normal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/side.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/version.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/analyze.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmpbuf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diff3.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ed.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ifdef.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/normal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/side.Po@am__quote@
@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)
-rm -rf ./$(DEPDIR)
.c.o:
@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)/'`$<
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -182,53 +190,61 @@ distclean-depend:
CCDEPMODE = @CCDEPMODE@
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
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; }'`; \
mkid -fID $$unique $(LISP)
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-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)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@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 \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@ -252,6 +268,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -259,7 +276,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"

View File

@ -22,7 +22,12 @@ GNU General Public License for more details.
#include "diff.h"
#include <signal.h>
#include "getopt.h"
#include "fnmatch.h"
#ifdef HAVE_FNMATCH
# include <fnmatch.h> /* This is supposed to be available on Posix systems */
#else /* HAVE_FNMATCH */
# include "fnmatch.h" /* Our substitute */
#endif /* HAVE_FNMATCH */
#ifndef DEFAULT_WIDTH
#define DEFAULT_WIDTH 130

View File

@ -132,7 +132,7 @@ GNU General Public License for more details.
#endif
#ifndef STAT_BLOCKSIZE
#if HAVE_ST_BLKSIZE
#if HAVE_STRUCT_STAT_ST_BLKSIZE
#define STAT_BLOCKSIZE(s) (s).st_blksize
#else
#define STAT_BLOCKSIZE(s) (8 * 1024)

View File

@ -1,10 +1,65 @@
2002-11-18 Derek Price <derek@ximbiot.com>
* cvs.texinfo (commitinfo): Explain the environment of commands
run by commitinfo a little more fully.
(Original patch from Fred L. Drake, Jr. <fdrake@acm.org>.)
* cvs.texinfo: Change the wording of some of the commit index entries
for consistency and clarity.
* stamp-vti: Regenerated.
* version.texi: Ditto.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated using Automake 1.6.3.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated.
2002-09-20 Derek Price <derek@ximbiot.com>
* stamp-vti: Regenerated.
* version.texi: Ditto.
2002-08-16 Derek Price <derek@ximbiot.com>
* cvs.texinfo (Error messages): Update CVS_BADROOT notes to specify
new configure option instead.
* stamp-vti: Regenerated.
* version.texi: Ditto.
2002-08-12 Derek Price <oberon@umich.edu>
* stamp-vti: Regenerated.
* version.texi: Ditto.
2002-08-06 Derek Price <oberon@umich.edu>
* stamp-vti: Regenerated.
* version.texi: Ditto.
2002-08-05 Derek Price <oberon@umich.edu>
* cvs.texinfo: Correct typo.
(Thanks to Chandra Mouleeswaran <chandra@openharbor.com>.)
2002-04-30 Derek Price <oberon@umich.edu>
* Makefile.in: Regenerated with automake 1.6.
2002-04-18 Derek Price <oberon@umich.edu>
* doc/Makefile.am: Add FIXME comment about an automake bug.
* doc/Makefile.in: Regenerated.
* doc/stamp-vti: Regenerated as a workaround for the above mentioned
automake bug.
* doc/version.texi: Ditto.
* Makefile.am: Add FIXME comment about an automake bug.
* Makefile.in: Regenerated.
2002-04-18 Derek Price <oberon@umich.edu>
* stamp-1: Regenerated for 1.11.2.1 version update.
* stamp-vti: Ditto.
* version-client.texi: Ditto.
* version.texi: Ditto.
2002-04-17 Derek Price <oberon@umich.edu>

View File

@ -0,0 +1,37 @@
Here's some of the texinfo conventions the CVS documentation uses:
@code{ ... } command usage & command snippets, including
command names.
@var{ ... } variables - text which the user is expected to
replace with some meaningful text of their own
in actual usage.
@file{ ... } file names
@samp{ ... } for most anything else you need quotes around
(often still misused for command snippets)
@example ... @end example example command usage and output, etc.
@emph{ ... } emphasis - warnings, stress, etc. This will be
bracketed by underline characters in info files
(_ ... _) and in italics in PDF & probably in
postscript & HTML.
@noindent Suppresses indentation of the following
paragraph. This can ocassionally be useful
after examples and the like.
@cindex ... Add a tag to the index.
@pxref{ ... } Cross reference in parentheses.
@xref{ ... } Cross reference.
Preformatted text should be marked as such (use @example... there may be other
ways) since many of the final output formats can use relational fonts otherwise
and marking it as formatted should restrict it to a fixed wiidth font. Keep
this sort of text to 80 characters or less per line since larger may not be
properly viewable for some info users.
There are dictionary lists and function definition markers. Scan cvs.texinfo
for their usage. There may be table definitions as well but I haven't used
them.
Use lots of index markers. Scan the index for the current style. Try to reuse
an existing entry if the meaning is similar.
For more on using texinfo docs, see the `info texinfo' documentation or
http://www.gnu.org/manual/texinfo/texinfo.html .

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 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
# 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,
@ -25,7 +26,6 @@
# 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@
@ -56,9 +56,13 @@ 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@
@ -68,22 +72,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CSH = @CSH@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
EDITOR = @EDITOR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LN_S = @LN_S@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
@ -132,7 +140,7 @@ MAINTAINERCLEANFILES = \
SUFFIXES = .aux .txt .pdf
subdir = doc
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@ -153,9 +161,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
$(srcdir)/version.texi: $(srcdir)/stamp-vti
@:
@ -210,7 +216,7 @@ cvsclient.dvi: cvsclient.texi $(srcdir)/version-client.texi
`echo $< | sed 's,.*/,,'`
.texi.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) $<
@ -227,7 +233,7 @@ cvsclient.dvi: cvsclient.texi $(srcdir)/version-client.texi
`echo $< | sed 's,.*/,,'`
.texinfo.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
$(TEXI2DVI) $<
@ -238,7 +244,6 @@ cvsclient.dvi: cvsclient.texi $(srcdir)/version-client.texi
`echo $< | sed 's,.*/,,'`
MAKEINFO = @MAKEINFO@
TEXI2DVI = texi2dvi
DVIPS = dvips
.dvi.ps:
$(DVIPS) $< -o $@
@ -266,22 +271,23 @@ dist-info: $(INFO_DEPS)
list='$(INFO_DEPS)'; \
for base in $$list; do \
d=$(srcdir); \
for file in `CDPATH=: && cd $$d && eval echo $$base*`; do \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file; \
for file in $$d/$$base*; do \
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
test -f $(distdir)/$$relfile || \
cp -p $$file $(distdir)/$$relfile; \
done; \
done
mostlyclean-aminfo:
-rm -f cvs.aux cvs.cp cvs.cps cvs.dvi cvs.fn cvs.fns cvs.ky cvs.log cvs.pg \
cvs.ps cvs.toc cvs.tp cvs.vr cvsclient.aux cvsclient.cp \
cvsclient.dvi cvsclient.fn cvsclient.ky cvsclient.log \
cvsclient.pg cvsclient.ps cvsclient.toc cvsclient.tp \
cvsclient.vr
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:
cd $(srcdir) && \
for i in $(INFO_DEPS); do \
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]*; \
@ -290,22 +296,26 @@ maintainer-clean-aminfo:
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@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 \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@ -333,6 +343,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -341,7 +352,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -375,10 +386,11 @@ install-info-am: $(INFO_DEPS)
@list='$(INFO_DEPS)'; \
for file in $$list; do \
d=$(srcdir); \
for ifile in `CDPATH=: && cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
if test -f $$d/$$ifile; then \
echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
for ifile in echo $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \
if test -f $$ifile; then \
relfile=`expr "$$ifile" : "$$d/\(.*\)"`; \
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
else : ; fi; \
done; \
done

View File

@ -526,7 +526,7 @@ you want to edit. @xref{Multiple developers}, for an explanation.
@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@node Committing your changes
@subsection Committing your changes
@cindex Committing changes
@cindex Committing changes to files
@cindex Log message entry
@cindex CVSEDITOR, environment variable
@cindex EDITOR, environment variable
@ -2305,7 +2305,7 @@ command @code{cvs pserver} when it receives a
connection on the right port. By default, the port
number is 2401; it would be different if your client
were compiled with @code{CVS_AUTH_PORT} defined to
something else, though. This can also be sepcified in the CVSROOT variable
something else, though. This can also be specified in the CVSROOT variable
(@pxref{Remote repositories}) or overridden with the CVS_CLIENT_PORT
environment variable (@pxref{Environment variables}).
@ -6773,7 +6773,7 @@ than one person is working in a repository.
@node When to commit
@section When to commit?
@cindex When to commit
@cindex Commit, when to
@cindex Committing, when to
@cindex Policy
Your group should decide which policy to use regarding
@ -12393,7 +12393,7 @@ cvs import -I ! -W "*.exe -k 'b'" first-dir vendortag reltag
@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@node commit files
@appendixsec The commit support files
@cindex Commit files
@cindex Committing, administrative support files
The @samp{-i} flag in the @file{modules} file can be
used to run a certain program whenever files are
@ -12510,8 +12510,8 @@ is used as a file name or command-line as appropriate.
@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@node commitinfo
@appendixsubsec Commitinfo
@cindex Commitinfo
@cindex Checking commits
@cindex @file{commitinfo}
@cindex Commits, precommit verification of
@cindex Precommit checking
The @file{commitinfo} file defines programs to execute
@ -12549,10 +12549,24 @@ All occurrences of the name @samp{ALL} appearing as a
regular expression are used in addition to the first
matching regular expression or the name @samp{DEFAULT}.
Note: when @sc{cvs} is accessing a remote repository,
@file{commitinfo} will be run on the @emph{remote}
(i.e., server) side, not the client side (@pxref{Remote
repositories}).
@cindex @file{commitinfo}, working directory
@cindex @file{commitinfo}, command environment
The command will be run in the root of the workspace
containing the new versions of any files the user would like
to modify (commit), @emph{or in a copy of the workspace on
the server (@pxref{Remote repositories})}. If a file is
being removed, there will be no copy of the file under the
current directory. If a file is being added, there will be
no corresponding archive file in the repository unless the
file is being resurrected.
Note that both the repository directory and the corresponding
Attic (@pxref{Attic}) directory may need to be checked to
locate the archive file corresponding to any given file being
committed. Much of the information about the specific commit
request being made, including the destination branch, commit
message, and command line options specified, is not available
to the command.
@c FIXME: should discuss using commitinfo to control
@c who has checkin access to what (e.g. Joe can check into
@ -14064,9 +14078,10 @@ who committed the change. If you are committing the change logged
in as "root" (not under "su" or other root-priv giving program),
@sc{cvs} cannot determine who is actually making the change.
As such, by default, @sc{cvs} disallows changes to be committed by users
logged in as "root". (You can disable this option by commenting out
the definition of @code{CVS_BADROOT} in @file{options.h} before
building @sc{cvs}.
logged in as "root". (You can disable this option by passing the
@code{--enable-rootcommit} option to @file{configure} and recompiling @sc{cvs}.
On some systems this means editing the appropriate @file{config.h} file
before building @sc{cvs}.)
@item Too many arguments!
This message is typically printed by the @file{log.pl}

View File

@ -1,4 +1,4 @@
@set UPDATED 5 September 2001
@set UPDATED-MONTH September 2001
@set EDITION 1.11.2
@set VERSION 1.11.2
@set EDITION 1.11.2.1
@set VERSION 1.11.2.1

View File

@ -1,4 +1,4 @@
@set UPDATED 17 April 2002
@set UPDATED-MONTH April 2002
@set EDITION 1.11.2
@set VERSION 1.11.2
@set UPDATED 18 November 2002
@set UPDATED-MONTH November 2002
@set EDITION 1.11.2.1
@set VERSION 1.11.2.1

View File

@ -1,4 +1,4 @@
@set UPDATED 5 September 2001
@set UPDATED-MONTH September 2001
@set EDITION 1.11.2
@set VERSION 1.11.2
@set EDITION 1.11.2.1
@set VERSION 1.11.2.1

View File

@ -1,4 +1,4 @@
@set UPDATED 17 April 2002
@set UPDATED-MONTH April 2002
@set EDITION 1.11.2
@set VERSION 1.11.2
@set UPDATED 18 November 2002
@set UPDATED-MONTH November 2002
@set EDITION 1.11.2.1
@set VERSION 1.11.2.1

View File

@ -1,3 +1,76 @@
2002-11-04 Derek Price <derek@ximbiot.com>
* getdate.y (Convert): Add comment as to the effectiveness of
descriptive error messages.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated using Automake 1.6.3.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated.
2002-09-15 Larry Jones <lawrence.jones@eds.com>
* system.h: Add FOPEN_BINARY_READWRITE.
(Patch submitted by Josh Lehan <cvs@krellan.com>.)
2002-08-12 Derek Price <oberon@umich.edu>
* Makefile.am: Remove obsolete reference to `ftruncate.c'.
(Symptoms reported by
Andrey Aristarkhov <Aristarkhov@bitechnology.ru>.)
* Makefile.in: Regenerated.
2002-08-08 Derek Price <oberon@umich.edu>
* regex.c: Removed unused `compile_range' declaration.
(Patch from John Tytgat <John.Tytgat@aaug.net>.)
2002-05-09 Larry Jones <lawrence.jones@eds.com>
* getline.c (getstr): Make terminator int instead of char to avoid
promotion problems.
* getline.h (getstr): Change to match.
2002-05-08 Derek Price <oberon@umich.edu>
* Makefile.in: Regenerated.
* fnmatch.h: Move this file...
* fnmatch.h.in: here.
2002-05-08 Derek Price <oberon@umich.edu>
* strerror.c: Use HAVE_CONFIG_H and put config.h in brackets rather
than quotes.
2002-05-02 Derek Price <oberon@umich.edu>
* fnmatch.h: More #defines to avoid Mac OS X namespace conflicts.
2002-04-30 Derek Price <oberon@umich.edu>
* hostname.c: Rename to...
* gethostname.c: this.
* Makefile.am: Change comment to reflect above.
* Makefile.in: Regenerated with automake 1.6.
2002-04-28 Derek Price <oberon@umich.edu>
* getopt.h: #define new names for functions and variables when they
might conflict with system definitions (namely on Mac OS X 10.1 with
the most recent dev packages - This should be removable after the Mac
dev packages are fixed.).
* regex.h: Ditto.
* Makefile.am (libcvs_a_SOURCES): Remove fnmatch.h.
2002-04-20 Larry Jones <larry.jones@sdrc.com>
* Makefile.am (libcvs_a_SOURCES): Add getpagesize.h.
* Makefile.in: Regenerated.
2001-09-18 Derek Price <dprice@collab.net>
* fnmatch.c: The header file for a system function we're replacing with

View File

@ -40,7 +40,6 @@ noinst_LIBRARIES = libcvs.a
# matching?)
libcvs_a_SOURCES = \
argmatch.c \
ftruncate.c \
getdate.y \
getline.c \
getopt.c \
@ -54,7 +53,7 @@ libcvs_a_SOURCES = \
yesno.c \
getline.h \
getopt.h \
fnmatch.h \
getpagesize.h \
md5.h \
regex.h \
savecwd.h \
@ -66,7 +65,9 @@ libcvs_a_SOURCES = \
## dup2.c
## fncase.c
## fnmatch.c
## hostname.c
## fnmatch.h
## ftruncate.c
## gethostname.c
## memmove.c
## mkdir.c
## rename.c

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 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
# 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,
@ -25,20 +26,6 @@
# 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.
# For now we need to include $(top_srcdir)/src because some systems
# (at least 'AIX rioscpu2 3 4 000030498200',
# 'HP-UX hp60 B.10.20 A 9000/770 hp60 two-user license', &
# 'IRIX64 sgiop110 6.5 07151433 IP30') have trouble finding error.h
# when compiling savecwd.c
#
# FIXME - the fact that compiling on my Linux 2.2.16 system finds
# /usr/include/error.h instead of $(top_srcdir)/src/error.h but
# everything compiles and tests anyhow implies that src/error.h may
# be unecessary now. Should look more deeply into this
#
# $(includeopt) is CVS specific and set by configure
SHELL = @SHELL@
srcdir = @srcdir@
@ -69,9 +56,13 @@ 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@
@ -81,22 +72,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CSH = @CSH@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
EDITOR = @EDITOR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LN_S = @LN_S@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
@ -105,6 +100,18 @@ am__quote = @am__quote@
includeopt = @includeopt@
install_sh = @install_sh@
# For now we need to include $(top_srcdir)/src because some systems
# (at least 'AIX rioscpu2 3 4 000030498200',
# 'HP-UX hp60 B.10.20 A 9000/770 hp60 two-user license', &
# 'IRIX64 sgiop110 6.5 07151433 IP30') have trouble finding error.h
# when compiling savecwd.c
#
# FIXME - the fact that compiling on my Linux 2.2.16 system finds
# /usr/include/error.h instead of $(top_srcdir)/src/error.h but
# everything compiles and tests anyhow implies that src/error.h may
# be unecessary now. Should look more deeply into this
#
# $(includeopt) is CVS specific and set by configure
INCLUDES = -I$(top_srcdir)/src $(includeopt)
noinst_LIBRARIES = libcvs.a
@ -121,7 +128,6 @@ noinst_LIBRARIES = libcvs.a
# matching?)
libcvs_a_SOURCES = \
argmatch.c \
ftruncate.c \
getdate.y \
getline.c \
getopt.c \
@ -135,7 +141,7 @@ libcvs_a_SOURCES = \
yesno.c \
getline.h \
getopt.h \
fnmatch.h \
getpagesize.h \
md5.h \
regex.h \
savecwd.h \
@ -154,38 +160,39 @@ EXTRA_DIST = \
subdir = lib
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
libcvs_a_AR = $(AR) cru
libcvs_a_DEPENDENCIES = @LIBOBJS@
am_libcvs_a_OBJECTS = argmatch.$(OBJEXT) ftruncate.$(OBJEXT) \
getdate.$(OBJEXT) getline.$(OBJEXT) getopt.$(OBJEXT) \
getopt1.$(OBJEXT) md5.$(OBJEXT) regex.$(OBJEXT) \
savecwd.$(OBJEXT) sighandle.$(OBJEXT) stripslash.$(OBJEXT) \
xgetwd.$(OBJEXT) yesno.$(OBJEXT)
am_libcvs_a_OBJECTS = argmatch.$(OBJEXT) getdate.$(OBJEXT) \
getline.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(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) -I$(top_builddir)/src
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/argmatch.Po $(DEPDIR)/dup2.Po \
@AMDEP_TRUE@ $(DEPDIR)/fncase.Po $(DEPDIR)/fnmatch.Po \
@AMDEP_TRUE@ $(DEPDIR)/ftruncate.Po $(DEPDIR)/getdate.Po \
@AMDEP_TRUE@ $(DEPDIR)/getline.Po $(DEPDIR)/getopt.Po \
@AMDEP_TRUE@ $(DEPDIR)/getopt1.Po $(DEPDIR)/hostname.Po \
@AMDEP_TRUE@ $(DEPDIR)/md5.Po $(DEPDIR)/memmove.Po \
@AMDEP_TRUE@ $(DEPDIR)/mkdir.Po $(DEPDIR)/regex.Po \
@AMDEP_TRUE@ $(DEPDIR)/rename.Po $(DEPDIR)/savecwd.Po \
@AMDEP_TRUE@ $(DEPDIR)/sighandle.Po $(DEPDIR)/strerror.Po \
@AMDEP_TRUE@ $(DEPDIR)/stripslash.Po $(DEPDIR)/strstr.Po \
@AMDEP_TRUE@ $(DEPDIR)/strtoul.Po $(DEPDIR)/valloc.Po \
@AMDEP_TRUE@ $(DEPDIR)/waitpid.Po $(DEPDIR)/xgetwd.Po \
@AMDEP_TRUE@ $(DEPDIR)/yesno.Po
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/dup2.Po $(DEPDIR)/fncase.Po \
@AMDEP_TRUE@ $(DEPDIR)/fnmatch.Po $(DEPDIR)/fnmatch.h.in \
@AMDEP_TRUE@ $(DEPDIR)/ftruncate.Po $(DEPDIR)/gethostname.Po \
@AMDEP_TRUE@ $(DEPDIR)/memmove.Po $(DEPDIR)/mkdir.Po \
@AMDEP_TRUE@ $(DEPDIR)/rename.Po $(DEPDIR)/strerror.Po \
@AMDEP_TRUE@ $(DEPDIR)/strstr.Po $(DEPDIR)/strtoul.Po \
@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)/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)
@ -194,8 +201,9 @@ CFLAGS = @CFLAGS@
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
DIST_SOURCES = $(libcvs_a_SOURCES)
DIST_COMMON = ChangeLog Makefile.am Makefile.in dup2.c fncase.c \
fnmatch.c getdate.c hostname.c memmove.c mkdir.c rename.c \
strerror.c strstr.c strtoul.c valloc.c waitpid.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
@ -206,9 +214,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu lib/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
AR = ar
@ -225,40 +231,41 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/argmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dup2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fncase.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fnmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fnmatch.h.in@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftruncate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getdate.Po@am__quote@
@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)/hostname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/md5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gethostname.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memmove.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/regex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/savecwd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sighandle.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strerror.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stripslash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strstr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strtoul.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/valloc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/waitpid.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xgetwd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/yesno.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdate.Po@am__quote@
@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)/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@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sighandle.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Po@am__quote@
@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)
-rm -rf $(DEPDIR) ./$(DEPDIR)
.c.o:
@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)/'`$<
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -268,63 +275,81 @@ distclean-depend:
CCDEPMODE = @CCDEPMODE@
.y.c:
$(YACCCOMPILE) $< && mv y.tab.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 \
if cmp -s y.tab.h $*.h; then \
rm -f y.tab.h; \
to=`echo "$*_H" | sed \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
-e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
sed "/^#/ s/Y_TAB_H/$$to/g" y.tab.h >$*.ht; \
rm -f y.tab.h; \
if cmp -s $*.ht $*.h; then \
rm -f $*.ht ;\
else \
mv y.tab.h $*.h; \
mv $*.ht $*.h; \
fi; \
fi
if test -f y.output; then \
mv y.output $*.output; \
fi
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
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; }'`; \
mkid -fID $$unique $(LISP)
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
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 "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-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)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@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 \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@ -348,6 +373,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -355,11 +381,12 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-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."
-test -z "getdate.c" || rm -f getdate.c
clean: clean-am
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am

View File

@ -0,0 +1,44 @@
/* Copyright (C) 1992 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details. */
#ifndef _FNMATCH_H
#define _FNMATCH_H 1
/* Bits set in the FLAGS argument to `fnmatch'. */
#undef FNM_PATHNAME
#define FNM_PATHNAME (1 << 0)/* No wildcard can ever match `/'. */
#undef FNM_NOESCAPE
#define FNM_NOESCAPE (1 << 1)/* Backslashes don't quote special chars. */
#undef FNM_PERIOD
#define FNM_PERIOD (1 << 2)/* Leading `.' is matched only explicitly. */
#undef __FNM_FLAGS
#define __FNM_FLAGS (FNM_PATHNAME|FNM_NOESCAPE|FNM_PERIOD)
/* Value returned by `fnmatch' if STRING does not match PATTERN. */
#undef FNM_NOMATCH
#define FNM_NOMATCH 1
/* For Mac OS X namespace conflicts again. Yuck... */
#ifdef HAVE_FNMATCH_H
# define fnmatch cvs_fnmatch
#endif /* HAVE_FNMATCH_H */
/* Match STRING against the filename pattern PATTERN,
returning zero if it matches, FNM_NOMATCH if not. */
#if __STDC__
extern int fnmatch (const char *pattern, const char *string, int flags);
#else
extern int fnmatch ();
#endif
#endif /* fnmatch.h */

View File

@ -627,6 +627,12 @@ Convert(Month, Day, Year, Hours, Minutes, Seconds, Meridian, DSTmode)
|| Month < 1 || Month > 12
/* Lint fluff: "conversion from long may lose accuracy" */
|| Day < 1 || Day > DaysInMonth[(int)--Month])
/* FIXME:
* It would be nice to set a global error string here.
* "February 30 is not a valid date" is much more informative than
* "Can't parse date/time: 100 months" when the user input was
* "100 months" and addition resolved that to February 30, for
* example. See rcs2-7 in src/sanity.sh for more. */
return -1;
for (Julian = Day - 1, i = 0; i < Month; i++)

View File

@ -0,0 +1,45 @@
/* hostname.c -- use uname() to get the name of the host
Copyright (C) 1992 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.
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. */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#if defined(STDC_HEADERS) || defined(USG)
#include <string.h>
#ifndef index
#define index strchr
#endif
#else
#include <strings.h>
#endif
#include <sys/utsname.h>
/* Put this host's name into NAME, using at most NAMELEN characters */
int
gethostname(name, namelen)
char *name;
int namelen;
{
struct utsname ugnm;
if (uname(&ugnm) < 0)
return (-1);
(void) strncpy(name, ugnm.nodename, namelen-1);
name[namelen-1] = '\0';
return (0);
}

View File

@ -50,7 +50,7 @@ getstr (lineptr, n, stream, terminator, offset, limit)
char **lineptr;
size_t *n;
FILE *stream;
char terminator;
int terminator;
int offset;
int limit;
{

View File

@ -18,6 +18,6 @@ int
int limit));
int
getstr __PROTO ((char **_lineptr, size_t *_n, FILE *_stream,
char _terminator, int _offset, int limit));
int _terminator, int _offset, int limit));
#endif /* _getline_h_ */

View File

@ -14,6 +14,30 @@
#ifndef _GETOPT_H
#define _GETOPT_H 1
/* CVS - DRP
*
* If the OS defines this, just redefine the names to avoid namespace
* clashes. In theory, we should be testing the built in functions to
* see if they do what we want and use them if possible, but this is
* easier...
*
* Namely, this was occurring under Mac OS X. This is a Mac OS X (or
* OS X related) bug.
*
* Oops. We avoid compiling this with ifdefs because pretty much all of
* getopt.c is switched on the same macros... this isn't right, but I think
* this isn't our file. Probably best not to mess with it too much.
*/
#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
# ifdef HAVE_GETOPT
# define getopt cvs_getopt
# define optarg cvs_optarg
# define opterr cvs_opterr
# define optind cvs_optind
# define optopt cvs_optopt
# endif /* HAVE_GETOPT */
#endif /* _LIBC or not __GNU_LIBRARY__. */
#ifdef __cplusplus
extern "C" {
#endif

View File

@ -0,0 +1,55 @@
/* Emulation of getpagesize() for systems that need it.
Copyright (C) 1991 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 of the License, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
# if defined (_SC_PAGESIZE)
# define getpagesize() sysconf(_SC_PAGESIZE)
# else
# if defined (_SC_PAGE_SIZE)
# define getpagesize() sysconf(_SC_PAGE_SIZE)
# endif /* _SC_PAGE_SIZE */
# endif /* _SC_PAGESIZE */
#endif
#if !defined (getpagesize)
# ifdef HAVE_SYS_PARAM_H
# include <sys/param.h>
# endif
# if defined (PAGESIZE)
# define getpagesize() PAGESIZE
# else /* !PAGESIZE */
# if defined (EXEC_PAGESIZE)
# define getpagesize() EXEC_PAGESIZE
# else /* !EXEC_PAGESIZE */
# if defined (NBPG)
# if !defined (CLSIZE)
# define CLSIZE 1
# endif /* !CLSIZE */
# define getpagesize() (NBPG * CLSIZE)
# else /* !NBPG */
# if defined (NBPC)
# define getpagesize() NBPC
# endif /* NBPC */
# endif /* !NBPG */
# endif /* !EXEC_PAGESIZE */
# endif /* !PAGESIZE */
#endif /* !getpagesize */
#if !defined (getpagesize)
# define getpagesize() 4096 /* Just punt and use reasonable value */
#endif

View File

@ -1534,7 +1534,6 @@ static void store_op1 (), store_op2 ();
static void insert_op1 (), insert_op2 ();
static boolean at_begline_loc_p (), at_endline_loc_p ();
static boolean group_in_compile_stack ();
static reg_errcode_t compile_range ();
/* Fetch the next character in the uncompiled pattern---translating it
if necessary. Also cast from a signed character in the constant
@ -5472,7 +5471,7 @@ re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
UPDATE_SYNTAX_TABLE (charpos);
#endif
s2 = SYNTAX (c2);
/* Case 2: S2 is not Sword. */
if (s2 != Sword)
goto fail;

View File

@ -490,6 +490,29 @@ extern int re_exec _RE_ARGS (());
#endif
/* POSIX compatibility. */
/* CVS - DRP
*
* If the OS defines this, just redefine the names to avoid namespace
* clashes. In theory, we should be testing the built in functions to
* see if they do what we want and use them if possible, but this is
* easier...
*
* Namely, this was occurring under Mac OS X. This is a Mac OS X (or
* OS X related) bug.
*/
#ifdef HAVE_REGCOMP
# define regcomp cvs_regcomp
#endif /* HAVE_REGCOMP */
#ifdef HAVE_REGERROR
# define regerror cvs_regerror
#endif /* HAVE_REGERROR */
#ifdef HAVE_REGEXEC
# define regexec cvs_regexec
#endif /* HAVE_REGEXEC */
#ifdef HAVE_REGFREE
# define regfree cvs_regfree
#endif /* HAVE_REGFREE */
extern int regcomp _RE_ARGS ((regex_t *preg, const char *pattern, int cflags));
extern int regexec
_RE_ARGS ((const regex_t *preg, const char *string, size_t nmatch,

View File

@ -13,7 +13,9 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. */
#include "config.h"
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif /* HAVE_CONFIG_H */
#ifndef NEED_sys_errlist
/* Note that errno.h (not sure what OS) or stdio.h (BSD 4.4, at least)

View File

@ -508,6 +508,7 @@ extern void fnfold (char *FILENAME);
#define FOPEN_BINARY_READ ("rb")
#define FOPEN_BINARY_WRITE ("wb")
#define FOPEN_BINARY_READWRITE ("r+b")
#ifdef O_BINARY
#define OPEN_BINARY (O_BINARY)

View File

@ -1,3 +1,15 @@
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated using Automake 1.6.3.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated.
2002-04-30 Derek Price <oberon@umich.edu>
* Makefile.in: Regenerated with automake 1.6.
2002-04-17 Derek Price <oberon@umich.edu>
* cvs.1(cvs tag): Mention -c option.

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 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
# 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,
@ -25,7 +26,6 @@
# 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@
@ -56,9 +56,13 @@ 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@
@ -68,22 +72,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CSH = @CSH@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
EDITOR = @EDITOR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LN_S = @LN_S@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
@ -99,7 +107,7 @@ EXTRA_DIST = \
subdir = man
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
@ -113,9 +121,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu man/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
man1dir = $(mandir)/man1
@ -133,6 +139,10 @@ install-man1: $(man1_MANS) $(man_MANS)
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; \
@ -172,6 +182,10 @@ install-man5: $(man5_MANS) $(man_MANS)
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
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; \
@ -211,6 +225,10 @@ install-man8: $(man8_MANS) $(man_MANS)
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
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; \
@ -237,22 +255,26 @@ uninstall-man8:
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@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 \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@ -277,6 +299,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -284,7 +307,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"

View File

@ -83,7 +83,7 @@ find . -name Makefile.in -exec touch {} \;
# prevent Autoheader from running
if $autoconf; then :; else
find . -name 'stamp-h?.in' -exec touch {} \;
find . -name 'config.h.in' -exec touch {} \;
fi
# prevent Autoconf from running

View File

@ -1,3 +1,467 @@
2002-11-22 Larry Jones <lawrence.jones@eds.com>
* sanity.sh: Note that the tests run for a long time.
* checkout.c (safe_location): Use xstrdup, not strdup.
(Reported by Terrence Enger <tenger@iSeries-guru.com>.)
2002-11-19 Larry Jones <lawrence.jones@eds.com>
* log.c (log_expand_revlist): Fix cross-branch correction code.
* sanity.sh: Set $LANG for systems that ignore $LC_ALL.
(rcs2-7): Change date offset from 100 months to 96 months to reduce
periodic problems with invalid dates.
2002-11-12 Derek Price <derek@ximbiot.com>
* sanity.sh (rcslib-symlink): Use rm -f rather than a simple rm when
removing links because under some configurations of RH Linux 8.0 the
script pauses to ask for removal approval.
2002-11-08 Derek Price <derek@ximbiot.com>
* sanity.sh (importc): Update the use of the touch command to be
compliant with POSIX 1003.1-2001, SUS2, and SUS3 now that GNU touch
supports this. If this breaks any test platforms we should test
the behavior of touch like we do for other tools.
2002-11-03 Derek Price <derek@ximbiot.com>
* sanity.sh (rcs2-7): Notate with a wild untested hypothesis.
2002-11-03 Derek Price <derek@ximbiot.com>
* sanity.sh (rcs2-7): Notate with three more failure dates.
2002-10-25 Derek Price <derek@ximbiot.com>
* root.c: Change some calls to SYSTEM_CLEANUP() and then exit() to
more appropriate calls to error_exit().
* server.c: Ditto.
* tag.c: Ditto.
2002-10-24 Derek Price <derek@ximbiot.com>
* buffer.c (stdio_buffer_shutdown): Remove the getc() call used to
detect spurious output from clients since getc() would sometimes
block and hang indefinately if the client kept the conection open but
sent no data. Bug reports state that this hapened frequently with
older clients connecting to 1.11.2 servers, especially when
compression is enabled.
(Original report from Mark D. Baushke <mdb@juniper.net>.
Original patch from Ralf S. Engelschall <rse@engelschall.com>
via Peter Wemm <peter@freebsd.org>.)
2002-10-05 Larry Jones <lawrence.jones@eds.com>
* recurse.c (start_recursion, do_recursion): Allow write locking
in addition to read locking. Change all callers.
* cvs.h: Change prototype to match, add lock types.
* tag.c (rtag_proc, rtag_fileproc, tag_fileproc): Have start_recursion
use write locks rather than calling lock_dir_for_write to avoid deadly
embrace.
2002-10-04 Larry Jones <lawrence.jones@eds.com>
* client.c (get_responses_and_close, connect_to_pserver): Set
to_server and from_server to NULL after freeing.
* main.c (main): Clear server_active when finished. Also neaten
up the SERVER_SUPPORT ifdef's.
* server.c (do_cvs_command): Set protocol_inbuf, stderrbuf, and
stdoutbuf to NULL after freeing.
(server_cleanup): Free buf_from_net and buf_to_set and set to NULL.
Also reset error_use_protocol.
(server): Don't SIG_register server_cleanup. main_cleanup (which
is already registered) outputs a fatal error which causes it to
be called; registering it directly results in it being called twice.
(cvs_output): Don't try to use buf_to_net or protocol if they're NULL.
2002-10-03 Larry Jones <lawrence.jones@eds.com>
* lock.c (readers_exist): Ignore our own read lock, if any, to
allow upgrading an existing read lock to a write lock.
* tag.c (rtag_proc, rtag_fileproc, tag_fileproc): Rather than
locking the entire tree, have start_recursion establish read
locks and then upgrade the read lock to a write lock (so only
one directory is locked at a time).
2002-09-27 Larry Jones <lawrence.jones@eds.com>
* add.c (add): Send "--" before file names.
* admin.c (admin): Ditto.
* annotate.c (annotate): Ditto.
* commit.c (commit): Ditto.
* diff.c (diff): Ditto.
* edit.c (watch_onoff, editors): Ditto.
* log.c (cvslog): Ditto.
* remove.c (cvsremove): Ditto.
* status.c (cvsstatus): Ditto.
* tag.c (cvstag): Ditto.
* update.c (update): Ditto.
* watch.c (watch_addremove, watchers): Ditto.
* sanity.sh (client-9): Update to match.
2002-09-24 Derek Price <derek@ximbiot.com>
* options.h: Remove prototype of STDC exit() function. If this breaks
a build, this should be detected in configure.in somehow rather than
restoring the line to this file.
2002-09-24 Derek Price <derek@ximbiot.com>
* options.h: Move definition of AUTH_CLIENT_SUPPORT into configure.in.
2002-09-24 Derek Price <derek@ximbiot.com>
* options.h: Move definition of FORCE_USE_EDITOR into configure.in.
2002-09-24 Derek Price <derek@ximbiot.com>
* options.h: Move definition of UMASK_DFLT into configure.in.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated using Automake 1.6.3.
2002-09-24 Larry Jones <lawrence.jones@eds.com>
* filesubr.c, history.c, import.c, rcs.c, update.c: Use
HAVE_STRUCT_STAT_ST_BLKSIZE and HAVE_STRUCT_STAT_ST_RDEV instead of
the obsolete HAVE_ST_BLKSIZE and HAVE_ST_RDEV.
2002-09-24 Derek Price <derek@ximbiot.com>
* options.h: Move definition of TMPDIR_DFLT into configure.in.
2002-09-24 Derek Price <derek@ximbiot.com>
* options.h: Move defininition of EDITOR_DFLT into configure.in.
* Makefile.in: Regenerated.
2002-09-23 Jim Meyering <meyering@lucent.com>
If `cvs -d REPO commit ...' was used to override CVS/Root,
then modified files in the directory from which cvs is invoked
would not be committed.
* client.c (arg_should_not_be_sent_to_server): The above would happen
because this function would throw out a file name when CVS/Root
did not match the current server. Fix by allowing the command-line-
specified repository to take precedence over the value returned
by Name_Root. Patch by Simon Walton <simonw@lucent.com>.
* sanity.sh (commit-d): New tests for the above.
Patch by Simon Walton <simonw@lucent.com>.
2002-09-20 Derek Price <derek@ximbiot.com>
* options.h: Move definition of SERVER_FLOWCONTROL, SERVER_HI_WATER,
and SERVER_LO_WATER into configure.in.
2002-09-20 Derek Price <derek@ximbiot.com>
* options.h: Move definition of PATCH_PROGRAM to configure.in.
2002-09-18 Larry Jones <lawrence.jones@eds.com>
* client.c (call_in_directory): Don't create admin directory when
exporting into an existing directory.
(Reported by Jens Engel <Jens.Engel@marconi.com>.)
* sanity.sh (basic2): New tests for above.
2002-09-16 Jim Meyering <meyering@lucent.com>
* server.c (do_cvs_command): Move declarations of locals, timeout and
timeout_ptr, `up', out of enclosing `#ifdef SERVER_FLOWCONTROL' block.
Otherwise, this file would not compile with SERVER_FLOWCONTROL
turned off. Patch by Ed Santiago <esm@ascend.com>.
2002-09-15 Larry Jones <lawrence.jones@eds.com>
* myndbm.c (mydbm_open): Open the file read/write rather than read-
only if that's what the user asked for to ensure that the later open
for write will succeed.
(Patch submitted by Josh Lehan <cvs@krellan.com>.)
2002-08-28 Larry Jones <lawrence.jones@eds.com>
* logmsg.c (do_editor): Fix bug which prevented reusing log messages.
(Reported by Eric Siegerman <erics@telepres.com>.)
2002-08-16 Derek Price <derek@ximbiot.com>
* create_adm.c (Create_Admin): Assume RELATIVE_REPOS is set.
* server.c (outside_root): Add comment.
* options.h: Remove RELATIVE_REPOS & CVS_BADROOT.
* sanity.sh: Remove a lot of !RELATIVE_REPOS cruft from tests.
2002-08-14 Derek Price <oberon@umich.edu>
* server.c (server): Dispose of the correct pointer. Tidy comment.
2002-08-13 Derek Price <oberon@umich.edu>
* client.c (get_cvs_port_number): Fix typo in comment. Add comments.
* server.c (server): Fix a FIXME. Remove an errant "const" directive.
Remove some redundant memory allocation and error handling code.
2002-08-08 Derek Price <oberon@umich.edu>
* import.c (import): Surrounded `server_active' with
#ifdef SERVER_SUPPORT/#endif.
* commit.c (commit_fileproc, commit_direntproc): Likewise.
(Patch from John Tytgat <John.Tytgat@aaug.net>.)
2002-07-31 Derek Price <oberon@umich.edu>
* filesubr.c: Add a line so VIM can determine tab stops and shift widths.
* root.c: Ditto.
* (parse_cvsroot): Add comments and tidy slightly.
2002-07-31 Derek Price <oberon@umich.edu>
* sanity.sh: Add another date to the comment about rcs2-7 failing.
2002-07-26 Jim Meyering <meyering@lucent.com>
* commit.c (find_fileproc): When committing in client mode,
arrange to fail if a `cvs add'ed file no longer exists in the
working directory.
* sanity.sh (commit-add-missing): New test for above.
2002-07-25 Larry Jones <lawrence.jones@eds.com>
* sanity.sh: Set $TMPDIR if it's not already set and use it rather
than /tmp for the expected server temp directory path.
2002-07-09 Larry Jones <lawrence.jones@eds.com>
* vers_ts.c (time_stamp_server, time_stamp): Eliminate unneeded
struct_tm copying.
* lock.c (lock_wait, lock_obtained): Display time in UTC if possible
to reduce confusion in client/server mode.
(Original patch from Eduardo Perez Ureta <eperez@it.uc3m.es>.)
2002-06-26 Larry Jones <lawrence.jones@eds.com>
* tag.c (check_fileproc): When checking up-to-date, T_REMOVE_ENTRY
is also a valid status.
(Reported by David Everly <David.Everly@wcom.com>.)
* sanity.sh (tagc): New tests for above.
2002-06-18 Larry Jones <lawrence.jones@eds.com>
* update.c (patch_file): Don't patch if diff bigger than file.
Don't bother adjusting the permission on the diff output if
we're not going to use it.
2002-06-18 Derek Price <oberon@umich.edu>
* server.c: Handle HPUX password expiration fields in the passwd
string in case we are set up on a server with NIS passwords served
from HPUX.
(Original patch from John Cavanaugh <john_cavanaugh@agilent.com>.)
2002-06-17 Larry Jones <lawrence.jones@eds.com>
and Jonathan Kamens <jik@kamens.brookline.ma.us>
* commit.c (commit_fileproc, commit_direntproc): Don't try to call
an editor to get the log message if running as a server. Instead,
just use an empty log message.
* import.c (import): Ditto.
* import.c (import): In client mode, always send a message to the
server, even if it's empty (this parallels a change made by Larry
Jones to commit.c on May 7).
2002-05-31 Larry Jones <lawrence.jones@eds.com>
* rcs.c: Conditionally define MAP_FAILED for old systems that don't
have it in <mman.h>.
(Reported by jeremy brand <jeremy@earth.care2.com>.)
2002-05-24 Larry Jones <lawrence.jones@eds.com>
* rcscmds.c (diff_exec): Add a -- before the first file name just
in case it looks like an option.
(Reported by Zooko <zooko@zooko.com>.)
* rcscmds.c (diff_execv): Remove -- same as diff_exec. Change
only caller.
* cvs.h: Ditto.
2002-05-23 Larry Jones <lawrence.jones@eds.com>
* cvs.h (strcat_filename_onto_homedir): Make arguments const.
* filesubr.c (strcat_filename_onto_homedir): Make arguments const,
move more code here from callers, change all callers.
2002-05-22 Derek Price <oberon@umich.edu>
* cvs.h: Add prototype for this...
* filesubr.c (strcat_filename_onto_homedir): new function.
* login.c (): Use new function.
* cvsrc.c (read_cvsrc): Use new function due to problems on VMS.
* ignore.c (ign_setup): Ditto.
* wrapper.c (wrap_setup): Ditto.
(Original patch from Karsten Spang <ksp@dannet.dk>.)
2002-05-21 Larry Jones <lawrence.jones@eds.com>
* rcs.c (rcsbuf_getkey): Correct off-by-one error in ptr assertion
and add a similar assertion for ptrend.
(Reported by Rebecca Young <raygirl@cvshome.org>.)
(rcsbuf_fill): Remove redundant code.
2002-05-20 Derek Price <oberon@umich.edu>
* buffer.h: New prototype for...
* buffer.c (stdio_buffer_get_file): this new function to abstract
access to a buffer's file descriptor.
* client.c (auth_server): Use the new function.
(Original patch from Jonathan Kamens <jik@kamens.brookline.ma.us>.)
2002-05-20 Derek Price <oberon@umich.edu>
* main.c (main): Add 2002 to the copyright years output with the
version string.
2002-05-15 Larry Jones <lawrence.jones@eds.com>
* log.c (log_parse_list): Fix off-by-one error which caused
incorrect handling of 'cvs log -wuser1,user2 foo.c' command.
(Patch from Alexey Mahotkin <alexm@hsys.msk.ru>,
reported by Alex Morozov <morozov@novosoft.ru>.)
2002-05-09 Larry Jones <lawrence.jones@eds.com>
* login.c (password_entry_operation): Get cvsroot_canonical before
trying to read the user's password file so we have it even if the
file doesn't exist.
(Reported by Sarah Thompson <sthompson@fsl.noaa.gov>.)
2002-05-08 Derek Price <oberon@umich.edu>
* Makefile.am (cvs_SOURCES): Add options.h explicitly - since we
stopped generating it dynamically, Automake stopped noticing it and
including it in dists. See TODO item #214 for notes.
2002-05-08 Derek Price <oberon@umich.edu>
* cvs.h: Use the HAVE_CONFIG_H define.
2002-05-07 Larry Jones <lawrence.jones@eds.com>
* filesubr.c (isaccessible): Set errno before returning failure
in the SETXID_SUPPORT code.
* logmsg (do_verify): Avoid even more work if there's no verifymsg
script to run.
* logmsg: Use fputs/putc rather than fprintf where appropriate.
(do_verify): Run the verifymsg script even if there's no log
message. (Reported by Andy Baker <Andy.Baker2@t-mobile.co.uk>.)
Don't reread the log message unless a verifymsg script was run.
* commit.c (commit): Always send -m to the server, even if there's
no message.
* create_adm.c (Create_Admin): Add dotemplate parameter to trace.
Remove unreachable code.
2002-05-03 Larry Jones <lawrence.jones@eds.com>
* server.c (serve_watch_on, serve_watch_off, serve_watch_add,
serve_watch_remove): Just pass "watch" as the command name
to do_cvs_command to avoid unknown command errors.
(Reported by Gary Hennigan <gary@ieee.org>.)
* rcs.c (RCS_checkin): Fix bad call to error () in buggy
PRESERVE_PERMISSIONS code.
(rcs_internal_unlockfile): Include current value of errno in error
message even though it may well be irrelevant (it's still better
than nothing).
2002-05-02 Derek Price <oberon@umich.edu>
* .cvsignore: Remove lines for files obsoleted by new autotools.
2002-05-02 Derek Price <oberon@umich.edu>
* stamp-h2.in: Remove this uneeded file.
2002-05-01 Derek Price <oberon@umich.edu>
* options.h.in: Move to...
* options.h: here.
2002-04-30 Derek Price <oberon@umich.edu>
* version.h.in: Remove this file.
* version.h: Ditto.
* Makefile.am: Remove references to version.h.
* cvs.h: Use <> rather than "" around the config.h #include. I didn't
quite bother to understand why, but autoconf recommends it.
* cvsbug.in: Use PACKAGE_BUGREPORT defined by configure for the bug
report email address.
* version.c (version): Use PACKAGE_STRING defined in config.h instead
of the version_string that used to be defined in version.h.
* Makefile.in: Regenerated with automake 1.6.
2002-04-28 Derek Price <oberon@umich.edu>
* cvs.h: Use `"'s around includes when we mean a local file.
2002-04-28 Derek Price <oberon@umich.edu>
* cvs.h: #define new names for functions and variables when they
might conflict with system definitions (namely on Mac OS X 10.1 with
the most recent dev packages - This should be removable after the Mac
dev packages are fixed.).
2002-04-26 Larry Jones <larry.jones@sdrc.com>
* logmsg.c (do_editor): Fix assertion when CLIENT_SUPPORT not defined.
(Reported by Matthias Andree <matthias.andree@stud.uni-dortmund.de>.)
2002-04-19 Larry Jones <larry.jones@sdrc.com>
* log.c (log_expand_revlist): First cut at code to allow logging
between a revision and *any* ancestor, not just one explicitly on
the same branch (e.g., from 1.1 to 4.1.2.3.6.1).
* subr.c (gca): Simplify and optimize.
2002-04-19 Jim Meyering <meyering@lucent.com>
and Ed Santiago <easm@lucent.com>
* classify.c (Classify_File): Fix it so that `cvs update -p -r...'
works, even under some slightly unusual (though perfectly legitimate)
circumstances.
* sanity.sh (update-p): New tests for this.
2002-04-18 Derek Price <oberon@umich.edu>
* sanity.sh: Move test for regex metacharacters in username until
after we're sure we found the version of expr that we're going to use.
2002-04-18 Larry Jones <larry.jones@sdrc.com>
* admin.c (admin_fileproc): Allow admin to be used on RCS files with
no local version (e.g., removed files) like most other subcommands.
* wrapper.c (wrap_add): Update URL of -t/-f wrapper discussion.
2002-04-18 Derek Price <oberon@umich.edu>
* version.h: Regenerated for 1.11.2.1 version update.
2002-04-17 Derek Price <oberon@umich.edu>
* version.h: Regenerated for 1.11.2.
@ -344,7 +808,7 @@
* Makefile.am: Various modifications to make Automake, make dist, and
windows targets work like they are supposed to.
* version.h: New (generated) file.
* Makefile.in: Regenerated.
2001-08-09 Derek Price <dprice@collab.net>
@ -581,7 +1045,7 @@
* tag.c: (rtag_fileproc, rtag_delete, tag_fileproc)
Changed behavior of "cvs tag -F", "cvs tag -d", "cvs rtag -F"
and "cvs rtag -d" so that they will not disturb existing
and "cvs rtag -d" so that they will not disturb existing
branch tags unless a new "-B" option is given.
* sanity.sh (tagf-16 - tagf-33): Added tests for new -B option
to "cvs tag" and "cvs rtag"

View File

@ -89,15 +89,13 @@ cvs_SOURCES = \
hardlink.h \
hash.h \
myndbm.h \
options.h \
rcs.h \
root.h \
server.h \
update.h \
version.h \
watch.h
BUILT_SOURCES = version.h
cvs_LDADD = \
../diff/libdiff.a \
../lib/libcvs.a \
@ -105,7 +103,7 @@ cvs_LDADD = \
# extra clean targets
# wish this could be distclean-hdr-local but it's not part of automake
DISTCLEANFILES = options.h-SAVED check.log check.plog
DISTCLEANFILES = check.log check.plog
# General
EXTRA_DIST = \

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 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
# 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,
@ -26,7 +27,6 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -55,9 +55,13 @@ 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@
@ -67,22 +71,28 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
SHELL = /bin/sh
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CSH = @CSH@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
EDITOR = @EDITOR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LN_S = @LN_S@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
@ -91,8 +101,6 @@ am__quote = @am__quote@
includeopt = @includeopt@
install_sh = @install_sh@
SHELL = /bin/sh
# $(includeopt) is CVS specific and set by configure
# FIXME - This includes line is dependant on its order. This means there is
# some namespace hackery going on that maybe shouldn't be. Long term fix is to
@ -167,16 +175,14 @@ cvs_SOURCES = \
hardlink.h \
hash.h \
myndbm.h \
options.h \
rcs.h \
root.h \
server.h \
update.h \
version.h \
watch.h
BUILT_SOURCES = version.h
cvs_LDADD = \
../diff/libdiff.a \
../lib/libcvs.a \
@ -185,7 +191,7 @@ cvs_LDADD = \
# extra clean targets
# wish this could be distclean-hdr-local but it's not part of automake
DISTCLEANFILES = options.h-SAVED check.log check.plog
DISTCLEANFILES = check.log check.plog
# General
EXTRA_DIST = \
@ -199,8 +205,8 @@ EXTRA_DIST = \
subdir = src
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h options.h
CONFIG_CLEAN_FILES = cvsbug version.h
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = cvsbug
bin_PROGRAMS = cvs$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
@ -228,50 +234,49 @@ SCRIPTS = $(bin_SCRIPTS)
DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I.
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/add.Po $(DEPDIR)/admin.Po \
@AMDEP_TRUE@ $(DEPDIR)/annotate.Po $(DEPDIR)/buffer.Po \
@AMDEP_TRUE@ $(DEPDIR)/checkin.Po $(DEPDIR)/checkout.Po \
@AMDEP_TRUE@ $(DEPDIR)/classify.Po $(DEPDIR)/client.Po \
@AMDEP_TRUE@ $(DEPDIR)/commit.Po $(DEPDIR)/create_adm.Po \
@AMDEP_TRUE@ $(DEPDIR)/cvsrc.Po $(DEPDIR)/diff.Po \
@AMDEP_TRUE@ $(DEPDIR)/edit.Po $(DEPDIR)/entries.Po \
@AMDEP_TRUE@ $(DEPDIR)/error.Po $(DEPDIR)/expand_path.Po \
@AMDEP_TRUE@ $(DEPDIR)/fileattr.Po $(DEPDIR)/filesubr.Po \
@AMDEP_TRUE@ $(DEPDIR)/find_names.Po $(DEPDIR)/hardlink.Po \
@AMDEP_TRUE@ $(DEPDIR)/hash.Po $(DEPDIR)/history.Po \
@AMDEP_TRUE@ $(DEPDIR)/ignore.Po $(DEPDIR)/import.Po \
@AMDEP_TRUE@ $(DEPDIR)/lock.Po $(DEPDIR)/log.Po \
@AMDEP_TRUE@ $(DEPDIR)/login.Po $(DEPDIR)/logmsg.Po \
@AMDEP_TRUE@ $(DEPDIR)/main.Po $(DEPDIR)/mkmodules.Po \
@AMDEP_TRUE@ $(DEPDIR)/modules.Po $(DEPDIR)/myndbm.Po \
@AMDEP_TRUE@ $(DEPDIR)/no_diff.Po $(DEPDIR)/parseinfo.Po \
@AMDEP_TRUE@ $(DEPDIR)/patch.Po $(DEPDIR)/rcs.Po \
@AMDEP_TRUE@ $(DEPDIR)/rcscmds.Po $(DEPDIR)/recurse.Po \
@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)/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
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/add.Po ./$(DEPDIR)/admin.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/annotate.Po ./$(DEPDIR)/buffer.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/checkin.Po ./$(DEPDIR)/checkout.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/classify.Po ./$(DEPDIR)/client.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/commit.Po ./$(DEPDIR)/create_adm.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/cvsrc.Po ./$(DEPDIR)/diff.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/edit.Po ./$(DEPDIR)/entries.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/error.Po ./$(DEPDIR)/expand_path.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/fileattr.Po ./$(DEPDIR)/filesubr.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/find_names.Po ./$(DEPDIR)/hardlink.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/hash.Po ./$(DEPDIR)/history.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/ignore.Po ./$(DEPDIR)/import.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/lock.Po ./$(DEPDIR)/log.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/login.Po ./$(DEPDIR)/logmsg.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/mkmodules.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/modules.Po ./$(DEPDIR)/myndbm.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/no_diff.Po ./$(DEPDIR)/parseinfo.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/patch.Po ./$(DEPDIR)/rcs.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/rcscmds.Po ./$(DEPDIR)/recurse.Po \
@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)/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 = ./stamp-h2.in ChangeLog Makefile.am Makefile.in cvsbug.in \
options.h.in version.h.in
DIST_COMMON = ChangeLog Makefile.am Makefile.in cvsbug.in
SOURCES = $(cvs_SOURCES)
all: $(BUILT_SOURCES) options.h
$(MAKE) $(AM_MAKEFLAGS) all-am
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
@ -279,38 +284,10 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
options.h: stamp-h2
@if test ! -f $@; then \
rm -f stamp-h2; \
$(MAKE) stamp-h2; \
else :; fi
stamp-h2: $(srcdir)/options.h.in $(top_builddir)/config.status
@rm -f stamp-h2 stamp-h2T
@echo timestamp > stamp-h2T 2> /dev/null
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=src/options.h \
$(SHELL) ./config.status
@mv stamp-h2T stamp-h2
$(srcdir)/options.h.in: $(srcdir)/./stamp-h2.in
@if test ! -f $@; then \
rm -f $(srcdir)/./stamp-h2.in; \
$(MAKE) $(srcdir)/./stamp-h2.in; \
else :; fi
$(srcdir)/./stamp-h2.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h
@rm -f $(srcdir)/./stamp-h2.in $(srcdir)/./stamp-h2.inT
@echo timestamp > $(srcdir)/./stamp-h2.inT 2> /dev/null
cd $(top_srcdir) && $(AUTOHEADER)
@mv $(srcdir)/./stamp-h2.inT $(srcdir)/./stamp-h2.in
distclean-hdr:
-rm -f options.h
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
cvsbug: $(top_builddir)/config.status cvsbug.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
version.h: $(top_builddir)/config.status version.h.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@ -318,16 +295,16 @@ install-binPROGRAMS: $(bin_PROGRAMS)
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
; then \
f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \
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; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
@ -337,24 +314,23 @@ clean-binPROGRAMS:
cvs$(EXEEXT): $(cvs_OBJECTS) $(cvs_DEPENDENCIES)
@rm -f cvs$(EXEEXT)
$(LINK) $(cvs_LDFLAGS) $(cvs_OBJECTS) $(cvs_LDADD) $(LIBS)
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_SCRIPTS)'; for p in $$list; do \
f="`echo $$p|sed '$(transform)'`"; \
if test -f $$p; then \
echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f; \
elif test -f $(srcdir)/$$p; then \
echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f; \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f $$d$$p; then \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f"; \
$(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \
done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(bin_SCRIPTS)'; for p in $$list; do \
f="`echo $$p|sed '$(transform)'`"; \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
@ -365,69 +341,69 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/add.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/admin.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/annotate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/buffer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/checkin.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/checkout.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/classify.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/client.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/commit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/create_adm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cvsrc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/edit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/entries.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/error.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/expand_path.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fileattr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/filesubr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/find_names.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hardlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/history.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ignore.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/import.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/log.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/login.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/logmsg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mkmodules.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/modules.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/myndbm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/no_diff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/parseinfo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/patch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rcs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rcscmds.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/recurse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/release.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/remove.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/repos.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/root.Po@am__quote@
@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)/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@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/update.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vers_ts.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/version.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/watch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wrapper.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/zlib.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/admin.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkin.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkout.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/classify.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_adm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cvsrc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entries.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expand_path.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileattr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filesubr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_names.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hardlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/history.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ignore.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/import.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/login.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logmsg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkmodules.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modules.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/myndbm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/no_diff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parseinfo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcscmds.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recurse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/release.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remove.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/repos.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/root.Po@am__quote@
@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)/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@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/update.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vers_ts.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/watch.Po@am__quote@
@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)
-rm -rf ./$(DEPDIR)
.c.o:
@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)/'`$<
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -437,53 +413,61 @@ distclean-depend:
CCDEPMODE = @CCDEPMODE@
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
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; }'`; \
mkid -fID $$unique $(LISP)
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) options.h.in $(TAGS_DEPENDENCIES) \
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
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 "$(ETAGS_ARGS)options.h.in$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags options.h.in $$unique $(LISP)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-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)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@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 \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@ -493,7 +477,7 @@ distdir: $(DISTFILES)
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile $(PROGRAMS) $(SCRIPTS) options.h
all-am: Makefile $(PROGRAMS) $(SCRIPTS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir)
@ -509,6 +493,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -516,13 +501,12 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
@ -530,7 +514,7 @@ clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-hdr distclean-tags
distclean-generic distclean-tags
dvi: dvi-am
@ -563,15 +547,15 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
.PHONY: GTAGS all all-am check check-am check-local clean \
clean-binPROGRAMS clean-generic distclean distclean-compile \
distclean-depend distclean-generic distclean-hdr 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 tags uninstall uninstall-am \
uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-info-am
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 tags uninstall \
uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-info-am
check-local: localcheck remotecheck

View File

@ -167,6 +167,7 @@ add (argc, argv)
free (options);
}
option_with_arg ("-m", message);
send_arg ("--");
/* If !found_slash, refrain from sending "Directory", for
CVS 1.9 compatibility. If we only tried to deal with servers

View File

@ -496,6 +496,7 @@ admin (argc, argv)
for (i = 0; i < admin_data.ac; ++i)
send_arg (admin_data.av[i]);
send_arg ("--");
send_files (argc, argv, 0, 0, SEND_NO_CONTENTS);
send_file_names (argc, argv, SEND_EXPAND_WILD);
send_to_server ("admin\012", 0);
@ -509,7 +510,7 @@ admin (argc, argv)
err = start_recursion (admin_fileproc, (FILESDONEPROC) NULL, admin_dirproc,
(DIRLEAVEPROC) NULL, (void *)&admin_data,
argc, argv, 0,
W_LOCAL, 0, 0, (char *) NULL, 1);
W_LOCAL, 0, LOCK_NONE, (char *) NULL, 1);
Lock_Cleanup ();
return_it:
@ -550,9 +551,7 @@ admin_fileproc (callerdat, finfo)
vers = Version_TS (finfo, NULL, NULL, NULL, 0, 0);
version = vers->vn_user;
if (version == NULL)
goto exitfunc;
else if (strcmp (version, "0") == 0)
if (version != NULL && strcmp (version, "0") == 0)
{
error (0, 0, "cannot admin newly added file `%s'", finfo->file);
goto exitfunc;

View File

@ -110,6 +110,7 @@ annotate (argc, argv)
option_with_arg ("-r", tag);
if (date)
client_senddate (date);
send_arg ("--");
if (is_rannotate)
{
int i;
@ -247,7 +248,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, 1,
argc - 1, argv + 1, local, which, 0, LOCK_READ,
where, 1);
return err;
}

View File

@ -112,6 +112,7 @@ extern void buf_free PROTO((struct buffer *));
extern struct buffer *buf_nonio_initialize PROTO((void (*) (struct buffer *)));
extern struct buffer *stdio_buffer_initialize
PROTO((FILE *, int, int, void (*) (struct buffer *)));
extern FILE *stdio_buffer_get_file PROTO((struct buffer *));
extern struct buffer *compress_buffer_initialize
PROTO((struct buffer *, int, int, void (*) (struct buffer *)));
extern struct buffer *packetizing_buffer_initialize

View File

@ -102,13 +102,21 @@ Classify_File (finfo, tag, date, options, force_tag_match, aflag, versp,
if (vers->ts_user == NULL)
{
/*
* There is no user file, but there should be one; remove the
* entry
*/
if (!really_quiet)
error (0, 0, "warning: new-born %s has disappeared", finfo->fullname);
ret = T_REMOVE_ENTRY;
if (pipeout)
{
ret = T_CHECKOUT;
}
else
{
/*
* There is no user file, but there should be one; remove the
* entry
*/
if (!really_quiet)
error (0, 0, "warning: new-born %s has disappeared",
finfo->fullname);
ret = T_REMOVE_ENTRY;
}
}
else if (vers->vn_rcs == NULL ||
RCS_isdead (vers->srcfile, vers->vn_rcs))
@ -116,29 +124,36 @@ Classify_File (finfo, tag, date, options, force_tag_match, aflag, versp,
ret = T_ADDED;
else
{
if (vers->srcfile->flags & INATTIC
&& vers->srcfile->flags & VALID)
if (pipeout)
{
/* This file has been added on some branch other than
the one we are looking at. In the branch we are
looking at, the file was already valid. */
if (!really_quiet)
error (0, 0,
"conflict: %s has been added, but already exists",
finfo->fullname);
ret = T_CHECKOUT;
}
else
{
/*
* There is an RCS file, so someone else must have checked
* one in behind our back; conflict
*/
if (!really_quiet)
error (0, 0,
if (vers->srcfile->flags & INATTIC
&& vers->srcfile->flags & VALID)
{
/* This file has been added on some branch other than
the one we are looking at. In the branch we are
looking at, the file was already valid. */
if (!really_quiet)
error (0, 0,
"conflict: %s has been added, but already exists",
finfo->fullname);
}
else
{
/*
* There is an RCS file, so someone else must have checked
* one in behind our back; conflict
*/
if (!really_quiet)
error (0, 0,
"conflict: %s created independently by second party",
finfo->fullname);
finfo->fullname);
}
ret = T_CONFLICT;
}
ret = T_CONFLICT;
}
}
else if (vers->vn_user[0] == '-')

View File

@ -40,20 +40,17 @@ Create_Admin (dir, update_dir, repository, tag, date, nonbranch, warn,
if (trace)
{
fprintf (stderr, "%s-> Create_Admin (%s, %s, %s, %s, %s, %d, %d)\n",
fprintf (stderr, "%s-> Create_Admin (%s, %s, %s, %s, %s, %d, %d, %d)\n",
CLIENT_SERVER_STR,
dir, update_dir, repository, tag ? tag : "",
date ? date : "", nonbranch, warn);
date ? date : "", nonbranch, warn, dotemplate);
}
if (noexec)
return 0;
tmp = xmalloc (strlen (dir) + 100);
if (dir != NULL)
(void) sprintf (tmp, "%s/%s", dir, CVSADM);
else
(void) strcpy (tmp, CVSADM);
(void) sprintf (tmp, "%s/%s", dir, CVSADM);
if (isfile (tmp))
error (1, 0, "there is a version in %s already", update_dir);
@ -114,7 +111,6 @@ Create_Admin (dir, update_dir, repository, tag, date, nonbranch, warn,
cp = reposcopy;
#ifdef RELATIVE_REPOS
/*
* If the Repository file is to hold a relative path, try to strip off
* the leading CVSroot argument.
@ -127,7 +123,6 @@ Create_Admin (dir, update_dir, repository, tag, date, nonbranch, warn,
cp += strlen (path);
free (path);
}
#endif
if (fprintf (fout, "%s\n", cp) < 0)
{

View File

@ -28,7 +28,7 @@ SUBMITTER=net
## GNATS_ROOT=/usr/local/lib/gnats/gnats-db
# The default mail address for PR submissions.
GNATS_ADDR=bug-cvs@gnu.org
GNATS_ADDR=@PACKAGE_BUGREPORT@
## # Where the gnats category tree lives.
## DATADIR=/usr/local/lib

View File

@ -73,10 +73,7 @@ read_cvsrc (argc, argv, cmdname)
if (!homedir)
return;
homeinit = (char *) xmalloc (strlen (homedir) + strlen (cvsrc) + 10);
strcpy (homeinit, homedir);
strcat (homeinit, "/");
strcat (homeinit, cvsrc);
homeinit = strcat_filename_onto_homedir (homedir, cvsrc);
/* if it can't be read, there's no point to continuing */

View File

@ -89,6 +89,7 @@ watch_onoff (argc, argv)
if (local)
send_arg ("-l");
send_arg ("--");
send_files (argc, argv, local, 0, SEND_NO_CONTENTS);
send_file_names (argc, argv, SEND_EXPAND_WILD);
send_to_server (turning_on ? "watch-on\012" : "watch-off\012", 0);
@ -102,8 +103,8 @@ watch_onoff (argc, argv)
err = start_recursion (onoff_fileproc, onoff_filesdoneproc,
(DIRENTPROC) NULL, (DIRLEAVEPROC) NULL, NULL,
argc, argv, local, W_LOCAL, 0, 0, (char *)NULL,
0);
argc, argv, local, W_LOCAL, 0, LOCK_NONE,
(char *)NULL, 0);
Lock_Cleanup ();
return err;
@ -1125,6 +1126,7 @@ editors (argc, argv)
if (local)
send_arg ("-l");
send_arg ("--");
send_files (argc, argv, local, 0, SEND_NO_CONTENTS);
send_file_names (argc, argv, SEND_EXPAND_WILD);
send_to_server ("editors\012", 0);

View File

@ -1031,7 +1031,7 @@ fill_hrec (line, hr)
#ifndef STAT_BLOCKSIZE
#if HAVE_ST_BLKSIZE
#if HAVE_STRUCT_STAT_ST_BLKSIZE
#define STAT_BLOCKSIZE(s) (s).st_blksize
#else
#define STAT_BLOCKSIZE(s) (4 * 1024)

View File

@ -89,8 +89,7 @@ ign_setup ()
.cvsignore is). */
if (home_dir)
{
char *file = xmalloc (strlen (home_dir) + sizeof (CVSDOTIGNORE) + 10);
(void) sprintf (file, "%s/%s", home_dir, CVSDOTIGNORE);
char *file = strcat_filename_onto_homedir (home_dir, CVSDOTIGNORE);
ign_add_file (file, 0);
free (file);
}

View File

@ -383,6 +383,7 @@ cvslog (argc, argv)
dellist (&log_data.statelist);
send_arg_list ("-w", log_data.authorlist);
dellist (&log_data.authorlist);
send_arg ("--");
if (is_rlog)
{
@ -549,7 +550,7 @@ rlog_proc (argc, argv, xwhere, mwhere, mfile, shorten, local, mname, msg)
err = start_recursion (log_fileproc, (FILESDONEPROC) NULL, log_dirproc,
(DIRLEAVEPROC) NULL, (void *) &log_data,
argc - 1, argv + 1, local, which, 0, 1,
argc - 1, argv + 1, local, which, 0, LOCK_READ,
where, 1);
return err;
}
@ -753,7 +754,7 @@ log_parse_list (plist, argstring)
len = cp - argstring;
p->key = xmalloc (len + 1);
strncpy (p->key, argstring, len);
p->key[len + 1] = '\0';
p->key[len] = '\0';
}
if (*plist == NULL)
@ -1108,21 +1109,26 @@ log_expand_revlist (rcs, revlist, default_branch)
does. This code is a bit cryptic for my tastes, but
keeping the same implementation as rlog ensures a
certain degree of compatibility. */
if (r->first == NULL && nr->last != NULL)
if (r->first == NULL)
{
nr->fields = numdots (nr->last) + 1;
if (nr->fields < 2)
nr->first = xstrdup (".0");
if (nr->last == NULL)
nr->fields = 0;
else
{
char *cp;
nr->fields = numdots (nr->last) + 1;
if (nr->fields < 2)
nr->first = xstrdup (".0");
else
{
char *cp;
nr->first = xstrdup (nr->last);
cp = strrchr (nr->first, '.');
strcpy (cp, ".0");
nr->first = xstrdup (nr->last);
cp = strrchr (nr->first, '.');
strcpy (cp + 1, "0");
}
}
}
else if (r->last == NULL && nr->first != NULL)
else if (r->last == NULL)
{
nr->fields = numdots (nr->first) + 1;
nr->last = xstrdup (nr->first);
@ -1136,13 +1142,30 @@ log_expand_revlist (rcs, revlist, default_branch)
*cp = '\0';
}
}
else if (nr->first != NULL && nr->last != NULL)
else if (nr->first == NULL || nr->last == NULL)
nr->fields = 0;
else if (strcmp (nr->first, nr->last) == 0)
nr->fields = numdots (nr->last) + 1;
else
{
nr->fields = numdots (nr->first) + 1;
if (nr->fields != numdots (nr->last) + 1
|| (nr->fields > 2
&& version_compare (nr->first, nr->last,
nr->fields - 1) != 0))
int ord;
int dots1 = numdots (nr->first);
int dots2 = numdots (nr->last);
if (dots1 > dots2 || (dots1 == dots2 &&
version_compare (nr->first, nr->last, dots1 + 1) > 0))
{
char *tmp = nr->first;
nr->first = nr->last;
nr->last = tmp;
nr->fields = dots2 + 1;
dots2 = dots1;
dots1 = nr->fields - 1;
}
else
nr->fields = dots1 + 1;
dots1 += (nr->fields & 1);
ord = version_compare (nr->first, nr->last, dots1);
if (ord > 0 || (nr->fields > 2 && ord < 0))
{
error (0, 0,
"invalid branch or revision pair %s:%s in `%s'",
@ -1153,17 +1176,46 @@ log_expand_revlist (rcs, revlist, default_branch)
nr->last = NULL;
nr->fields = 0;
}
else if (version_compare (nr->first, nr->last, nr->fields) > 0)
else
{
char *tmp;
if (nr->fields <= dots2 && (nr->fields & 1))
{
char *p = xmalloc (strlen (nr->first) + 3);
strcpy (p, nr->first);
strcat (p, ".0");
free (nr->first);
nr->first = p;
++nr->fields;
}
while (nr->fields <= dots2)
{
char *p;
int i;
tmp = nr->first;
nr->first = nr->last;
nr->last = tmp;
nr->next = NULL;
*pr = nr;
nr = (struct revlist *) xmalloc (sizeof *nr);
nr->inclusive = 1;
nr->first = xstrdup ((*pr)->last);
nr->last = xstrdup ((*pr)->last);
nr->fields = (*pr)->fields;
p = (*pr)->last;
for (i = 0; i < nr->fields; i++)
p = strchr (p, '.') + 1;
p[-1] = '\0';
p = strchr (nr->first + (p - (*pr)->last), '.');
if (p != NULL)
{
*++p = '0';
*++p = '\0';
nr->fields += 2;
}
else
++nr->fields;
pr = &(*pr)->next;
}
}
}
else
nr->fields = 0;
}
nr->next = NULL;

View File

@ -33,7 +33,8 @@ mydbm_open (file, flags, mode)
FILE *fp;
DBM *db;
fp = CVS_FOPEN (file, FOPEN_BINARY_READ);
fp = CVS_FOPEN (file, (flags & O_ACCMODE) != O_RDONLY ?
FOPEN_BINARY_READWRITE : FOPEN_BINARY_READ);
if (fp == NULL && !(existence_error (errno) && (flags & O_CREAT)))
return ((DBM *) 0);

79
contrib/cvs/src/options.h Normal file
View File

@ -0,0 +1,79 @@
/*
* Copyright (c) 1992, Brian Berliner and Jeff Polk
* Copyright (c) 1989-1992, Brian Berliner
*
* You may distribute under the terms of the GNU General Public License as
* specified in the README file that comes with the CVS source distribution.
*
* This file holds (most of) the configuration tweaks that can be made to
* customize CVS for your site. CVS comes configured for a typical SunOS 4.x
* environment. The comments for each configurable item are intended to be
* self-explanatory. All #defines are tested first to see if an over-riding
* option was specified on the "make" command line.
*
* If special libraries are needed, you will have to edit the Makefile.in file
* or the configure script directly. Sorry.
*/
/* By default, CVS stores its modules and other such items in flat
text files (MY_NDBM enables this). Turning off MY_NDBM causes CVS
to look for a system-supplied ndbm database library and use it
instead. That may speed things up, but the default setting
generally works fine too. */
#ifndef MY_NDBM
#define MY_NDBM
#endif
/*
* The cvs admin command is restricted to the members of the group
* CVS_ADMIN_GROUP. If this group does not exist, all users are
* allowed to run cvs admin. To disable the cvs admin for all users,
* create an empty group CVS_ADMIN_GROUP. To disable access control
* for cvs admin, comment out the define below.
*/
#ifndef CVS_ADMIN_GROUP
#define CVS_ADMIN_GROUP "cvsadmin"
#endif
/*
* When locking the repository, some sites like to remove locks and
* assume the program that created them went away if the lock has
* existed for a long time. This used to be the default for previous
* versions of CVS. CVS now attempts to be much more robust, so lock
* files should not be left around by mistake. The new behaviour will
* never remove old locks (they must now be removed by hand).
* Enabling CVS_FUDGELOCKS will cause CVS to remove locks that are
* older than CVSLCKAGE seconds.
*
* Use of this option is NOT recommended.
*/
#ifndef CVS_FUDGELOCKS
/* #define CVS_FUDGELOCKS */
#endif
/* Define this to enable the SETXID support. The way to use this is
to create a group with no users in it (except perhaps cvs
administrators), set the cvs executable to setgid that group, chown
all the repository files to that group, and change all directory
permissions in the repository to 770. The last person to modify a
file will own it, but as long as directory permissions are set
right that won't matter. You'll need a system which inherits file
groups from the parent directory (WARNING: using the wrong kind of
system (I think Solaris 2.4 is the wrong kind, for example) will
create a security hole! You will receive no warning other than the
fact that files in the working directory are owned by the group
which cvs is setgid to).
One security hole which has been reported is that setgid is not
turned off when the editor is invoked--most editors provide a way
to execute a shell, or the user can specify an editor (this one is
large enough to drive a truck through). Don't assume that the
holes described here are the only ones; I don't know how carefully
SETXID has been inspected for security holes. */
#ifndef SETXID_SUPPORT
/* #define SETXID_SUPPORT */
#endif
/* End of CVS configuration section */

View File

@ -356,7 +356,7 @@ patch_proc (argc, argv, xwhere, mwhere, mfile, shorten, local_specified,
err = start_recursion (patch_fileproc, (FILESDONEPROC) NULL, patch_dirproc,
(DIRLEAVEPROC) NULL, NULL,
argc - 1, argv + 1, local_specified,
which, 0, 1, where, 1);
which, 0, LOCK_READ, where, 1);
free (where);
return (err);

View File

@ -90,7 +90,7 @@ cvsremove (argc, argv)
start_recursion (remove_force_fileproc, (FILESDONEPROC) NULL,
(DIRENTPROC) NULL, (DIRLEAVEPROC) NULL,
(void *) NULL, argc, argv, local, W_LOCAL,
0, 0, (char *) NULL, 0);
0, LOCK_NONE, (char *) NULL, 0);
}
/* else FIXME should probably act as if the file doesn't exist
in doing the following checks. */
@ -100,6 +100,7 @@ cvsremove (argc, argv)
ign_setup ();
if (local)
send_arg("-l");
send_arg ("--");
/* FIXME: Can't we set SEND_NO_CONTENTS here? Needs investigation. */
send_files (argc, argv, local, 0, 0);
send_file_names (argc, argv, 0);
@ -113,7 +114,7 @@ cvsremove (argc, argv)
err = start_recursion (remove_fileproc, (FILESDONEPROC) NULL,
remove_dirproc, (DIRLEAVEPROC) NULL, NULL,
argc, argv,
local, W_LOCAL, 0, 1, (char *) NULL, 1);
local, W_LOCAL, 0, LOCK_READ, (char *) NULL, 1);
if (removed_files && !really_quiet)
error (0, 0, "use '%s commit' to remove %s permanently", program_name,

View File

@ -1,5 +1,6 @@
/*
* Copyright (c) 1992, Mark D. Baushke
* Copyright (c) 2002, Derek R. Price
*
* You may distribute under the terms of the GNU General Public License as
* specified in the README file that comes with the CVS source distribution.
@ -208,18 +209,7 @@ root_allow_add (arg)
printf ("E Fatal server error, aborting.\n\
error ENOMEM Virtual memory exhausted.\n");
/* I'm doing this manually rather than via error_exit ()
because I'm not sure whether we want to call server_cleanup.
Needs more investigation.... */
#ifdef SYSTEM_CLEANUP
/* Hook for OS-specific behavior, for example socket
subsystems on NT and OS2 or dealing with windows
and arguments on Mac. */
SYSTEM_CLEANUP ();
#endif
exit (EXIT_FAILURE);
error_exit ();
}
}
p = malloc (strlen (arg) + 1);
@ -270,22 +260,11 @@ error 0 Server configuration missing --allow-root in inetd.conf\n");
/* This global variable holds the global -d option. It is NULL if -d
was not used, which means that we must get the CVSroot information
from the CVSROOT environment variable or from a CVS/Root file. */
char *CVSroot_cmdline;
/* Parse a CVSROOT variable into its constituent parts -- method,
* username, hostname, directory. The prototypical CVSROOT variable
* looks like:
*
* :method:user@host:path
*
* Some methods may omit fields; local, for example, doesn't need user
* and host.
*
* Returns pointer to new cvsroot_t on success, NULL on failure. */
/* FIXME - Deglobalize this. */
cvsroot_t *current_parsed_root = NULL;
@ -347,7 +326,27 @@ free_cvsroot_t (root)
/*
* parse a CVSROOT string to allocate and return a new cvsroot_t structure
* Parse a CVSROOT string to allocate and return a new cvsroot_t structure.
* Valid specifications are:
*
* :(gserver|kserver|pserver):[[user][:password]@]host[:[port]]/path
* [:(ext|server):][[user]@]host[:]/path
* [:local:[e:]]/path
* :fork:/path
*
* INPUTS
* root_in C String containing the CVSROOT to be parsed.
*
* RETURNS
* A pointer to a newly allocated cvsroot_t structure upon success and
* NULL upon failure. The caller is responsible for disposing of
* new structures with a call to free_cvsroot_t().
*
* NOTES
* This would have been a lot easier to write in Perl.
*
* SEE ALSO
* free_cvsroot_t()
*/
cvsroot_t *
parse_cvsroot (root_in)
@ -388,7 +387,6 @@ parse_cvsroot (root_in)
if (! (p = strchr (method, ':')))
{
error (0, 0, "No closing `:' on method in CVSROOT.");
free (cvsroot_save);
goto error_exit;
}
*p = '\0';
@ -413,22 +411,16 @@ parse_cvsroot (root_in)
else
{
error (0, 0, "Unknown method (`%s') in CVSROOT.", method);
free (cvsroot_save);
goto error_exit;
}
}
else
{
/* If the method isn't specified, assume
SERVER_METHOD/EXT_METHOD if the string looks like a relative path or
LOCAL_METHOD otherwise. */
/* If the method isn't specified, assume EXT_METHOD if the string looks
like a relative path and LOCAL_METHOD otherwise. */
newroot->method = ((*cvsroot_copy != '/' && strchr (cvsroot_copy, '/'))
/*#ifdef RSH_NOT_TRANSPARENT
? server_method
#else*/
? ext_method
/*#endif*/
: local_method);
}
@ -450,7 +442,6 @@ parse_cvsroot (root_in)
error (0, 0, "CVSROOT requires a path spec:");
error (0, 0, ":(gserver|kserver|pserver):[[user][:password]@]host[:[port]]/path");
error (0, 0, "[:(ext|server):][[user]@]host[:]/path");
free (cvsroot_save);
goto error_exit;
}
firstslash = p; /* == NULL if '/' not in string */
@ -467,6 +458,7 @@ parse_cvsroot (root_in)
newroot->password = xstrdup (++q);
/* Don't check for *newroot->password == '\0' since
* a user could conceivably wish to specify a blank password
*
* (newroot->password == NULL means to use the
* password from .cvspass)
*/
@ -499,7 +491,6 @@ parse_cvsroot (root_in)
error (0, 0, "CVSROOT may only specify a positive, non-zero, integer port (not `%s').",
p);
error (0, 0, "Perhaps you entered a relative pathname?");
free (cvsroot_save);
goto error_exit;
}
}
@ -508,7 +499,6 @@ parse_cvsroot (root_in)
error (0, 0, "CVSROOT may only specify a positive, non-zero, integer port (not `%s').",
p);
error (0, 0, "Perhaps you entered a relative pathname?");
free (cvsroot_save);
goto error_exit;
}
}
@ -528,7 +518,6 @@ parse_cvsroot (root_in)
/* parse the path for all methods */
newroot->directory = xstrdup(cvsroot_copy);
free (cvsroot_save);
/*
* Do various sanity checks.
@ -663,9 +652,11 @@ parse_cvsroot (root_in)
}
/* Hooray! We finally parsed it! */
free (cvsroot_save);
return newroot;
error_exit:
free (cvsroot_save);
free_cvsroot_t (newroot);
return NULL;
}
@ -799,3 +790,5 @@ main (argc, argv)
/* NOTREACHED */
}
#endif
/* vim:tabstop=8:shiftwidth=4
*/

File diff suppressed because it is too large Load Diff

View File

@ -77,6 +77,7 @@ cvsstatus (argc, argv)
send_arg("-v");
if (local)
send_arg("-l");
send_arg ("--");
/* For a while, we tried setting SEND_NO_CONTENTS here so this
could be a fast operation. That prevents the
@ -106,7 +107,7 @@ cvsstatus (argc, argv)
err = start_recursion (status_fileproc, (FILESDONEPROC) NULL,
status_dirproc, (DIRLEAVEPROC) NULL, NULL,
argc, argv, local,
W_LOCAL, 0, 1, (char *) NULL, 1);
W_LOCAL, 0, LOCK_READ, (char *) NULL, 1);
return (err);
}

View File

@ -403,9 +403,9 @@ gca (rev1, rev2)
const char *rev2;
{
int dots;
char *gca;
const char *p[2];
int j[2];
char *gca, *g;
const char *p1, *p2;
int r1, r2;
char *retval;
if (rev1 == NULL || rev2 == NULL)
@ -417,52 +417,27 @@ gca (rev1, rev2)
/* The greatest common ancestor will have no more dots, and numbers
of digits for each component no greater than the arguments. Therefore
this string will be big enough. */
gca = xmalloc (strlen (rev1) + strlen (rev2) + 100);
g = gca = xmalloc (strlen (rev1) + strlen (rev2) + 100);
/* walk the strings, reading the common parts. */
gca[0] = '\0';
p[0] = rev1;
p[1] = rev2;
p1 = rev1;
p2 = rev2;
do
{
int i;
char c[2];
char *s[2];
for (i = 0; i < 2; ++i)
{
/* swap out the dot */
s[i] = strchr (p[i], '.');
if (s[i] != NULL) {
c[i] = *s[i];
}
/* read an int */
j[i] = atoi (p[i]);
/* swap back the dot... */
if (s[i] != NULL) {
*s[i] = c[i];
p[i] = s[i] + 1;
}
else
{
/* or mark us at the end */
p[i] = NULL;
}
}
r1 = strtol (p1, (char **) &p1, 10);
r2 = strtol (p2, (char **) &p2, 10);
/* use the lowest. */
(void) sprintf (gca + strlen (gca), "%d.",
j[0] < j[1] ? j[0] : j[1]);
(void) sprintf (g, "%d.", r1 < r2 ? r1 : r2);
g += strlen (g);
if (*p1 == '.') ++p1;
else break;
if (*p2 == '.') ++p2;
else break;
} while (r1 == r2);
} while (j[0] == j[1]
&& p[0] != NULL
&& p[1] != NULL);
/* back up over that last dot. */
gca[strlen(gca) - 1] = '\0';
/* erase that last dot. */
*--g = '\0';
/* numbers differ, or we ran out of strings. we're done with the
common parts. */
@ -472,12 +447,8 @@ gca (rev1, rev2)
{
/* revisions differ in trunk major number. */
char *q;
const char *s;
s = (j[0] < j[1]) ? p[0] : p[1];
if (s == NULL)
if (r2 < r1) p1 = p2;
if (*p1 == '\0')
{
/* we only got one number. this is strange. */
error (0, 0, "bad revisions %s or %s", rev1, rev2);
@ -486,13 +457,10 @@ gca (rev1, rev2)
else
{
/* we have a minor number. use it. */
q = gca + strlen (gca);
*q++ = '.';
for ( ; *s != '.' && *s != '\0'; )
*q++ = *s++;
*q = '\0';
*g++ = '.';
while (*p1 != '.' && *p1 != '\0')
*g++ = *p1++;
*g = '\0';
}
}
else if ((dots & 1) == 0)
@ -500,10 +468,8 @@ gca (rev1, rev2)
/* if we have an even number of dots, then we have a branch.
remove the last number in order to make it a revision. */
char *s;
s = strrchr(gca, '.');
*s = '\0';
g = strrchr (gca, '.');
*g = '\0';
}
retval = xstrdup (gca);

View File

@ -222,6 +222,8 @@ cvstag (argc, argv)
if (date)
client_senddate (date);
send_arg ("--");
send_arg (symtag);
if (is_rtag)
@ -233,7 +235,6 @@ cvstag (argc, argv)
}
else
{
send_files (argc, argv, local, 0,
/* I think the -c case is like "cvs status", in
@ -380,8 +381,8 @@ rtag_proc (argc, argv, xwhere, mwhere, mfile, shorten, local_specified,
mtlist = getlist();
err = start_recursion (check_fileproc, check_filesdoneproc,
(DIRENTPROC) NULL, (DIRLEAVEPROC) NULL, NULL,
argc - 1, argv + 1, local_specified, which, 0, 1,
where, 1);
argc - 1, argv + 1, local_specified, which, 0,
LOCK_READ, where, 1);
if (err)
{
@ -390,19 +391,13 @@ rtag_proc (argc, argv, xwhere, mwhere, mfile, shorten, local_specified,
/* It would be nice to provide consistency with respect to
commits; however CVS lacks the infrastructure to do that (see
Concurrency in cvs.texinfo and comment in do_recursion). We
do need to ensure that the RCS file info that gets read and
cached in do_recursion isn't stale by the time we get around
to using it to rewrite the RCS file in the callback, and this
is the easiest way to accomplish that. */
lock_tree_for_write (argc - 1, argv + 1, local_specified, which, 0);
Concurrency in cvs.texinfo and comment in do_recursion). */
/* start the recursion processor */
err = start_recursion (is_rtag ? rtag_fileproc : tag_fileproc,
(FILESDONEPROC) NULL, tag_dirproc,
(DIRLEAVEPROC) NULL, NULL, argc - 1, argv + 1,
local_specified, which, 0, 0, where, 1);
Lock_Cleanup ();
local_specified, which, 0, LOCK_WRITE, where, 1);
dellist (&mtlist);
if (where != NULL)
free (where);
@ -423,11 +418,21 @@ check_fileproc (callerdat, finfo)
if (check_uptodate)
{
Ctype status = Classify_File (finfo, (char *) NULL, (char *) NULL,
(char *) NULL, 1, 0, &vers, 0);
if ((status != T_UPTODATE) && (status != T_CHECKOUT) &&
(status != T_PATCH))
switch (Classify_File (finfo, (char *) NULL, (char *) NULL,
(char *) NULL, 1, 0, &vers, 0))
{
case T_UPTODATE:
case T_CHECKOUT:
case T_PATCH:
case T_REMOVE_ENTRY:
break;
case T_UNKNOWN:
case T_CONFLICT:
case T_NEEDS_MERGE:
case T_MODIFIED:
case T_ADDED:
case T_REMOVED:
default:
error (0, 0, "%s is locally modified", finfo->fullname);
freevers_ts (&vers);
return (1);
@ -1280,11 +1285,11 @@ Numeric tag %s contains characters other than digits and '.'", name);
val_direntproc, (DIRLEAVEPROC) NULL,
(void *)&the_val_args,
argc, argv, local, which, aflag,
1, NULL, 1);
LOCK_READ, NULL, 1);
if (repository != NULL && repository[0] != '\0')
{
if (restore_cwd (&cwd, NULL))
exit (EXIT_FAILURE);
error_exit ();
free_cwd (&cwd);
}

View File

@ -302,7 +302,6 @@ time_stamp_server (file, vers_ts, entdata)
else
{
struct tm *tm_p;
struct tm local_tm;
vers_ts->ts_user = xmalloc (25);
/* We want to use the same timestamp format as is stored in the
@ -313,14 +312,7 @@ time_stamp_server (file, vers_ts, entdata)
stored in local time, and therefore it is not possible to cause
st_mtime to be out of sync by changing the timezone. */
tm_p = gmtime (&sb.st_mtime);
if (tm_p)
{
memcpy (&local_tm, tm_p, sizeof (local_tm));
cp = asctime (&local_tm); /* copy in the modify time */
}
else
cp = ctime (&sb.st_mtime);
cp = tm_p ? asctime (tm_p) : ctime (&sb.st_mtime);
cp[24] = 0;
/* Fix non-standard format. */
if (cp[8] == '0') cp[8] = ' ';
@ -357,7 +349,6 @@ time_stamp (file)
if (mtime)
{
struct tm *tm_p;
struct tm local_tm;
ts = xmalloc (25);
/* We want to use the same timestamp format as is stored in the
st_mtime. For unix (and NT I think) this *must* be universal
@ -367,14 +358,7 @@ time_stamp (file)
stored in local time, and therefore it is not possible to cause
st_mtime to be out of sync by changing the timezone. */
tm_p = gmtime (&sb.st_mtime);
if (tm_p)
{
memcpy (&local_tm, tm_p, sizeof (local_tm));
cp = asctime (&local_tm); /* copy in the modify time */
}
else
cp = ctime(&sb.st_mtime);
cp = tm_p ? asctime (tm_p) : ctime (&sb.st_mtime);
cp[24] = 0;
/* Fix non-standard format. */
if (cp[8] == '0') cp[8] = ' ';

View File

@ -11,7 +11,6 @@
*/
#include "cvs.h"
#include "version.h"
#ifdef CLIENT_SUPPORT
#ifdef SERVER_SUPPORT
@ -62,7 +61,7 @@ version (argc, argv)
/* Having the year here is a good idea, so people have
some idea of how long ago their version of CVS was
released. */
(void) fputs (version_string, stdout);
(void) fputs (PACKAGE_STRING, stdout);
(void) fputs (config_string, stdout);
#ifdef CLIENT_SUPPORT

View File

@ -318,25 +318,14 @@ watch_addremove (argc, argv)
/* FIXME: copes poorly with "all" if server is extended to have
new watch types and client is still running an old version. */
if (the_args.edit)
{
send_arg ("-a");
send_arg ("edit");
}
option_with_arg ("-a", "edit");
if (the_args.unedit)
{
send_arg ("-a");
send_arg ("unedit");
}
option_with_arg ("-a", "unedit");
if (the_args.commit)
{
send_arg ("-a");
send_arg ("commit");
}
option_with_arg ("-a", "commit");
if (!the_args.edit && !the_args.unedit && !the_args.commit)
{
send_arg ("-a");
send_arg ("none");
}
option_with_arg ("-a", "none");
send_arg ("--");
send_files (argc, argv, local, 0, SEND_NO_CONTENTS);
send_file_names (argc, argv, SEND_EXPAND_WILD);
send_to_server (the_args.adding ?
@ -352,8 +341,8 @@ watch_addremove (argc, argv)
err = start_recursion (addremove_fileproc, addremove_filesdoneproc,
(DIRENTPROC) NULL, (DIRLEAVEPROC) NULL, NULL,
argc, argv, local, W_LOCAL, 0, 0, (char *)NULL,
1);
argc, argv, local, W_LOCAL, 0, LOCK_NONE,
(char *)NULL, 1);
Lock_Cleanup ();
return err;
@ -516,6 +505,7 @@ watchers (argc, argv)
if (local)
send_arg ("-l");
send_arg ("--");
send_files (argc, argv, local, 0, SEND_NO_CONTENTS);
send_file_names (argc, argv, SEND_EXPAND_WILD);
send_to_server ("watchers\012", 0);
@ -525,6 +515,6 @@ watchers (argc, argv)
return start_recursion (watchers_fileproc, (FILESDONEPROC) NULL,
(DIRENTPROC) NULL, (DIRLEAVEPROC) NULL, NULL,
argc, argv, local, W_LOCAL, 0, 1, (char *)NULL,
1);
argc, argv, local, W_LOCAL, 0, LOCK_READ,
(char *)NULL, 1);
}

View File

@ -125,10 +125,7 @@ void wrap_setup()
.cvswrappers is). */
if (homedir != NULL)
{
char *file;
file = xmalloc (strlen (homedir) + sizeof (CVSDOTWRAPPER) + 10);
(void) sprintf (file, "%s/%s", homedir, CVSDOTWRAPPER);
char *file = strcat_filename_onto_homedir (homedir, CVSDOTWRAPPER);
if (isfile (file))
{
wrap_add_file (file, 0);
@ -399,7 +396,7 @@ wrap_add (line, isTemp)
switch(opt){
case 'f':
/* Before this is reenabled, need to address the problem in
commit.c (see http://www.cyclic.com/cvs/dev-wrap.txt). */
commit.c (see http://www.cvshome.org/docs/infowrapper.html). */
error (1, 0,
"-t/-f wrappers not supported by this version of CVS");
@ -413,7 +410,7 @@ wrap_add (line, isTemp)
break;
case 't':
/* Before this is reenabled, need to address the problem in
commit.c (see http://www.cyclic.com/cvs/dev-wrap.txt). */
commit.c (see http://www.cvshome.org/docs/infowrapper.html). */
error (1, 0,
"-t/-f wrappers not supported by this version of CVS");

View File

@ -1,3 +1,15 @@
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated using Automake 1.6.3.
2002-09-24 Derek Price <derek@ximbiot.com>
* Makefile.in: Regenerated.
2002-04-30 Derek Price <oberon@umich.edu>
* Makefile.in: Regenerated with automake 1.6.
2002-04-17 Derek Price <oberon@umich.edu>
* README: Replace cyclic.com with cvshome.org.

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 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
# 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,
@ -26,7 +27,6 @@
# 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@
@ -57,9 +57,13 @@ 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@
@ -69,22 +73,26 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CSH = @CSH@
DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
EDITOR = @EDITOR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
KRB4 = @KRB4@
LN_S = @LN_S@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
PR = @PR@
PS2PDF = @PS2PDF@
RANLIB = @RANLIB@
ROFF = @ROFF@
STRIP = @STRIP@
TEXI2DVI = @TEXI2DVI@
VERSION = @VERSION@
YACC = @YACC@
@ -98,7 +106,7 @@ EXTRA_DIST = \
subdir = tools
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/src/options.h
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = README ChangeLog Makefile.am Makefile.in
@ -109,29 +117,31 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu tools/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
uninstall-info-am:
tags: TAGS
TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@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 \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@ -155,6 +165,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -162,7 +173,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"