mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-29 20:04:57 +01:00
Compare commits
13
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6085d40c1 | ||
|
|
34571a294c | ||
|
|
eb1340b403 | ||
|
|
18bbce21c4 | ||
|
|
447948bfdf | ||
|
|
a76434685e | ||
|
|
be3a5962cc | ||
|
|
1902f96b24 | ||
|
|
b3bf56b63c | ||
|
|
1c55c421a9 | ||
|
|
fc871bad45 | ||
|
|
e05a703754 | ||
|
|
a842388c8f |
No files matched your search
@@ -1,32 +1,6 @@
|
||||
# $FreeBSD$
|
||||
# @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94
|
||||
|
||||
The compilation of software known as FreeBSD is distributed under the
|
||||
following terms:
|
||||
|
||||
Copyright (C) 1992-2007 The FreeBSD Project. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite
|
||||
Releases is copyrighted by The Regents of the University of California.
|
||||
|
||||
|
||||
+18
-41
@@ -9,6 +9,7 @@
|
||||
# -DNOCRYPT will prevent building of crypt versions
|
||||
# -DNOMAN do not build the manual pages
|
||||
# -DNOPROFILE do not build profiled libraries
|
||||
# -DNOSECURE do not go into secure subdir
|
||||
# -DNOGAMES do not go into games subdir
|
||||
# -DNOSHARE do not go into share subdir
|
||||
# -DNOINFO do not make or install info files
|
||||
@@ -76,7 +77,7 @@ SUBDIR+= libexec
|
||||
.if exists(${.CURDIR}/sbin)
|
||||
SUBDIR+= sbin
|
||||
.endif
|
||||
.if exists(${.CURDIR}/secure) && !defined(NOCRYPT)
|
||||
.if exists(${.CURDIR}/secure) && !defined(NOCRYPT) && !defined(NOSECURE)
|
||||
SUBDIR+= secure
|
||||
.endif
|
||||
.if exists(${.CURDIR}/share) && !defined(NOSHARE)
|
||||
@@ -177,14 +178,11 @@ CROSSENV= MAKEOBJDIRPREFIX=${OBJTREE} \
|
||||
MACHINE_ARCH=${TARGET_ARCH} \
|
||||
MACHINE=${TARGET} \
|
||||
OBJFORMAT_PATH=${WORLDTMP}/usr/libexec \
|
||||
PERL5LIB=${WORLDTMP}/usr/libdata/perl/5.00503 \
|
||||
GROFF_BIN_PATH=${WORLDTMP}/usr/bin \
|
||||
GROFF_FONT_PATH=${WORLDTMP}/usr/share/groff_font \
|
||||
GROFF_TMAC_PATH=${WORLDTMP}/usr/share/tmac
|
||||
|
||||
.if !defined(NOPERL)
|
||||
CROSSENV+= PERL5LIB=${WORLDTMP}/usr/libdata/perl/5.00503
|
||||
.endif
|
||||
|
||||
# bootstrap-tool stage
|
||||
BMAKEENV= MAKEOBJDIRPREFIX=${WORLDTMP} \
|
||||
DESTDIR= \
|
||||
@@ -341,25 +339,17 @@ buildworld: ${WMAKE_TGTS}
|
||||
#
|
||||
# Checks to be sure system is ready for installworld
|
||||
#
|
||||
CHECK_UIDS=
|
||||
CHECK_GIDS=
|
||||
.if !defined(NO_SENDMAIL)
|
||||
CHECK_UIDS+= smmsp
|
||||
CHECK_GIDS+= smmsp
|
||||
.endif
|
||||
installcheck:
|
||||
.for uid in ${CHECK_UIDS}
|
||||
@if ! `id -u ${uid} >/dev/null 2>&1`; then \
|
||||
echo "ERROR: Required ${uid} user is missing, see /usr/src/UPDATING."; \
|
||||
.if !defined(NO_SENDMAIL)
|
||||
@if ! `id -u smmsp > /dev/null`; then \
|
||||
echo "ERROR: Required smmsp user is missing, see /usr/src/UPDATING."; \
|
||||
false; \
|
||||
fi
|
||||
.endfor
|
||||
.for gid in ${CHECK_GIDS}
|
||||
@if ! `find / -prune -group ${gid} >/dev/null 2>&1`; then \
|
||||
echo "ERROR: Required ${gid} group is missing, see /usr/src/UPDATING."; \
|
||||
@if ! `id -g smmsp > /dev/null`; then \
|
||||
echo "ERROR: Required smmsp group is missing, see /usr/src/UPDATING."; \
|
||||
false; \
|
||||
fi
|
||||
.endfor
|
||||
.endif
|
||||
|
||||
#
|
||||
# distributeworld
|
||||
@@ -374,7 +364,7 @@ distributeworld installworld: installcheck
|
||||
mkdir -p ${INSTALLTMP}
|
||||
for prog in [ awk cap_mkdb cat chflags chmod chown \
|
||||
date echo egrep find grep \
|
||||
ln make makewhatis mkdir mtree mv pwd_mkdb rm sed sh sysctl \
|
||||
ln make makewhatis mkdir mtree mv perl pwd_mkdb rm sed sh sysctl \
|
||||
test true uname wc zic; do \
|
||||
cp `which $$prog` ${INSTALLTMP}; \
|
||||
done
|
||||
@@ -507,21 +497,8 @@ buildkernel:
|
||||
# Install the kernel defined by INSTALLKERNEL
|
||||
#
|
||||
installkernel reinstallkernel:
|
||||
.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KRNLSRCDIR}/modules)
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> Making hierarchy"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${.CURDIR}; \
|
||||
${CROSSENV} PATH=${TMPPATH} ${MAKE} -f Makefile.inc1 hierarchy
|
||||
.endif
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> Installing kernel"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \
|
||||
${CROSSENV} PATH=${TMPPATH} \
|
||||
${MAKE} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel$//}
|
||||
${CROSSENV} ${MAKE} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel$//}
|
||||
|
||||
#
|
||||
# update
|
||||
@@ -554,7 +531,7 @@ update:
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> Updating ${.CURDIR} from cvs repository" ${CVSROOT}
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${.CURDIR}; cvs -R -q update -rRELENG_4 -P -d
|
||||
cd ${.CURDIR}; cvs -q update -rRELENG_4_9 -P -d
|
||||
.endif
|
||||
|
||||
#
|
||||
@@ -604,7 +581,7 @@ _strfile= games/fortune/strfile
|
||||
|
||||
bootstrap-tools:
|
||||
.for _tool in ${_strfile} usr.bin/yacc usr.bin/colldef \
|
||||
usr.bin/makewhatis usr.bin/uudecode usr.bin/xinstall \
|
||||
usr.bin/uudecode usr.bin/xinstall \
|
||||
usr.sbin/config \
|
||||
gnu/usr.bin/gperf gnu/usr.bin/groff gnu/usr.bin/texinfo
|
||||
${ECHODIR} "===> ${_tool}"; \
|
||||
@@ -635,12 +612,12 @@ _perl= gnu/usr.bin/perl/miniperl
|
||||
.endif
|
||||
|
||||
.if exists(${.CURDIR}/kerberosIV) && exists(${.CURDIR}/crypto) && \
|
||||
!defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS4)
|
||||
!defined(NOCRYPT) && defined(MAKE_KERBEROS4)
|
||||
_libroken4= kerberosIV/lib/libroken
|
||||
.endif
|
||||
|
||||
.if exists(${.CURDIR}/kerberos5) && exists(${.CURDIR}/crypto) && \
|
||||
!defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS5)
|
||||
!defined(NOCRYPT) && defined(MAKE_KERBEROS5)
|
||||
_libkrb5= kerberos5/lib/libroken kerberos5/lib/libvers \
|
||||
kerberos5/lib/libasn1 kerberos5/lib/libhdb kerberos5/lib/libsl
|
||||
.endif
|
||||
@@ -721,7 +698,7 @@ _generic_libs= gnu/lib
|
||||
_generic_libs+= gnu/usr.bin/perl/libperl
|
||||
.endif
|
||||
|
||||
.if !defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS5)
|
||||
.if !defined(NOCRYPT) && defined(MAKE_KERBEROS5)
|
||||
_prebuild_libs+= kerberos5/lib/libasn1
|
||||
_prebuild_libs+= kerberos5/lib/libgssapi
|
||||
_prebuild_libs+= kerberos5/lib/libkrb5
|
||||
@@ -729,7 +706,7 @@ _prebuild_libs+= kerberos5/lib/libroken
|
||||
_generic_libs+= kerberos5/lib
|
||||
.endif
|
||||
|
||||
.if !defined(NOCRYPT) && !defined(NO_OPENSSL) && defined(MAKE_KERBEROS4)
|
||||
.if !defined(NOCRYPT) && defined(MAKE_KERBEROS4)
|
||||
_prebuild_libs+= kerberosIV/lib/libkrb
|
||||
kerberosIV/lib/libkrb__L: lib/libcrypt__L
|
||||
_generic_libs+= kerberosIV/lib
|
||||
@@ -745,7 +722,7 @@ lib/libskey__L: lib/libcrypt__L lib/libmd__L
|
||||
|
||||
_generic_libs+= lib
|
||||
|
||||
.if !defined(NOCRYPT)
|
||||
.if !defined(NOCRYPT) && !defined(NOSECURE)
|
||||
.if !defined(NO_OPENSSL)
|
||||
_prebuild_libs+= secure/lib/libcrypto secure/lib/libssl
|
||||
.if !defined(NO_OPENSSH)
|
||||
|
||||
@@ -8,31 +8,6 @@ A reverse chronology since 4.0 was released is included, followed by
|
||||
the common items quick how-tos, followed by entries for versions of
|
||||
-current prior to 4.0 Release.
|
||||
|
||||
20070426:
|
||||
The ABI breakage in sendmail(8)'s libmilter has been repaired
|
||||
so it is no longer necessary to recompile mail filters (aka,
|
||||
milters). If you recompiled mail filters after the 20070411
|
||||
note, it is not necessary to recompile them again.
|
||||
|
||||
20070411:
|
||||
sendmail(8) has been updated to version 8.14.1. Mail filters
|
||||
(aka, milters) compiled against the libmilter included in the
|
||||
base operating system should be recompiled.
|
||||
|
||||
20050513:
|
||||
Intel Hyper-Threading is now disabled by default due to a
|
||||
security issue, but can be re-enabled by setting the
|
||||
machdep.hyperthreading_allowed tunable in /boot/loader.conf.
|
||||
|
||||
20050124:
|
||||
FreeBSD 4.11-RELEASE.
|
||||
|
||||
20040527:
|
||||
FreeBSD 4.10-RELEASE.
|
||||
|
||||
20031028:
|
||||
FreeBSD 4.9-RELEASE.
|
||||
|
||||
20031022:
|
||||
Support for HyperThread logical CPUs has now been enabled by
|
||||
default. As a result, the HTT kernel option no longer exists.
|
||||
@@ -870,7 +845,7 @@ versions of -stable/-current.
|
||||
Changes to the pccardd kernel interface require that you recompile
|
||||
pccardd for new kernel.
|
||||
|
||||
19990725:
|
||||
19980725:
|
||||
The ipfw interface to the kernel has changed. You will need to
|
||||
recompile ipfw programs for the new kernel.
|
||||
|
||||
|
||||
+21
-4
@@ -68,13 +68,16 @@ main(argc, argv)
|
||||
FTS *ftsp;
|
||||
FTSENT *p;
|
||||
mode_t *set;
|
||||
long val;
|
||||
int oct, omode;
|
||||
int Hflag, Lflag, Pflag, Rflag, ch, fflag, fts_options, hflag, rval;
|
||||
int vflag;
|
||||
char *mode;
|
||||
char *ep, *mode;
|
||||
int newmode;
|
||||
int (*change_mode) __P((const char *, mode_t));
|
||||
|
||||
set = NULL;
|
||||
omode = 0;
|
||||
Hflag = Lflag = Pflag = Rflag = fflag = hflag = vflag = 0;
|
||||
while ((ch = getopt(argc, argv, "HLPRXfghorstuvwx")) != -1)
|
||||
switch (ch) {
|
||||
@@ -152,8 +155,22 @@ done: argv += optind;
|
||||
change_mode = chmod;
|
||||
|
||||
mode = *argv;
|
||||
if ((set = setmode(mode)) == NULL)
|
||||
errx(1, "invalid file mode: %s", mode);
|
||||
if (*mode >= '0' && *mode <= '7') {
|
||||
errno = 0;
|
||||
val = strtol(mode, &ep, 8);
|
||||
if (val > INT_MAX || val < 0)
|
||||
errno = ERANGE;
|
||||
if (errno)
|
||||
err(1, "invalid file mode: %s", mode);
|
||||
if (*ep)
|
||||
errx(1, "invalid file mode: %s", mode);
|
||||
omode = val;
|
||||
oct = 1;
|
||||
} else {
|
||||
if ((set = setmode(mode)) == NULL)
|
||||
errx(1, "invalid file mode: %s", mode);
|
||||
oct = 0;
|
||||
}
|
||||
|
||||
if ((ftsp = fts_open(++argv, fts_options, 0)) == NULL)
|
||||
err(1, NULL);
|
||||
@@ -186,7 +203,7 @@ done: argv += optind;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
newmode = getmode(set, p->fts_statp->st_mode);
|
||||
newmode = oct ? omode : getmode(set, p->fts_statp->st_mode);
|
||||
if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS))
|
||||
continue;
|
||||
if ((*change_mode)(p->fts_accpath, newmode) && !fflag) {
|
||||
|
||||
+1
-1
@@ -351,7 +351,7 @@ copy(argv, type, fts_options)
|
||||
* normally want to preserve them on directories.
|
||||
*/
|
||||
if (pflag) {
|
||||
if (setfile(curr->fts_statp, -1))
|
||||
if (setfile(curr->fts_statp, 0))
|
||||
rval = 1;
|
||||
} else {
|
||||
mode = curr->fts_statp->st_mode;
|
||||
|
||||
+14
-22
@@ -132,8 +132,7 @@ copy_file(entp, dne)
|
||||
* wins some CPU back.
|
||||
*/
|
||||
#ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED
|
||||
if (S_ISREG(fs->st_mode) && fs->st_size > 0 &&
|
||||
fs->st_size <= 8 * 1048576) {
|
||||
if (S_ISREG(fs->st_mode) && fs->st_size <= 8 * 1048576) {
|
||||
if ((p = mmap(NULL, (size_t)fs->st_size, PROT_READ,
|
||||
MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) {
|
||||
warn("%s", entp->fts_path);
|
||||
@@ -215,7 +214,7 @@ copy_link(p, exists)
|
||||
warn("symlink: %s", link);
|
||||
return (1);
|
||||
}
|
||||
return (pflag ? setfile(p->fts_statp, -1) : 0);
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -231,7 +230,7 @@ copy_fifo(from_stat, exists)
|
||||
warn("mkfifo: %s", to.p_path);
|
||||
return (1);
|
||||
}
|
||||
return (pflag ? setfile(from_stat, -1) : 0);
|
||||
return (pflag ? setfile(from_stat, 0) : 0);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -247,7 +246,7 @@ copy_special(from_stat, exists)
|
||||
warn("mknod: %s", to.p_path);
|
||||
return (1);
|
||||
}
|
||||
return (pflag ? setfile(from_stat, -1) : 0);
|
||||
return (pflag ? setfile(from_stat, 0) : 0);
|
||||
}
|
||||
|
||||
#define RETAINBITS \
|
||||
@@ -260,22 +259,20 @@ setfile(fs, fd)
|
||||
{
|
||||
static struct timeval tv[2];
|
||||
struct stat ts;
|
||||
int rval, gotstat, islink, fdval;
|
||||
int rval;
|
||||
int gotstat;
|
||||
|
||||
rval = 0;
|
||||
fdval = fd != -1;
|
||||
islink = !fdval && S_ISLNK(fs->st_mode);
|
||||
fs->st_mode &= S_ISUID | S_ISGID | S_ISVTX |
|
||||
S_IRWXU | S_IRWXG | S_IRWXO;
|
||||
|
||||
TIMESPEC_TO_TIMEVAL(&tv[0], &fs->st_atimespec);
|
||||
TIMESPEC_TO_TIMEVAL(&tv[1], &fs->st_mtimespec);
|
||||
if (islink ? lutimes(to.p_path, tv) : utimes(to.p_path, tv)) {
|
||||
warn("%sutimes: %s", islink ? "l" : "", to.p_path);
|
||||
if (utimes(to.p_path, tv)) {
|
||||
warn("utimes: %s", to.p_path);
|
||||
rval = 1;
|
||||
}
|
||||
if (fdval ? fstat(fd, &ts) :
|
||||
(islink ? lstat(to.p_path, &ts) : stat(to.p_path, &ts)))
|
||||
if (fd ? fstat(fd, &ts) : stat(to.p_path, &ts))
|
||||
gotstat = 0;
|
||||
else {
|
||||
gotstat = 1;
|
||||
@@ -289,9 +286,8 @@ setfile(fs, fd)
|
||||
* chown. If chown fails, lose setuid/setgid bits.
|
||||
*/
|
||||
if (!gotstat || fs->st_uid != ts.st_uid || fs->st_gid != ts.st_gid)
|
||||
if (fdval ? fchown(fd, fs->st_uid, fs->st_gid) :
|
||||
(islink ? lchown(to.p_path, fs->st_uid, fs->st_gid) :
|
||||
chown(to.p_path, fs->st_uid, fs->st_gid))) {
|
||||
if (fd ? fchown(fd, fs->st_uid, fs->st_gid) :
|
||||
chown(to.p_path, fs->st_uid, fs->st_gid)) {
|
||||
if (errno != EPERM) {
|
||||
warn("chown: %s", to.p_path);
|
||||
rval = 1;
|
||||
@@ -300,18 +296,14 @@ setfile(fs, fd)
|
||||
}
|
||||
|
||||
if (!gotstat || fs->st_mode != ts.st_mode)
|
||||
if (fdval ? fchmod(fd, fs->st_mode) :
|
||||
(islink ? lchmod(to.p_path, fs->st_mode) :
|
||||
chmod(to.p_path, fs->st_mode))) {
|
||||
if (fd ? fchmod(fd, fs->st_mode) : chmod(to.p_path, fs->st_mode)) {
|
||||
warn("chmod: %s", to.p_path);
|
||||
rval = 1;
|
||||
}
|
||||
|
||||
if (!gotstat || fs->st_flags != ts.st_flags)
|
||||
if (fdval ?
|
||||
fchflags(fd, fs->st_flags) :
|
||||
(islink ? (errno = ENOSYS) :
|
||||
chflags(to.p_path, fs->st_flags))) {
|
||||
if (fd ?
|
||||
fchflags(fd, fs->st_flags) : chflags(to.p_path, fs->st_flags)) {
|
||||
warn("chflags: %s", to.p_path);
|
||||
rval = 1;
|
||||
}
|
||||
|
||||
@@ -130,8 +130,6 @@
|
||||
/* we want to use the system malloc when we install as /bin/csh */
|
||||
#define SYSMALLOC
|
||||
#define BSD_STYLE_COLORLS
|
||||
/* Use LC_MESSAGES locale category to open the message catalog */
|
||||
#define MCLoadBySet NL_CAT_LOCALE
|
||||
#endif
|
||||
|
||||
#if defined(__bsdi__)
|
||||
|
||||
+1
-23
@@ -35,7 +35,7 @@
|
||||
.\" @(#)date.1 8.3 (Berkeley) 4/28/95
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd August 9, 2004
|
||||
.Dd November 17, 1993
|
||||
.Dt DATE 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -219,22 +219,6 @@ When the date is adjusted to a specific value that occurs twice
|
||||
the resulting timezone will be set so that the date matches the earlier of
|
||||
the two times.
|
||||
.Pp
|
||||
Adjusting the date by months is inherently ambiguous because
|
||||
a month is a unit of variable length depending on the current date.
|
||||
This kind of date adjustment is applied in the most intuitive way.
|
||||
First of all,
|
||||
.Nm
|
||||
tries to preserve the day of the month.
|
||||
If it is impossible because the target month is shorter than the present one,
|
||||
the last day of the target month will be the result.
|
||||
For example, using
|
||||
.Fl v No +1m
|
||||
on May 31 will adjust the date to June 30, while using the same option
|
||||
on January 30 will result in the date adjusted to the last day of February.
|
||||
This approach is also believed to make the most sense for shell scripting.
|
||||
Nevertheless, be aware that going forth and back by the same number of
|
||||
months may take you to a different date.
|
||||
.Pp
|
||||
Refer to the examples below for further details.
|
||||
.El
|
||||
.Pp
|
||||
@@ -311,12 +295,6 @@ will display the last day of February in the year 2000:
|
||||
.Pp
|
||||
.Dl "Tue Feb 29 03:18:00 GMT 2000"
|
||||
.Pp
|
||||
So will do the command:
|
||||
.Pp
|
||||
.Dl "date -v30d -v3m -v0y -v-1m"
|
||||
.Pp
|
||||
because there is no such date as the 30th of February.
|
||||
.Pp
|
||||
The command:
|
||||
.Pp
|
||||
.Dl "date -v1d -v+1m -v-1d -v-fri"
|
||||
|
||||
@@ -150,8 +150,6 @@ adjyear(struct tm *t, char type, int val, int mk)
|
||||
static int
|
||||
adjmon(struct tm *t, char type, int val, int istext, int mk)
|
||||
{
|
||||
int lmdays;
|
||||
|
||||
if (val < 0)
|
||||
return 0;
|
||||
|
||||
@@ -199,11 +197,6 @@ adjmon(struct tm *t, char type, int val, int istext, int mk)
|
||||
t->tm_mon = --val;
|
||||
}
|
||||
|
||||
/* e.g., -v-1m on March, 31 is the last day of February in common sense */
|
||||
lmdays = daysinmonth(t);
|
||||
if (t->tm_mday > lmdays)
|
||||
t->tm_mday = lmdays;
|
||||
|
||||
return !mk || domktime(t, type) != -1;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Oo
|
||||
.Fl b | g | h | H | k |
|
||||
.Fl b | h | H | k |
|
||||
.Fl m | P
|
||||
.Oc
|
||||
.Op Fl ailn
|
||||
|
||||
+16
-23
@@ -112,7 +112,7 @@ unit_t unitp [] = { NONE, KILO, MEGA, GIGA, TERA, PETA };
|
||||
int bread(off_t, void *, int);
|
||||
int checkvfsname(const char *, char **);
|
||||
char *getmntpt(char *);
|
||||
int int64width(int64_t);
|
||||
int longwidth(long);
|
||||
char *makenetvfslist(void);
|
||||
char **makevfslist(char *);
|
||||
void prthuman(struct statfs *, long);
|
||||
@@ -376,15 +376,9 @@ prthumanval(double bytes)
|
||||
* Convert statfs returned filesystem size into BLOCKSIZE units.
|
||||
* Attempts to avoid overflow for large filesystems.
|
||||
*/
|
||||
static int64_t
|
||||
fsbtoblk(int64_t num, uint64_t fsbs, u_long bs)
|
||||
{
|
||||
|
||||
if (fsbs != 0 && fsbs < bs)
|
||||
return (num / (int64_t)(bs / fsbs));
|
||||
else
|
||||
return (num * (int64_t)(fsbs / bs));
|
||||
}
|
||||
#define fsbtoblk(num, fsbs, bs) \
|
||||
(((fsbs) != 0 && (fsbs) < (bs)) ? \
|
||||
(num) / ((bs) / (fsbs)) : (num) * ((fsbs) / (bs)))
|
||||
|
||||
/*
|
||||
* Print out status about a filesystem.
|
||||
@@ -426,12 +420,11 @@ prtstat(struct statfs *sfsp, struct maxwidths *mwp)
|
||||
if (hflag) {
|
||||
prthuman(sfsp, used);
|
||||
} else {
|
||||
(void)printf(" %*lld %*lld %*lld", mwp->total,
|
||||
(long long)fsbtoblk(sfsp->f_blocks, sfsp->f_bsize,
|
||||
blocksize), mwp->used,
|
||||
(long long)fsbtoblk(used, sfsp->f_bsize, blocksize),
|
||||
mwp->avail, (long long)fsbtoblk(sfsp->f_bavail,
|
||||
sfsp->f_bsize, blocksize));
|
||||
(void)printf(" %*ld %*ld %*ld", mwp->total,
|
||||
fsbtoblk(sfsp->f_blocks, sfsp->f_bsize, blocksize),
|
||||
mwp->used, fsbtoblk(used, sfsp->f_bsize, blocksize),
|
||||
mwp->avail, fsbtoblk(sfsp->f_bavail, sfsp->f_bsize,
|
||||
blocksize));
|
||||
}
|
||||
(void)printf(" %5.0f%%",
|
||||
availblks == 0 ? 100.0 : (double)used / (double)availblks * 100.0);
|
||||
@@ -460,20 +453,20 @@ update_maxwidths(struct maxwidths *mwp, struct statfs *sfsp)
|
||||
getbsize(&dummy, &blocksize);
|
||||
|
||||
mwp->mntfrom = imax(mwp->mntfrom, strlen(sfsp->f_mntfromname));
|
||||
mwp->total = imax(mwp->total, int64width(fsbtoblk(sfsp->f_blocks,
|
||||
mwp->total = imax(mwp->total, longwidth(fsbtoblk(sfsp->f_blocks,
|
||||
sfsp->f_bsize, blocksize)));
|
||||
mwp->used = imax(mwp->used, int64width(fsbtoblk(sfsp->f_blocks -
|
||||
mwp->used = imax(mwp->used, longwidth(fsbtoblk(sfsp->f_blocks -
|
||||
sfsp->f_bfree, sfsp->f_bsize, blocksize)));
|
||||
mwp->avail = imax(mwp->avail, int64width(fsbtoblk(sfsp->f_bavail,
|
||||
mwp->avail = imax(mwp->avail, longwidth(fsbtoblk(sfsp->f_bavail,
|
||||
sfsp->f_bsize, blocksize)));
|
||||
mwp->iused = imax(mwp->iused, int64width(sfsp->f_files -
|
||||
mwp->iused = imax(mwp->iused, longwidth(sfsp->f_files -
|
||||
sfsp->f_ffree));
|
||||
mwp->ifree = imax(mwp->ifree, int64width(sfsp->f_ffree));
|
||||
mwp->ifree = imax(mwp->ifree, longwidth(sfsp->f_ffree));
|
||||
}
|
||||
|
||||
/* Return the width in characters of the specified long. */
|
||||
int
|
||||
int64width(int64_t val)
|
||||
longwidth(long val)
|
||||
{
|
||||
int len;
|
||||
|
||||
@@ -567,7 +560,7 @@ usage(void)
|
||||
{
|
||||
|
||||
(void)fprintf(stderr,
|
||||
"usage: df [-b | -g | -H | -h | -k | -m | -P] [-ailn] [-t type] [file | filesystem ...]\n");
|
||||
"usage: df [-b | -H | -h | -k | -m | -P] [-ailn] [-t type] [file | filesystem ...]\n");
|
||||
exit(EX_USAGE);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ SRCS= buf.c cbc.c glbl.c io.c main.c re.c sub.c undo.c
|
||||
LINKS= ${BINDIR}/ed ${BINDIR}/red
|
||||
MLINKS= ed.1 red.1
|
||||
|
||||
.if exists(${.CURDIR}/../../secure) && !defined(NOCRYPT)
|
||||
.if exists(${.CURDIR}/../../secure) && !defined(NOCRYPT) && !defined(NOSECURE)
|
||||
DISTRIBUTION=crypto
|
||||
CFLAGS+=-DDES
|
||||
DPADD= ${LIBCIPHER}
|
||||
|
||||
+10
-50
@@ -13,6 +13,10 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
@@ -51,91 +55,47 @@ __FBSDID("$FreeBSD$");
|
||||
int
|
||||
namecmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
return (strcoll(a->fts_name, b->fts_name));
|
||||
}
|
||||
|
||||
int
|
||||
revnamecmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
return (strcoll(b->fts_name, a->fts_name));
|
||||
}
|
||||
|
||||
int
|
||||
modcmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
if (b->fts_statp->st_mtimespec.tv_sec >
|
||||
a->fts_statp->st_mtimespec.tv_sec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_mtimespec.tv_sec <
|
||||
a->fts_statp->st_mtimespec.tv_sec)
|
||||
return (-1);
|
||||
if (b->fts_statp->st_mtimespec.tv_nsec >
|
||||
a->fts_statp->st_mtimespec.tv_nsec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_mtimespec.tv_nsec <
|
||||
a->fts_statp->st_mtimespec.tv_nsec)
|
||||
return (-1);
|
||||
return (strcoll(a->fts_name, b->fts_name));
|
||||
return (b->fts_statp->st_mtime - a->fts_statp->st_mtime);
|
||||
}
|
||||
|
||||
int
|
||||
revmodcmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
return (modcmp(b, a));
|
||||
return (a->fts_statp->st_mtime - b->fts_statp->st_mtime);
|
||||
}
|
||||
|
||||
int
|
||||
acccmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
if (b->fts_statp->st_atimespec.tv_sec >
|
||||
a->fts_statp->st_atimespec.tv_sec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_atimespec.tv_sec <
|
||||
a->fts_statp->st_atimespec.tv_sec)
|
||||
return (-1);
|
||||
if (b->fts_statp->st_atimespec.tv_nsec >
|
||||
a->fts_statp->st_atimespec.tv_nsec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_atimespec.tv_nsec <
|
||||
a->fts_statp->st_atimespec.tv_nsec)
|
||||
return (-1);
|
||||
return (strcoll(a->fts_name, b->fts_name));
|
||||
return (b->fts_statp->st_atime - a->fts_statp->st_atime);
|
||||
}
|
||||
|
||||
int
|
||||
revacccmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
return (acccmp(b, a));
|
||||
return (a->fts_statp->st_atime - b->fts_statp->st_atime);
|
||||
}
|
||||
|
||||
int
|
||||
statcmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
if (b->fts_statp->st_ctimespec.tv_sec >
|
||||
a->fts_statp->st_ctimespec.tv_sec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_ctimespec.tv_sec <
|
||||
a->fts_statp->st_ctimespec.tv_sec)
|
||||
return (-1);
|
||||
if (b->fts_statp->st_ctimespec.tv_nsec >
|
||||
a->fts_statp->st_ctimespec.tv_nsec)
|
||||
return (1);
|
||||
if (b->fts_statp->st_ctimespec.tv_nsec <
|
||||
a->fts_statp->st_ctimespec.tv_nsec)
|
||||
return (-1);
|
||||
return (strcoll(a->fts_name, b->fts_name));
|
||||
return (b->fts_statp->st_ctime - a->fts_statp->st_ctime);
|
||||
}
|
||||
|
||||
int
|
||||
revstatcmp(const FTSENT *a, const FTSENT *b)
|
||||
{
|
||||
|
||||
return (statcmp(b, a));
|
||||
return (a->fts_statp->st_ctime - b->fts_statp->st_ctime);
|
||||
}
|
||||
+3
-5
@@ -35,7 +35,7 @@
|
||||
.\" @(#)ls.1 8.7 (Berkeley) 7/29/94
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd January 11, 2005
|
||||
.Dd July 8, 2002
|
||||
.Dt LS 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -188,9 +188,7 @@ This option overrides the environment variable
|
||||
.Dq ell . )
|
||||
List in long format.
|
||||
(See below.)
|
||||
A total sum (in blocks, see the
|
||||
.Fl s
|
||||
option for the block size unit) for all the file
|
||||
If the output is to a terminal, a total sum for all the file
|
||||
sizes is output on a line before the long listing.
|
||||
.It Fl m
|
||||
Stream output format; list files across the page, separated by commas.
|
||||
@@ -218,7 +216,7 @@ lexicographical order or the oldest entries first.
|
||||
.It Fl s
|
||||
Display the number of file system blocks actually used by each file, in units
|
||||
of 512 bytes, where partial units are rounded up to the next integer value.
|
||||
A total sum for all the file
|
||||
If the output is to a terminal, a total sum for all the file
|
||||
sizes is output on a line before the listing.
|
||||
The environment variable
|
||||
.Ev BLOCKSIZE
|
||||
|
||||
@@ -597,7 +597,6 @@ display(FTSENT *p, FTSENT *list)
|
||||
maxblock = makenines(maxblock);
|
||||
maxnlink = makenines(maxnlink);
|
||||
maxsize = makenines(maxsize);
|
||||
free(jinitmax);
|
||||
}
|
||||
bcfile = 0;
|
||||
flags = NULL;
|
||||
|
||||
+2
-2
@@ -156,9 +156,9 @@ usage(void)
|
||||
{
|
||||
(void)fprintf(stderr,
|
||||
#ifdef COLORLS
|
||||
"usage: ls [-ABCFGHLPRTWabcdfghiklmnoqrstuwx1]"
|
||||
"usage: ls [-ABCFGHLPRTWabcdfghiklnoqrstu1]"
|
||||
#else
|
||||
"usage: ls [-ABCFHLPRTWabcdfghiklmnoqrstuwx1]"
|
||||
"usage: ls [-ABCFHLPRTWabcdfghiklnoqrstu1]"
|
||||
#endif
|
||||
" [file ...]\n");
|
||||
exit(1);
|
||||
|
||||
+6
-17
@@ -212,25 +212,14 @@ do_move(from, to)
|
||||
struct statfs sfs;
|
||||
char path[PATH_MAX];
|
||||
|
||||
/*
|
||||
* If the source is a symbolic link and is on another
|
||||
* filesystem, it can be recreated at the destination.
|
||||
*/
|
||||
if (lstat(from, &sb) == -1) {
|
||||
warn("%s", from);
|
||||
/* Can't mv(1) a mount point. */
|
||||
if (realpath(from, path) == NULL) {
|
||||
warnx("cannot resolve %s: %s", from, path);
|
||||
return (1);
|
||||
}
|
||||
if (!S_ISLNK(sb.st_mode)) {
|
||||
/* Can't mv(1) a mount point. */
|
||||
if (realpath(from, path) == NULL) {
|
||||
warnx("cannot resolve %s: %s", from, path);
|
||||
return (1);
|
||||
}
|
||||
if (!statfs(path, &sfs) &&
|
||||
!strcmp(path, sfs.f_mntonname)) {
|
||||
warnx("cannot rename a mount point");
|
||||
return (1);
|
||||
}
|
||||
if (!statfs(path, &sfs) && !strcmp(path, sfs.f_mntonname)) {
|
||||
warnx("cannot rename a mount point");
|
||||
return (1);
|
||||
}
|
||||
} else {
|
||||
warn("rename %s to %s", from, to);
|
||||
|
||||
+2
-2
@@ -230,7 +230,7 @@ name_uid(uid, frc)
|
||||
++pwopn;
|
||||
}
|
||||
if (ptr == NULL)
|
||||
ptr = uidtb[uid % UID_SZ] = (UIDC *)malloc(sizeof(UIDC));
|
||||
ptr = (UIDC *)malloc(sizeof(UIDC));
|
||||
|
||||
if ((pw = getpwuid(uid)) == NULL) {
|
||||
/*
|
||||
@@ -308,7 +308,7 @@ name_gid(gid, frc)
|
||||
++gropn;
|
||||
}
|
||||
if (ptr == NULL)
|
||||
ptr = gidtb[gid % GID_SZ] = (GIDC *)malloc(sizeof(GIDC));
|
||||
ptr = (GIDC *)malloc(sizeof(GIDC));
|
||||
|
||||
if ((gr = getgrgid(gid)) == NULL) {
|
||||
/*
|
||||
|
||||
+18
-30
@@ -453,13 +453,7 @@ tar_rd(arcn, buf)
|
||||
* copy out the name and values in the stat buffer
|
||||
*/
|
||||
hd = (HD_TAR *)buf;
|
||||
/*
|
||||
* old tar format specifies the name always be null-terminated,
|
||||
* but let's be robust to broken archives.
|
||||
* the same applies to handling links below.
|
||||
*/
|
||||
arcn->nlen = l_strncpy(arcn->name, hd->name,
|
||||
MIN(sizeof(hd->name), sizeof(arcn->name)) - 1);
|
||||
arcn->nlen = l_strncpy(arcn->name, hd->name, sizeof(arcn->name) - 1);
|
||||
arcn->name[arcn->nlen] = '\0';
|
||||
arcn->sb.st_mode = (mode_t)(asc_ul(hd->mode,sizeof(hd->mode),OCT) &
|
||||
0xfff);
|
||||
@@ -488,7 +482,7 @@ tar_rd(arcn, buf)
|
||||
*/
|
||||
arcn->type = PAX_SLK;
|
||||
arcn->ln_nlen = l_strncpy(arcn->ln_name, hd->linkname,
|
||||
MIN(sizeof(hd->linkname), sizeof(arcn->ln_name)) - 1);
|
||||
sizeof(arcn->ln_name) - 1);
|
||||
arcn->ln_name[arcn->ln_nlen] = '\0';
|
||||
arcn->sb.st_mode |= S_IFLNK;
|
||||
break;
|
||||
@@ -500,7 +494,7 @@ tar_rd(arcn, buf)
|
||||
arcn->type = PAX_HLK;
|
||||
arcn->sb.st_nlink = 2;
|
||||
arcn->ln_nlen = l_strncpy(arcn->ln_name, hd->linkname,
|
||||
MIN(sizeof(hd->linkname), sizeof(arcn->ln_name)) - 1);
|
||||
sizeof(arcn->ln_name) - 1);
|
||||
arcn->ln_name[arcn->ln_nlen] = '\0';
|
||||
|
||||
/*
|
||||
@@ -610,7 +604,7 @@ tar_wr(arcn)
|
||||
case PAX_SLK:
|
||||
case PAX_HLK:
|
||||
case PAX_HRG:
|
||||
if (arcn->ln_nlen >= sizeof(hd->linkname)) {
|
||||
if (arcn->ln_nlen > sizeof(hd->linkname)) {
|
||||
paxwarn(1,"Link name too long for tar %s", arcn->ln_name);
|
||||
return(1);
|
||||
}
|
||||
@@ -850,19 +844,12 @@ ustar_rd(arcn, buf)
|
||||
*/
|
||||
dest = arcn->name;
|
||||
if (*(hd->prefix) != '\0') {
|
||||
cnt = l_strncpy(dest, hd->prefix,
|
||||
MIN(sizeof(hd->prefix), sizeof(arcn->name) - 2));
|
||||
cnt = l_strncpy(dest, hd->prefix, sizeof(arcn->name) - 2);
|
||||
dest += cnt;
|
||||
*dest++ = '/';
|
||||
cnt++;
|
||||
}
|
||||
/*
|
||||
* ustar format specifies the name may be unterminated
|
||||
* if it fills the entire field. this also applies to
|
||||
* the prefix and the linkname.
|
||||
*/
|
||||
arcn->nlen = cnt + l_strncpy(dest, hd->name,
|
||||
MIN(sizeof(hd->name), sizeof(arcn->name) - cnt - 1));
|
||||
arcn->nlen = cnt + l_strncpy(dest, hd->name, sizeof(arcn->name) - cnt);
|
||||
arcn->name[arcn->nlen] = '\0';
|
||||
|
||||
/*
|
||||
@@ -955,7 +942,7 @@ ustar_rd(arcn, buf)
|
||||
* copy the link name
|
||||
*/
|
||||
arcn->ln_nlen = l_strncpy(arcn->ln_name, hd->linkname,
|
||||
MIN(sizeof(hd->linkname), sizeof(arcn->ln_name) - 1));
|
||||
sizeof(arcn->ln_name) - 1);
|
||||
arcn->ln_name[arcn->ln_nlen] = '\0';
|
||||
break;
|
||||
case CONTTYPE:
|
||||
@@ -1012,7 +999,7 @@ ustar_wr(arcn)
|
||||
* check the length of the linkname
|
||||
*/
|
||||
if (((arcn->type == PAX_SLK) || (arcn->type == PAX_HLK) ||
|
||||
(arcn->type == PAX_HRG)) && (arcn->ln_nlen > sizeof(hd->linkname))){
|
||||
(arcn->type == PAX_HRG)) && (arcn->ln_nlen >= sizeof(hd->linkname))){
|
||||
paxwarn(1, "Link name too long for ustar %s", arcn->ln_name);
|
||||
return(1);
|
||||
}
|
||||
@@ -1037,16 +1024,17 @@ ustar_wr(arcn)
|
||||
* occur, we remove the / and copy the first part to the prefix
|
||||
*/
|
||||
*pt = '\0';
|
||||
l_strncpy(hd->prefix, arcn->name, sizeof(hd->prefix));
|
||||
l_strncpy(hd->prefix, arcn->name, sizeof(hd->prefix) - 1);
|
||||
*pt++ = '/';
|
||||
} else
|
||||
memset(hd->prefix, 0, sizeof(hd->prefix));
|
||||
|
||||
/*
|
||||
* copy the name part. this may be the whole path or the part after
|
||||
* the prefix. both the name and prefix may fill the entire field.
|
||||
* the prefix
|
||||
*/
|
||||
l_strncpy(hd->name, pt, sizeof(hd->name));
|
||||
l_strncpy(hd->name, pt, sizeof(hd->name) - 1);
|
||||
hd->name[sizeof(hd->name) - 1] = '\0';
|
||||
|
||||
/*
|
||||
* set the fields in the header that are type dependent
|
||||
@@ -1089,8 +1077,8 @@ ustar_wr(arcn)
|
||||
hd->typeflag = SYMTYPE;
|
||||
else
|
||||
hd->typeflag = LNKTYPE;
|
||||
/* the link name may occupy the entire field in ustar */
|
||||
l_strncpy(hd->linkname,arcn->ln_name, sizeof(hd->linkname));
|
||||
l_strncpy(hd->linkname,arcn->ln_name, sizeof(hd->linkname) - 1);
|
||||
hd->linkname[sizeof(hd->linkname) - 1] = '\0';
|
||||
memset(hd->devmajor, 0, sizeof(hd->devmajor));
|
||||
memset(hd->devminor, 0, sizeof(hd->devminor));
|
||||
if (ul_oct((u_long)0L, hd->size, sizeof(hd->size), 3))
|
||||
@@ -1190,9 +1178,9 @@ name_split(name, len)
|
||||
* check to see if the file name is small enough to fit in the name
|
||||
* field. if so just return a pointer to the name.
|
||||
*/
|
||||
if (len <= TNMSZ)
|
||||
if (len < TNMSZ)
|
||||
return(name);
|
||||
if (len > (TPFSZ + TNMSZ + 1))
|
||||
if (len > (TPFSZ + TNMSZ))
|
||||
return(NULL);
|
||||
|
||||
/*
|
||||
@@ -1201,7 +1189,7 @@ name_split(name, len)
|
||||
* to find the biggest piece to fit in the name field (or the smallest
|
||||
* prefix we can find)
|
||||
*/
|
||||
start = name + len - TNMSZ - 1;
|
||||
start = name + len - TNMSZ;
|
||||
while ((*start != '\0') && (*start != '/'))
|
||||
++start;
|
||||
|
||||
@@ -1219,7 +1207,7 @@ name_split(name, len)
|
||||
* the file would then expand on extract to //str. The len == 0 below
|
||||
* makes this special case follow the spec to the letter.
|
||||
*/
|
||||
if ((len > TPFSZ) || (len == 0))
|
||||
if ((len >= TPFSZ) || (len == 0))
|
||||
return(NULL);
|
||||
|
||||
/*
|
||||
|
||||
+38
-38
@@ -41,46 +41,46 @@ struct varent;
|
||||
|
||||
extern fixpt_t ccpu;
|
||||
extern int eval, fscale, mempages, nlistread, rawcpu, cflag;
|
||||
extern time_t now;
|
||||
extern int sumrusage, termwidth, totwidth;
|
||||
extern VAR var[];
|
||||
extern VARENT *vhead;
|
||||
|
||||
__BEGIN_DECLS
|
||||
void command(KINFO *, VARENT *);
|
||||
void cputime(KINFO *, VARENT *);
|
||||
int donlist(void);
|
||||
void evar(KINFO *, VARENT *);
|
||||
VARENT *find_varentry(VAR *);
|
||||
const char *fmt_argv(char **, char *, size_t);
|
||||
double getpcpu(const KINFO *);
|
||||
void logname(KINFO *, VARENT *);
|
||||
void longtname(KINFO *, VARENT *);
|
||||
void lstarted(KINFO *, VARENT *);
|
||||
void maxrss(KINFO *, VARENT *);
|
||||
void nlisterr(struct nlist *);
|
||||
void p_rssize(KINFO *, VARENT *);
|
||||
void pagein(KINFO *, VARENT *);
|
||||
void parsefmt(const char *, int);
|
||||
void pcpu(KINFO *, VARENT *);
|
||||
void pmem(KINFO *, VARENT *);
|
||||
void pri(KINFO *, VARENT *);
|
||||
void rtprior(KINFO *, VARENT *);
|
||||
void printheader(void);
|
||||
void pvar(KINFO *, VARENT *);
|
||||
void rssize(KINFO *, VARENT *);
|
||||
void runame(KINFO *, VARENT *);
|
||||
void rvar(KINFO *, VARENT *);
|
||||
int s_runame(KINFO *);
|
||||
int s_uname(KINFO *);
|
||||
void showkey(void);
|
||||
void started(KINFO *, VARENT *);
|
||||
void state(KINFO *, VARENT *);
|
||||
void tdev(KINFO *, VARENT *);
|
||||
void tname(KINFO *, VARENT *);
|
||||
void tsize(KINFO *, VARENT *);
|
||||
void ucomm(KINFO *, VARENT *);
|
||||
void uname(KINFO *, VARENT *);
|
||||
void uvar(KINFO *, VARENT *);
|
||||
void vsize(KINFO *, VARENT *);
|
||||
void wchan(KINFO *, VARENT *);
|
||||
void command __P((KINFO *, VARENT *));
|
||||
void cputime __P((KINFO *, VARENT *));
|
||||
int donlist __P((void));
|
||||
void evar __P((KINFO *, VARENT *));
|
||||
char *fmt_argv __P((char **, char *, int));
|
||||
double getpcpu __P((KINFO *));
|
||||
double getpmem __P((KINFO *));
|
||||
void logname __P((KINFO *, VARENT *));
|
||||
void longtname __P((KINFO *, VARENT *));
|
||||
void lstarted __P((KINFO *, VARENT *));
|
||||
void maxrss __P((KINFO *, VARENT *));
|
||||
void nlisterr __P((struct nlist *));
|
||||
void p_rssize __P((KINFO *, VARENT *));
|
||||
void pagein __P((KINFO *, VARENT *));
|
||||
void parsefmt __P((char *));
|
||||
void pcpu __P((KINFO *, VARENT *));
|
||||
void pmem __P((KINFO *, VARENT *));
|
||||
void pri __P((KINFO *, VARENT *));
|
||||
void rtprior __P((KINFO *, VARENT *));
|
||||
void printheader __P((void));
|
||||
void pvar __P((KINFO *, VARENT *));
|
||||
void rssize __P((KINFO *, VARENT *));
|
||||
void runame __P((KINFO *, VARENT *));
|
||||
int s_runame __P((KINFO *));
|
||||
void rvar __P((KINFO *, VARENT *));
|
||||
void showkey __P((void));
|
||||
void started __P((KINFO *, VARENT *));
|
||||
void state __P((KINFO *, VARENT *));
|
||||
void tdev __P((KINFO *, VARENT *));
|
||||
void tname __P((KINFO *, VARENT *));
|
||||
void tsize __P((KINFO *, VARENT *));
|
||||
void ucomm __P((KINFO *, VARENT *));
|
||||
void uname __P((KINFO *, VARENT *));
|
||||
int s_uname __P((KINFO *));
|
||||
void uvar __P((KINFO *, VARENT *));
|
||||
void vsize __P((KINFO *, VARENT *));
|
||||
void wchan __P((KINFO *, VARENT *));
|
||||
__END_DECLS
|
||||
+27
-26
@@ -31,40 +31,38 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#ifndef lint
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)fmt.c 8.4 (Berkeley) 4/15/94";
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
static const char rcsid[] =
|
||||
"$FreeBSD$";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
#include <err.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <vis.h>
|
||||
|
||||
#include "ps.h"
|
||||
|
||||
static char *cmdpart(char *);
|
||||
static char *shquote(char **);
|
||||
static char *cmdpart __P((char *));
|
||||
static char *shquote __P((char **));
|
||||
|
||||
/*
|
||||
* XXX
|
||||
* This is a stub until marc does the real one.
|
||||
*/
|
||||
static char *
|
||||
shquote(char **argv)
|
||||
shquote(argv)
|
||||
char **argv;
|
||||
{
|
||||
static long arg_max = -1;
|
||||
size_t len;
|
||||
long len;
|
||||
char **p, *dst, *src;
|
||||
static char *buf = NULL;
|
||||
|
||||
@@ -75,18 +73,18 @@ shquote(char **argv)
|
||||
errx(1, "malloc failed");
|
||||
}
|
||||
|
||||
if (*argv == NULL) {
|
||||
buf[0] = '\0';
|
||||
if (*argv == 0) {
|
||||
buf[0] = 0;
|
||||
return (buf);
|
||||
}
|
||||
dst = buf;
|
||||
for (p = argv; (src = *p++) != NULL; ) {
|
||||
if (*src == '\0')
|
||||
for (p = argv; (src = *p++) != 0; ) {
|
||||
if (*src == 0)
|
||||
continue;
|
||||
len = (4 * arg_max - (dst - buf)) / 4;
|
||||
strvisx(dst, src, strlen(src) < len ? strlen(src) : len,
|
||||
VIS_NL | VIS_CSTYLE);
|
||||
while (*dst != '\0')
|
||||
while (*dst)
|
||||
dst++;
|
||||
if ((4 * arg_max - (dst - buf)) / 4 > 0)
|
||||
*dst++ = ' ';
|
||||
@@ -99,20 +97,24 @@ shquote(char **argv)
|
||||
}
|
||||
|
||||
static char *
|
||||
cmdpart(char *arg0)
|
||||
cmdpart(arg0)
|
||||
char *arg0;
|
||||
{
|
||||
char *cp;
|
||||
|
||||
return ((cp = strrchr(arg0, '/')) != NULL ? cp + 1 : arg0);
|
||||
}
|
||||
|
||||
const char *
|
||||
fmt_argv(char **argv, char *cmd, size_t maxlen)
|
||||
char *
|
||||
fmt_argv(argv, cmd, maxlen)
|
||||
char **argv;
|
||||
char *cmd;
|
||||
int maxlen;
|
||||
{
|
||||
size_t len;
|
||||
int len;
|
||||
char *ap, *cp;
|
||||
|
||||
if (argv == NULL || argv[0] == NULL) {
|
||||
if (argv == 0 || argv[0] == 0) {
|
||||
if (cmd == NULL)
|
||||
return ("");
|
||||
ap = NULL;
|
||||
@@ -121,13 +123,12 @@ fmt_argv(char **argv, char *cmd, size_t maxlen)
|
||||
ap = shquote(argv);
|
||||
len = strlen(ap) + maxlen + 4;
|
||||
}
|
||||
cp = malloc(len);
|
||||
if (cp == NULL)
|
||||
errx(1, "malloc failed");
|
||||
if ((cp = malloc(len)) == NULL)
|
||||
return (NULL);
|
||||
if (ap == NULL)
|
||||
sprintf(cp, " (%.*s)", (int)maxlen, cmd);
|
||||
sprintf(cp, " (%.*s)", maxlen, cmd);
|
||||
else if (strncmp(cmdpart(argv[0]), cmd, maxlen) != 0)
|
||||
sprintf(cp, "%s (%.*s)", ap, (int)maxlen, cmd);
|
||||
sprintf(cp, "%s (%.*s)", ap, maxlen, cmd);
|
||||
else
|
||||
(void) strcpy(cp, ap);
|
||||
return (cp);
|
||||
|
||||
+29
-46
@@ -31,13 +31,14 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#ifndef lint
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)keyword.c 8.5 (Berkeley) 4/2/94";
|
||||
#endif /* not lint */
|
||||
#else
|
||||
static const char rcsid[] =
|
||||
"$FreeBSD$";
|
||||
#endif
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/time.h>
|
||||
@@ -48,15 +49,17 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/user.h>
|
||||
|
||||
#include <err.h>
|
||||
#include <errno.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <utmp.h>
|
||||
|
||||
#include "ps.h"
|
||||
|
||||
static VAR *findvar(char *, int, char **header);
|
||||
static int vcmp(const void *, const void *);
|
||||
static VAR *findvar __P((char *));
|
||||
static int vcmp __P((const void *, const void *));
|
||||
|
||||
#ifdef NOTINUSE
|
||||
int utime(), stime(), ixrss(), idrss(), isrss();
|
||||
@@ -77,9 +80,9 @@ int utime(), stime(), ixrss(), idrss(), isrss();
|
||||
#define UIDLEN 5
|
||||
#define PIDFMT "d"
|
||||
#define PIDLEN 5
|
||||
#define USERLEN (MAXLOGNAME - 1)
|
||||
#define USERLEN UT_NAMESIZE
|
||||
|
||||
static VAR var[] = {
|
||||
VAR var[] = {
|
||||
{"%cpu", "%CPU", NULL, 0, pcpu, NULL, 4},
|
||||
{"%mem", "%MEM", NULL, 0, pmem, NULL, 4},
|
||||
{"acflag", "ACFLG",
|
||||
@@ -190,11 +193,11 @@ static VAR var[] = {
|
||||
};
|
||||
|
||||
void
|
||||
showkey(void)
|
||||
showkey()
|
||||
{
|
||||
VAR *v;
|
||||
int i;
|
||||
const char *p, *sep;
|
||||
char *p, *sep;
|
||||
|
||||
i = 0;
|
||||
sep = "";
|
||||
@@ -211,45 +214,23 @@ showkey(void)
|
||||
}
|
||||
|
||||
void
|
||||
parsefmt(const char *p, int user)
|
||||
parsefmt(p)
|
||||
char *p;
|
||||
{
|
||||
static struct varent *vtail;
|
||||
char *tempstr, *tempstr1;
|
||||
|
||||
#define SKIP_5x_USERCHGS 1
|
||||
#if SKIP_5x_USERCHGS
|
||||
/*
|
||||
* XXX - For now in 4.x-stable, always act as if the user
|
||||
* explicitly requested this format string. This is
|
||||
* done to reduce the code-differences with 5.x,
|
||||
* without making any user-visible changes.
|
||||
*/
|
||||
user = 1;
|
||||
#endif
|
||||
|
||||
#define FMTSEP " \t,\n"
|
||||
tempstr1 = tempstr = strdup(p);
|
||||
while (tempstr && *tempstr) {
|
||||
char *cp, *hp;
|
||||
#define FMTSEP " \t,\n"
|
||||
while (p && *p) {
|
||||
char *cp;
|
||||
VAR *v;
|
||||
struct varent *vent;
|
||||
|
||||
while ((cp = strsep(&tempstr, FMTSEP)) != NULL && *cp == '\0')
|
||||
while ((cp = strsep(&p, FMTSEP)) != NULL && *cp == '\0')
|
||||
/* void */;
|
||||
if (cp == NULL || !(v = findvar(cp, user, &hp)))
|
||||
if (cp == NULL || !(v = findvar(cp)))
|
||||
continue;
|
||||
if (!user) {
|
||||
/*
|
||||
* If the user is NOT adding this field manually,
|
||||
* get on with our lives if this VAR is already
|
||||
* represented in the list.
|
||||
*/
|
||||
vent = find_varentry(v);
|
||||
if (vent != NULL)
|
||||
continue;
|
||||
}
|
||||
if ((vent = malloc(sizeof(struct varent))) == NULL)
|
||||
errx(1, "malloc failed");
|
||||
err(1, NULL);
|
||||
vent->var = v;
|
||||
vent->next = NULL;
|
||||
if (vhead == NULL)
|
||||
@@ -259,7 +240,6 @@ parsefmt(const char *p, int user)
|
||||
vtail = vent;
|
||||
}
|
||||
}
|
||||
free(tempstr1);
|
||||
if (!vhead) {
|
||||
warnx("no valid keywords; valid keywords:");
|
||||
showkey();
|
||||
@@ -268,10 +248,12 @@ parsefmt(const char *p, int user)
|
||||
}
|
||||
|
||||
static VAR *
|
||||
findvar(char *p, int user, char **header __unused)
|
||||
findvar(p)
|
||||
char *p;
|
||||
{
|
||||
VAR *v, key;
|
||||
char *hp;
|
||||
int vcmp();
|
||||
|
||||
hp = strchr(p, '=');
|
||||
if (hp)
|
||||
@@ -285,19 +267,20 @@ findvar(char *p, int user, char **header __unused)
|
||||
warnx("%s: illegal keyword specification", p);
|
||||
eval = 1;
|
||||
}
|
||||
parsefmt(v->alias, user);
|
||||
parsefmt(v->alias);
|
||||
return ((VAR *)NULL);
|
||||
}
|
||||
if (!v) {
|
||||
warnx("%s: keyword not found", p);
|
||||
eval = 1;
|
||||
} else if (hp)
|
||||
v->header = strdup(hp);
|
||||
v->header = hp;
|
||||
return (v);
|
||||
}
|
||||
|
||||
static int
|
||||
vcmp(const void *a, const void *b)
|
||||
vcmp(a, b)
|
||||
const void *a, *b;
|
||||
{
|
||||
return (strcmp(((const VAR *)a)->name, ((const VAR *)b)->name));
|
||||
return (strcmp(((VAR *)a)->name, ((VAR *)b)->name));
|
||||
}
|
||||
+5
-8
@@ -31,29 +31,26 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#ifndef lint
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)nlist.c 8.4 (Berkeley) 4/2/94";
|
||||
#endif /* not lint */
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
static const char rcsid[] =
|
||||
"$FreeBSD$";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
int donlist(void); /* should come from extern.h via ps.h */
|
||||
|
||||
fixpt_t ccpu; /* kernel _ccpu variable */
|
||||
int nlistread; /* if nlist already read. */
|
||||
int mempages; /* number of pages of phys. memory */
|
||||
int fscale; /* kernel _fscale variable */
|
||||
|
||||
int
|
||||
donlist(void)
|
||||
donlist()
|
||||
{
|
||||
size_t oldlen;
|
||||
|
||||
|
||||
+28
-18
@@ -31,14 +31,13 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#ifndef lint
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)print.c 8.6 (Berkeley) 4/16/94";
|
||||
#endif /* not lint */
|
||||
#endif
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
static const char rcsid[] =
|
||||
"$FreeBSD$";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/time.h>
|
||||
@@ -59,8 +58,8 @@ __FBSDID("$FreeBSD$");
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <vis.h>
|
||||
|
||||
#include "ps.h"
|
||||
@@ -349,29 +348,36 @@ longtname(k, ve)
|
||||
}
|
||||
|
||||
void
|
||||
started(KINFO *k, VARENT *ve)
|
||||
started(k, ve)
|
||||
KINFO *k;
|
||||
VARENT *ve;
|
||||
{
|
||||
VAR *v;
|
||||
static time_t now;
|
||||
time_t then;
|
||||
struct tm *tp;
|
||||
static int use_ampm = -1;
|
||||
char buf[100];
|
||||
static int use_ampm = -1;
|
||||
|
||||
v = ve->var;
|
||||
if (!k->ki_u.u_valid) {
|
||||
(void)printf("%-*s", v->width, "-");
|
||||
return;
|
||||
}
|
||||
|
||||
if (use_ampm < 0)
|
||||
use_ampm = (*nl_langinfo(T_FMT_AMPM) != '\0');
|
||||
|
||||
then = k->ki_u.u_start.tv_sec;
|
||||
tp = localtime(&then);
|
||||
if (!now)
|
||||
(void)time(&now);
|
||||
if (now - k->ki_u.u_start.tv_sec < 24 * 3600) {
|
||||
(void)strftime(buf, sizeof(buf) - 1,
|
||||
use_ampm ? "%l:%M%p" : "%k:%M ", tp);
|
||||
use_ampm ? "%l:%M%p" : "%k:%M ", tp);
|
||||
} else if (now - k->ki_u.u_start.tv_sec < 7 * 86400) {
|
||||
(void)strftime(buf, sizeof(buf) - 1,
|
||||
use_ampm ? "%a%I%p" : "%a%H ", tp);
|
||||
use_ampm ? "%a%I%p" : "%a%H ", tp);
|
||||
} else
|
||||
(void)strftime(buf, sizeof(buf) - 1, "%e%b%y", tp);
|
||||
(void)printf("%-*s", v->width, buf);
|
||||
@@ -499,7 +505,8 @@ cputime(k, ve)
|
||||
}
|
||||
|
||||
double
|
||||
getpcpu(const KINFO *k)
|
||||
getpcpu(k)
|
||||
KINFO *k;
|
||||
{
|
||||
struct proc *p;
|
||||
static int failure;
|
||||
@@ -532,8 +539,9 @@ pcpu(k, ve)
|
||||
(void)printf("%*.1f", v->width, getpcpu(k));
|
||||
}
|
||||
|
||||
static double
|
||||
getpmem(KINFO *k)
|
||||
double
|
||||
getpmem(k)
|
||||
KINFO *k;
|
||||
{
|
||||
static int failure;
|
||||
struct proc *p;
|
||||
@@ -580,9 +588,10 @@ pagein(k, ve)
|
||||
k->ki_u.u_valid ? k->ki_u.u_ru.ru_majflt : 0);
|
||||
}
|
||||
|
||||
/* ARGSUSED */
|
||||
void
|
||||
maxrss(KINFO *k __unused, VARENT *ve)
|
||||
maxrss(k, ve)
|
||||
KINFO *k;
|
||||
VARENT *ve;
|
||||
{
|
||||
VAR *v;
|
||||
|
||||
@@ -639,11 +648,12 @@ rtprior(k, ve)
|
||||
* structures.
|
||||
*/
|
||||
static void
|
||||
printval(void *bp, VAR *v)
|
||||
printval(bp, v)
|
||||
char *bp;
|
||||
VAR *v;
|
||||
{
|
||||
static char ofmt[32] = "%";
|
||||
const char *fcp;
|
||||
char *cp;
|
||||
char *fcp, *cp;
|
||||
|
||||
cp = ofmt + 1;
|
||||
fcp = v->fmt;
|
||||
|
||||
+48
-119
@@ -32,7 +32,7 @@
|
||||
.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd March 27, 2004
|
||||
.Dd April 18, 1994
|
||||
.Dt PS 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -40,64 +40,26 @@
|
||||
.Nd process status
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl aCcefhjlmrSTuvwXx
|
||||
.Oo Fl G Ar gid Ns Xo
|
||||
.Op , Ns Ar gid Ns No ...
|
||||
.Xc
|
||||
.Oc
|
||||
.Op Fl aCcefhjlmrSTuvwx
|
||||
.Op Fl M Ar core
|
||||
.Op Fl N Ar system
|
||||
.Op Fl O Ar fmt
|
||||
.Op Fl o Ar fmt
|
||||
.Oo Fl p Ar pid Ns Xo
|
||||
.Op , Ns Ar pid Ns No ...
|
||||
.Xc
|
||||
.Oc
|
||||
.Oo Fl t Ar tty Ns Xo
|
||||
.Op , Ns Ar tty Ns No ...
|
||||
.Xc
|
||||
.Oc
|
||||
.Oo Fl U Ar username Ns Xo
|
||||
.Op , Ns Ar username Ns No ...
|
||||
.Xc
|
||||
.Oc
|
||||
.Op Fl p Ar pid
|
||||
.Op Fl t Ar tty
|
||||
.Op Fl U Ar username
|
||||
.Nm
|
||||
.Op Fl L
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm
|
||||
utility
|
||||
displays a header line, followed by lines containing information about
|
||||
all of your
|
||||
displays a header line followed by lines containing information about your
|
||||
processes that have controlling terminals.
|
||||
.Pp
|
||||
A different set of processes can be selected for display by using any
|
||||
combination of the
|
||||
.Fl a , G , p , T , t
|
||||
and
|
||||
.Fl U
|
||||
options.
|
||||
If more than one of these options are given, then
|
||||
.Nm
|
||||
will select all processes which are matched by at least one of the
|
||||
given options.
|
||||
.Pp
|
||||
For the processes which have been selected for display,
|
||||
.Nm
|
||||
will display one line per process.
|
||||
By default all of these output lines are sorted first by controlling
|
||||
terminal, then by process
|
||||
This information is sorted by controlling terminal, then by process
|
||||
.Tn ID .
|
||||
The
|
||||
.Fl m , r , u ,
|
||||
and
|
||||
.Fl v
|
||||
options will change the sort order.
|
||||
If more than one sorting option was given, then the selected processes
|
||||
will be sorted by the last sorting option which was specified.
|
||||
.Pp
|
||||
For the processes which have been selected for display, the information
|
||||
to display is selected based on a set of keywords (see the
|
||||
The information displayed is selected based on a set of keywords (see the
|
||||
.Fl L
|
||||
.Fl O
|
||||
and
|
||||
@@ -118,10 +80,6 @@ The options are as follows:
|
||||
.Bl -tag -width indent
|
||||
.It Fl a
|
||||
Display information about other users' processes as well as your own.
|
||||
This will skip any processes which do not have a controlling teminal,
|
||||
unless the
|
||||
.Fl x
|
||||
option is also specified.
|
||||
This can be disabled by setting the
|
||||
.Va kern.ps_showallprocs
|
||||
sysctl to zero.
|
||||
@@ -137,10 +95,6 @@ Display the environment as well.
|
||||
.It Fl f
|
||||
Show commandline and environment information about swapped out processes.
|
||||
This option is honored only if the uid of the user is 0.
|
||||
.It Fl G
|
||||
Display information about processes which are running with the specified
|
||||
real group
|
||||
.Tn ID(s) .
|
||||
.It Fl h
|
||||
Repeat the information header as often as necessary to guarantee one
|
||||
header per page of information.
|
||||
@@ -148,21 +102,17 @@ header per page of information.
|
||||
Print information associated with the following keywords:
|
||||
user, pid, ppid, pgid, sess, jobc, state, tt, time and command.
|
||||
.It Fl L
|
||||
List the set of keywords available for the
|
||||
.Fl O
|
||||
and
|
||||
.Fl o
|
||||
options.
|
||||
List the set of available keywords.
|
||||
.It Fl l
|
||||
Display information associated with the following keywords:
|
||||
uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time
|
||||
and command.
|
||||
.It Fl M
|
||||
Extract values associated with the name list from the specified core
|
||||
instead of the currently running system.
|
||||
instead of the default
|
||||
.Pa /dev/kmem .
|
||||
.It Fl m
|
||||
Sort by memory usage, instead of the combination of controlling
|
||||
terminal and process
|
||||
Sort by memory usage, instead of by process
|
||||
.Tn ID .
|
||||
.It Fl N
|
||||
Extract the name list from the specified system instead of the default
|
||||
@@ -177,20 +127,16 @@ Keywords may be appended with an equals (``='') sign and a string.
|
||||
This causes the printed header to use the specified string instead of
|
||||
the standard header.
|
||||
.It Fl o
|
||||
Display information associated with the space or comma separated
|
||||
list of keywords specified.
|
||||
Multiple keywords may also be given in the form of more than one
|
||||
.Fl o
|
||||
option.
|
||||
Display information associated with the space or comma separated list
|
||||
of keywords specified.
|
||||
Keywords may be appended with an equals (``='') sign and a string.
|
||||
This causes the printed header to use the specified string instead of
|
||||
the standard header.
|
||||
.It Fl p
|
||||
Display information about processes which match the specified process
|
||||
.Tn ID(s) .
|
||||
Display information associated with the specified process
|
||||
.Tn ID .
|
||||
.It Fl r
|
||||
Sort by current cpu usage, instead of the combination of controlling
|
||||
terminal and process
|
||||
Sort by current cpu usage, instead of by process
|
||||
.Tn ID .
|
||||
.It Fl S
|
||||
Change the way the process time is calculated by summing all exited
|
||||
@@ -200,10 +146,10 @@ Display information about processes attached to the device associated
|
||||
with the standard input.
|
||||
.It Fl t
|
||||
Display information about processes attached to the specified terminal
|
||||
device(s).
|
||||
device.
|
||||
.It Fl U
|
||||
Display the processes belonging to the specified
|
||||
.Ar username Ns (s) .
|
||||
.Ar username .
|
||||
.It Fl u
|
||||
Display information associated with the following keywords:
|
||||
user, pid, %cpu, %mem, vsz, rss, tt, state, start, time and command.
|
||||
@@ -229,22 +175,8 @@ If the
|
||||
option is specified more than once,
|
||||
.Nm
|
||||
will use as many columns as necessary without regard for your window size.
|
||||
.It Fl X
|
||||
When displaying processes matched by other options, skip any processes
|
||||
which do not have a controlling terminal.
|
||||
.It Fl x
|
||||
When displaying processes matched by other options, include processes
|
||||
which do not have a controlling terminal.
|
||||
This is the opposite of the
|
||||
.Fl X
|
||||
option.
|
||||
If both
|
||||
.Fl X
|
||||
and
|
||||
.Fl x
|
||||
are specified in the same command, then
|
||||
.Nm
|
||||
will use the one which was specified last.
|
||||
Display information about processes without controlling terminals.
|
||||
.El
|
||||
.Pp
|
||||
A complete list of the available keywords are listed below.
|
||||
@@ -267,6 +199,7 @@ the include file
|
||||
.It Dv "P_ADVLOCK" Ta No "0x00001 Process may hold a POSIX advisory lock"
|
||||
.It Dv "P_CONTROLT" Ta No "0x00002 Has a controlling terminal"
|
||||
.It Dv "P_INMEM" Ta No "0x00004 Loaded into memory"
|
||||
.It Dv "P_NOCLDSTOP" Ta No "0x00008 No SIGCHLD when children stop"
|
||||
.It Dv "P_PPWAIT" Ta No "0x00010 Parent is waiting for child to exec/exit"
|
||||
.It Dv "P_PROFIL" Ta No "0x00020 Has started profiling"
|
||||
.It Dv "P_SELECT" Ta No "0x00040 Selecting; wakeup/waiting danger"
|
||||
@@ -280,13 +213,6 @@ the include file
|
||||
.It Dv "P_EXEC" Ta No "0x04000 Process called exec"
|
||||
.It Dv "P_OWEUPC" Ta No "0x20000 Owe process an addupc() call at next ast"
|
||||
.It Dv "P_SWAPPING" Ta No "0x40000 Process is being swapped"
|
||||
.It Dv "P_SWAPINREQ" Ta No "0x80000 Swapin request due to wakeup"
|
||||
.It Dv "P_KTHREADP" Ta No "0x200000 Process is really a kernel thread"
|
||||
.It Dv "P_DEADLKTREAT" Ta No "0x800000 Lock acquisition - deadlock treatment"
|
||||
.It Dv "P_JAILED" Ta No "0x1000000 Process is in jail"
|
||||
.It Dv "P_OLDMASK" Ta No "0x2000000 Need to restore mask before pause"
|
||||
.It Dv "P_ALTSTACK" Ta No "0x4000000 Have alternate signal stack"
|
||||
.It Dv "P_INEXEC" Ta No "0x8000000 Process is in execve()"
|
||||
.El
|
||||
.It lim
|
||||
The soft limit on memory used, specified via a call to
|
||||
@@ -317,6 +243,11 @@ The first character indicates the run state of the process:
|
||||
Marks a process in disk (or other short term, uninterruptible) wait.
|
||||
.It I
|
||||
Marks a process that is idle (sleeping for longer than about 20 seconds).
|
||||
.It J
|
||||
Marks a process which is in
|
||||
.Xr jail 2 .
|
||||
The hostname of the prison can be found in
|
||||
.Ql Li /proc/<pid>/status .
|
||||
.It R
|
||||
Marks a runnable process.
|
||||
.It S
|
||||
@@ -337,13 +268,20 @@ The process is in the foreground process group of its control terminal.
|
||||
The process has raised
|
||||
.Tn CPU
|
||||
scheduling priority.
|
||||
.It >
|
||||
The process has specified a soft limit on memory requirements and is
|
||||
currently exceeding that limit; such a process is (necessarily) not
|
||||
swapped.
|
||||
.It A
|
||||
the process has asked for random page replacement
|
||||
.Pf ( Dv MADV_RANDOM ,
|
||||
from
|
||||
.Xr madvise 2 ,
|
||||
for example,
|
||||
.Xr lisp 1
|
||||
in a garbage collect).
|
||||
.It E
|
||||
The process is trying to exit.
|
||||
.It J
|
||||
Marks a process which is in
|
||||
.Xr jail 2 .
|
||||
The hostname of the prison can be found in
|
||||
.Ql Li /proc/<pid>/status .
|
||||
.It L
|
||||
The process has pages locked in core (for example, for raw
|
||||
.Tn I/O ) .
|
||||
@@ -352,11 +290,20 @@ The process has reduced
|
||||
.Tn CPU
|
||||
scheduling priority (see
|
||||
.Xr setpriority 2 ) .
|
||||
.It S
|
||||
The process has asked for
|
||||
.Tn FIFO
|
||||
page replacement
|
||||
.Pf ( Dv MADV_SEQUENTIAL ,
|
||||
from
|
||||
.Xr madvise 2 ,
|
||||
for example, a large image processing program using virtual memory to
|
||||
sequentially address voluminous data).
|
||||
.It s
|
||||
The process is a session leader.
|
||||
.It V
|
||||
The process is suspended during a
|
||||
.Xr vfork 2 .
|
||||
.Xr vfork .
|
||||
.It W
|
||||
The process is swapped out.
|
||||
.It X
|
||||
@@ -556,26 +503,8 @@ the mount point of
|
||||
.Xr procfs 5 ,
|
||||
.Xr pstat 8 ,
|
||||
.Xr sysctl 8
|
||||
.Sh STANDARDS
|
||||
For historical reasons,
|
||||
.Nm
|
||||
utility under
|
||||
.Fx
|
||||
supports a different set of options from what is described by
|
||||
.St -p1003.2 ,
|
||||
and what is supported on non-BSD operating systems.
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm
|
||||
command appeared in
|
||||
.At v4 .
|
||||
.Sh BUGS
|
||||
Since
|
||||
.Nm
|
||||
cannot run faster than the system and is run as any other scheduled
|
||||
process, the information it displays can never be exact.
|
||||
.Pp
|
||||
The
|
||||
.Nm
|
||||
utility does not correctly display argument lists containing multibyte
|
||||
characters.
|
||||
+263
-768
File diff suppressed because it is too large.
Load diff
+7
-11
@@ -48,10 +48,6 @@ struct usave {
|
||||
#define KI_PROC(ki) (&(ki)->ki_p->kp_proc)
|
||||
#define KI_EPROC(ki) (&(ki)->ki_p->kp_eproc)
|
||||
|
||||
/* These two make it easier to MFC some changes from 5.x. */
|
||||
#define KI_PROC2(ki) (&(ki)->kp_proc)
|
||||
#define KI_EPROC2(ki) (&(ki)->kp_eproc)
|
||||
|
||||
typedef struct kinfo {
|
||||
struct kinfo_proc *ki_p; /* proc structure */
|
||||
struct usave ki_u; /* interesting parts of user */
|
||||
@@ -66,27 +62,27 @@ typedef struct varent {
|
||||
} VARENT;
|
||||
|
||||
typedef struct var {
|
||||
const char *name; /* name(s) of variable */
|
||||
const char *header; /* default header */
|
||||
const char *alias; /* aliases */
|
||||
char *name; /* name(s) of variable */
|
||||
char *header; /* default header */
|
||||
char *alias; /* aliases */
|
||||
#define COMM 0x01 /* needs exec arguments and environment (XXX) */
|
||||
#define LJUST 0x02 /* left adjust on output (trailing blanks) */
|
||||
#define USER 0x04 /* needs user structure */
|
||||
#define DSIZ 0x08 /* field size is dynamic*/
|
||||
u_int flag;
|
||||
/* output routine */
|
||||
void (*oproc)(struct kinfo *, struct varent *);
|
||||
void (*oproc) __P((struct kinfo *, struct varent *));
|
||||
/* sizing routine*/
|
||||
int (*sproc)(struct kinfo *);
|
||||
int (*sproc) __P((struct kinfo *));
|
||||
short width; /* printing width */
|
||||
/*
|
||||
* The following (optional) elements are hooks for passing information
|
||||
* to the generic output routines: pvar, evar, uvar (those which print
|
||||
* simple elements from well known structures: proc, eproc, usave)
|
||||
*/
|
||||
size_t off; /* offset in structure */
|
||||
int off; /* offset in structure */
|
||||
enum type type; /* type of element */
|
||||
const char *fmt; /* printf format */
|
||||
char *fmt; /* printf format */
|
||||
char *time; /* time format */
|
||||
short dwidth; /* dynamic printing width */
|
||||
/*
|
||||
|
||||
+16
-11
@@ -44,12 +44,11 @@ static char const copyright[] =
|
||||
The Regents of the University of California. All rights reserved.\n";
|
||||
#endif /* not lint */
|
||||
|
||||
#if 0
|
||||
#ifndef lint
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)rcp.c 8.2 (Berkeley) 4/2/94";
|
||||
#endif /* not lint */
|
||||
#endif
|
||||
|
||||
#endif /* not lint */
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
@@ -590,7 +589,7 @@ sink(int argc, char *argv[])
|
||||
off_t i, j, size;
|
||||
int amt, count, exists, first, mask, mode, ofd, omode;
|
||||
int setimes, targisdir, wrerrno = 0;
|
||||
char ch, *cp, *np, *targ, *why, *vect[1], buf[BUFSIZ], path[PATH_MAX];
|
||||
char ch, *cp, *np, *targ, *why, *vect[1], buf[BUFSIZ];
|
||||
|
||||
#define atime tv[0]
|
||||
#define mtime tv[1]
|
||||
@@ -687,15 +686,21 @@ sink(int argc, char *argv[])
|
||||
if (*cp++ != ' ')
|
||||
SCREWUP("size not delimited");
|
||||
if (targisdir) {
|
||||
if (strlen(targ) + (*targ ? 1 : 0) + strlen(cp)
|
||||
>= sizeof(path)) {
|
||||
run_err("%s%s%s: name too long", targ,
|
||||
*targ ? "/" : "", cp);
|
||||
exit(1);
|
||||
static char *namebuf = NULL;
|
||||
static size_t cursize;
|
||||
size_t need;
|
||||
|
||||
need = strlen(targ) + strlen(cp) + 250;
|
||||
if (need > cursize) {
|
||||
if (namebuf != NULL)
|
||||
free(namebuf);
|
||||
if (!(namebuf = malloc(need)))
|
||||
run_err("%s", strerror(errno));
|
||||
cursize = need;
|
||||
}
|
||||
(void)snprintf(path, sizeof(path), "%s%s%s", targ,
|
||||
(void)snprintf(namebuf, need, "%s%s%s", targ,
|
||||
*targ ? "/" : "", cp);
|
||||
np = path;
|
||||
np = namebuf;
|
||||
} else
|
||||
np = targ;
|
||||
exists = stat(np, &stb) == 0;
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PROG= rm
|
||||
WARNS?= 2
|
||||
SRCS= rm.c
|
||||
|
||||
LINKS= ${BINDIR}/rm ${BINDIR}/unlink
|
||||
MLINKS= rm.1 unlink.1
|
||||
|
||||
+26
-37
@@ -1,4 +1,3 @@
|
||||
.\"-
|
||||
.\" Copyright (c) 1990, 1993, 1994
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
@@ -13,6 +12,10 @@
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
@@ -32,7 +35,7 @@
|
||||
.\" @(#)rm.1 8.5 (Berkeley) 12/5/94
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd September 29, 2005
|
||||
.Dd January 28, 1999
|
||||
.Dt RM 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -41,8 +44,7 @@
|
||||
.Nd remove directory entries
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl f | i
|
||||
.Op Fl dIPRrvW
|
||||
.Op Fl dfiPRrvW
|
||||
.Ar
|
||||
.Nm unlink
|
||||
.Ar file
|
||||
@@ -78,20 +80,10 @@ The
|
||||
option overrides any previous
|
||||
.Fl f
|
||||
options.
|
||||
.It Fl I
|
||||
Request confirmation once if more than three files are being removed or if a
|
||||
directory is being recursively removed.
|
||||
This is a far less intrusive option than
|
||||
.Fl i
|
||||
yet provides almost the same level of protection against mistakes.
|
||||
.It Fl P
|
||||
Overwrite regular files before deleting them.
|
||||
Files are overwritten three times, first with the byte pattern 0xff,
|
||||
then 0x00, and then 0xff again, before they are deleted.
|
||||
Specifying this flag for a read only file will cause
|
||||
.Nm
|
||||
to generate an error message and exit.
|
||||
The file wil not be removed or overwritten.
|
||||
.It Fl R
|
||||
Attempt to remove the file hierarchy rooted in each file argument.
|
||||
The
|
||||
@@ -123,10 +115,9 @@ The
|
||||
utility removes symbolic links, not the files referenced by the links.
|
||||
.Pp
|
||||
It is an error to attempt to remove the files
|
||||
.Pa / ,
|
||||
.Pa .\&
|
||||
.Dq .\&
|
||||
or
|
||||
.Pa .. .
|
||||
.Dq .. .
|
||||
.Pp
|
||||
When the utility is called as
|
||||
.Nm unlink ,
|
||||
@@ -157,17 +148,31 @@ to parse its arguments, which allows it to accept
|
||||
the
|
||||
.Sq Li --
|
||||
option which will cause it to stop processing flag options at that
|
||||
point.
|
||||
This will allow the removal of file names that begin
|
||||
point. This will allow the removal of file names that begin
|
||||
with a dash
|
||||
.Pq Sq - .
|
||||
For example:
|
||||
.Dl rm -- -filename
|
||||
The same behavior can be obtained by using an absolute or relative
|
||||
path reference.
|
||||
For example:
|
||||
path reference. For example:
|
||||
.Dl rm /home/user/-filename
|
||||
.Dl rm ./-filename
|
||||
.Sh SEE ALSO
|
||||
.Xr chflags 1 ,
|
||||
.Xr rmdir 1 ,
|
||||
.Xr undelete 2 ,
|
||||
.Xr unlink 2 ,
|
||||
.Xr fts 3 ,
|
||||
.Xr getopt 3 ,
|
||||
.Xr symlink 7
|
||||
.Sh BUGS
|
||||
The
|
||||
.Fl P
|
||||
option assumes that the underlying file system is a fixed-block file
|
||||
system.
|
||||
UFS is a fixed-block file system, LFS is not.
|
||||
In addition, only regular files are overwritten, other types of files
|
||||
are not.
|
||||
.Sh COMPATIBILITY
|
||||
The
|
||||
.Nm
|
||||
@@ -183,14 +188,6 @@ Also, historical
|
||||
.Bx
|
||||
implementations prompted on the standard output,
|
||||
not the standard error output.
|
||||
.Sh SEE ALSO
|
||||
.Xr chflags 1 ,
|
||||
.Xr rmdir 1 ,
|
||||
.Xr undelete 2 ,
|
||||
.Xr unlink 2 ,
|
||||
.Xr fts 3 ,
|
||||
.Xr getopt 3 ,
|
||||
.Xr symlink 7
|
||||
.Sh STANDARDS
|
||||
The
|
||||
.Nm
|
||||
@@ -206,11 +203,3 @@ A
|
||||
.Nm
|
||||
command appeared in
|
||||
.At v1 .
|
||||
.Sh BUGS
|
||||
The
|
||||
.Fl P
|
||||
option assumes that the underlying file system is a fixed-block file
|
||||
system.
|
||||
UFS is a fixed-block file system, LFS is not.
|
||||
In addition, only regular files are overwritten, other types of files
|
||||
are not.
|
||||
+28
-129
@@ -10,6 +10,10 @@
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
@@ -27,7 +31,6 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#ifndef lint
|
||||
static const char copyright[] =
|
||||
"@(#) Copyright (c) 1990, 1993, 1994\n\
|
||||
@@ -35,9 +38,10 @@ static const char copyright[] =
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)rm.c 8.5 (Berkeley) 4/18/94";
|
||||
#endif /* not lint */
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
@@ -49,8 +53,6 @@ __FBSDID("$FreeBSD$");
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <fts.h>
|
||||
#include <grp.h>
|
||||
#include <pwd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -58,29 +60,26 @@ __FBSDID("$FreeBSD$");
|
||||
#include <unistd.h>
|
||||
|
||||
int dflag, eval, fflag, iflag, Pflag, vflag, Wflag, stdin_ok;
|
||||
int rflag, Iflag;
|
||||
uid_t uid;
|
||||
|
||||
int check(char *, char *, struct stat *);
|
||||
int check2(char **);
|
||||
void checkdot(char **);
|
||||
void checkslash(char **);
|
||||
void rm_file(char **);
|
||||
int rm_overwrite(char *, struct stat *);
|
||||
void rm_overwrite(char *, struct stat *);
|
||||
void rm_tree(char **);
|
||||
void usage(void);
|
||||
|
||||
/*
|
||||
* rm --
|
||||
* This rm is different from historic rm's, but is expected to match
|
||||
* POSIX 1003.2 behavior. The most visible difference is that -f
|
||||
* POSIX 1003.2 behavior. The most visible difference is that -f
|
||||
* has two specific effects now, ignore non-existent files and force
|
||||
* file removal.
|
||||
* file removal.
|
||||
*/
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
int ch;
|
||||
int ch, rflag;
|
||||
char *p;
|
||||
|
||||
/*
|
||||
@@ -104,7 +103,7 @@ main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
Pflag = rflag = 0;
|
||||
while ((ch = getopt(argc, argv, "dfiIPRrvW")) != -1)
|
||||
while ((ch = getopt(argc, argv, "dfiPRrvW")) != -1)
|
||||
switch(ch) {
|
||||
case 'd':
|
||||
dflag = 1;
|
||||
@@ -117,9 +116,6 @@ main(int argc, char *argv[])
|
||||
fflag = 0;
|
||||
iflag = 1;
|
||||
break;
|
||||
case 'I':
|
||||
Iflag = 1;
|
||||
break;
|
||||
case 'P':
|
||||
Pflag = 1;
|
||||
break;
|
||||
@@ -141,22 +137,16 @@ main(int argc, char *argv[])
|
||||
|
||||
if (argc < 1) {
|
||||
if (fflag)
|
||||
return (0);
|
||||
return 0;
|
||||
usage();
|
||||
}
|
||||
|
||||
checkdot(argv);
|
||||
if (getenv("POSIXLY_CORRECT") == NULL)
|
||||
checkslash(argv);
|
||||
uid = geteuid();
|
||||
|
||||
if (*argv) {
|
||||
stdin_ok = isatty(STDIN_FILENO);
|
||||
|
||||
if (Iflag) {
|
||||
if (check2(argv) == 0)
|
||||
exit (1);
|
||||
}
|
||||
if (rflag)
|
||||
rm_tree(argv);
|
||||
else
|
||||
@@ -192,11 +182,8 @@ rm_tree(char **argv)
|
||||
flags |= FTS_NOSTAT;
|
||||
if (Wflag)
|
||||
flags |= FTS_WHITEOUT;
|
||||
if (!(fts = fts_open(argv, flags, NULL))) {
|
||||
if (fflag && errno == ENOENT)
|
||||
return;
|
||||
err(1, "fts_open");
|
||||
}
|
||||
if (!(fts = fts_open(argv, flags, NULL)))
|
||||
err(1, NULL);
|
||||
while ((p = fts_read(fts)) != NULL) {
|
||||
switch (p->fts_info) {
|
||||
case FTS_DNR:
|
||||
@@ -210,8 +197,8 @@ rm_tree(char **argv)
|
||||
errx(1, "%s: %s", p->fts_path, strerror(p->fts_errno));
|
||||
case FTS_NS:
|
||||
/*
|
||||
* Assume that since fts_read() couldn't stat the
|
||||
* file, it can't be unlinked.
|
||||
* FTS_NS: assume that if can't stat the file, it
|
||||
* can't be unlinked.
|
||||
*/
|
||||
if (!needstat)
|
||||
break;
|
||||
@@ -280,18 +267,9 @@ rm_tree(char **argv)
|
||||
}
|
||||
break;
|
||||
|
||||
case FTS_NS:
|
||||
/*
|
||||
* Assume that since fts_read() couldn't stat
|
||||
* the file, it can't be unlinked.
|
||||
*/
|
||||
if (fflag)
|
||||
continue;
|
||||
/* FALLTHROUGH */
|
||||
default:
|
||||
if (Pflag)
|
||||
if (!rm_overwrite(p->fts_accpath, NULL))
|
||||
continue;
|
||||
rm_overwrite(p->fts_accpath, NULL);
|
||||
rval = unlink(p->fts_accpath);
|
||||
if (rval == 0 || (fflag && errno == ENOENT)) {
|
||||
if (rval == 0 && vflag)
|
||||
@@ -357,8 +335,7 @@ rm_file(char **argv)
|
||||
rval = rmdir(f);
|
||||
else {
|
||||
if (Pflag)
|
||||
if (!rm_overwrite(f, &sb))
|
||||
continue;
|
||||
rm_overwrite(f, &sb);
|
||||
rval = unlink(f);
|
||||
}
|
||||
}
|
||||
@@ -378,11 +355,11 @@ rm_file(char **argv)
|
||||
* XXX
|
||||
* This is a cheap way to *really* delete files. Note that only regular
|
||||
* files are deleted, directories (and therefore names) will remain.
|
||||
* Also, this assumes a fixed-block file system (like FFS, or a V7 or a
|
||||
* System V file system). In a logging file system, you'll have to have
|
||||
* Also, this assumes a fixed-block filesystem (like FFS, or a V7 or a
|
||||
* System V filesystem). In a logging filesystem, you'll have to have
|
||||
* kernel support.
|
||||
*/
|
||||
int
|
||||
void
|
||||
rm_overwrite(char *file, struct stat *sbp)
|
||||
{
|
||||
struct stat sb;
|
||||
@@ -398,14 +375,14 @@ rm_overwrite(char *file, struct stat *sbp)
|
||||
sbp = &sb;
|
||||
}
|
||||
if (!S_ISREG(sbp->st_mode))
|
||||
return (1);
|
||||
return;
|
||||
if ((fd = open(file, O_WRONLY, 0)) == -1)
|
||||
goto err;
|
||||
if (fstatfs(fd, &fsb) == -1)
|
||||
goto err;
|
||||
bsize = MAX(fsb.f_iosize, 1024);
|
||||
if ((buf = malloc(bsize)) == NULL)
|
||||
err(1, "%s: malloc", file);
|
||||
err(1, "malloc");
|
||||
|
||||
#define PASS(byte) { \
|
||||
memset(buf, byte, bsize); \
|
||||
@@ -424,16 +401,13 @@ rm_overwrite(char *file, struct stat *sbp)
|
||||
PASS(0xff);
|
||||
if (!fsync(fd) && !close(fd)) {
|
||||
free(buf);
|
||||
return (1);
|
||||
return;
|
||||
}
|
||||
|
||||
err: eval = 1;
|
||||
if (buf)
|
||||
free(buf);
|
||||
if (fd != -1)
|
||||
close(fd);
|
||||
warn("%s", file);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
@@ -449,7 +423,7 @@ check(char *path, char *name, struct stat *sp)
|
||||
else {
|
||||
/*
|
||||
* If it's not a symbolic link and it's unwritable and we're
|
||||
* talking to a terminal, ask. Symbolic links are excluded
|
||||
* talking to a terminal, ask. Symbolic links are excluded
|
||||
* because their permissions are meaningless. Check stdin_ok
|
||||
* first because we may not have stat'ed the file.
|
||||
*/
|
||||
@@ -460,16 +434,12 @@ check(char *path, char *name, struct stat *sp)
|
||||
return (1);
|
||||
strmode(sp->st_mode, modep);
|
||||
if ((flagsp = fflagstostr(sp->st_flags)) == NULL)
|
||||
err(1, "fflagstostr");
|
||||
if (Pflag)
|
||||
errx(1,
|
||||
"%s: -P was specified, but file is not writable",
|
||||
path);
|
||||
err(1, NULL);
|
||||
(void)fprintf(stderr, "override %s%s%s/%s %s%sfor %s? ",
|
||||
modep + 1, modep[9] == ' ' ? "" : " ",
|
||||
user_from_uid(sp->st_uid, 0),
|
||||
group_from_gid(sp->st_gid, 0),
|
||||
*flagsp ? flagsp : "", *flagsp ? " " : "",
|
||||
*flagsp ? flagsp : "", *flagsp ? " " : "",
|
||||
path);
|
||||
free(flagsp);
|
||||
}
|
||||
@@ -481,77 +451,6 @@ check(char *path, char *name, struct stat *sp)
|
||||
return (first == 'y' || first == 'Y');
|
||||
}
|
||||
|
||||
#define ISSLASH(a) ((a)[0] == '/' && (a)[1] == '\0')
|
||||
void
|
||||
checkslash(char **argv)
|
||||
{
|
||||
char **t, **u;
|
||||
int complained;
|
||||
|
||||
complained = 0;
|
||||
for (t = argv; *t;) {
|
||||
if (ISSLASH(*t)) {
|
||||
if (!complained++)
|
||||
warnx("\"/\" may not be removed");
|
||||
eval = 1;
|
||||
for (u = t; u[0] != NULL; ++u)
|
||||
u[0] = u[1];
|
||||
} else {
|
||||
++t;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
check2(char **argv)
|
||||
{
|
||||
struct stat st;
|
||||
int first;
|
||||
int ch;
|
||||
int fcount = 0;
|
||||
int dcount = 0;
|
||||
int i;
|
||||
const char *dname = NULL;
|
||||
|
||||
for (i = 0; argv[i]; ++i) {
|
||||
if (lstat(argv[i], &st) == 0) {
|
||||
if (S_ISDIR(st.st_mode)) {
|
||||
++dcount;
|
||||
dname = argv[i]; /* only used if 1 dir */
|
||||
} else {
|
||||
++fcount;
|
||||
}
|
||||
}
|
||||
}
|
||||
first = 0;
|
||||
while (first != 'n' && first != 'N' && first != 'y' && first != 'Y') {
|
||||
if (dcount && rflag) {
|
||||
fprintf(stderr, "recursively remove");
|
||||
if (dcount == 1)
|
||||
fprintf(stderr, " %s", dname);
|
||||
else
|
||||
fprintf(stderr, " %d dirs", dcount);
|
||||
if (fcount == 1)
|
||||
fprintf(stderr, " and 1 file");
|
||||
else if (fcount > 1)
|
||||
fprintf(stderr, " and %d files", fcount);
|
||||
} else if (dcount + fcount > 3) {
|
||||
fprintf(stderr, "remove %d files", dcount + fcount);
|
||||
} else {
|
||||
return(1);
|
||||
}
|
||||
fprintf(stderr, "? ");
|
||||
fflush(stderr);
|
||||
|
||||
first = ch = getchar();
|
||||
while (ch != '\n' && ch != EOF)
|
||||
ch = getchar();
|
||||
if (ch == EOF)
|
||||
break;
|
||||
}
|
||||
return (first == 'y' || first == 'Y');
|
||||
}
|
||||
|
||||
#define ISDOT(a) ((a)[0] == '.' && (!(a)[1] || ((a)[1] == '.' && !(a)[2])))
|
||||
void
|
||||
checkdot(char **argv)
|
||||
@@ -582,7 +481,7 @@ usage(void)
|
||||
{
|
||||
|
||||
(void)fprintf(stderr, "%s\n%s\n",
|
||||
"usage: rm [-f | -i] [-dIPRrvW] file ...",
|
||||
"usage: rm [-f | -i] [-dPRrvW] file ...",
|
||||
" unlink file");
|
||||
exit(EX_USAGE);
|
||||
}
|
||||
@@ -2,7 +2,6 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PROG= sh
|
||||
INSTALLFLAGS= -S
|
||||
SHSRCS= alias.c arith.y arith_lex.l cd.c echo.c error.c eval.c exec.c expand.c \
|
||||
histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
|
||||
mystring.c options.c output.c parser.c printf.c redir.c show.c \
|
||||
|
||||
+1
-1
@@ -710,7 +710,7 @@ evalcommand(union node *cmd, int flags, struct backcmd *backcmd)
|
||||
* the command runs. Partly deleting like
|
||||
* changepatch() does doesn't seem worth the
|
||||
* bookinging effort, since most such runs add
|
||||
* directories in front of the new PATH.
|
||||
* diretories in front of the new PATH.
|
||||
*/
|
||||
clearcmdentry(0);
|
||||
do_clearcmdentry = 1;
|
||||
|
||||
+1
-1
@@ -699,7 +699,7 @@ unsetfunc(char *name)
|
||||
delete_cmd_entry();
|
||||
return (0);
|
||||
}
|
||||
return (0);
|
||||
return (1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+1
-1
@@ -1164,7 +1164,7 @@ expmeta(char *enddir, char *name)
|
||||
if (*p == '\0')
|
||||
break;
|
||||
}
|
||||
if (metaflag == 0 || lstat(expdir, &statb) >= 0)
|
||||
if (metaflag == 0 || stat(expdir, &statb) >= 0)
|
||||
addfname(expdir);
|
||||
return;
|
||||
}
|
||||
|
||||
+1
-2
@@ -930,8 +930,7 @@ dowait(int block, struct job *job)
|
||||
in_dowait--;
|
||||
if (breakwaitcmd != 0) {
|
||||
breakwaitcmd = 0;
|
||||
if (pid <= 0)
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
if (pid <= 0)
|
||||
return pid;
|
||||
|
||||
@@ -969,7 +969,6 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
|
||||
USTPUTC('\\', out);
|
||||
pungetc();
|
||||
} else if (c == '\n') {
|
||||
plinno++;
|
||||
if (doprompt)
|
||||
setprompt(2);
|
||||
else
|
||||
|
||||
+1
-1
@@ -262,7 +262,7 @@ When waiting for a child, execute traps immediately.
|
||||
If this option is not set,
|
||||
traps are executed after the child exits,
|
||||
as specified in
|
||||
.St -p1003.2 .
|
||||
.St -p1003.2
|
||||
This nonstandard option is useful for putting guarding shells around
|
||||
children that block signals. The surrounding shell may kill the child
|
||||
or it may just return control to the tty and leave the child alone,
|
||||
|
||||
+1
-1
@@ -778,7 +778,7 @@ unsetvar(char *s)
|
||||
}
|
||||
}
|
||||
|
||||
return (0);
|
||||
return (1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+6
-13
@@ -214,6 +214,11 @@ True if string
|
||||
comes after
|
||||
.Ar \&s\&2
|
||||
based on the ASCII value of their characters.
|
||||
.It Ar \&s\&1
|
||||
True if
|
||||
.Ar \&s\&1
|
||||
is not the null
|
||||
string.
|
||||
.It Ar \&n\&1 Fl \&eq Ar \&n\&2
|
||||
True if the integers
|
||||
.Ar \&n\&1
|
||||
@@ -254,17 +259,6 @@ than or equal to the integer
|
||||
.Ar \&n\&2 .
|
||||
.El
|
||||
.Pp
|
||||
If
|
||||
.Ar file
|
||||
is a symbolic link,
|
||||
.Nm
|
||||
will fully dereference it and then evaluate the expression
|
||||
against the file referenced, except for the
|
||||
.Fl h
|
||||
and
|
||||
.Fl L
|
||||
primaries.
|
||||
.Pp
|
||||
These primaries can be combined with the following operators:
|
||||
.Bl -tag -width Ar
|
||||
.It Cm \&! Ar expression
|
||||
@@ -325,8 +319,7 @@ An error occurred.
|
||||
.Sh SEE ALSO
|
||||
.Xr builtin 1 ,
|
||||
.Xr expr 1 ,
|
||||
.Xr sh 1 ,
|
||||
.Xr symlink 7
|
||||
.Xr sh 1
|
||||
.Sh STANDARDS
|
||||
The
|
||||
.Nm
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
|
||||
--- 8.3.7-REL released --- (Wed Sep 3 21:01:37 PDT 2003)
|
||||
|
||||
1581. [bug] apply anti-cache poison techniques to negative
|
||||
answers.
|
||||
|
||||
--- 8.3.6-REL released --- (Sun Jun 8 15:11:32 PDT 2003)
|
||||
|
||||
1547. [port] cope with spurious EINVAL from evRead.
|
||||
|
||||
@@ -10,9 +10,6 @@ artifacts including BIND, INN, and DHCP.
|
||||
Note that BIND 8 is in "end-of-life", having been replaced by BIND 9. See
|
||||
http://www.isc.org/ for more details.
|
||||
|
||||
BIND 8.3.7 Highlights
|
||||
Security release.
|
||||
|
||||
BIND 8.3.6 Highlights
|
||||
Maintenance release.
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
8.3.7-REL
|
||||
8.3.6-REL
|
||||
@@ -1,6 +1,6 @@
|
||||
#if !defined(lint) && !defined(SABER)
|
||||
static const char sccsid[] = "@(#)ns_init.c 4.38 (Berkeley) 3/21/91";
|
||||
static const char rcsid[] = "$Id: ns_init.c,v 8.77.8.2 2003/09/04 04:09:09 marka Exp $";
|
||||
static const char rcsid[] = "$Id: ns_init.c,v 8.77 2002/08/20 04:27:23 marka Exp $";
|
||||
#endif /* not lint */
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#if !defined(lint) && !defined(SABER)
|
||||
static const char sccsid[] = "@(#)ns_resp.c 4.65 (Berkeley) 3/3/91";
|
||||
static const char rcsid[] = "$Id: ns_resp.c,v 8.186.6.5 2003/09/04 03:03:18 marka Exp $";
|
||||
static const char rcsid[] = "$Id: ns_resp.c,v 8.186.6.4 2003/06/02 09:56:35 marka Exp $";
|
||||
#endif /* not lint */
|
||||
|
||||
/*
|
||||
@@ -271,7 +271,7 @@ ns_resp(u_char *msg, int msglen, struct sockaddr_in from, struct qstream *qsp)
|
||||
int soacount;
|
||||
u_int qtype, qclass;
|
||||
int validanswer, dbflags;
|
||||
int cname, lastwascname, externalcname, cachenegative;
|
||||
int cname, lastwascname, externalcname;
|
||||
int count, founddata, foundname;
|
||||
int buflen;
|
||||
int newmsglen;
|
||||
@@ -911,7 +911,6 @@ tcp_retry:
|
||||
cname = 0;
|
||||
lastwascname = 0;
|
||||
externalcname = 0;
|
||||
cachenegative = 1;
|
||||
strcpy(aname, qname);
|
||||
|
||||
if (count) {
|
||||
@@ -981,7 +980,6 @@ tcp_retry:
|
||||
name);
|
||||
db_detach(&dp);
|
||||
validanswer = 0;
|
||||
cachenegative = 0;
|
||||
continue;
|
||||
}
|
||||
if (type == T_CNAME &&
|
||||
@@ -1016,7 +1014,6 @@ tcp_retry:
|
||||
"last was cname, ignoring auth. and add.");
|
||||
db_detach(&dp);
|
||||
validanswer = 0;
|
||||
cachenegative = 0;
|
||||
break;
|
||||
}
|
||||
if (i < arfirst) {
|
||||
@@ -1032,7 +1029,6 @@ tcp_retry:
|
||||
sin_ntoa(from));
|
||||
db_detach(&dp);
|
||||
validanswer = 0;
|
||||
cachenegative = 0;
|
||||
continue;
|
||||
} else if (!ns_samedomain(name,
|
||||
qp->q_domain)) {
|
||||
@@ -1046,7 +1042,6 @@ tcp_retry:
|
||||
sin_ntoa(from));
|
||||
db_detach(&dp);
|
||||
validanswer = 0;
|
||||
cachenegative = 0;
|
||||
continue;
|
||||
}
|
||||
if (type == T_NS) {
|
||||
@@ -1210,9 +1205,8 @@ tcp_retry:
|
||||
)
|
||||
)
|
||||
{
|
||||
if (cachenegative)
|
||||
cache_n_resp(msg, msglen, from, qp->q_name,
|
||||
qp->q_class, qp->q_type);
|
||||
cache_n_resp(msg, msglen, from, qp->q_name,
|
||||
qp->q_class, qp->q_type);
|
||||
|
||||
if (!qp->q_cmsglen && validanswer) {
|
||||
ns_debug(ns_log_default, 3,
|
||||
|
||||
@@ -77,6 +77,7 @@ static char sccsid[] = "@(#)commands.l 5.13 (Berkeley) 7/24/90";
|
||||
* exit - exit the program
|
||||
* root - set default server to the root
|
||||
* ls NAME - list the domain NAME
|
||||
* view FILE - sorts and view the file with more
|
||||
* set OPTION - set an option
|
||||
* help - print help information
|
||||
* ? - print help information
|
||||
@@ -102,6 +103,7 @@ static char sccsid[] = "@(#)commands.l 5.13 (Berkeley) 7/24/90";
|
||||
|
||||
extern char rootServerName[];
|
||||
extern void PrintHelp();
|
||||
extern void ViewList(char *);
|
||||
|
||||
#define YY_INPUT(buf, result, max_size) \
|
||||
{ \
|
||||
|
||||
+9
-34
@@ -312,7 +312,6 @@ static void compressedStreamEOF ( void ) NORETURN;
|
||||
|
||||
static void copyFileName ( Char*, Char* );
|
||||
static void* myMalloc ( Int32 );
|
||||
static int applySavedFileAttrToOutputFile ( int fd );
|
||||
|
||||
|
||||
|
||||
@@ -458,10 +457,6 @@ void compressStream ( FILE *stream, FILE *zStream )
|
||||
ret = fflush ( zStream );
|
||||
if (ret == EOF) goto errhandler_io;
|
||||
if (zStream != stdout) {
|
||||
int fd = fileno ( zStream );
|
||||
if (fd < 0) goto errhandler_io;
|
||||
ret = applySavedFileAttrToOutputFile ( fd );
|
||||
if (ret != 0) goto errhandler_io;
|
||||
ret = fclose ( zStream );
|
||||
outputHandleJustInCase = NULL;
|
||||
if (ret == EOF) goto errhandler_io;
|
||||
@@ -530,7 +525,6 @@ Bool uncompressStream ( FILE *zStream, FILE *stream )
|
||||
UChar obuf[5000];
|
||||
UChar unused[BZ_MAX_UNUSED];
|
||||
Int32 nUnused;
|
||||
void* unusedTmpV;
|
||||
UChar* unusedTmp;
|
||||
|
||||
nUnused = 0;
|
||||
@@ -560,10 +554,9 @@ Bool uncompressStream ( FILE *zStream, FILE *stream )
|
||||
}
|
||||
if (bzerr != BZ_STREAM_END) goto errhandler;
|
||||
|
||||
BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
|
||||
BZ2_bzReadGetUnused ( &bzerr, bzf, (void**)(&unusedTmp), &nUnused );
|
||||
if (bzerr != BZ_OK) panic ( "decompress:bzReadGetUnused" );
|
||||
|
||||
unusedTmp = (UChar*)unusedTmpV;
|
||||
for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
|
||||
|
||||
BZ2_bzReadClose ( &bzerr, bzf );
|
||||
@@ -574,12 +567,6 @@ Bool uncompressStream ( FILE *zStream, FILE *stream )
|
||||
|
||||
closeok:
|
||||
if (ferror(zStream)) goto errhandler_io;
|
||||
if ( stream != stdout) {
|
||||
int fd = fileno ( stream );
|
||||
if (fd < 0) goto errhandler_io;
|
||||
ret = applySavedFileAttrToOutputFile ( fd );
|
||||
if (ret != 0) goto errhandler_io;
|
||||
}
|
||||
ret = fclose ( zStream );
|
||||
if (ret == EOF) goto errhandler_io;
|
||||
|
||||
@@ -652,7 +639,6 @@ Bool testStream ( FILE *zStream )
|
||||
UChar obuf[5000];
|
||||
UChar unused[BZ_MAX_UNUSED];
|
||||
Int32 nUnused;
|
||||
void* unusedTmpV;
|
||||
UChar* unusedTmp;
|
||||
|
||||
nUnused = 0;
|
||||
@@ -676,10 +662,9 @@ Bool testStream ( FILE *zStream )
|
||||
}
|
||||
if (bzerr != BZ_STREAM_END) goto errhandler;
|
||||
|
||||
BZ2_bzReadGetUnused ( &bzerr, bzf, &unusedTmpV, &nUnused );
|
||||
BZ2_bzReadGetUnused ( &bzerr, bzf, (void**)(&unusedTmp), &nUnused );
|
||||
if (bzerr != BZ_OK) panic ( "test:bzReadGetUnused" );
|
||||
|
||||
unusedTmp = (UChar*)unusedTmpV;
|
||||
for (i = 0; i < nUnused; i++) unused[i] = unusedTmp[i];
|
||||
|
||||
BZ2_bzReadClose ( &bzerr, bzf );
|
||||
@@ -1140,7 +1125,7 @@ void saveInputFileMetaInfo ( Char *srcName )
|
||||
|
||||
|
||||
static
|
||||
void applySavedTimeInfoToOutputFile ( Char *dstName )
|
||||
void applySavedMetaInfoToOutputFile ( Char *dstName )
|
||||
{
|
||||
# if BZ_UNIX
|
||||
IntNative retVal;
|
||||
@@ -1149,26 +1134,16 @@ void applySavedTimeInfoToOutputFile ( Char *dstName )
|
||||
uTimBuf.actime = fileMetaInfo.st_atime;
|
||||
uTimBuf.modtime = fileMetaInfo.st_mtime;
|
||||
|
||||
retVal = chmod ( dstName, fileMetaInfo.st_mode );
|
||||
ERROR_IF_NOT_ZERO ( retVal );
|
||||
|
||||
retVal = utime ( dstName, &uTimBuf );
|
||||
ERROR_IF_NOT_ZERO ( retVal );
|
||||
# endif
|
||||
}
|
||||
|
||||
static
|
||||
int applySavedFileAttrToOutputFile ( int fd )
|
||||
{
|
||||
# if BZ_UNIX
|
||||
IntNative retVal;
|
||||
|
||||
retVal = fchmod ( fd, fileMetaInfo.st_mode );
|
||||
if (retVal != 0)
|
||||
return retVal;
|
||||
|
||||
(void) fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
|
||||
retVal = chown ( dstName, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
|
||||
/* chown() will in many cases return with EPERM, which can
|
||||
be safely ignored.
|
||||
*/
|
||||
return 0;
|
||||
# endif
|
||||
}
|
||||
|
||||
@@ -1391,7 +1366,7 @@ void compress ( Char *name )
|
||||
|
||||
/*--- If there was an I/O error, we won't get here. ---*/
|
||||
if ( srcMode == SM_F2F ) {
|
||||
applySavedTimeInfoToOutputFile ( outName );
|
||||
applySavedMetaInfoToOutputFile ( outName );
|
||||
deleteOutputOnInterrupt = False;
|
||||
if ( !keepInputFiles ) {
|
||||
IntNative retVal = remove ( inName );
|
||||
@@ -1569,7 +1544,7 @@ void uncompress ( Char *name )
|
||||
/*--- If there was an I/O error, we won't get here. ---*/
|
||||
if ( magicNumberOK ) {
|
||||
if ( srcMode == SM_F2F ) {
|
||||
applySavedTimeInfoToOutputFile ( outName );
|
||||
applySavedMetaInfoToOutputFile ( outName );
|
||||
deleteOutputOnInterrupt = False;
|
||||
if ( !keepInputFiles ) {
|
||||
IntNative retVal = remove ( inName );
|
||||
|
||||
+14
-37
@@ -574,11 +574,8 @@ int BZ_API(BZ2_bzDecompressInit)
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
/* Return True iff data corruption is discovered.
|
||||
Returns False if there is no problem.
|
||||
*/
|
||||
static
|
||||
Bool unRLE_obuf_to_output_FAST ( DState* s )
|
||||
void unRLE_obuf_to_output_FAST ( DState* s )
|
||||
{
|
||||
UChar k1;
|
||||
|
||||
@@ -587,7 +584,7 @@ Bool unRLE_obuf_to_output_FAST ( DState* s )
|
||||
while (True) {
|
||||
/* try to finish existing run */
|
||||
while (True) {
|
||||
if (s->strm->avail_out == 0) return False;
|
||||
if (s->strm->avail_out == 0) return;
|
||||
if (s->state_out_len == 0) break;
|
||||
*( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
|
||||
BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
|
||||
@@ -597,13 +594,10 @@ Bool unRLE_obuf_to_output_FAST ( DState* s )
|
||||
s->strm->total_out_lo32++;
|
||||
if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
|
||||
}
|
||||
|
||||
|
||||
/* can a new run be started? */
|
||||
if (s->nblock_used == s->save_nblock+1) return False;
|
||||
if (s->nblock_used == s->save_nblock+1) return;
|
||||
|
||||
/* Only caused by corrupt data stream? */
|
||||
if (s->nblock_used > s->save_nblock+1)
|
||||
return True;
|
||||
|
||||
s->state_out_len = 1;
|
||||
s->state_out_ch = s->k0;
|
||||
@@ -673,10 +667,6 @@ Bool unRLE_obuf_to_output_FAST ( DState* s )
|
||||
cs_avail_out--;
|
||||
}
|
||||
}
|
||||
/* Only caused by corrupt data stream? */
|
||||
if (c_nblock_used > s_save_nblockPP)
|
||||
return True;
|
||||
|
||||
/* can a new run be started? */
|
||||
if (c_nblock_used == s_save_nblockPP) {
|
||||
c_state_out_len = 0; goto return_notr;
|
||||
@@ -722,7 +712,6 @@ Bool unRLE_obuf_to_output_FAST ( DState* s )
|
||||
s->strm->avail_out = cs_avail_out;
|
||||
/* end save */
|
||||
}
|
||||
return False;
|
||||
}
|
||||
|
||||
|
||||
@@ -743,11 +732,8 @@ __inline__ Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
|
||||
|
||||
|
||||
/*---------------------------------------------------*/
|
||||
/* Return True iff data corruption is discovered.
|
||||
Returns False if there is no problem.
|
||||
*/
|
||||
static
|
||||
Bool unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
void unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
{
|
||||
UChar k1;
|
||||
|
||||
@@ -756,7 +742,7 @@ Bool unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
while (True) {
|
||||
/* try to finish existing run */
|
||||
while (True) {
|
||||
if (s->strm->avail_out == 0) return False;
|
||||
if (s->strm->avail_out == 0) return;
|
||||
if (s->state_out_len == 0) break;
|
||||
*( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
|
||||
BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
|
||||
@@ -768,11 +754,8 @@ Bool unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
}
|
||||
|
||||
/* can a new run be started? */
|
||||
if (s->nblock_used == s->save_nblock+1) return False;
|
||||
|
||||
/* Only caused by corrupt data stream? */
|
||||
if (s->nblock_used > s->save_nblock+1)
|
||||
return True;
|
||||
if (s->nblock_used == s->save_nblock+1) return;
|
||||
|
||||
|
||||
s->state_out_len = 1;
|
||||
s->state_out_ch = s->k0;
|
||||
@@ -805,7 +788,7 @@ Bool unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
while (True) {
|
||||
/* try to finish existing run */
|
||||
while (True) {
|
||||
if (s->strm->avail_out == 0) return False;
|
||||
if (s->strm->avail_out == 0) return;
|
||||
if (s->state_out_len == 0) break;
|
||||
*( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
|
||||
BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
|
||||
@@ -817,11 +800,7 @@ Bool unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
}
|
||||
|
||||
/* can a new run be started? */
|
||||
if (s->nblock_used == s->save_nblock+1) return False;
|
||||
|
||||
/* Only caused by corrupt data stream? */
|
||||
if (s->nblock_used > s->save_nblock+1)
|
||||
return True;
|
||||
if (s->nblock_used == s->save_nblock+1) return;
|
||||
|
||||
s->state_out_len = 1;
|
||||
s->state_out_ch = s->k0;
|
||||
@@ -851,7 +830,6 @@ Bool unRLE_obuf_to_output_SMALL ( DState* s )
|
||||
/*---------------------------------------------------*/
|
||||
int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
|
||||
{
|
||||
Bool corrupt;
|
||||
DState* s;
|
||||
if (strm == NULL) return BZ_PARAM_ERROR;
|
||||
s = strm->state;
|
||||
@@ -862,13 +840,12 @@ int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
|
||||
if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR;
|
||||
if (s->state == BZ_X_OUTPUT) {
|
||||
if (s->smallDecompress)
|
||||
corrupt = unRLE_obuf_to_output_SMALL ( s ); else
|
||||
corrupt = unRLE_obuf_to_output_FAST ( s );
|
||||
if (corrupt) return BZ_DATA_ERROR;
|
||||
unRLE_obuf_to_output_SMALL ( s ); else
|
||||
unRLE_obuf_to_output_FAST ( s );
|
||||
if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) {
|
||||
BZ_FINALISE_CRC ( s->calculatedBlockCRC );
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf2 ( " {0x%08x, 0x%08x}", s->storedBlockCRC,
|
||||
VPrintf2 ( " {0x%x, 0x%x}", s->storedBlockCRC,
|
||||
s->calculatedBlockCRC );
|
||||
if (s->verbosity >= 2) VPrintf0 ( "]" );
|
||||
if (s->calculatedBlockCRC != s->storedBlockCRC)
|
||||
@@ -886,7 +863,7 @@ int BZ_API(BZ2_bzDecompress) ( bz_stream *strm )
|
||||
Int32 r = BZ2_decompress ( s );
|
||||
if (r == BZ_STREAM_END) {
|
||||
if (s->verbosity >= 3)
|
||||
VPrintf2 ( "\n combined CRCs: stored = 0x%08x, computed = 0x%08x",
|
||||
VPrintf2 ( "\n combined CRCs: stored = 0x%x, computed = 0x%x",
|
||||
s->storedCombinedCRC, s->calculatedCombinedCRC );
|
||||
if (s->calculatedCombinedCRC != s->storedCombinedCRC)
|
||||
return BZ_DATA_ERROR;
|
||||
|
||||
@@ -488,11 +488,9 @@ void sendMTFValues ( EState* s )
|
||||
/*--
|
||||
Recompute the tables based on the accumulated frequencies.
|
||||
--*/
|
||||
/* maxLen was changed from 20 to 17 in bzip2-1.0.3. See
|
||||
comment in huffman.c for details. */
|
||||
for (t = 0; t < nGroups; t++)
|
||||
BZ2_hbMakeCodeLengths ( &(s->len[t][0]), &(s->rfreq[t][0]),
|
||||
alphaSize, 17 /*20*/ );
|
||||
alphaSize, 20 );
|
||||
}
|
||||
|
||||
|
||||
@@ -529,7 +527,7 @@ void sendMTFValues ( EState* s )
|
||||
if (s->len[t][i] > maxLen) maxLen = s->len[t][i];
|
||||
if (s->len[t][i] < minLen) minLen = s->len[t][i];
|
||||
}
|
||||
AssertH ( !(maxLen > 17 /*20*/ ), 3004 );
|
||||
AssertH ( !(maxLen > 20), 3004 );
|
||||
AssertH ( !(minLen < 1), 3005 );
|
||||
BZ2_hbAssignCodes ( &(s->code[t][0]), &(s->len[t][0]),
|
||||
minLen, maxLen, alphaSize );
|
||||
@@ -653,8 +651,8 @@ void BZ2_compressBlock ( EState* s, Bool is_last_block )
|
||||
if (s->blockNo > 1) s->numZ = 0;
|
||||
|
||||
if (s->verbosity >= 2)
|
||||
VPrintf4( " block %d: crc = 0x%08x, "
|
||||
"combined CRC = 0x%08x, size = %d\n",
|
||||
VPrintf4( " block %d: crc = 0x%8x, "
|
||||
"combined CRC = 0x%8x, size = %d\n",
|
||||
s->blockNo, s->blockCRC, s->combinedCRC, s->nblock );
|
||||
|
||||
BZ2_blockSort ( s );
|
||||
@@ -705,7 +703,7 @@ void BZ2_compressBlock ( EState* s, Bool is_last_block )
|
||||
bsPutUChar ( s, 0x50 ); bsPutUChar ( s, 0x90 );
|
||||
bsPutUInt32 ( s, s->combinedCRC );
|
||||
if (s->verbosity >= 2)
|
||||
VPrintf1( " final combined CRC = 0x%08x\n ", s->combinedCRC );
|
||||
VPrintf1( " final combined CRC = 0x%x\n ", s->combinedCRC );
|
||||
bsFinishWrite ( s );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -524,23 +524,17 @@ Int32 BZ2_decompress ( DState* s )
|
||||
if (s->origPtr < 0 || s->origPtr >= nblock)
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
|
||||
/*-- Set up cftab to facilitate generation of T^(-1) --*/
|
||||
s->cftab[0] = 0;
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
|
||||
for (i = 0; i <= 256; i++) {
|
||||
if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
|
||||
/* s->cftab[i] can legitimately be == nblock */
|
||||
RETURN(BZ_DATA_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
s->state_out_len = 0;
|
||||
s->state_out_ch = 0;
|
||||
BZ_INITIALISE_CRC ( s->calculatedBlockCRC );
|
||||
s->state = BZ_X_OUTPUT;
|
||||
if (s->verbosity >= 2) VPrintf0 ( "rt+rld" );
|
||||
|
||||
/*-- Set up cftab to facilitate generation of T^(-1) --*/
|
||||
s->cftab[0] = 0;
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
|
||||
for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
|
||||
|
||||
if (s->smallDecompress) {
|
||||
|
||||
/*-- Make a copy of cftab, used in generation of T --*/
|
||||
|
||||
+1
-18
@@ -162,24 +162,7 @@ void BZ2_hbMakeCodeLengths ( UChar *len,
|
||||
|
||||
if (! tooLong) break;
|
||||
|
||||
/* 17 Oct 04: keep-going condition for the following loop used
|
||||
to be 'i < alphaSize', which missed the last element,
|
||||
theoretically leading to the possibility of the compressor
|
||||
looping. However, this count-scaling step is only needed if
|
||||
one of the generated Huffman code words is longer than
|
||||
maxLen, which up to and including version 1.0.2 was 20 bits,
|
||||
which is extremely unlikely. In version 1.0.3 maxLen was
|
||||
changed to 17 bits, which has minimal effect on compression
|
||||
ratio, but does mean this scaling step is used from time to
|
||||
time, enough to verify that it works.
|
||||
|
||||
This means that bzip2-1.0.3 and later will only produce
|
||||
Huffman codes with a maximum length of 17 bits. However, in
|
||||
order to preserve backwards compatibility with bitstreams
|
||||
produced by versions pre-1.0.3, the decompressor must still
|
||||
handle lengths of up to 20. */
|
||||
|
||||
for (i = 1; i <= alphaSize; i++) {
|
||||
for (i = 1; i < alphaSize; i++) {
|
||||
j = weight[i] >> 8;
|
||||
j = 1 + (j / 2);
|
||||
weight[i] = j << 8;
|
||||
|
||||
+26
-91
@@ -46,19 +46,6 @@ $FreeBSD$
|
||||
#define lchown chown
|
||||
#endif
|
||||
|
||||
# ifndef DIRECTORY_SEPARATOR
|
||||
# define DIRECTORY_SEPARATOR '/'
|
||||
# endif
|
||||
|
||||
# ifndef ISSLASH
|
||||
# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
|
||||
# endif
|
||||
|
||||
# ifndef FILE_SYSTEM_PREFIX_LEN
|
||||
# define FILE_SYSTEM_PREFIX_LEN(Filename) 0
|
||||
# endif
|
||||
|
||||
|
||||
static void read_pattern_file ();
|
||||
static void tape_skip_padding ();
|
||||
static void defer_copyin ();
|
||||
@@ -389,54 +376,6 @@ swab_array (ptr, count)
|
||||
/* Current time for verbose table. */
|
||||
static time_t current_time;
|
||||
|
||||
/* Return a safer suffix of FILE_NAME, or "." if it has no safer
|
||||
suffix. Check for fully specified file names and other atrocities. */
|
||||
|
||||
static const char *
|
||||
safer_name_suffix (char const *file_name)
|
||||
{
|
||||
char const *p;
|
||||
|
||||
/* Skip file system prefixes, leading file name components that contain
|
||||
"..", and leading slashes. */
|
||||
|
||||
size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (file_name);
|
||||
|
||||
for (p = file_name + prefix_len; *p;)
|
||||
{
|
||||
if (p[0] == '.' && p[1] == '.' && (ISSLASH (p[2]) || !p[2]))
|
||||
prefix_len = p + 2 - file_name;
|
||||
|
||||
do
|
||||
{
|
||||
char c = *p++;
|
||||
if (ISSLASH (c))
|
||||
break;
|
||||
}
|
||||
while (*p);
|
||||
}
|
||||
|
||||
for (p = file_name + prefix_len; ISSLASH (*p); p++)
|
||||
continue;
|
||||
prefix_len = p - file_name;
|
||||
|
||||
if (prefix_len)
|
||||
{
|
||||
char *prefix = alloca (prefix_len + 1);
|
||||
memcpy (prefix, file_name, prefix_len);
|
||||
prefix[prefix_len] = '\0';
|
||||
|
||||
|
||||
error (0, 0, "Removing leading `%s' from member names", prefix);
|
||||
}
|
||||
|
||||
if (!*p)
|
||||
p = ".";
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
/* Read the collection from standard input and create files
|
||||
in the file system. */
|
||||
|
||||
@@ -457,7 +396,6 @@ process_copy_in ()
|
||||
int in_file_des; /* Input file descriptor. */
|
||||
char skip_file; /* Flag for use with patterns. */
|
||||
int existing_dir; /* True if file is a dir & already exists. */
|
||||
mode_t existing_mode;
|
||||
int i; /* Loop index variable. */
|
||||
char *link_name = NULL; /* Name of hard and symbolic links. */
|
||||
#ifdef HPUX_CDF
|
||||
@@ -556,11 +494,18 @@ process_copy_in ()
|
||||
|
||||
/* Do we have to ignore absolute paths, and if so, does the filename
|
||||
have an absolute path? */
|
||||
if (!abs_paths_flag && file_hdr.c_name && file_hdr.c_name[0])
|
||||
if (no_abs_paths_flag && file_hdr.c_name && file_hdr.c_name [0] == '/')
|
||||
{
|
||||
const char *p = safer_name_suffix (file_hdr.c_name);
|
||||
char *p;
|
||||
|
||||
if (p != file_hdr.c_name)
|
||||
p = file_hdr.c_name;
|
||||
while (*p == '/')
|
||||
++p;
|
||||
if (*p == '\0')
|
||||
{
|
||||
strcpy (file_hdr.c_name, ".");
|
||||
}
|
||||
else
|
||||
{
|
||||
char *non_abs_name;
|
||||
|
||||
@@ -697,7 +642,6 @@ process_copy_in ()
|
||||
we are trying to create, don't complain about
|
||||
it. */
|
||||
existing_dir = TRUE;
|
||||
existing_mode = file_stat.st_mode;
|
||||
}
|
||||
else if (!unconditional_flag
|
||||
&& file_hdr.c_mtime <= file_stat.st_mtime)
|
||||
@@ -834,6 +778,8 @@ process_copy_in ()
|
||||
}
|
||||
copy_files_tape_to_disk (in_file_des, out_file_des, file_hdr.c_filesize);
|
||||
disk_empty_output_buffer (out_file_des);
|
||||
if (close (out_file_des) < 0)
|
||||
error (0, errno, "%s", file_hdr.c_name);
|
||||
|
||||
if (archive_format == arf_crcascii)
|
||||
{
|
||||
@@ -843,15 +789,13 @@ process_copy_in ()
|
||||
}
|
||||
/* File is now copied; set attributes. */
|
||||
if (!no_chown_flag)
|
||||
if ((fchown (out_file_des,
|
||||
if ((chown (file_hdr.c_name,
|
||||
set_owner_flag ? set_owner : file_hdr.c_uid,
|
||||
set_group_flag ? set_group : file_hdr.c_gid) < 0)
|
||||
&& errno != EPERM)
|
||||
error (0, errno, "%s", file_hdr.c_name);
|
||||
/* chown may have turned off some permissions we wanted. */
|
||||
if (fchmod (out_file_des, (int) file_hdr.c_mode) < 0)
|
||||
error (0, errno, "%s", file_hdr.c_name);
|
||||
if (close (out_file_des) < 0)
|
||||
if (chmod (file_hdr.c_name, (int) file_hdr.c_mode) < 0)
|
||||
error (0, errno, "%s", file_hdr.c_name);
|
||||
if (retain_time_flag)
|
||||
{
|
||||
@@ -903,23 +847,14 @@ process_copy_in ()
|
||||
cdf_flag = 1;
|
||||
}
|
||||
#endif
|
||||
res = mkdir (file_hdr.c_name, file_hdr.c_mode & ~077);
|
||||
res = mkdir (file_hdr.c_name, file_hdr.c_mode);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!no_chown_flag && (existing_mode & 077) != 0
|
||||
&& chmod (file_hdr.c_name, existing_mode & 07700) < 0)
|
||||
{
|
||||
error (0, errno, "%s: chmod", file_hdr.c_name);
|
||||
return;
|
||||
}
|
||||
res = 0;
|
||||
}
|
||||
|
||||
res = 0;
|
||||
if (res < 0 && create_dir_flag)
|
||||
{
|
||||
create_all_directories (file_hdr.c_name);
|
||||
res = mkdir (file_hdr.c_name, file_hdr.c_mode & ~077);
|
||||
res = mkdir (file_hdr.c_name, file_hdr.c_mode);
|
||||
}
|
||||
if (res < 0)
|
||||
{
|
||||
@@ -1001,20 +936,20 @@ process_copy_in ()
|
||||
|
||||
#ifdef CP_IFIFO
|
||||
if ((file_hdr.c_mode & CP_IFMT) == CP_IFIFO)
|
||||
res = mkfifo (file_hdr.c_name, file_hdr.c_mode & ~077);
|
||||
res = mkfifo (file_hdr.c_name, file_hdr.c_mode);
|
||||
else
|
||||
#endif
|
||||
res = mknod (file_hdr.c_name, file_hdr.c_mode & ~077,
|
||||
res = mknod (file_hdr.c_name, file_hdr.c_mode,
|
||||
makedev (file_hdr.c_rdev_maj, file_hdr.c_rdev_min));
|
||||
if (res < 0 && create_dir_flag)
|
||||
{
|
||||
create_all_directories (file_hdr.c_name);
|
||||
#ifdef CP_IFIFO
|
||||
if ((file_hdr.c_mode & CP_IFMT) == CP_IFIFO)
|
||||
res = mkfifo (file_hdr.c_name, file_hdr.c_mode & ~077);
|
||||
res = mkfifo (file_hdr.c_name, file_hdr.c_mode);
|
||||
else
|
||||
#endif
|
||||
res = mknod (file_hdr.c_name, file_hdr.c_mode & ~077,
|
||||
res = mknod (file_hdr.c_name, file_hdr.c_mode,
|
||||
makedev (file_hdr.c_rdev_maj,
|
||||
file_hdr.c_rdev_min));
|
||||
}
|
||||
@@ -1441,18 +1376,18 @@ create_final_defers ()
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (close (out_file_des) < 0)
|
||||
error (0, errno, "%s", d->header.c_name);
|
||||
|
||||
/* File is now copied; set attributes. */
|
||||
if (!no_chown_flag)
|
||||
if ((fchown (out_file_des,
|
||||
if ((chown (d->header.c_name,
|
||||
set_owner_flag ? set_owner : d->header.c_uid,
|
||||
set_group_flag ? set_group : d->header.c_gid) < 0)
|
||||
&& errno != EPERM)
|
||||
error (0, errno, "%s", d->header.c_name);
|
||||
/* chown may have turned off some permissions we wanted. */
|
||||
if (fchmod (out_file_des, (int) d->header.c_mode) < 0)
|
||||
error (0, errno, "%s", d->header.c_name);
|
||||
if (close (out_file_des) < 0)
|
||||
if (chmod (d->header.c_name, (int) d->header.c_mode) < 0)
|
||||
error (0, errno, "%s", d->header.c_name);
|
||||
if (retain_time_flag)
|
||||
{
|
||||
|
||||
+2
-20
@@ -49,13 +49,12 @@ write_out_header (file_hdr, out_des)
|
||||
{
|
||||
char ascii_header[112];
|
||||
char *magic_string;
|
||||
int ret;
|
||||
|
||||
if (archive_format == arf_crcascii)
|
||||
magic_string = "070702";
|
||||
else
|
||||
magic_string = "070701";
|
||||
ret = snprintf (ascii_header, sizeof(ascii_header),
|
||||
sprintf (ascii_header,
|
||||
"%6s%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx%08lx",
|
||||
magic_string,
|
||||
file_hdr->c_ino, file_hdr->c_mode, file_hdr->c_uid,
|
||||
@@ -63,10 +62,6 @@ write_out_header (file_hdr, out_des)
|
||||
file_hdr->c_filesize, file_hdr->c_dev_maj, file_hdr->c_dev_min,
|
||||
file_hdr->c_rdev_maj, file_hdr->c_rdev_min, file_hdr->c_namesize,
|
||||
file_hdr->c_chksum);
|
||||
if (ret >= sizeof(ascii_header)) {
|
||||
fprintf(stderr, "Internal overflow, aborting\n");
|
||||
exit (1);
|
||||
}
|
||||
tape_buffered_write (ascii_header, out_des, 110L);
|
||||
|
||||
/* Write file name to output. */
|
||||
@@ -76,7 +71,6 @@ write_out_header (file_hdr, out_des)
|
||||
else if (archive_format == arf_oldascii || archive_format == arf_hpoldascii)
|
||||
{
|
||||
char ascii_header[78];
|
||||
int ret;
|
||||
#ifndef __MSDOS__
|
||||
dev_t dev;
|
||||
dev_t rdev;
|
||||
@@ -118,7 +112,7 @@ write_out_header (file_hdr, out_des)
|
||||
if ((file_hdr->c_ino >> 16) != 0)
|
||||
error (0, 0, "%s: truncating inode number", file_hdr->c_name);
|
||||
|
||||
ret = snprintf (ascii_header, sizeof(ascii_header),
|
||||
sprintf (ascii_header,
|
||||
"%06o%06o%06lo%06lo%06lo%06lo%06lo%06o%011lo%06lo%011lo",
|
||||
file_hdr->c_magic & 0xFFFF, dev & 0xFFFF,
|
||||
file_hdr->c_ino & 0xFFFF, file_hdr->c_mode & 0xFFFF,
|
||||
@@ -126,10 +120,6 @@ write_out_header (file_hdr, out_des)
|
||||
file_hdr->c_nlink & 0xFFFF, rdev & 0xFFFF,
|
||||
file_hdr->c_mtime, file_hdr->c_namesize & 0xFFFF,
|
||||
file_hdr->c_filesize);
|
||||
if (ret >= sizeof(ascii_header)) {
|
||||
fprintf(stderr, "Internal overflow, aborting\n");
|
||||
exit (1);
|
||||
}
|
||||
tape_buffered_write (ascii_header, out_des, 76L);
|
||||
|
||||
/* Write file name to output. */
|
||||
@@ -268,14 +258,6 @@ process_copy_out ()
|
||||
file_hdr.c_dev_maj = major (file_stat.st_dev);
|
||||
file_hdr.c_dev_min = minor (file_stat.st_dev);
|
||||
file_hdr.c_ino = file_stat.st_ino;
|
||||
|
||||
/* Skip files larger than 4GB which will cause problems on
|
||||
64bit platforms (and just not work on 32bit). */
|
||||
if (file_stat.st_size > 0xffffffff) {
|
||||
error (0, 0, "%s: skipping >4GB file", input_name.ds_string);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* For POSIX systems that don't define the S_IF macros,
|
||||
we can't assume that S_ISfoo means the standard Unix
|
||||
S_IFfoo bit(s) are set. So do it manually, with a
|
||||
|
||||
+11
-20
@@ -173,18 +173,18 @@ process_copy_pass ()
|
||||
disk_empty_output_buffer (out_file_des);
|
||||
if (close (in_file_des) < 0)
|
||||
error (0, errno, "%s", input_name.ds_string);
|
||||
if (close (out_file_des) < 0)
|
||||
error (0, errno, "%s", output_name.ds_string);
|
||||
|
||||
/* Set the attributes of the new file. */
|
||||
if (!no_chown_flag)
|
||||
if ((fchown (out_file_des,
|
||||
if ((chown (output_name.ds_string,
|
||||
set_owner_flag ? set_owner : in_file_stat.st_uid,
|
||||
set_group_flag ? set_group : in_file_stat.st_gid) < 0)
|
||||
&& errno != EPERM)
|
||||
error (0, errno, "%s", output_name.ds_string);
|
||||
/* chown may have turned off some permissions we wanted. */
|
||||
if (fchmod (out_file_des, in_file_stat.st_mode) < 0)
|
||||
error (0, errno, "%s", output_name.ds_string);
|
||||
if (close (out_file_des) < 0)
|
||||
if (chmod (output_name.ds_string, in_file_stat.st_mode) < 0)
|
||||
error (0, errno, "%s", output_name.ds_string);
|
||||
if (reset_time_flag)
|
||||
{
|
||||
@@ -223,24 +223,15 @@ process_copy_pass ()
|
||||
cdf_flag = 1;
|
||||
}
|
||||
#endif
|
||||
res = mkdir (output_name.ds_string, in_file_stat.st_mode & ~077);
|
||||
res = mkdir (output_name.ds_string, in_file_stat.st_mode);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!no_chown_flag && (out_file_stat.st_mode & 077) != 0
|
||||
&& chmod (output_name.ds_string, out_file_stat.st_mode & 07700) < 0)
|
||||
{
|
||||
error (0, errno, "%s: chmod", output_name.ds_string);
|
||||
continue;
|
||||
}
|
||||
res = 0;
|
||||
}
|
||||
|
||||
res = 0;
|
||||
if (res < 0 && create_dir_flag)
|
||||
{
|
||||
create_all_directories (output_name.ds_string);
|
||||
res = mkdir (output_name.ds_string, in_file_stat.st_mode & ~077);
|
||||
res = mkdir (output_name.ds_string, in_file_stat.st_mode);
|
||||
}
|
||||
if (res < 0)
|
||||
{
|
||||
@@ -306,20 +297,20 @@ process_copy_pass ()
|
||||
{
|
||||
#ifdef S_ISFIFO
|
||||
if (S_ISFIFO (in_file_stat.st_mode))
|
||||
res = mkfifo (output_name.ds_string, in_file_stat.st_mode & ~077);
|
||||
res = mkfifo (output_name.ds_string, in_file_stat.st_mode);
|
||||
else
|
||||
#endif
|
||||
res = mknod (output_name.ds_string, in_file_stat.st_mode & ~077,
|
||||
res = mknod (output_name.ds_string, in_file_stat.st_mode,
|
||||
in_file_stat.st_rdev);
|
||||
if (res < 0 && create_dir_flag)
|
||||
{
|
||||
create_all_directories (output_name.ds_string);
|
||||
#ifdef S_ISFIFO
|
||||
if (S_ISFIFO (in_file_stat.st_mode))
|
||||
res = mkfifo (output_name.ds_string, in_file_stat.st_mode & ~077);
|
||||
res = mkfifo (output_name.ds_string, in_file_stat.st_mode);
|
||||
else
|
||||
#endif
|
||||
res = mknod (output_name.ds_string, in_file_stat.st_mode & ~077,
|
||||
res = mknod (output_name.ds_string, in_file_stat.st_mode,
|
||||
in_file_stat.st_rdev);
|
||||
}
|
||||
if (res < 0)
|
||||
|
||||
+4
-4
@@ -19,7 +19,7 @@ cpio \- copy files to and from archives
|
||||
[\-\-unconditional] [\-\-verbose] [\-\-block-size=blocks] [\-\-swap-halfwords]
|
||||
[\-\-io-size=bytes] [\-\-pattern-file=file] [\-\-format=format]
|
||||
[\-\-owner=[user][:.][group]] [\-\-no-preserve-owner] [\-\-message=message]
|
||||
[\-\-force\-local] [\-\-absolute\-filenames] [\-\-sparse] [\-\-only\-verify\-crc]
|
||||
[\-\-force\-local] [\-\-no\-absolute\-filenames] [\-\-sparse] [\-\-only\-verify\-crc]
|
||||
[\-\-quiet] [\-\-help] [\-\-version] [pattern...] [< archive]
|
||||
|
||||
.B cpio
|
||||
@@ -251,9 +251,9 @@ current volume number (starting at 1).
|
||||
In the verbose table of contents listing, show numeric UID and GID
|
||||
instead of translating them into names.
|
||||
.TP
|
||||
.I " \-\-absolute-filenames"
|
||||
Do not strip leading file name components that contain ".."
|
||||
and leading slashes from file names in copy-in mode
|
||||
.I " \-\-no-absolute-filenames"
|
||||
In copy-in mode, create all files relative to the current directory,
|
||||
even if they have an absolute file name in the archive.
|
||||
.TP
|
||||
.I " \-\-no-preserve-owner"
|
||||
In copy-in mode and copy-pass mode, do not change the ownership of the
|
||||
|
||||
@@ -46,7 +46,7 @@ extern int no_chown_flag;
|
||||
extern int sparse_flag;
|
||||
extern int quiet_flag;
|
||||
extern int only_verify_crc_flag;
|
||||
extern int abs_paths_flag;
|
||||
extern int no_abs_paths_flag;
|
||||
|
||||
extern int last_header_start;
|
||||
extern int copy_matching_files;
|
||||
|
||||
@@ -98,8 +98,8 @@ int quiet_flag = FALSE;
|
||||
actually extract the files. */
|
||||
int only_verify_crc_flag = FALSE;
|
||||
|
||||
/* If TRUE, allow any absolute paths */
|
||||
int abs_paths_flag = FALSE;
|
||||
/* If TRUE, don't use any absolute paths, prefix them by `./'. */
|
||||
int no_abs_paths_flag = FALSE;
|
||||
|
||||
#ifdef DEBUG_CPIO
|
||||
/* If TRUE, print debugging information. */
|
||||
|
||||
+6
-6
@@ -56,7 +56,7 @@ struct option long_opts[] =
|
||||
{"list", 0, &table_flag, TRUE},
|
||||
{"make-directories", 0, &create_dir_flag, TRUE},
|
||||
{"message", 1, 0, 'M'},
|
||||
{"absolute-filenames", 0, 0, 136},
|
||||
{"no-absolute-filenames", 0, 0, 136},
|
||||
{"no-preserve-owner", 0, 0, 134},
|
||||
{"nonmatching", 0, ©_matching_files, FALSE},
|
||||
{"numeric-uid-gid", 0, &numeric_uid, TRUE},
|
||||
@@ -105,7 +105,7 @@ Usage: %s {-o|--create} [-0acvABLV] [-C bytes] [-H format] [-M message]\n\
|
||||
[--unconditional] [--verbose] [--block-size=blocks] [--swap-halfwords]\n\
|
||||
[--io-size=bytes] [--pattern-file=file] [--format=format]\n\
|
||||
[--owner=[user][:.][group]] [--no-preserve-owner] [--message=message]\n\
|
||||
[--force-local] [--absolute-filenames] [--sparse] [--only-verify-crc]\n\
|
||||
[--force-local] [--no-absolute-filenames] [--sparse] [--only-verify-crc]\n\
|
||||
[--quiet] [--help] [--version] [pattern...] [< archive]\n",
|
||||
program_name);
|
||||
fprintf (fp, "\
|
||||
@@ -266,8 +266,8 @@ crc newc odc bin ustar tar (all-caps also recognized)", optarg);
|
||||
numeric_uid = TRUE;
|
||||
break;
|
||||
|
||||
case 136: /* --absolute-filenames */
|
||||
abs_paths_flag = TRUE;
|
||||
case 136: /* --no-absolute-filenames */
|
||||
no_abs_paths_flag = TRUE;
|
||||
break;
|
||||
|
||||
case 134: /* --no-preserve-owner */
|
||||
@@ -414,7 +414,7 @@ crc newc odc bin ustar tar (all-caps also recognized)", optarg);
|
||||
|| retain_time_flag || no_chown_flag || set_owner_flag
|
||||
|| set_group_flag || swap_bytes_flag || swap_halfwords_flag
|
||||
|| (append_flag && !(archive_name || output_archive_name))
|
||||
|| rename_batch_file || abs_paths_flag
|
||||
|| rename_batch_file || no_abs_paths_flag
|
||||
|| input_archive_name || (archive_name && output_archive_name))
|
||||
usage (stderr, 2);
|
||||
if (archive_format == arf_unknown)
|
||||
@@ -429,7 +429,7 @@ crc newc odc bin ustar tar (all-caps also recognized)", optarg);
|
||||
if (argc - 1 != optind || archive_format != arf_unknown
|
||||
|| swap_bytes_flag || swap_halfwords_flag
|
||||
|| table_flag || rename_flag || append_flag
|
||||
|| rename_batch_file || abs_paths_flag)
|
||||
|| rename_batch_file || no_abs_paths_flag)
|
||||
usage (stderr, 2);
|
||||
directory_name = argv[optind];
|
||||
}
|
||||
|
||||
+2
-86
@@ -1,88 +1,4 @@
|
||||
Authors of GNU CVS
|
||||
|
||||
The conflict-resolution algorithms and much of the administrative file
|
||||
definitions of CVS were based on the original package written by Dick Grune
|
||||
at Vrije Universiteit in Amsterdam <[email protected]>, and posted to
|
||||
comp.sources.unix in the volume 6 release sometime in 1986. This original
|
||||
version was a collection of shell scripts. I am thankful that Dick made
|
||||
his work available.
|
||||
|
||||
Brian Berliner from Prisma, Inc. (now at Sun Microsystems, Inc.)
|
||||
<[email protected]> converted the original CVS shell scripts into reasonably
|
||||
fast C and added many, many features to support software release control
|
||||
functions. See the manual page in the "man" directory. A copy of the
|
||||
USENIX article presented at the Winter 1990 USENIX Conference, Washington
|
||||
D.C., is included in the "doc" directory.
|
||||
|
||||
Jeff Polk from BSDI <[email protected]> converted the CVS 1.2
|
||||
sources into much more readable and maintainable C code. He also added a
|
||||
whole lot of functionality and modularity to the code in the process.
|
||||
See the bottom of the NEWS file (from about 1992).
|
||||
|
||||
david d `zoo' zuhn <[email protected]> contributed the working base code
|
||||
for CVS 1.4 Alpha. His work carries on from work done by K. Richard Pixley
|
||||
and others at Cygnus Support. The CVS 1.4 upgrade is due in large part to
|
||||
Zoo's efforts.
|
||||
|
||||
David G. Grubbs <[email protected]> contributed the CVS "history" and "release"
|
||||
commands. As well as the ever-so-useful "-n" option of CVS which tells CVS
|
||||
to show what it would do, without actually doing it. He also contributed
|
||||
support for the .cvsignore file.
|
||||
|
||||
The Free Software Foundation (GNU) contributed most of the portability
|
||||
framework that CVS now uses. This can be found in the "configure" script,
|
||||
the Makefile's, and basically most of the "lib" directory.
|
||||
|
||||
K. Richard Pixley, Cygnus Support <[email protected]> contributed many bug
|
||||
fixes/enhancement as well as completing early reviews of the CVS 1.3 manual
|
||||
pages.
|
||||
|
||||
Roland Pesch, then of Cygnus Support <[email protected]> contributed
|
||||
brand new cvs(1) and cvs(5) manual pages. Thanks to him for saving us
|
||||
from poor use of our language!
|
||||
|
||||
Paul Sander, HaL Computer Systems, Inc. <[email protected]> wrote and
|
||||
contributed the code in lib/sighandle.c. I added support for POSIX, BSD,
|
||||
and non-POSIX/non-BSD systems.
|
||||
|
||||
Jim Kingdon and others at Cygnus Support <[email protected]> wrote the
|
||||
remote repository access code.
|
||||
|
||||
Larry Jones and Derek Price <[email protected]> have been maintaining and
|
||||
enhancing CVS for some years. Mark D. Baushke <[email protected]> came on in
|
||||
2003.
|
||||
|
||||
There have been many, many contributions not listed here. Consult the
|
||||
individual ChangeLog files in each directory for a more complete idea.
|
||||
|
||||
In addition to the above contributors, the following Beta testers
|
||||
deserve special mention for their support. This is only a partial
|
||||
list; if you have helped in this way and would like to be listed, let
|
||||
bug-cvs know (as described in the Cederqvist manual).
|
||||
|
||||
Mark D. Baushke <[email protected]>
|
||||
Per Cederqvist <[email protected]>
|
||||
J.T. Conklin <[email protected]>
|
||||
Vince DeMarco <[email protected]>
|
||||
Paul Eggert <[email protected]>
|
||||
Lal George <[email protected]>
|
||||
Dean E. Hardi <[email protected]>
|
||||
Mike Heath <[email protected]>
|
||||
Jim Kingdon <[email protected]>
|
||||
Bernd Leibing <[email protected]>
|
||||
Benedict Lofstedt <[email protected]>
|
||||
Dave Love <[email protected]>
|
||||
Robert Lupton the Good <[email protected]>
|
||||
Tom McAliney <[email protected]>
|
||||
Eberhard Mattes <[email protected]>
|
||||
Jim Meyering <[email protected]>
|
||||
Thomas Mohr <[email protected]>
|
||||
Thomas Nilsson <[email protected]>
|
||||
Raye Raskin <[email protected]>
|
||||
Harlan Stenn <[email protected]>
|
||||
Gunnar Tornblom <[email protected]>
|
||||
Greg A. Woods <[email protected]>
|
||||
|
||||
Many contributors have added code to the "contrib" directory. See the
|
||||
README file there for a list of what is available. There is also a
|
||||
contributed GNU Emacs CVS-mode in tools/pcl-cvs.
|
||||
Um, yeah. There were lots of 'em. See the "Credits" section of the
|
||||
README file and the individual ChangeLog files for more.
|
||||
+154
-39
@@ -15,6 +15,16 @@ similar file for the unix-like operating systems (not yet, at least).
|
||||
This file also might contain some platform-specific bugs.
|
||||
|
||||
|
||||
* Need more work on the procedure for fixing it if a binary file is
|
||||
accidentally added in text mode (sanity.sh test cases, better
|
||||
documentation, probably update and/or admin -kb should update
|
||||
the -k setting in CVS/Entries).
|
||||
|
||||
|
||||
* Wrappers (-t/-f) do not work client/server, and there are a variety of other
|
||||
bugs and annoyances with wrappers.
|
||||
|
||||
|
||||
* If your login name contains a space or various other characters
|
||||
(particularly an issue on Windows), CVS will have trouble (it will
|
||||
write invalid RCS files, probably). The fix would be to have CVS
|
||||
@@ -32,19 +42,10 @@ provide a "Option-read-write" request which sends -w, in addition to
|
||||
"Global_option -r" which sends -r.
|
||||
|
||||
|
||||
* Symbolic links to files will not work with or without LockDir. In the
|
||||
repository, you should avoid using symbolic links to files since this issue
|
||||
can cause data loss. Symlinks are only a problem when writing files. If your
|
||||
repository does not allow any write access, symlinks are not a problem.
|
||||
|
||||
|
||||
* Symbolic links to directories will not work with LockDir. In the
|
||||
repository, you should avoid using symbolic links to directories if
|
||||
you intend to use LockDir as the correct directory will NOT be locked
|
||||
by CVS during write. Directory symlinks are not recommended, but should work
|
||||
as long as LockDir is not being used. Symlinks are only a problem when
|
||||
writing files. If your repository does not allow any write access, symlinks
|
||||
are never a problem, whether or not LockDir is in use.
|
||||
* "make remotecheck" sometimes fails on test 187a3 with
|
||||
cvs server: in directory .:
|
||||
cvs [server aborted]: *PANIC* administration files missing
|
||||
This does not happen every time. (-kingdon, Nov 96, Red Hat linux 3.0.3).
|
||||
|
||||
|
||||
* The -m option to "cvs add" does not work with client/server CVS.
|
||||
@@ -58,13 +59,49 @@ file's description.
|
||||
users who try to add the same directory at nearly the same time.
|
||||
|
||||
|
||||
* 'cvs admin' dumped core when files were missing from working directory
|
||||
(and from the repository)?
|
||||
|
||||
|
||||
* The following bug was reported against CVS 1.9:
|
||||
|
||||
Create a module named test with a file named test in it.
|
||||
|
||||
cactus:sfavor> cvs get test
|
||||
cvs checkout: Updating test
|
||||
U test/test
|
||||
cactus:sfavor> cd test
|
||||
cactus:sfavor> cvs get test
|
||||
cvs checkout: cannot chdir to test: Not a directory
|
||||
cvs checkout: ignoring module test
|
||||
Exit 1
|
||||
cactus:sfavor> cvs update
|
||||
cvs update: Updating .
|
||||
rcs.c:2139: failed assertion `rev == NULL || isdigit (*rev)'
|
||||
Abort (core dumped)
|
||||
Exit 134
|
||||
|
||||
|
||||
* pcl-cvs doesn't like it when you try to check in a file which isn't
|
||||
up-to-date. The messages produced by the server perhaps don't match
|
||||
what pcl-cvs is looking for.
|
||||
|
||||
|
||||
* From: [email protected] (Bill Robertson)
|
||||
Subject: Problem with rtag and the -D option
|
||||
Date: Fri, 17 Mar 1995 10:53:29 -0600 (CST)
|
||||
|
||||
I have been trying to use the -D option to specify a date for tagging, but
|
||||
rtag does not recognize the -D option. It is documented to do so and I've
|
||||
tested the use of -D with cvs update and cvs diff and it works fine there.
|
||||
|
||||
* From: "Charles M. Hannum" <[email protected]>
|
||||
To: [email protected]
|
||||
Subject: Still one more bug
|
||||
Date: Sat, 25 Feb 1995 17:01:15 -0500
|
||||
|
||||
mycroft@duality [1]; cd /usr/src/lib/libc
|
||||
mycroft@duality [1]; cvs diff -C2 '-D1 day ago' -Dnow
|
||||
mycroft@duality [1]; cvs diff -c2 '-D1 day ago' -Dnow
|
||||
cvs server: Diffing .
|
||||
cvs server: Diffing DB
|
||||
cvs [server aborted]: could not chdir to DB: No such file or directory
|
||||
@@ -78,39 +115,117 @@ file's description.
|
||||
P.S. Is anyone working on fixing these bugs?
|
||||
|
||||
|
||||
* CVS does not always seem to be waiting to the next filesystem timestamp
|
||||
quanta after commits. So far this has only shown up in testing under the BSDI
|
||||
OS. The symptoms are that ocassionally CVS will not notice that modified files
|
||||
are modified, though the file must be modified within a short time after the
|
||||
commit, probably milliseconds or seconds, for this symptom to be noticed. One
|
||||
suspected cause is that one of the calls to sleep_past() is being called with
|
||||
an incorrect value, though this does not explain why symptoms have only been
|
||||
noticed under BSDI.
|
||||
* From: Roland McGrath <[email protected]>
|
||||
To: Cyclic CVS Hackers <[email protected]>
|
||||
Subject: weird bug
|
||||
Date: Sat, 25 Mar 1995 16:41:41 -0500
|
||||
X-Windows: Even your dog won't like it.
|
||||
|
||||
I just noticed some droppings on my disk from what must be a pretty weird
|
||||
bug in remote CVS.
|
||||
|
||||
* Spaces in arguments to `cvs diff' are currently split on spaces and tabs
|
||||
before being passed to diff. This can often cause diff to abort since it can
|
||||
no longer interpret its options string and if it can, coincidentally,
|
||||
interpret its option string, then the problem may be output in unexpected
|
||||
formats.
|
||||
In my home directory on a repository machine I use, I find:
|
||||
|
||||
drwxr-xr-x 4 roland staff 512 Mar 7 14:08 cvs-serv28962
|
||||
drwxr-xr-x 4 roland staff 512 Mar 7 14:11 cvs-serv28978
|
||||
drwxr-xr-x 4 roland staff 512 Mar 7 15:13 cvs-serv29141
|
||||
|
||||
* `release' of a project subdir does not remove the `subdir' entry from
|
||||
`./CVS/Entries'.
|
||||
OK, so these are leftover cruft from some cvs run that got aborted.
|
||||
Well, it should clean up after itself, but so what.
|
||||
|
||||
The last one is pretty dull; the real weirdness is the contents of the
|
||||
first two directories.
|
||||
|
||||
* Most of the remote commands are encountering assertion failures when listing
|
||||
the toplevel of the repository (e.g. `cvs rlog .'). This appears to be
|
||||
related to the symlinked CVS root fix.
|
||||
duality 77 # ls -RF cvs-serv28978/
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/CVS:
|
||||
Entries Repository
|
||||
|
||||
* Status
|
||||
cvs-serv28978/cvs-serv28978:
|
||||
arpa/
|
||||
|
||||
/*-------.
|
||||
| Stable |
|
||||
`-------*/
|
||||
cvs-serv28978/cvs-serv28978/arpa:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
/*-------------------------.
|
||||
| Sane for full scale use. |
|
||||
`-------------------------*/
|
||||
cvs-serv28978/cvs-serv28978/arpa/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978:
|
||||
assert/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978:
|
||||
bare/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978:
|
||||
conf/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978:
|
||||
crypt/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978:
|
||||
csu/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/CVS:
|
||||
Entries Repository
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978:
|
||||
ctype/
|
||||
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978/ctype:
|
||||
CVS/ cvs-serv28978/
|
||||
|
||||
[...]
|
||||
|
||||
ls: cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978/ctype/cvs-serv28978/dirent/cvs-serv28978/elf/cvs-serv28978/gnu/cvs-serv28978/gnulib/cvs-serv28978/grp/cvs-serv28978/hurd/cvs-serv28978/hurd/hurd/cvs-serv28978/inet/cvs-serv28978/inet/arpa/cvs-serv28978/inet/netinet[...]/cvs-serv28978/posix/cvs-serv28978/posix/glob/cvs-serv28978/posix/gnu/cvs-serv28978/posix/sys/cvs-serv28978/protocols/cvs-serv28978/pwd/cvs-serv28978/resolv/cvs-serv28978/resolv/arpa/cvs-serv28978/resolv/sys/cvs-serv28978/resource/cvs-serv28978/resource/sys/cvs-serv28978/rpc/cvs-serv28978/setjmp/cvs-serv28978/signal/cvs-serv28978/signal/sys/cvs-serv28978/socket/cvs-serv28978/socket: File name too long
|
||||
cvs-serv28978/cvs-serv28978/arpa/cvs-serv28978/assert/cvs-serv28978/bare/cvs-serv28978/conf/cvs-serv28978/crypt/cvs-serv28978/csu/cvs-serv28978/ctype/cvs-serv28978/dirent/cvs-serv28978/elf/cvs-serv28978/gnu/cvs-serv28978/gnulib/cvs-serv28978/grp/cvs-serv28978/hurd/cvs-serv28978/hurd/hurd/cvs-serv28978/inet/cvs-serv28978/inet/arpa/cvs-serv28978/inet/netinet[...]/cvs-serv28978/posix/glob/cvs-serv28978/posix/gnu/cvs-serv28978/posix/sys/cvs-serv28978/protocols/cvs-serv28978/pwd/cvs-serv28978/resolv/cvs-serv28978/resolv/arpa/cvs-serv28978/resolv/sys/cvs-serv28978/resource/cvs-serv28978/resource/sys/cvs-serv28978/rpc/cvs-serv28978/setjmp/cvs-serv28978/signal/cvs-serv28978/signal/sys/cvs-serv28978/socket/cvs-serv28978:
|
||||
|
||||
* From: Roland McGrath <[email protected]>
|
||||
To: Cyclic CVS Hackers <[email protected]>
|
||||
Subject: bizarre failure mode
|
||||
Date: Tue, 7 Mar 95 14:17:28 -0500
|
||||
|
||||
This is pretty weird:
|
||||
|
||||
CVS_SERVER='TMPDIR=. /usr/local/bin/cvs' ../cvs-build/src/cvs update -q
|
||||
cvs [server aborted]: could not get working directory: Result too large
|
||||
[Exit 1]
|
||||
asylum 29 % grep 'Result too large' /usr/include/sys/errno.h
|
||||
#define ERANGE 34 /* Result too large */
|
||||
|
||||
Now, getcwd fails with ERANGE when the buffer is too small. But I don't
|
||||
know why that would be the case; I don't think there are exceptionally long
|
||||
directory names involved. It would be robust to notice ERANGE and use a
|
||||
bigger buffer. But I suspect something weirder is going on.
|
||||
|
||||
The repository in question in duality.gnu.ai.mit.edu:/gd4/gnu/cvsroot/libc.
|
||||
|
||||
Send me a PGP-signed message if you want the password to use the machine
|
||||
where the problem showed up.
|
||||
@@ -1,905 +1,3 @@
|
||||
2004-06-09 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Stefan & Sebastian's security fixes.
|
||||
* acinclude.m4 (gl_SIZE_MAX, gl_XSIZE): Import from GNULIB.
|
||||
* configure.in: Call gl_XSIZE.
|
||||
|
||||
2004-06-09 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note CAN-2004-0414 fix.
|
||||
|
||||
2004-05-19 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note CAN-2004-0396 fix.
|
||||
|
||||
2004-05-17 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note assertion failure of r* commands.
|
||||
|
||||
2004-05-17 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove out of date comment about out of date Windows build
|
||||
files and several bug reports that are so old, without similar recent
|
||||
reports, that I'm assuming that the problems have been fixed.
|
||||
|
||||
2004-05-15 Derek Price <[email protected]>
|
||||
|
||||
* cvsnt.dsp: Header file list updated.
|
||||
* cvsnt.dep: Regenerated for "cvsnt.dsp" change.
|
||||
* cvsnt.mak: Regenerated for "cvsnt.dsp" change.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
2004-05-13 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note MSVC++ project file regeneration.
|
||||
|
||||
2004-05-13 Derek Price <[email protected]>
|
||||
|
||||
* cvsnt.dsw: Rename "zlib/zlib.*" to "zlib/libz.*".
|
||||
Add project "lib/libcvs".
|
||||
* cvsnt.dsp: Revised for "cvsnt.dsw" changes. Move "lib/*.c" to
|
||||
project "lib/libcvs". Upgraded to Visual C++ 6.0 format.
|
||||
* cvsnt.dep: Added for "cvsnt.dsp" change.
|
||||
* cvsnt.mak: Regenerated for "cvsnt.dsp" change.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
* configure.in: Generate windows-NT/fix-msvc-mak.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that man page is generated from cvs.texinfo now.
|
||||
* configure.in: Build doc/mkman.
|
||||
* configure, Makefile.in: Regenerated.
|
||||
|
||||
2004-04-26 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that :ext: no longer relies on an external transport with
|
||||
a GNU argument processor.
|
||||
|
||||
2004-04-20 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note XP directory deletion fix.
|
||||
|
||||
2004-04-16 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Correct CVS name for piped checkout issue now that we have one.
|
||||
|
||||
2004-04-15 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Retroactively add CVE issue name for the piped etc issue.
|
||||
|
||||
2004-04-15 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Retroactively add CVE issue name for the trojan server issue.
|
||||
|
||||
2004-04-14 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL (Building from source code under Unix): Move Autoconf &
|
||||
Automake notes...
|
||||
* HACKING (Regenerating Build Files): ...here.
|
||||
|
||||
2004-04-13 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note validation of paths passed to the client.
|
||||
|
||||
2004-04-07 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Clarify relative-path up-reference article.
|
||||
|
||||
2004-04-07 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note ignoring of method options in CVSROOTs.
|
||||
|
||||
2004-04-06 Derek Price <[email protected]>
|
||||
|
||||
* TODO (196, 217, 219, 220, 222, 226): Remove completed items.
|
||||
(230): New item.
|
||||
|
||||
2004-04-06 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note this change.
|
||||
* configure.in: Do not try and use TMP, TEMP, or TMPDIR as default
|
||||
temporary directories.
|
||||
* configure: Regenerated.
|
||||
|
||||
2004-04-04 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Cygwin handles paths like X:\.
|
||||
|
||||
2004-04-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Windows ISDIRSEP fix.
|
||||
|
||||
2004-04-02 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Instruct users to use the Workspace file and not the project
|
||||
file for MSVC++.
|
||||
(Patch from Conrad T. Pino <[email protected]>.)
|
||||
|
||||
2004-04-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Make some notes as to client/serverness of changes.
|
||||
|
||||
2004-04-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note relative path fix.
|
||||
|
||||
2004-04-01 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Record run race removal.
|
||||
|
||||
2004-03-31 Mark D. Baushke <[email protected]>
|
||||
|
||||
* cvs.spec.in (BuildRequires): Do not fail if info DIR file does
|
||||
not exist. (Not everyone has an install-info that generates the
|
||||
dir file that we want deleted.)
|
||||
(Report from Geoff Beier <[email protected]>.)
|
||||
|
||||
2004-03-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note failure of Cygwin to convert back slashes to slashes.
|
||||
|
||||
2004-03-25 Derek Price <[email protected]>
|
||||
|
||||
* cvs.spec.in (BuildRoot): Use a more unique directory name.
|
||||
|
||||
2004-03-22 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Note compilation & --without-gssapi requirement for HPPA
|
||||
with HP-UX 11.11.
|
||||
(Report from Nicolas Vervelle <[email protected]>.)
|
||||
|
||||
2004-03-20 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note resurrection fixes.
|
||||
|
||||
2004-03-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Back out previous NEWS change at Larry Jones' suggestion.
|
||||
|
||||
2004-03-17 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (--enable-password-authentication-client): Correct
|
||||
error message text.
|
||||
* NEWS: Note this change.
|
||||
* configure: Regenerated.
|
||||
|
||||
2004-03-15 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note cvs release + Kerberos fix.
|
||||
|
||||
2004-03-15 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Correct grammar in help text.
|
||||
* configure: Regenerated.
|
||||
|
||||
2004-03-15 Derek Price <[email protected]>
|
||||
|
||||
* macintosh/.cvsignore: Complete pruning of directory started in 1999.
|
||||
|
||||
2004-03-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note resurrection fix.
|
||||
|
||||
2004-03-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note error & status message corrections.
|
||||
|
||||
2004-03-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note diff of added files against arbitrary revisions fix.
|
||||
|
||||
2004-03-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Larry's recent documentation fixes.
|
||||
|
||||
2004-03-03 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that directories and files named `CVS' are now also
|
||||
rejected by import.
|
||||
|
||||
2004-02-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Update dying gasp note.
|
||||
|
||||
2004-02-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note `cvs release' Entries corruption fix.
|
||||
|
||||
2004-02-20 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that the dying gasp check has now been completely removed.
|
||||
|
||||
2004-02-17 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note spec file fix.
|
||||
* cvs.spec: Update to avoid the error checking algorithm's of more
|
||||
recent version of RPM.
|
||||
|
||||
2004-02-17 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note recent commenting of src/checkout.c and Mark's leak fixes.
|
||||
|
||||
2004-02-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Mark D. Baushke's recent memory leak plugs.
|
||||
|
||||
2004-02-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Ville Skyttä's other recent man page patch.
|
||||
|
||||
2004-02-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Ville Skyttä's recent man page patch.
|
||||
|
||||
2004-02-11 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note :fork: segfault avoidance.
|
||||
|
||||
2004-02-11 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note readability improvements.
|
||||
|
||||
2004-02-10 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note dying gasp check.
|
||||
|
||||
2004-02-10 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note flow control pipe race fix.
|
||||
|
||||
2004-02-10 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note problems building with MSVC++ under Windows and
|
||||
workaround.
|
||||
* INSTALL: Ditto.
|
||||
|
||||
2004-02-10 Derek Price <[email protected]>
|
||||
|
||||
* cvsnt.mak: Add stack.c and stack.h in order to compile under Windows.
|
||||
* NEWS: Note Windows fixes.
|
||||
* README: Update copyright notice.
|
||||
|
||||
2004-02-09 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note new tests in sanity.sh.
|
||||
|
||||
2004-02-06 Derek Price <[email protected]>
|
||||
|
||||
* README: Undo accidental overwrite.
|
||||
|
||||
2004-02-04 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that alias module recursion is now more comprehensive.
|
||||
|
||||
2004-02-03 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note case insensitive client directory case preservation.
|
||||
|
||||
2004-02-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note new join-rm tests.
|
||||
|
||||
2004-02-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note removal from the server of support for case insensitive
|
||||
clients.
|
||||
|
||||
2004-01-30 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note man page fix.
|
||||
|
||||
2004-01-30 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note contrib/log_accum tidy.
|
||||
|
||||
2004-01-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Kerberos 4 fix.
|
||||
|
||||
2004-01-22 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note recent infinite alias loop fix.
|
||||
|
||||
2004-01-22 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Remove a note about an Automake bug that has been fixed for
|
||||
quite awhile.
|
||||
|
||||
2004-01-22 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: s/Automake 1.7.5/Automake 1.7.9/.
|
||||
|
||||
2004-01-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Larrys recent mktemp.sh inclusion, documentation reorg,
|
||||
and zlib code fix.
|
||||
|
||||
2003-12-23 Larry Jones <[email protected]>
|
||||
|
||||
* Makefile.am: Add mktemp.sh to EXTRA_DIST.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
* configure.in: Get mktemp.sh from $srcdir.
|
||||
* configure: Regenerated.
|
||||
(Reported by Matt Selsky <[email protected]>.)
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Add since 1.11.11 section.
|
||||
* configure.in: Update for dev 1.11.11.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update for release 1.11.11.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note syslog of root attempts.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note that pserver can no longer run as root.
|
||||
|
||||
2003-12-07 Mark D. Baushke <[email protected]>
|
||||
|
||||
* configure.in (AC_SYS_LARGEFILE): Remove. More work is needed
|
||||
before AC_SYS_LARGEFILE will work on all platforms.
|
||||
* configure, config.h.in: Regenerated.
|
||||
* NEWS: Remove last note.
|
||||
|
||||
* configure.in (AC_SYS_LARGEFILE): Add. The history file on
|
||||
Solaris boxes can grow beyond 2GB.
|
||||
* configure, config.h.in: Regenerated.
|
||||
* NEWS: Note addition of --disable-largefiles option.
|
||||
|
||||
2003-12-05 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update to require Automake 1.7.9.
|
||||
|
||||
2003-12-04 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update for dev version 1.11.10.1.
|
||||
* NEWS: Add Changes since 1.11.10 section.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-12-04 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update for release 1.11.10.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-12-03 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Always AC_LIBOBJ(fncase) when filenames are found to be
|
||||
case insensitive.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-11-26 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note recase tests.
|
||||
|
||||
2003-11-26 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note new test suite functionality.
|
||||
|
||||
2003-11-25 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note latest case insensitivity fix.
|
||||
|
||||
2003-11-19 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Rename "OTHER ISSUES" to "GENERAL USER ISSUES" and move the
|
||||
note about the Autoconf upgrade to a new "DEVELOPER ISSUES" section.
|
||||
Add a note about upgrading Automake.
|
||||
* aclocal.m4, configure, **/Makefile.in: Regenerated with Automake
|
||||
1.7.9.
|
||||
|
||||
2003-11-18 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Subdivide Changes section into "SERVER SECURITY ISSUES" and
|
||||
"OTHER ISSUES". Note module abspath issue in security section.
|
||||
|
||||
2003-11-10 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Add some detail to the last two notes Mark added.
|
||||
|
||||
2003-11-10 Mark D. Baushke <[email protected]>
|
||||
|
||||
* BUGS: Note that symlinks to files will not work with or without
|
||||
LockDir. Note that symlinks to directories will not work with
|
||||
LockDir.
|
||||
|
||||
* NEWS (Changes since 1.11.9): Note symlinked CVSROOT now works.
|
||||
|
||||
2003-11-10 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Require Autoconf 2.58.
|
||||
* INSTALL, NEWS: Note new Autoconf requirements.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-11-04 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add some more help text for --enable-case-sensitivity.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-11-03 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Require Automake 1.7.5.
|
||||
|
||||
2003-11-03 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Add some notes on Autoconf requirements.
|
||||
|
||||
2003-10-31 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Note Cygwin as an option for building CVS under Windows.
|
||||
|
||||
2003-10-31 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: s/cvsgui/wincvs/.
|
||||
|
||||
2003-10-27 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Move case sensitivity test to the enable-* section and
|
||||
allow override via command line switch.
|
||||
* NEWS: Update last news item to reflect new command line switch.
|
||||
* configure, config.h.in: Regenerated.
|
||||
|
||||
2003-10-27 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add new test for a case insensitive file system.
|
||||
* configure, config.h.in: Regenerated.
|
||||
* NEWS: Note the above change.
|
||||
|
||||
2003-10-24 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Update recent text about joins to reflect new behavior.
|
||||
|
||||
2003-10-24 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note that release of a project subdir does not remove the entry
|
||||
from `./CVS/Entries'.
|
||||
|
||||
2003-10-24 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove obsolete bug report.
|
||||
(Patch from Paul Edwards <somewhere in Australia>.)
|
||||
|
||||
2003-10-24 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove obsolete bug report.
|
||||
(Patch from Paul Edwards <somewhere in Australia>.)
|
||||
|
||||
2003-10-23 Mark D. Baushke <[email protected]>
|
||||
|
||||
* NEWS: Note behavior change for cvs update -jrev1 -jrev2.
|
||||
|
||||
2003-10-21 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note Mark's recent admin -m fix.
|
||||
|
||||
2003-10-21 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note the @email{} and @url{} fixes as misc documentation fixes.
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note POSIX 1003.1-2001 compatibility of docs and scripts.
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
|
||||
testing with _POSIX2_VERSION=200112 in the environment.
|
||||
|
||||
* BUGS: Suggest 'diff -C2', not 'diff -c2'.
|
||||
* FAQ: Suggest 'sort -k 1.2', not 'sort +0.1'.
|
||||
* depcomp: Sync to the depcomp shipped with Automake 1.7.8, as
|
||||
it has the bug fixed and that's better than maintaining our
|
||||
own depcomp.
|
||||
(Patch from Paul Eggert <[email protected]>.)
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Add HPPA 2.0 running HP-UX 10.20 for CVS 1.11.9.
|
||||
(Report from Tom Kuiper <[email protected]>.)
|
||||
|
||||
2003-10-10 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.9): New section.
|
||||
* configure.in: Update package version to 1.11.9.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-10-10 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update package version to 1.11.9.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-10-08 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note history reporting fix.
|
||||
|
||||
2003-10-08 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Improve syntax and punctuation of my last entry.
|
||||
|
||||
2003-10-08 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note history fix for clients requesting `P' records.
|
||||
|
||||
2003-10-07 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note case insensitive file lookup fix.
|
||||
|
||||
2003-10-03 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note server ignoring `-l' with a warning.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.8): Add empty section.
|
||||
* configure.in: Update package version to 1.11.8.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update package version to 1.11.8.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note getpass fix.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.7): Insert empty entry.
|
||||
* configure.in: Update to 1.11.7.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update package version to 1.11.7.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note recent fix of the potential segfault during a diff.
|
||||
|
||||
2003-09-26 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note bug in options passed to diff via `cvs diff'.
|
||||
|
||||
2003-09-12 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note checkoutlist error message handling fix.
|
||||
|
||||
2003-08-27 Larry Jones <[email protected]>
|
||||
|
||||
* NEWS: Note client/server messages have real command name, client/
|
||||
server updates get logged in history file, history file has "P"
|
||||
record type.
|
||||
|
||||
2003-07-29 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Replace my recent misuse of AH_VERBATIM with a call to
|
||||
AC_DEFINE.
|
||||
* config.h.in, configure: Regenerated.
|
||||
|
||||
2003-07-29 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Do not check for getpassphrase. Define `getpass' to
|
||||
`cvs_getpass' in config.h to avoid conflicts with system decls.
|
||||
* NEWS: Note use of GNULIB getpass.
|
||||
|
||||
* config.h.in, configure: Regenerated.
|
||||
|
||||
2003-07-25 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Note --without-gssapi required to configure on OS X.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove mention of wrappers -t/-f since they are no longer
|
||||
supported.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am (EXTRA_DIST): Add cvs.spec so that RPMs can be built
|
||||
directly from tarballs.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* TODO (72): Remove mention of the -i/-o in the modules file since they
|
||||
have been removed.
|
||||
|
||||
2003-06-27 Larry Jones <[email protected]>
|
||||
|
||||
* NEWS: Note LockDir fix.
|
||||
|
||||
2003-06-23 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Debian Woody has -lkrb4, so check for that.
|
||||
(Patch from Alexey Mahotkin <[email protected]>.)
|
||||
|
||||
* config.h.in: Regenerated.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-06-20 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Add some OS X platforms to the compile list. Correct link to
|
||||
cvsgui.org -> wincvs.org.
|
||||
|
||||
2003-06-09 Derek Price <[email protected]>
|
||||
|
||||
* cvsnt.mak: Rename win32.c to woe32.c in accordance with the GNU
|
||||
convention to avoid implying that we consider the Microsoft Windows
|
||||
Operating Environment any sort of "win".
|
||||
|
||||
2003-06-09 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note short patch fix.
|
||||
|
||||
2003-06-09 Derek Price <[email protected]>
|
||||
|
||||
* TODO (45): Combine this with...
|
||||
(30): ...this item (as #30). Remove reference to diff since the
|
||||
modules file is only consulted for the r* commands.
|
||||
|
||||
2003-06-02 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note empty diff change text fix.
|
||||
|
||||
2003-05-29 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Note removal of global -l option.
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* AUTHORS: Give Mark an email address.
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* cvs.spec.in: Add some files to doc. Remove redundant %defattr.
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.5): Add missing entry.
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* README (Credits): Move...
|
||||
* AUTHORS: ...here and update.
|
||||
|
||||
2003-05-26 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update CVS version to 1.11.6.1.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-05-25 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update CVS version to 1.11.6.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-05-25 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Note current intermittant BSDI failures.
|
||||
|
||||
2003-05-22 Larry Jones <[email protected]>
|
||||
|
||||
* NEWS: Note recent administrative file changes.
|
||||
|
||||
2003-05-21 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Mention new Automake version.
|
||||
* NEWS: Ditto.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* aclocal.m4: Ditto.
|
||||
* config.h.in: Ditto.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-05-20 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Using Autoconf version 2.57.
|
||||
* NEWS: Ditto. Reorder NEWS items to put the stuff which it is likely
|
||||
that only developers care about last.
|
||||
* configure: Regenerated with Autoconf 2.57.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Back out all the S_ISSOCK changes I just made and move
|
||||
the equivalent to lib/system.h.
|
||||
|
||||
* configure.in: Regenerated.
|
||||
* config.h.in: Ditto.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Try again, with AC_TRY_LINK this time.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Correct a typo in my last patch.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add some checks for S_ISSOCK to avoid a problem on
|
||||
SCO OpenServer 5.0.6a.
|
||||
(Reported by Boyd Lynn Gerber <[email protected]>.)
|
||||
|
||||
* config.h.in: Regenerated.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-05-01 Derek Price <[email protected]>
|
||||
|
||||
* TODO (149): Remove reference to defunct RELATIVE_REPOS macro.
|
||||
|
||||
2003-04-30 Derek Price <[email protected]>
|
||||
|
||||
* acinclude.m4 (ACX_WITH_GSSAPI): Fix typo in broken conditional.
|
||||
(Thanks to Alexey Mahotkin <[email protected]>.)
|
||||
|
||||
* configure: Regenerated.
|
||||
* aclocal.m4: Ditto.
|
||||
|
||||
2003-04-28 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.5): Note removal of Checkin.prog and
|
||||
Update.prog functionality.
|
||||
|
||||
2003-04-10 Larry Jones <[email protected]>
|
||||
|
||||
* aclocal.m4 (AM_MAINTAINER_MODE): New macro to support
|
||||
--enable-maintainer-mode.
|
||||
* configure.in: Use it.
|
||||
* configure: Regenerated.
|
||||
* Makefile.in: Regenerated.
|
||||
* noautomake.sh: Removed; no longer needed.
|
||||
* INSTALL: Remove reference to noautomake.sh, add reference to
|
||||
--enable-maintainer-mode.
|
||||
* Makefile.am: Remove noautomake.sh.
|
||||
* NEWS: Add note about --enable-maintainer-mode and noautomake.sh.
|
||||
* README: Remove noautomake.sh.
|
||||
|
||||
2003-04-01 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove a pcl-cvs bug. pcl-cvs is no longer part of the CVS
|
||||
source distribution.
|
||||
|
||||
2003-04-01 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove reference to cvs admin SEGV bug Larry Jones fixed
|
||||
on 2003-02-19.
|
||||
|
||||
2003-04-01 Derek Price <[email protected]>
|
||||
|
||||
* BUGS: Remove obsolete bug.
|
||||
* configure.in: Tail the BUGS file for status.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-03-28 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (--with-editor): Quit with an error message when no
|
||||
editor is found. Allow --with-editor to override $EDITOR from the
|
||||
user's environment. Add vim to the list of defaults.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-03-26 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (--with-editor): Quit with an error message when
|
||||
--without-editor is specified.
|
||||
(Report from Jim Salter <[email protected]>.)
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-03-24 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add copyright notice.
|
||||
* Makefile.am: Update copyright notice.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-03-07 Derek Price <[email protected]>
|
||||
|
||||
* TESTS: Document some more global variables.
|
||||
|
||||
2003-03-05 Mark D Baushke <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.5): Backout CVS_LOCAL_BRANCH_NUM feature.
|
||||
|
||||
* NEWS (Changes since 1.11.5): Mention CVS_LOCAL_BRANCH_NUM
|
||||
environment varaible.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (WITH_KRB4): Import KRB4 patch from Redhat 8.0's CVS
|
||||
1.11.2-5 SRPM. It's not the right fix, but it will work until I get
|
||||
around to merging some of the code with WITH_GSSAPI and seperating the
|
||||
bits into separate M4 files.
|
||||
|
||||
* configure: Regenerated.
|
||||
* config.h.in: Ditto.
|
||||
|
||||
2003-02-28 Derek Price <[email protected]>
|
||||
|
||||
* acinclude.m4 (ACX_WITH_GSSAPI): Move the checkin from 1/23 to
|
||||
aclocal.m4 to the source, here.
|
||||
|
||||
* aclocal.m4: Regenerated.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-02-28 Larry Jones <[email protected]>
|
||||
|
||||
* TODO (206): Done in 1.11.3.
|
||||
(226): Add comment about deadlock.
|
||||
(228, 229): New items.
|
||||
|
||||
2003-02-26 Derek Price <[email protected]>
|
||||
|
||||
* mktemp.sh: Actually add file this time.
|
||||
* mktemp.sh: Add copyright notice, some comments, and attempt to return
|
||||
success and error codes.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Add checks for mktemp and sendmail.
|
||||
* mktemp.sh: New file.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* configure: Ditto.
|
||||
|
||||
2003-02-06 Derek Price <[email protected]>
|
||||
|
||||
* NEWS (Changes since 1.11.5): Note error message corrections.
|
||||
|
||||
2003-01-30 Larry Jones <[email protected]>
|
||||
|
||||
* FAQ: Update URL for tkCVS info.
|
||||
|
||||
* NEWS (Changes from 1.11.2 to 1.11.3): Add note about fixing watch
|
||||
in server mode.
|
||||
|
||||
2003-01-28 Derek Price <[email protected]>
|
||||
|
||||
* INSTALL: Remove a reference to options.h.
|
||||
(Thanks to Jenn Vesperman <[email protected]> for the report.)
|
||||
|
||||
2003-01-28 Larry Jones <[email protected]>
|
||||
|
||||
* NEWS: Update for 1.11.5, add notes about bug fixes in older
|
||||
versions.
|
||||
|
||||
2003-01-23 Derek Price <[email protected]>
|
||||
|
||||
* aclocal.m4 (WITH_GSSAPI): Check for libcrypt before libroken to
|
||||
satisfy a FreeBSD 4.6 dependency.
|
||||
(Thanks to Jan Ruzicka <[email protected]> for the bug
|
||||
report and a partial fix.)
|
||||
|
||||
* configure: regenerated.
|
||||
|
||||
2003-01-20 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Update the news for the last release to mention that client
|
||||
builds are not affected by the security vulnerability.
|
||||
|
||||
2003-01-20 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update to dev version 1.11.5.1.
|
||||
* configure: Regenerated.
|
||||
|
||||
2003-01-16 Derek Price <[email protected]>
|
||||
|
||||
* NEWS: Add 1.11.4 entry in regards to
|
||||
@@ -910,13 +8,6 @@
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2002-01-16 Derek Price <[email protected]>
|
||||
|
||||
* configure.in (--with-editor): Look for nano, the GNU GPL pico clone.
|
||||
(Reported by Robin Cook <[email protected]>.)
|
||||
|
||||
* configure: Regenerated.
|
||||
|
||||
2002-01-16 Derek Price <[email protected]>
|
||||
|
||||
* configure.in: Update to dev version (1.11.4.1).
|
||||
|
||||
+2
-4
@@ -1897,9 +1897,7 @@ You can branch a branch.
|
||||
Note that according to the official GIC page at
|
||||
http://www.cpsc.ucalgary.ca/redirect/grouplab/projects/gic/
|
||||
GIC is no longer being maintained and tkCVS is recommended
|
||||
instead.
|
||||
|
||||
For more on tkCVS, see http://www.cvshome.org/dev/addontkcvs.html.
|
||||
instead. For more on tkCVS, see http://www.cyclic.com/tkcvs/
|
||||
|
||||
[email protected]
|
||||
|
||||
@@ -4332,7 +4330,7 @@ [email protected]
|
||||
|
||||
You should be able to run:
|
||||
|
||||
sort -k 1.2 ${dir1}/history ${dir2}/history > history
|
||||
sort +0.1 ${dir1}/history ${dir2}/history > history
|
||||
|
||||
If you "diff" a standard history file before and after such a sort,
|
||||
you might see other differences caused by garbage (split lines, nulls,
|
||||
|
||||
@@ -7,19 +7,39 @@ not under any circumstances commit new versions onto the mainline, new
|
||||
versions or official-patch versions must be imported.
|
||||
|
||||
To prepare a new cvs dist for import, extract it into a fresh directory;
|
||||
then delete the files and directories listed in FREEBSD-Xlist.
|
||||
|
||||
CVS is imported from its top level directory something like this:
|
||||
The following generated files were deleted:
|
||||
doc/*.ps
|
||||
doc/*.info*
|
||||
doc/texinfo.tex
|
||||
lib/getdate.c
|
||||
cvsnt.*
|
||||
cvs.spec*
|
||||
build.com
|
||||
*/*.com
|
||||
*/*.dsp
|
||||
*/.cvsignore
|
||||
.cvsignore
|
||||
README.VMS
|
||||
|
||||
The following non-freebsd-specific directories were deleted:
|
||||
os2
|
||||
emx
|
||||
windows-NT
|
||||
vms
|
||||
zlib
|
||||
|
||||
It is imported from it's top level directory something like this:
|
||||
cvs -n import src/contrib/cvs CVSHOME v<version>
|
||||
|
||||
The -n option is "don't do anything" so you can see what is about to happen
|
||||
The -n option is "dont do anything" so you can see what is about to happen
|
||||
first. Remove it when it looks ok.
|
||||
|
||||
The initial import was done with:
|
||||
cvs import src/contrib/cvs CVSHOME v1_8_1
|
||||
|
||||
When new versions are imported, cvs will give instructions on how to merge
|
||||
the local and vendor changes when/if conflicts arise.
|
||||
the local and vendor changes when/if conflicts arise..
|
||||
|
||||
The developers can be reached at: <[email protected]>. Local changes
|
||||
that are suitable for public consumption should be submitted for inclusion
|
||||
|
||||
@@ -104,25 +104,6 @@ Filenames for .c and .h files may contain _ but should not contain -
|
||||
(the latter causes Visual C++ 2.1 to create makefiles which Visual C++
|
||||
4.0 cannot use).
|
||||
|
||||
* Regenerating Build Files
|
||||
|
||||
On UNIX, if you wish to change the Build files, you will need Autoconf and
|
||||
Automake.
|
||||
|
||||
Some combinations of Automake and Autoconf versions may break the
|
||||
CVS build if file timestamps aren't set correctly and people don't
|
||||
have the same versions the developers do, so the rules to run them
|
||||
automatically aren't included in the generated Makefiles unless you run
|
||||
configure with the --enable-maintainer-mode option.
|
||||
|
||||
The CVS Makefiles and configure script were built using Automake 1.7.9 and
|
||||
Autoconf 2.58, respectively.
|
||||
|
||||
There is a known bug in Autoconf 2.57 that will prevent the configure
|
||||
scripts it generates from working on some platforms. Other combinations of
|
||||
autotool versions may or may not work. If you get other versions to work,
|
||||
please send a report to <[email protected]>.
|
||||
|
||||
* Writing patches (strategy)
|
||||
|
||||
Only some kinds of changes are suitable for inclusion in the
|
||||
|
||||
+36
-31
@@ -123,8 +123,6 @@ HPPA:
|
||||
HPPA running HP-UX 9.05 (1.9)
|
||||
HPPA running HP-UX 10.01 (1.7)
|
||||
HPPA running HP-UX 10.20 (1.10.7)
|
||||
HPPA running HP-UX 11.11 (1.11.13) (footnote 12)
|
||||
HPPA 2.0 running HP-UX 10.20 (1.10.9) (footnote 13)
|
||||
NextSTEP 3.3 (1.7)
|
||||
i386 family:
|
||||
Solaris 2.4 using gcc (about 1.4A2)
|
||||
@@ -183,9 +181,6 @@ PowerPC or RS/6000:
|
||||
Lynx 2.3.1 120495 (1.6.86) (footnote 9)
|
||||
Lynx 2.5 (1.9) (footnote 10)
|
||||
MkLinux DR3 GENERIC #6 (1.10.5.1) (presumably LinuxPPC too)
|
||||
Mac OS X Darwin 6.6 Darwin Kernel Version 6.6 (1.11.1p1)
|
||||
Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.11.6) (footnote 12)
|
||||
Mac OS X Darwin 5.5 Darwin Kernel Version 5.5 (1.12.1) (footnote 12)
|
||||
SPARC:
|
||||
Sun SPARC running SunOS 4.1.x (1.10)
|
||||
Sun SPARCstation 10 running Solaris 2.3 using gcc and cc (about 1.4A2)
|
||||
@@ -243,21 +238,23 @@ VAX:
|
||||
ci: RCS/loginfo,v: Invalid argument
|
||||
cvs [init aborted]: failed to checkin n:/safe/CVSROOT/loginfo
|
||||
|
||||
(footnote 12)
|
||||
Need to `configure --without-gssapi' unless you have installed Kerberos 5
|
||||
libraries on the system yourself. For some reason Apple ships OS X with
|
||||
the Kerberos 5 headers installed and not the libraries, which confuses the
|
||||
current configure script. Some HP, BSD, & Sun boxes have similar problems.
|
||||
|
||||
(footnote 13)
|
||||
A build under HP PA-RISC 2.0 will probably not run under PA-RISC 1.1
|
||||
unless "+DAportable" is added to the HP ANSI cc compiler flags.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Building from source code under Unix:
|
||||
|
||||
1) Run "configure":
|
||||
1) Some combinations of Automake and Autoconf versions may break the CVS build
|
||||
if file timestamps aren't set correctly, so you may wish to run
|
||||
noautomake.sh to set the timestamps and avoid attempting to run the
|
||||
autotools on your system, especially if you are building from source
|
||||
checked out from CVS:
|
||||
|
||||
$ ./noautomake.sh --noautoconf
|
||||
|
||||
The CVS Makefiles and configure script were built using Automake 1.6.3 and
|
||||
Autoconf 2.53, respectively. Other combinations of autotool versions may
|
||||
or may not work.
|
||||
|
||||
2) Run "configure":
|
||||
|
||||
$ ./configure
|
||||
|
||||
@@ -371,7 +368,10 @@ Building from source code under Unix:
|
||||
|
||||
END OF NOTE FOR NDBM GUNK.
|
||||
|
||||
2) Try to build it:
|
||||
3) Edit src/options.h. The defaults should be reasonable, and in fact
|
||||
if you are lazy you can safely skip this step.
|
||||
|
||||
4) Try to build it:
|
||||
|
||||
$ make
|
||||
|
||||
@@ -382,7 +382,7 @@ Building from source code under Unix:
|
||||
compiler information, make output, and anything else you think
|
||||
will be helpful.
|
||||
|
||||
3) Run the regression tests (optional).
|
||||
4a) Run the regression tests (optional).
|
||||
|
||||
You may also wish to validate the correctness of the new binary by
|
||||
running the regression tests. If they succeed, that is nice to
|
||||
@@ -394,7 +394,7 @@ Building from source code under Unix:
|
||||
|
||||
If you want to run the tests, see the file TESTS for more information.
|
||||
|
||||
4) Install the binaries/documentation:
|
||||
5) Install the binaries/documentation:
|
||||
|
||||
$ make install
|
||||
|
||||
@@ -442,11 +442,7 @@ Building from source code under Windows NT/95/98/2000:
|
||||
|
||||
You may find interesting information in windows-NT/README.
|
||||
|
||||
* Using Microsoft Visual C++ 5.x (this is currently broken - someone with
|
||||
MVC++ 5.x needs to regenerate the project files, but the builds using `nmake'
|
||||
below will work).
|
||||
|
||||
1) Using Microsoft Visual C++ 5.x, open the project `cvsnt.dsw',
|
||||
1) Using Microsoft Visual C++ 5.x, open the project `cvsnt.dsp',
|
||||
in the top directory of the CVS distribution. If you have an older
|
||||
version of Visual C++, take a look at windows-NT/README.
|
||||
2) Choose "Build cvs.exe" from the "Project" menu.
|
||||
@@ -459,12 +455,7 @@ following also works:
|
||||
C:\> vcvars32
|
||||
C:\> nmake /f cvsnt.mak CFG="cvsnt - Win32 Debug"
|
||||
|
||||
* Using the Cygwin development environment <http://cygwin.com>, Windows clients
|
||||
and servers can be built using the instructions for building on UNIX. For
|
||||
deploying the CVS server on Windows NT, see the `cygrunsrv' executable that
|
||||
comes with Cygwin.
|
||||
|
||||
* You might also try <http://wincvs.org> & <http://www.cvsnt.org>.
|
||||
* You might also try http://cvsgui.org & http://www.cvsnt.org
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
@@ -476,10 +467,24 @@ For VMS, see README.VMS
|
||||
|
||||
Mac OS X: Builds fine, just like UNIX.
|
||||
|
||||
For older versions of Mac OS, you might try <http://wincvs.org>.
|
||||
For older versions of Mac OS, you might try http://cvsgui.org .
|
||||
|
||||
For a Java client, see jCVS (which is a separate package from CVS
|
||||
itself, but which might be preferable to the Macintosh port mentioned
|
||||
above, for example).
|
||||
|
||||
**** ****
|
||||
|
||||
Builds are breaking on some systems (notably,
|
||||
BSD/OS thor.sdrc.com 4.0.1 BSDI BSD/OS 4.0.1 Kernel #3: Thu Mar 9 11:29:16 EST 2000
|
||||
) due to Automake's dependency tracking code. The work around for this is to
|
||||
comile without it by passing the '--disable-dependency-tracking' option to
|
||||
configure:
|
||||
|
||||
$ ./configure --disable-dependency-tracking
|
||||
|
||||
This will allow a compile but make will no longer be tracking header
|
||||
dependencies. This means that if you make any changes to header files you may
|
||||
have to run 'make clean' before running a 'make' to get everything to compile.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@@ -1,8 +1,6 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# Master Makefile for the GNU Concurrent Versions System.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1988-1992, 1994, 2000 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -35,12 +33,11 @@ EXTRA_DIST = \
|
||||
TESTS \
|
||||
build.com \
|
||||
cvs-format.el \
|
||||
cvsnt.dep \
|
||||
cvsnt.dsp \
|
||||
cvsnt.dsw \
|
||||
cvsnt.mak \
|
||||
cvs.spec \
|
||||
mktemp.sh
|
||||
noautomake.sh
|
||||
|
||||
|
||||
|
||||
## MAINTAINER Targets
|
||||
|
||||
+72
-179
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.7.9 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -15,9 +15,7 @@
|
||||
@SET_MAKE@
|
||||
|
||||
# Master Makefile for the GNU Concurrent Versions System.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1988-1992, 1994, 2000 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -28,117 +26,79 @@
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
transform = @program_transform_name@
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CSH = @CSH@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EDITOR = @EDITOR@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KRB4 = @KRB4@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
|
||||
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
|
||||
MKTEMP = @MKTEMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_prefix_program = @ac_prefix_program@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
includeopt = @includeopt@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
# Unix source subdirs, where we'll want to run lint and etags:
|
||||
# This is a legacy variable from b4 Automake
|
||||
@@ -161,12 +121,10 @@ EXTRA_DIST = \
|
||||
TESTS \
|
||||
build.com \
|
||||
cvs-format.el \
|
||||
cvsnt.dep \
|
||||
cvsnt.dsp \
|
||||
cvsnt.dsw \
|
||||
cvsnt.mak \
|
||||
cvs.spec \
|
||||
mktemp.sh
|
||||
noautomake.sh
|
||||
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
@@ -175,16 +133,14 @@ CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES = cvs.spec emx/Makefile os2/Makefile zlib/Makefile
|
||||
DIST_SOURCES =
|
||||
|
||||
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
|
||||
ps-recursive install-info-recursive uninstall-info-recursive \
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive \
|
||||
check-recursive installcheck-recursive
|
||||
DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \
|
||||
COPYING COPYING.LIB ChangeLog INSTALL Makefile.am NEWS TODO \
|
||||
acinclude.m4 aclocal.m4 compile config.h.in configure \
|
||||
configure.in cvs.spec.in depcomp install-sh mdate-sh missing \
|
||||
mkinstalldirs
|
||||
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
|
||||
uninstall-info-recursive all-recursive install-data-recursive \
|
||||
install-exec-recursive installdirs-recursive install-recursive \
|
||||
uninstall-recursive check-recursive installcheck-recursive
|
||||
DIST_COMMON = README AUTHORS COPYING COPYING.LIB ChangeLog INSTALL \
|
||||
Makefile.am Makefile.in NEWS TODO acinclude.m4 aclocal.m4 \
|
||||
compile config.h.in configure configure.in cvs.spec.in depcomp \
|
||||
install-sh mdate-sh missing mkinstalldirs
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
@@ -193,18 +149,18 @@ all: config.h
|
||||
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
|
||||
|
||||
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
|
||||
$(ACLOCAL_M4): configure.in acinclude.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@@ -217,7 +173,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
|
||||
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
touch $(srcdir)/config.h.in
|
||||
|
||||
@@ -287,17 +243,10 @@ tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
CTAGS = ctags
|
||||
CTAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
@@ -313,15 +262,9 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
if (etags --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -f $$subdir/TAGS && \
|
||||
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
@@ -334,28 +277,13 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = .
|
||||
@@ -367,20 +295,13 @@ am__remove_distdir = \
|
||||
&& rm -fr $(distdir); }; }
|
||||
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
$(mkinstalldirs) $(distdir)/. $(distdir)/contrib $(distdir)/doc $(distdir)/emx $(distdir)/os2 $(distdir)/src $(distdir)/windows-NT $(distdir)/zlib
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
$(mkinstalldirs) $(distdir)/. $(distdir)/contrib $(distdir)/emx $(distdir)/os2 $(distdir)/src $(distdir)/zlib
|
||||
@list='$(DISTFILES)'; for file in $$list; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
@@ -438,13 +359,12 @@ distcheck: dist
|
||||
$(am__remove_distdir)
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
mkdir $(distdir)/=build
|
||||
mkdir $(distdir)/=inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
|
||||
&& cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
@@ -452,39 +372,23 @@ distcheck: dist
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
find $$dc_install_base -type f -print ; \
|
||||
exit 1; } >&2 ) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
|
||||
&& rm -f $(distdir).tar.gz \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@echo "$(distdir).tar.gz is ready for distribution" | \
|
||||
sed 'h;s/./=/g;p;x;p;x'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
@@ -504,7 +408,7 @@ install-am: all-am
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
@@ -512,7 +416,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -523,7 +427,6 @@ clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
@@ -546,31 +449,21 @@ installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
-rm -rf autom4te.cache
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
uninstall-info: uninstall-info-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
|
||||
clean-generic clean-recursive ctags ctags-recursive dist \
|
||||
dist-all dist-bzip2 dist-gzip distcheck distclean \
|
||||
distclean-generic distclean-hdr distclean-recursive \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
|
||||
clean-generic clean-recursive dist dist-all dist-bzip2 \
|
||||
dist-gzip distcheck distclean distclean-generic distclean-hdr \
|
||||
distclean-recursive distclean-tags distcleancheck distdir dvi \
|
||||
dvi-am dvi-recursive info info-am info-recursive install \
|
||||
install-am install-data install-data-am install-data-recursive \
|
||||
install-exec install-exec-am install-exec-recursive \
|
||||
@@ -579,9 +472,9 @@ uninstall-info: uninstall-info-recursive
|
||||
installdirs installdirs-am installdirs-recursive \
|
||||
maintainer-clean maintainer-clean-generic \
|
||||
maintainer-clean-recursive mostlyclean mostlyclean-generic \
|
||||
mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \
|
||||
ps-recursive tags tags-recursive uninstall uninstall-am \
|
||||
uninstall-info-am uninstall-info-recursive uninstall-recursive
|
||||
mostlyclean-recursive tags tags-recursive uninstall \
|
||||
uninstall-am uninstall-info-am uninstall-info-recursive \
|
||||
uninstall-recursive
|
||||
|
||||
|
||||
.PHONY: localcheck remotecheck
|
||||
|
||||
+4
-402
@@ -1,403 +1,17 @@
|
||||
Changes since 1.11.16:
|
||||
**********************
|
||||
Changes since 1.11.4:
|
||||
|
||||
SERVER SECURITY FIXES
|
||||
|
||||
* Thanks to Stefan Esser & Sebastian Krahmer, several potential security
|
||||
problems have been fixed. The ones which were considered dangerous enough
|
||||
to catalogue were assigned issue numbers CAN-2004-0416, CAN-2004-0417, &
|
||||
CAN-2004-0418 by the Common Vulnerabilities and Exposures Project. Please
|
||||
see <http://www.cve.mitre.org> for more information.
|
||||
|
||||
* A potential buffer overflow vulnerability in the server has been fixed.
|
||||
This addresses the Common Vulnerabilities and Exposures Project's issue
|
||||
#CAN-2004-0414. Please see <http://www.cve.mitre.org> for more information.
|
||||
|
||||
Changes from 1.11.15 to 1.11.16:
|
||||
********************************
|
||||
|
||||
SERVER SECURITY FIXES
|
||||
|
||||
* A potential buffer overflow vulnerability in the server has been fixed.
|
||||
Prior to this patch, a malicious client could potentially use carefully
|
||||
crafted server requests to run arbitrary programs on the CVS server machine.
|
||||
This addresses the Common Vulnerabilities and Exposures Project's issue
|
||||
#CAN-2004-0396. Please see <http://www.cve.mitre.org> for more information.
|
||||
|
||||
BUG FIXES
|
||||
|
||||
* The Microsoft Visual C++ workspace and project files have been repaired and
|
||||
regenerated with MSVC++ 6.0.
|
||||
|
||||
* The cvs.1 man page is now generated automatically from a section of the CVS
|
||||
Manual.
|
||||
|
||||
* Thanks to a report from Mark Andrews at the Internet Systems Consortium, the
|
||||
:ext: connection method no longer relies on a transparent transport that uses
|
||||
an argument processor that can handle arbitrary ordering of options and other
|
||||
arguments when using a username other than the caller's.
|
||||
|
||||
* Thanks to Ken Raeburn at MIT, directory deletion, whether via `cvs release'
|
||||
or empty directory pruning, now works on network shares under Windows XP.
|
||||
|
||||
Changes from 1.11.14 to 1.11.15:
|
||||
********************************
|
||||
|
||||
SERVER SECURITY ISSUES
|
||||
|
||||
* Piped checkouts of paths above $CVSROOT no longer work. Previously, clients
|
||||
could have requested the contents of RCS archive files anywhere on a CVS
|
||||
server. This addresses CVE issue CAN-2004-0405. Please see
|
||||
<http://www.cve.mitre.org> for more information.
|
||||
|
||||
CLIENT SECURITY ISSUES
|
||||
|
||||
* Clients now check paths from the server to verify that they are within one of
|
||||
the sandboxes the user requested be updated. Previously, a trojan server
|
||||
could have written or overwritten files anywhere the user had access,
|
||||
presenting a serious security risk. This addresses CVE issue CAN-2004-1080.
|
||||
Please see <http://www.cve.mitre.org> for more information.
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Method options (used by WinCVS & CVS 1.12.7+) in CVSROOTs are ignored.
|
||||
|
||||
* Configure no longer checks the $TMPDIR, $TMP, & $TEMP variables to set the
|
||||
default temporary directory.
|
||||
|
||||
* CVS on Cygwin correctly handles X:\ style paths.
|
||||
|
||||
* Import now uses backslash rather than slash on Windows when checking for
|
||||
"CVS" directories to ignore in import commands.
|
||||
|
||||
* Relative paths containing up-references (`..') should now work in
|
||||
client/server mode (client fix).
|
||||
|
||||
* A race condition between the ordering of messages from CVS and messages from
|
||||
called scripts in client/server mode has been removed (server fix).
|
||||
|
||||
* Resurrected files now get their modes and timestamps set correctly and a
|
||||
longstanding bug involving resurrection of an uncommitted removal has been
|
||||
fixed (server fix).
|
||||
|
||||
* Some resurrection (cvs add) status messages have changed slightly.
|
||||
|
||||
* `cvs release' now works with Kerberos or GSSAPI encryption enabled (server
|
||||
fix).
|
||||
|
||||
* File resurrection from a previously existing revision no longer just reports
|
||||
that it works (server fix).
|
||||
|
||||
* Misc error & status message corrections.
|
||||
|
||||
* Diffing of locally added files against arbitrary revisions in an RCS archive
|
||||
is now allowed when a file of the same name exists or used to exist on some
|
||||
branch (server fix).
|
||||
|
||||
* Misc documentation fixes.
|
||||
|
||||
Changes from 1.11.13 to 1.11.14:
|
||||
********************************
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Imports will now always ignore directories and files named `CVS' to avoid
|
||||
violating assumptions made by other parts of CVS.
|
||||
|
||||
* A problem with `cvs release' of subdirs that could corrupt CVS/Entries files
|
||||
has been fixed (client/server).
|
||||
|
||||
* The CVS server's protocol check for unused data from the client is no longer
|
||||
called automatically at program exit in order to avoid potential recursive
|
||||
calls to error when the first close is due to memory allocation or similar
|
||||
problems that cause calls to error() to fail. The check is still made when
|
||||
the server program exits normally.
|
||||
|
||||
* The spec file has been updated to work with more recent versions of RPM.
|
||||
|
||||
* Several memory leaks have been plugged (client/server).
|
||||
|
||||
DEVELOPER ISSUES
|
||||
|
||||
* Misc cosmetic, readability, and commenting fixes.
|
||||
|
||||
Changes from 1.11.12 to 1.11.13:
|
||||
********************************
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Several memory leaks have been plugged.
|
||||
|
||||
* Thanks to Ville Skyttä the man page has a few less spelling errors and is
|
||||
slightly more accurate.
|
||||
|
||||
* An unlikely potential segfault when using the :fork: connection method has
|
||||
been fixed.
|
||||
|
||||
* The CVS server has had the protocol check for unused data from the client
|
||||
partially restored.
|
||||
|
||||
* A fix has been included that should avoid a very rare race condition that
|
||||
could cause a CVS server to exit with a "broken pipe" message.
|
||||
|
||||
* A minor problem with the nmake build file that was preventing the source from
|
||||
compiling under Windows has been fixed.
|
||||
|
||||
* Tests have been added to the test suite.
|
||||
|
||||
DEVELOPER ISSUES
|
||||
|
||||
* Misc cosmetic, readability, and commenting fixes.
|
||||
|
||||
Changes from 1.11.11 to 1.11.12:
|
||||
********************************
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Infinite alias loops in the modules file are now checked for and avoided.
|
||||
|
||||
* Clients on case insensitive systems now preserve the case of directories in
|
||||
CVS/Entries, in addition to files, for use in communications with the CVS
|
||||
server.
|
||||
|
||||
* Some previously untested behavior is now being tested.
|
||||
|
||||
* Server support for case insensitive clients has been removed in favor of the
|
||||
server relying on the client to preserve the case of checked out files, as
|
||||
per the CVS client/server protocol spec. This is not as drastic as it may
|
||||
sound, as all of the current tests still pass without modification when run
|
||||
from a case insensitive client to a case sensitive server. This change
|
||||
disables little previous functionality, enables access to more of the
|
||||
possible namespace to users on systems with case insensitive file systems,
|
||||
fixes a few bugs, and in the end this should provide a major stability
|
||||
improvement.
|
||||
|
||||
* Thanks to Ville Skyttä the man page is a bit more accurate.
|
||||
|
||||
* Thanks to Ville Skyttä some unused variables were removed from the log_accum
|
||||
Perl script in contrib.
|
||||
|
||||
* Thanks to Alexey Mahotkin, a bug that prevented CVS from being compiled with
|
||||
Kerberos 4 authentication enabled has been fixed.
|
||||
|
||||
* A minor bug that caused CVS to fail to report an inifinte alias loop in the
|
||||
modules file when portions of the alias definition contained trailing slashes
|
||||
has been fixed.
|
||||
|
||||
* A bug in the gzip code that could cause heap corruption and segfaults in CVS
|
||||
servers talking to clients less than 1.8 and some modern third-party CVS
|
||||
clients has been fixed.
|
||||
|
||||
* mktemp.sh is now included with the source distribution so that the rcs2log
|
||||
and cvsbug executables may be run on systems which do not contain an
|
||||
implementation of mktemp.
|
||||
|
||||
* Misc documentation fixes.
|
||||
|
||||
Changes from 1.11.10 to 1.11.11:
|
||||
********************************
|
||||
|
||||
SERVER SECURITY ISSUES
|
||||
|
||||
* pserver can no longer be configured to run as root via the
|
||||
$CVSROOT/CVSROOT/passwd file, so if your passwd file is compromised, it no
|
||||
longer leads directly to a root hack. Attempts to root will also be logged
|
||||
via the syslog.
|
||||
|
||||
Changes from 1.11.9 to 1.11.10:
|
||||
*******************************
|
||||
|
||||
SERVER SECURITY ISSUES
|
||||
|
||||
* Malformed module requests could cause the CVS server to attempt to create
|
||||
directories and possibly files at the root of the filesystem holding the CVS
|
||||
repository. Filesystem permissions usually prevent the creation of these
|
||||
misplaced directories, but nevertheless, the CVS server now rejects the
|
||||
malformed requests.
|
||||
|
||||
GENERAL USER ISSUES
|
||||
|
||||
* Case insensitive clients using a case sensitive server can now use a
|
||||
`cvs rm -f file; cvs add FILE' command sequence to add a file with the same
|
||||
name in a new case.
|
||||
|
||||
* CVSROOTs which contain a symlink to a real repository should work.
|
||||
|
||||
* The configure script now tests whether it is building CVS on a case
|
||||
insensitive file system. If it is, CVS assumes that all file systems on this
|
||||
platform will be case insensitive. This is useful for getting the case
|
||||
insensitivity flag set correctly when compiling on Mac OS X and under Cygwin
|
||||
on Windows. Autodetection can be overridden using the
|
||||
--disable-case-sensitivity and --enable-case-sensitivity arguments to
|
||||
configure.
|
||||
|
||||
* A behavior change in `cvs up -jrev1 -jrev2' for modified files with a base
|
||||
revision of rev2 (ie, checked-out version matches rev2 and file has been
|
||||
modified). The operation is no longer ignored and instead is passed to
|
||||
diff3. This will potentially re-apply the diffs between the two revisions to
|
||||
a modified local file. Status messages like from a standard merge have also
|
||||
been added when the file would not or does not change due to this merge
|
||||
request ("[file] already contains the changes between [revisions]...").
|
||||
|
||||
* A bug which could stop `cvs admin -mTAG:message' from recursing has been
|
||||
fixed.
|
||||
|
||||
* Misc documentation cleanup and fixes.
|
||||
|
||||
* Some of the contrib scripts, some of the documentation, and sanity.sh were
|
||||
modified to use and recommend more portable commands rather than using and
|
||||
recommending commands which were not compatible with the POSIX 1003.1-2001
|
||||
specification.
|
||||
|
||||
DEVELOPER ISSUES
|
||||
|
||||
* A new set of tests to test issues specific to case insensitive clients and
|
||||
servers has also been added.
|
||||
|
||||
* Support has been added to the test suite to support testing over a :ext: link
|
||||
to another machine, subject to some stringent requirements. This support can
|
||||
be used, for instance, to test the operation of a case insensitive client
|
||||
against a case sensitive server. Please see the comments in TEST and the
|
||||
src/sanity.sh test script itself for more.
|
||||
|
||||
* We've standardized on Automake 1.7.9 to get a bug fix. See the note below
|
||||
on the Autoconf upgrade for more details.
|
||||
|
||||
* We've standardized on Autoconf version 2.58 to avoid a bug and get at a few
|
||||
new macros. Again, this should only really affect developers, though it is
|
||||
possible that CVS will now compile on a few new platforms. Please see the
|
||||
section of the INSTALL file about using the autotools if you are compiling
|
||||
CVS yourself.
|
||||
|
||||
Changes from 1.11.8 to 1.11.9:
|
||||
|
||||
* CVS now knows how to report, as well as record, `P' record types.
|
||||
|
||||
* When running the `cvs history' command, clients will now send the
|
||||
long-accepted `-e' option, for all records, rather than explicitly requesting
|
||||
`P' record types, a request which servers prior to 1.11.7 will reject with a
|
||||
fatal error message.
|
||||
|
||||
* A problem with locating files requested by case insensitive clients which was
|
||||
accidentally introduced in 1.11.6 as part of a fix for a data loss problem
|
||||
involving `cvs add's from case insensitive clients has been fixed. The
|
||||
relevant error message was `cvs [<command> aborted]: filE,v is ambiguous;
|
||||
could mean FILE,v or file,v'.
|
||||
|
||||
* Attempts to use the global `-l' option, removed from both client and server
|
||||
as of version 1.11.6, will now elicit a warning rather than a fatal error
|
||||
from the server.
|
||||
|
||||
Changes from 1.11.7 to 1.11.8:
|
||||
|
||||
* A problem in the CVS getpass library that could cause passwords to echo on
|
||||
some systems has been fixed.
|
||||
|
||||
Changes from 1.11.6 to 1.11.7:
|
||||
|
||||
* A segfault that could occur in very rare cases where the stat of a file
|
||||
failed during a diff has been fixed.
|
||||
|
||||
* Any user with write privleges to the CVSROOT/checkoutlist file could pass
|
||||
arbitrary format strings directly through to a printf function. This was
|
||||
probably bad and has been fixed. White space at the beginning of error strings
|
||||
in checkoutlist is now ignored properly.
|
||||
|
||||
* In client/server mode, most messages from CVS now contain the actual
|
||||
command name rather than the generic "server".
|
||||
|
||||
* A long-standing bug that prevented most client/server updates from being
|
||||
logged in the history file has been fixed.
|
||||
|
||||
* Updates done via a patch ("P" status) are now logged in the history file
|
||||
by default and the corresponding "P" history record type is now documented.
|
||||
If you're setting the LogHistory option in your CVSROOT/config file, you may
|
||||
want to add "P" to the list of record types.
|
||||
|
||||
* CVS now will always compile and its own getpass() function (originally from
|
||||
GNULIB) in favor of any system one that may exist. This avoids some problems
|
||||
with long passwords on some systems and updates us to POSIX.2 compliance, since
|
||||
getpass() was removed from the POSIX.2 specification.
|
||||
|
||||
* A bug that allowed a write lock to be created in a directory despite
|
||||
there being existing read locks when using LockDir in CVSROOT/config has
|
||||
been fixed.
|
||||
|
||||
* A bug with short patches (`rdiff -s') which caused rdiff to sometimes report
|
||||
differences that did not exist has been fixed.
|
||||
|
||||
* Some minor corrections were made to the diff code to keep diff & rdiff from
|
||||
printing diff headers with empty change texts when two files have different
|
||||
revision numbers but the same content.
|
||||
|
||||
* The global '-l' option, which suppressed history logging, has been removed
|
||||
from both client and server.
|
||||
|
||||
Changes from 1.11.5 to 1.11.6:
|
||||
|
||||
* A warning message is now issued if an administrative file contains
|
||||
more than one DEFAULT entry.
|
||||
|
||||
* An error running a verifymsg script (such as referencing an unset user
|
||||
variable or the script not existing) now causes the verification to
|
||||
fail.
|
||||
|
||||
* Errors in administrative files commands (like unset user variables)
|
||||
are no longer reported unless the command is actually executed.
|
||||
|
||||
* When a file is initially checked out, its last access time is now set
|
||||
to the current time rather than being set to the time the file was last
|
||||
checked in like the modification time is.
|
||||
|
||||
* The Checkin.prog and Update.prog functionality has been removed. This
|
||||
fuctionality previously allowed executables to be specified in the modules file
|
||||
to be run at update and checkin time, but users could edit these files on a per
|
||||
workspace basis, creating a security hole.
|
||||
|
||||
* contrib/rcs2log and src/cvsbug now use the BSD mktemp program to create
|
||||
their temp files and directories on systems which provide it.
|
||||
|
||||
* Corrected the path in a failed write error message.
|
||||
|
||||
* Autoconf and Automake are no longer run automatically unless you run
|
||||
configure with --enable-maintainer-mode. Accordingly, noautomake.sh is
|
||||
no longer needed and has been removed.
|
||||
|
||||
* We've standardized on Automake version 1.7.5 and Autoconf version 2.57 to get
|
||||
at a few new macros. Again, this should only really affect developers. See
|
||||
the section of the INSTALL file about using the autotools if you are compiling
|
||||
CVS yourself.
|
||||
|
||||
Changes from 1.11.4 to 1.11.5:
|
||||
|
||||
* Fixed a security hole in the CVS server by which users with read only access
|
||||
could gain write access. This issue does not affect client builds. The
|
||||
Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the
|
||||
name CAN-2003-0015 to this issue. See
|
||||
* Fixed a security hole by which users with read only access could gain
|
||||
write access. The Common Vulnerabilities and Exposures project (cve.mitre.org)
|
||||
has assigned the name CAN-2003-0015 to this issue. See
|
||||
<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0015> for more
|
||||
information.
|
||||
|
||||
* Fixed some bugs where revision numbers starting with 0 (like 0.3)
|
||||
weren't correctly handled. (CVS doesn't normally use such revision
|
||||
numbers, but users may be able to force it to do so and old RCS files
|
||||
might.)
|
||||
|
||||
Changes from 1.11.3 to 1.11.4:
|
||||
|
||||
* Some minor changes to allow the code to compile on Windows platforms.
|
||||
|
||||
Changes from 1.11.2 to 1.11.3:
|
||||
|
||||
* The tag/rtag code has been fixed to once again lock just a single
|
||||
directory at a time.
|
||||
|
||||
* There was a bug where certain error conditions could cause the server
|
||||
to go into an infinite loop. There was also a bug that caused a
|
||||
compressed connection from an older client to hang on shutdown. These
|
||||
bugs have been fixed.
|
||||
|
||||
* Fixed a bug that caused the server to reject most watch commands.
|
||||
|
||||
* When waiting for another user's lock, the message timestamps are now
|
||||
in UTC rather than the server's local time.
|
||||
|
||||
@@ -410,12 +24,6 @@ sanity.sh to use Autotest and Autoshell. Again, this should only really affect
|
||||
developers. See the section of the INSTALL file about using the autotools if
|
||||
you are compiling CVS yourself.
|
||||
|
||||
* Fixed a bug in the log/rlog code when a revision range crosses a
|
||||
branch point.
|
||||
|
||||
* Fixed a bug where filenames starting with - would be misinterpreted as
|
||||
options when using client/server mode.
|
||||
|
||||
Changes from 1.11.1p1 to 1.11.2:
|
||||
|
||||
* There is a new feature, enabled by RereadLogAfterVerify in CVSROOT/config,
|
||||
@@ -454,12 +62,6 @@ Changes from 1.11.1 to 1.11.1p1:
|
||||
|
||||
Changes from 1.11 to 1.11.1:
|
||||
|
||||
* There was a locking bug in the tag/rtag code that could lose changes
|
||||
made to a file while the tag operation was in progress. This has been
|
||||
fixed, but all of the directories being tagged are now locked for the
|
||||
entire duration of the tag operation rather than only one directory at a
|
||||
time.
|
||||
|
||||
* The "cvs diff" command now accepts the -y/--side=by-side and -T/
|
||||
--initial-tab options. (To use these options with a remote repository,
|
||||
both the client and the server must support them.)
|
||||
|
||||
+85
-4
@@ -3,9 +3,6 @@
|
||||
Copyright (c) 1993-1994 Brian Berliner
|
||||
Copyright (c) 1992 Brian Berliner and Jeff Polk
|
||||
Copyright (c) 1989-1992, Brian Berliner
|
||||
Copyright (c) 1998-2004 Free Software Foundation,
|
||||
Derek Price,
|
||||
& Ximbiot <http://ximbiot.com>
|
||||
All Rights Reserved
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@@ -78,6 +75,7 @@ Installation:
|
||||
|
||||
Please read the INSTALL file for installation instructions. Brief summary:
|
||||
|
||||
$ ./noautomake.sh --noautoconf
|
||||
$ ./configure
|
||||
$ make
|
||||
(run the regression tests if desired)
|
||||
@@ -114,4 +112,87 @@ then it will be possible to create one.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Credits: See the AUTHORS file.
|
||||
Credits:
|
||||
|
||||
The conflict-resolution algorithms and much of the administrative file
|
||||
definitions of CVS were based on the original package written by Dick Grune
|
||||
at Vrije Universiteit in Amsterdam <[email protected]>, and posted to
|
||||
comp.sources.unix in the volume 6 release sometime in 1986. This original
|
||||
version was a collection of shell scripts. I am thankful that Dick made
|
||||
his work available.
|
||||
|
||||
Brian Berliner from Prisma, Inc. (now at Sun Microsystems, Inc.)
|
||||
<[email protected]> converted the original CVS shell scripts into reasonably
|
||||
fast C and added many, many features to support software release control
|
||||
functions. See the manual page in the "man" directory. A copy of the
|
||||
USENIX article presented at the Winter 1990 USENIX Conference, Washington
|
||||
D.C., is included in the "doc" directory.
|
||||
|
||||
Jeff Polk from BSDI <[email protected]> converted the CVS 1.2
|
||||
sources into much more readable and maintainable C code. He also added a
|
||||
whole lot of functionality and modularity to the code in the process.
|
||||
See the bottom of the NEWS file (from about 1992).
|
||||
|
||||
david d `zoo' zuhn <[email protected]> contributed the working base code
|
||||
for CVS 1.4 Alpha. His work carries on from work done by K. Richard Pixley
|
||||
and others at Cygnus Support. The CVS 1.4 upgrade is due in large part to
|
||||
Zoo's efforts.
|
||||
|
||||
David G. Grubbs <[email protected]> contributed the CVS "history" and "release"
|
||||
commands. As well as the ever-so-useful "-n" option of CVS which tells CVS
|
||||
to show what it would do, without actually doing it. He also contributed
|
||||
support for the .cvsignore file.
|
||||
|
||||
The Free Software Foundation (GNU) contributed most of the portability
|
||||
framework that CVS now uses. This can be found in the "configure" script,
|
||||
the Makefile's, and basically most of the "lib" directory.
|
||||
|
||||
K. Richard Pixley, Cygnus Support <[email protected]> contributed many bug
|
||||
fixes/enhancement as well as completing early reviews of the CVS 1.3 manual
|
||||
pages.
|
||||
|
||||
Roland Pesch, then of Cygnus Support <[email protected]> contributed
|
||||
brand new cvs(1) and cvs(5) manual pages. Thanks to him for saving us
|
||||
from poor use of our language!
|
||||
|
||||
Paul Sander, HaL Computer Systems, Inc. <[email protected]> wrote and
|
||||
contributed the code in lib/sighandle.c. I added support for POSIX, BSD,
|
||||
and non-POSIX/non-BSD systems.
|
||||
|
||||
Jim Kingdon and others at Cygnus Support <[email protected]> wrote the
|
||||
remote repository access code.
|
||||
|
||||
There have been many, many contributions not listed here. Consult the
|
||||
ChangeLog files in each directory for a more complete idea.
|
||||
|
||||
In addition to the above contributors, the following Beta testers
|
||||
deserve special mention for their support. This is only a partial
|
||||
list; if you have helped in this way and would like to be listed, let
|
||||
bug-cvs know (as described in the Cederqvist manual).
|
||||
|
||||
Mark D. Baushke <[email protected]>
|
||||
Per Cederqvist <[email protected]>
|
||||
J.T. Conklin <[email protected]>
|
||||
Vince DeMarco <[email protected]>
|
||||
Paul Eggert <[email protected]>
|
||||
Lal George <[email protected]>
|
||||
Dean E. Hardi <[email protected]>
|
||||
Mike Heath <[email protected]>
|
||||
Jim Kingdon <[email protected]>
|
||||
Bernd Leibing <[email protected]>
|
||||
Benedict Lofstedt <[email protected]>
|
||||
Dave Love <[email protected]>
|
||||
Robert Lupton the Good <[email protected]>
|
||||
Tom McAliney <[email protected]>
|
||||
Eberhard Mattes <[email protected]>
|
||||
Jim Meyering <[email protected]>
|
||||
Thomas Mohr <[email protected]>
|
||||
Thomas Nilsson <[email protected]>
|
||||
Raye Raskin <[email protected]>
|
||||
Harlan Stenn <[email protected]>
|
||||
Gunnar Tornblom <[email protected]>
|
||||
Greg A. Woods <[email protected]>
|
||||
|
||||
Many contributors have added code to the "contrib" directory. See the
|
||||
README file there for a list of what is available. There is also a
|
||||
contributed GNU Emacs CVS-mode in tools/pcl-cvs.
|
||||
+2
-9
@@ -206,10 +206,6 @@ miss, but here are a few important ones. I'm leaving off long explanations
|
||||
after the first few since it probably gives you the idea and the data is in
|
||||
sanity.sh.
|
||||
|
||||
Note that the boolean variables contain shell commands which return true or
|
||||
false when executed and are intended to be used like,
|
||||
"if $remote; then ... ; else ... ; fi"
|
||||
|
||||
|
||||
* $testdir = the directory this test is taking place in
|
||||
(CVSROOT=$testdir/cvsroot or CVSROOT=:fork:$testdir/cvsroot)
|
||||
@@ -220,11 +216,8 @@ false when executed and are intended to be used like,
|
||||
* $username = regexp to match a username
|
||||
* $hostname = regexp to match a hostname
|
||||
* $PROG = regexp to match progname in CVS error messages
|
||||
* $remote = ':' (true) or 'false', depending on whether the script is
|
||||
running with a remote CVSROOT
|
||||
* $keep = ':' (true) or 'false'. When set, the first test run will
|
||||
leave any files and directories it created in $testdir and
|
||||
exit when complete.
|
||||
* $remote = 'yes' or 'no', depending on whether the script is running with
|
||||
a remote CVSROOT
|
||||
|
||||
And, of course, some characters like '.' in regexps need to be '\' escaped when
|
||||
you mean them literally. Some characters may be interpreted by the shell,
|
||||
|
||||
+36
-15
@@ -6,10 +6,9 @@ The "TODO" file! -*-Indented-Text-*-
|
||||
(If done, this should be configurable via commitinfo or some new
|
||||
config file -kingdon, Jun 1995).
|
||||
|
||||
30. Add "rdiff" & "rtag" program options to the modules database. These
|
||||
commands seem hard to use since these commands deal directly with the
|
||||
RCS ,v files. (perhaps should think a little harder about what this is
|
||||
trying to accomplish and what the best way is -kingdon, Jul 1997).
|
||||
30. Add "rdiff" program option to the modules database (and "diff"
|
||||
too?). (perhaps should think a little harder about what this is
|
||||
trying to accomplish and what the best way is -kingdon, Jul 1997).
|
||||
|
||||
31. Think hard about ^C recovery.
|
||||
One particular issue: RCS removes the ,foo.c, file on ^C and CVS
|
||||
@@ -27,6 +26,10 @@ The "TODO" file! -*-Indented-Text-*-
|
||||
PRCS 1.0 was particularly bad the way it handled the "invisible
|
||||
state", but 1.2 is significantly better.
|
||||
|
||||
45. Consider enhancing the "rdiff" and "tag" (rtag??) command support in
|
||||
the module database -- they seem hard to use since these commands
|
||||
deal directly with the RCS ,v files.
|
||||
|
||||
49. cvs xxx commands should be able to deal with files in other
|
||||
directories. I want to do a cvs add foo/bar.c.
|
||||
[[ most commands now use the generic recursion processor, but not all;
|
||||
@@ -53,8 +56,8 @@ The "TODO" file! -*-Indented-Text-*-
|
||||
66. Length of the CVS temporary files must be limited to 14 characters for
|
||||
System-V stupid support. As well as the length on the CVS.adm files.
|
||||
|
||||
72. Consider re-design of the module -t options to use the file system more
|
||||
intuitively.
|
||||
72. Consider re-design of the module -o, -i, -t options to use the file
|
||||
system more intuitively.
|
||||
|
||||
73. Consider an option (in .cvsrc?) to automatically add files that are new
|
||||
and specified to commit.
|
||||
@@ -258,6 +261,10 @@ The "TODO" file! -*-Indented-Text-*-
|
||||
This behavior was not particularly popular and has been since
|
||||
reverted.
|
||||
|
||||
Note also RELATIVE_REPOS in options.h; it needs to be set for
|
||||
changing CVS/Root (not CVS/Repository) to be sufficient in the
|
||||
case where the directory has changed.
|
||||
|
||||
This whole area is a rather bad pile of individual decisions which
|
||||
accumulated over time, some of them probably bad decisions with
|
||||
hindsight. But we didn't get into this mess overnight, and we're
|
||||
@@ -780,6 +787,10 @@ send differences instead of entire files. In the degenerate case
|
||||
(e.g. "cvs diff" without arguments) the required network traffic is
|
||||
reduced to zero, and the client need not even contact the server.
|
||||
|
||||
196. Using a CVSROOT with a trailing slash will confuse CVS. I think
|
||||
we need to add a call to strip_trailing_slashes in root.c
|
||||
(parse_cvsroot), but I haven't considered all of the ramifications.
|
||||
|
||||
197. Analyze the difference between CVS_UNLINK & unlink_file. As far as I
|
||||
can tell, unlink_file aborts in noexec mode and CVS_UNLINK does not. I'm not
|
||||
sure it would be possible to remove even the use of temp files in noexec mode,
|
||||
@@ -814,6 +825,9 @@ and other non-canonical paths confuse CVS. Most of the cases that do
|
||||
work are handled on an ad-hoc basis. We need to come up with a coherent
|
||||
strategy to address path canonicalization and apply it consistently.
|
||||
|
||||
206. Restore directory-at-a-time locking for tag operations instead of
|
||||
locking the entire tree.
|
||||
|
||||
208. Merge enhancements to the diff package back into the original GNU source.
|
||||
|
||||
209. Go through this file and try to:
|
||||
@@ -848,12 +862,24 @@ glibc version.
|
||||
216. Avoid command-line keyword expansion modes overriding binary mode
|
||||
(or make binary mode completely separate from keyword expansion mode).
|
||||
|
||||
217. Fix assertion failures that occur when CVSROOT is a symlink to the
|
||||
actual repository location.
|
||||
|
||||
218. Fix "checkout -d ." in client/server mode.
|
||||
|
||||
219. Fix "checkout -d multi/level/dir" in client/server mode.
|
||||
|
||||
220. Send correct Max-dotdot in client/server mode (broken by change to
|
||||
support multiple repositories).
|
||||
|
||||
221. Handle spaces in file/directory names. (Most, if not all, of the
|
||||
internal infrastructure already handles them correctly, but most of the
|
||||
administrative file interfaces do not.)
|
||||
|
||||
222. Fix assertion failure (*rcsnode == NULL in commit.c, line 2056)
|
||||
when adding a file from a case-insensitive client that matches an Attic
|
||||
file with case differences.
|
||||
|
||||
223. Internationalization support. This probably means using some kind
|
||||
of universal character set (ISO 10646?) internally and converting on
|
||||
input and output, which opens the locale can of worms.
|
||||
@@ -873,18 +899,13 @@ local time string according to the localization settings before printing it.
|
||||
|
||||
225. Add support for --allow-root to server command.
|
||||
|
||||
226. Add support for upgrading read locks to write locks and use it to
|
||||
avoid holding potentially long-term write locks (for example, in tag and
|
||||
commit).
|
||||
|
||||
227. 'cvs release' should use the CVS/Root in the directory being released
|
||||
when such is specified rather than $CVSROOT. In my work directory with no CVS
|
||||
dir, a release of subdirectories causes the released projects to be tested
|
||||
against my $CVSROOT environment variable, which often isn't correct but which
|
||||
can complete without generating error messages if the project also exists in
|
||||
the other CVSROOT. This happens a lot with my copies of the ccvs project.
|
||||
|
||||
228. Consider adding -d to commit ala ci.
|
||||
|
||||
229. Improve the locking code to use a random delay with exponential
|
||||
backoff ala Ethernet and separate the notification interval from the
|
||||
wait interval.
|
||||
|
||||
230. Support for options like compression as part of the CVSROOT might be
|
||||
nice. This should be fairly easy to implement now using the method options.
|
||||
@@ -85,7 +85,7 @@ AC_MSG_RESULT([$acx_gssapi_cv_gssapi])
|
||||
# Set up GSSAPI includes for later use. We don't bother to check for
|
||||
# $acx_gssapi_cv_gssapi=no here since that will be caught later.
|
||||
#
|
||||
if test x$acx_gssapi_cv_gssapi = xyes; then
|
||||
if test x$acx_gssapi_cv_gssapi = yes; then
|
||||
# no special includes necessary
|
||||
GSSAPI_INCLUDES=""
|
||||
else
|
||||
@@ -210,14 +210,8 @@ when using GSSAPI.])
|
||||
#
|
||||
AC_SEARCH_LIBS([__dn_expand], [resolv])
|
||||
|
||||
#
|
||||
# crypt Needed by roken under FreeBSD 4.6.
|
||||
#
|
||||
AC_SEARCH_LIBS([crypt], [crypt])
|
||||
|
||||
#
|
||||
# roken Heimdal K 0.3d -lresolv
|
||||
# roken FreeBSD 4.6 -lcrypt
|
||||
#
|
||||
AC_SEARCH_LIBS([roken_gethostbyaddr], [roken])
|
||||
|
||||
@@ -267,85 +261,3 @@ when using GSSAPI.])
|
||||
AC_SEARCH_LIBS([gss_import_name], [gssapi_krb5 gssapi])
|
||||
fi
|
||||
])dnl
|
||||
|
||||
|
||||
|
||||
# size_max.m4 serial 2
|
||||
dnl Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_DEFUN([gl_SIZE_MAX],
|
||||
[
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
dnl First test whether the system already has SIZE_MAX.
|
||||
AC_MSG_CHECKING([for SIZE_MAX])
|
||||
result=
|
||||
AC_EGREP_CPP([Found it], [
|
||||
#include <limits.h>
|
||||
#if HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#ifdef SIZE_MAX
|
||||
Found it
|
||||
#endif
|
||||
], result=yes)
|
||||
if test -z "$result"; then
|
||||
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
|
||||
dnl than the type 'unsigned long'.
|
||||
dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
|
||||
dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
|
||||
_AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
|
||||
[#include <stddef.h>], result=?)
|
||||
_AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
|
||||
[#include <stddef.h>], result=?)
|
||||
_AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
|
||||
[#include <stddef.h>], result=?)
|
||||
if test "$fits_in_uint" = 1; then
|
||||
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
|
||||
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
|
||||
AC_TRY_COMPILE([#include <stddef.h>
|
||||
extern size_t foo;
|
||||
extern unsigned long foo;
|
||||
], [], fits_in_uint=0)
|
||||
fi
|
||||
if test -z "$result"; then
|
||||
if test "$fits_in_uint" = 1; then
|
||||
result="$res_hi$res_lo"U
|
||||
else
|
||||
result="$res_hi$res_lo"UL
|
||||
fi
|
||||
else
|
||||
dnl Shouldn't happen, but who knows...
|
||||
result='~(size_t)0'
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$result])
|
||||
if test "$result" != yes; then
|
||||
AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
|
||||
[Define as the maximum value of type 'size_t', if the system doesn't define it.])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
|
||||
# xsize.m4 serial 3
|
||||
dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
AC_DEFUN([gl_XSIZE],
|
||||
[
|
||||
dnl Prerequisites of lib/xsize.h.
|
||||
AC_REQUIRE([gl_SIZE_MAX])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
])
|
||||
Vendored
+97
-249
@@ -1,6 +1,6 @@
|
||||
# generated automatically by aclocal 1.7.9 -*- Autoconf -*-
|
||||
# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -98,7 +98,7 @@ AC_MSG_RESULT([$acx_gssapi_cv_gssapi])
|
||||
# Set up GSSAPI includes for later use. We don't bother to check for
|
||||
# $acx_gssapi_cv_gssapi=no here since that will be caught later.
|
||||
#
|
||||
if test x$acx_gssapi_cv_gssapi = xyes; then
|
||||
if test x$acx_gssapi_cv_gssapi = yes; then
|
||||
# no special includes necessary
|
||||
GSSAPI_INCLUDES=""
|
||||
else
|
||||
@@ -223,14 +223,8 @@ when using GSSAPI.])
|
||||
#
|
||||
AC_SEARCH_LIBS([__dn_expand], [resolv])
|
||||
|
||||
#
|
||||
# crypt Needed by roken under FreeBSD 4.6.
|
||||
#
|
||||
AC_SEARCH_LIBS([crypt], [crypt])
|
||||
|
||||
#
|
||||
# roken Heimdal K 0.3d -lresolv
|
||||
# roken FreeBSD 4.6 -lcrypt
|
||||
#
|
||||
AC_SEARCH_LIBS([roken_gethostbyaddr], [roken])
|
||||
|
||||
@@ -281,94 +275,12 @@ when using GSSAPI.])
|
||||
fi
|
||||
])dnl
|
||||
|
||||
|
||||
|
||||
# size_max.m4 serial 2
|
||||
dnl Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_DEFUN([gl_SIZE_MAX],
|
||||
[
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
dnl First test whether the system already has SIZE_MAX.
|
||||
AC_MSG_CHECKING([for SIZE_MAX])
|
||||
result=
|
||||
AC_EGREP_CPP([Found it], [
|
||||
#include <limits.h>
|
||||
#if HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
#ifdef SIZE_MAX
|
||||
Found it
|
||||
#endif
|
||||
], result=yes)
|
||||
if test -z "$result"; then
|
||||
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
|
||||
dnl than the type 'unsigned long'.
|
||||
dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
|
||||
dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
|
||||
_AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
|
||||
[#include <stddef.h>], result=?)
|
||||
_AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
|
||||
[#include <stddef.h>], result=?)
|
||||
_AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
|
||||
[#include <stddef.h>], result=?)
|
||||
if test "$fits_in_uint" = 1; then
|
||||
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
|
||||
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
|
||||
AC_TRY_COMPILE([#include <stddef.h>
|
||||
extern size_t foo;
|
||||
extern unsigned long foo;
|
||||
], [], fits_in_uint=0)
|
||||
fi
|
||||
if test -z "$result"; then
|
||||
if test "$fits_in_uint" = 1; then
|
||||
result="$res_hi$res_lo"U
|
||||
else
|
||||
result="$res_hi$res_lo"UL
|
||||
fi
|
||||
else
|
||||
dnl Shouldn't happen, but who knows...
|
||||
result='~(size_t)0'
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT([$result])
|
||||
if test "$result" != yes; then
|
||||
AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
|
||||
[Define as the maximum value of type 'size_t', if the system doesn't define it.])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
|
||||
# xsize.m4 serial 3
|
||||
dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
AC_DEFUN([gl_XSIZE],
|
||||
[
|
||||
dnl Prerequisites of lib/xsize.h.
|
||||
AC_REQUIRE([gl_SIZE_MAX])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
])
|
||||
|
||||
# Do all the work for Automake. -*- Autoconf -*-
|
||||
|
||||
# This macro actually does too much some checks are only needed if
|
||||
# your package does certain things. But this isn't really a big deal.
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -386,9 +298,16 @@ AC_DEFUN([gl_XSIZE],
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# serial 10
|
||||
# serial 8
|
||||
|
||||
AC_PREREQ([2.54])
|
||||
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
||||
# written in clear, in which case automake, when reading aclocal.m4,
|
||||
# will think it sees a *use*, and therefore will trigger all it's
|
||||
# C support machinery. Also note that it means that autoscan, seeing
|
||||
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
|
||||
|
||||
|
||||
AC_PREREQ([2.52])
|
||||
|
||||
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
|
||||
# the ones we care about.
|
||||
@@ -414,16 +333,6 @@ if test "`cd $srcdir && pwd`" != "`pwd`" &&
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
|
||||
# test whether we have cygpath
|
||||
if test -z "$CYGPATH_W"; then
|
||||
if (cygpath --version) >/dev/null 2>/dev/null; then
|
||||
CYGPATH_W='cygpath -w'
|
||||
else
|
||||
CYGPATH_W=echo
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([CYGPATH_W])
|
||||
|
||||
# Define the identity of the package.
|
||||
dnl Distinguish between old-style and new-style calls.
|
||||
m4_ifval([$2],
|
||||
@@ -431,8 +340,8 @@ m4_ifval([$2],
|
||||
AC_SUBST([PACKAGE], [$1])dnl
|
||||
AC_SUBST([VERSION], [$2])],
|
||||
[_AM_SET_OPTIONS([$1])dnl
|
||||
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
|
||||
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
|
||||
AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
|
||||
AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
|
||||
|
||||
_AM_IF_OPTION([no-define],,
|
||||
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||
@@ -453,41 +362,19 @@ AM_PROG_INSTALL_STRIP
|
||||
# some platforms.
|
||||
AC_REQUIRE([AC_PROG_AWK])dnl
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||
|
||||
_AM_IF_OPTION([no-dependencies],,
|
||||
[AC_PROVIDE_IFELSE([AC_PROG_CC],
|
||||
[AC_PROVIDE_IFELSE([AC_PROG_][CC],
|
||||
[_AM_DEPENDENCIES(CC)],
|
||||
[define([AC_PROG_CC],
|
||||
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||
[define([AC_PROG_][CC],
|
||||
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
|
||||
AC_PROVIDE_IFELSE([AC_PROG_][CXX],
|
||||
[_AM_DEPENDENCIES(CXX)],
|
||||
[define([AC_PROG_CXX],
|
||||
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||
[define([AC_PROG_][CXX],
|
||||
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
||||
])
|
||||
])
|
||||
|
||||
|
||||
# When config.status generates a header, we must update the stamp-h file.
|
||||
# This file resides in the same directory as the config header
|
||||
# that is generated. The stamp files are numbered to have different names.
|
||||
|
||||
# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
|
||||
# loop where config.status creates the headers, so we can generate
|
||||
# our stamp files there.
|
||||
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
|
||||
[# Compute $1's index in $config_headers.
|
||||
_am_stamp_count=1
|
||||
for _am_header in $config_headers :; do
|
||||
case $_am_header in
|
||||
$1 | $1:* )
|
||||
break ;;
|
||||
* )
|
||||
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
|
||||
esac
|
||||
done
|
||||
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
|
||||
|
||||
# Copyright 2002 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -508,14 +395,14 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
|
||||
# ----------------------------
|
||||
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
||||
# generated from the m4 files accompanying Automake X.Y.
|
||||
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
|
||||
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
|
||||
|
||||
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
||||
# -------------------------------
|
||||
# Call AM_AUTOMAKE_VERSION so it can be traced.
|
||||
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.7.9])])
|
||||
[AM_AUTOMAKE_VERSION([1.6.3])])
|
||||
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
|
||||
@@ -801,42 +688,9 @@ fi
|
||||
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
|
||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
|
||||
# -*- Autoconf -*-
|
||||
# Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
# serial 4 -*- Autoconf -*-
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# serial 1
|
||||
|
||||
# Check whether the underlying file-system supports filenames
|
||||
# with a leading dot. For instance MS-DOS doesn't.
|
||||
AC_DEFUN([AM_SET_LEADING_DOT],
|
||||
[rm -rf .tst 2>/dev/null
|
||||
mkdir .tst 2>/dev/null
|
||||
if test -d .tst; then
|
||||
am__leading_dot=.
|
||||
else
|
||||
am__leading_dot=_
|
||||
fi
|
||||
rmdir .tst 2>/dev/null
|
||||
AC_SUBST([am__leading_dot])])
|
||||
|
||||
# serial 5 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -897,32 +751,18 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
||||
# using a relative directory.
|
||||
cp "$am_depcomp" conftest.dir
|
||||
cd conftest.dir
|
||||
# We will build objects and dependencies in a subdirectory because
|
||||
# it helps to detect inapplicable dependency modes. For instance
|
||||
# both Tru64's cc and ICC support -MD to output dependencies as a
|
||||
# side effect of compilation, but ICC will put the dependencies in
|
||||
# the current directory while Tru64 will put them in the object
|
||||
# directory.
|
||||
mkdir sub
|
||||
|
||||
am_cv_$1_dependencies_compiler_type=none
|
||||
if test "$am_compiler_list" = ""; then
|
||||
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
||||
fi
|
||||
for depmode in $am_compiler_list; do
|
||||
# Setup a source with many dependencies, because some compilers
|
||||
# like to wrap large dependency lists on column 80 (with \), and
|
||||
# we should not choose a depcomp mode which is confused by this.
|
||||
#
|
||||
# We need to recreate these files for each test, as the compiler may
|
||||
# overwrite some of them when testing with obscure command lines.
|
||||
# This happens at least with the AIX C compiler.
|
||||
: > sub/conftest.c
|
||||
for i in 1 2 3 4 5 6; do
|
||||
echo '#include "conftst'$i'.h"' >> sub/conftest.c
|
||||
: > sub/conftst$i.h
|
||||
done
|
||||
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
|
||||
echo '#include "conftest.h"' > conftest.c
|
||||
echo 'int i;' > conftest.h
|
||||
echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
|
||||
|
||||
case $depmode in
|
||||
nosideeffect)
|
||||
@@ -940,20 +780,13 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
||||
# mode. It turns out that the SunPro C++ compiler does not properly
|
||||
# handle `-M -o', and we need to detect this.
|
||||
if depmode=$depmode \
|
||||
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
|
||||
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
||||
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
|
||||
>/dev/null 2>conftest.err &&
|
||||
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
|
||||
source=conftest.c object=conftest.o \
|
||||
depfile=conftest.Po tmpdepfile=conftest.TPo \
|
||||
$SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
|
||||
grep conftest.h conftest.Po > /dev/null 2>&1 &&
|
||||
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
||||
# icc doesn't choke on unknown options, it will just issue warnings
|
||||
# (even with -Werror). So we grep stderr for any message
|
||||
# that says an option was ignored.
|
||||
if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
|
||||
am_cv_$1_dependencies_compiler_type=$depmode
|
||||
break
|
||||
fi
|
||||
am_cv_$1_dependencies_compiler_type=$depmode
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -964,9 +797,6 @@ else
|
||||
fi
|
||||
])
|
||||
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
|
||||
AM_CONDITIONAL([am__fastdep$1], [
|
||||
test "x$enable_dependency_tracking" != xno \
|
||||
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3])
|
||||
])
|
||||
|
||||
|
||||
@@ -975,8 +805,16 @@ AM_CONDITIONAL([am__fastdep$1], [
|
||||
# Choose a directory name for dependency files.
|
||||
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
|
||||
AC_DEFUN([AM_SET_DEPDIR],
|
||||
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
||||
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
|
||||
[rm -f .deps 2>/dev/null
|
||||
mkdir .deps 2>/dev/null
|
||||
if test -d .deps; then
|
||||
DEPDIR=.deps
|
||||
else
|
||||
# MS-DOS does not allow filenames that begin with a dot.
|
||||
DEPDIR=_deps
|
||||
fi
|
||||
rmdir .deps 2>/dev/null
|
||||
AC_SUBST([DEPDIR])
|
||||
])
|
||||
|
||||
|
||||
@@ -1078,9 +916,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
||||
])
|
||||
|
||||
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*-
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -1105,9 +941,8 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||
[am_make=${MAKE-make}
|
||||
cat > confinc << 'END'
|
||||
am__doit:
|
||||
doit:
|
||||
@echo done
|
||||
.PHONY: am__doit
|
||||
END
|
||||
# If we don't find an include directive, just comment out the code.
|
||||
AC_MSG_CHECKING([for style of include used by $am_make])
|
||||
@@ -1121,7 +956,7 @@ echo "include confinc" > confmf
|
||||
# In particular we don't look at `^make:' because GNU make might
|
||||
# be invoked under some other name (usually "gmake"), in which
|
||||
# case it prints its new name instead of `make'.
|
||||
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
|
||||
if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
@@ -1135,9 +970,9 @@ if test "$am__include" = "#"; then
|
||||
_am_result=BSD
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([am__include])
|
||||
AC_SUBST([am__quote])
|
||||
AC_MSG_RESULT([$_am_result])
|
||||
AC_SUBST(am__include)
|
||||
AC_SUBST(am__quote)
|
||||
AC_MSG_RESULT($_am_result)
|
||||
rm -f confinc confmf
|
||||
])
|
||||
|
||||
@@ -1181,7 +1016,7 @@ else
|
||||
fi
|
||||
AC_CONFIG_COMMANDS_PRE(
|
||||
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
|
||||
AC_MSG_ERROR([conditional "$1" was never defined.
|
||||
AC_MSG_ERROR([conditional \"$1\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally.])
|
||||
fi])])
|
||||
|
||||
@@ -1208,47 +1043,60 @@ AC_PREREQ([2.52])
|
||||
|
||||
# serial 6
|
||||
|
||||
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
|
||||
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
|
||||
# When config.status generates a header, we must update the stamp-h file.
|
||||
# This file resides in the same directory as the config header
|
||||
# that is generated. We must strip everything past the first ":",
|
||||
# and everything past the last "/".
|
||||
|
||||
# Add --enable-maintainer-mode option to configure.
|
||||
# From Jim Meyering
|
||||
# _AM_DIRNAME(PATH)
|
||||
# -----------------
|
||||
# Like AS_DIRNAME, only do it during macro expansion
|
||||
AC_DEFUN([_AM_DIRNAME],
|
||||
[m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
|
||||
m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
|
||||
m4_if(regexp([$1], [^/.*]), -1,
|
||||
[.],
|
||||
patsubst([$1], [^\(/\).*], [\1])),
|
||||
patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
|
||||
patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
|
||||
])# _AM_DIRNAME
|
||||
|
||||
# Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
# The stamp files are numbered to have different names.
|
||||
# We could number them on a directory basis, but that's additional
|
||||
# complications, let's have a unique counter.
|
||||
m4_define([_AM_STAMP_Count], [0])
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
# _AM_STAMP(HEADER)
|
||||
# -----------------
|
||||
# The name of the stamp file for HEADER.
|
||||
AC_DEFUN([_AM_STAMP],
|
||||
[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
|
||||
AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
|
||||
[:.*])))/stamp-h[]_AM_STAMP_Count])
|
||||
|
||||
# serial 2
|
||||
|
||||
AC_DEFUN([AM_MAINTAINER_MODE],
|
||||
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
dnl maintainer-mode is disabled by default
|
||||
AC_ARG_ENABLE(maintainer-mode,
|
||||
[ --enable-maintainer-mode enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer],
|
||||
USE_MAINTAINER_MODE=$enableval,
|
||||
USE_MAINTAINER_MODE=no)
|
||||
AC_MSG_RESULT([$USE_MAINTAINER_MODE])
|
||||
AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
AC_SUBST(MAINT)dnl
|
||||
]
|
||||
)
|
||||
# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
|
||||
# ------------------------------------------------------------
|
||||
# We used to try to get a real timestamp in stamp-h. But the fear is that
|
||||
# that will cause unnecessary cvs conflicts.
|
||||
AC_DEFUN([_AM_CONFIG_HEADER],
|
||||
[# Add the stamp file to the list of files AC keeps track of,
|
||||
# along with our hook.
|
||||
AC_CONFIG_HEADERS([$1],
|
||||
[# update the timestamp
|
||||
echo 'timestamp for $1' >"_AM_STAMP([$1])"
|
||||
$2],
|
||||
[$3])
|
||||
])# _AM_CONFIG_HEADER
|
||||
|
||||
AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
|
||||
|
||||
# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
|
||||
# --------------------------------------------------------------
|
||||
AC_DEFUN([AM_CONFIG_HEADER],
|
||||
[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
|
||||
])# AM_CONFIG_HEADER
|
||||
|
||||
# serial 2
|
||||
|
||||
|
||||
+5
-28
@@ -41,15 +41,10 @@
|
||||
/* Define to enable encryption support. */
|
||||
#undef ENCRYPTION
|
||||
|
||||
/* Define if this executable will be running on case insensitive file systems.
|
||||
In the client case, this means that it will request that the server pretend
|
||||
to be case insensitive if it isn't already. */
|
||||
#undef FILENAMES_CASE_INSENSITIVE
|
||||
|
||||
/* When committing or importing files, you must enter a log message. Normally,
|
||||
you can do this either via the -m flag on the command line, the -F flag on
|
||||
the command line, or an editor will be started for you. If you like to use
|
||||
logging templates (the rcsinfo file within the $CVSROOT/CVSROOT directory),
|
||||
logging templates (the rcsinfo file within the /CVSROOT directory),
|
||||
you might want to force people to use the editor even if they specify a
|
||||
message with -m or -F. Enabling FORCE_USE_EDITOR will cause the -m or -F
|
||||
message to be appended to the temp file when the editor is started. */
|
||||
@@ -88,7 +83,7 @@
|
||||
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||
#undef HAVE_FCNTL_H
|
||||
|
||||
/* Define to 1 if your system has a working POSIX `fnmatch' function. */
|
||||
/* Define to 1 if your system has a working `fnmatch' function. */
|
||||
#undef HAVE_FNMATCH
|
||||
|
||||
/* Define to 1 if you have the <fnmatch.h> header file. */
|
||||
@@ -121,6 +116,9 @@
|
||||
/* Define to 1 if you have the `getpagesize' function. */
|
||||
#undef HAVE_GETPAGESIZE
|
||||
|
||||
/* Define to 1 if you have the `getpassphrase' function. */
|
||||
#undef HAVE_GETPASSPHRASE
|
||||
|
||||
/* Define if you have the getspnam function. */
|
||||
#undef HAVE_GETSPNAM
|
||||
|
||||
@@ -157,12 +155,6 @@
|
||||
/* Define to 1 if you have the `krb_get_err_text' function. */
|
||||
#undef HAVE_KRB_GET_ERR_TEXT
|
||||
|
||||
/* Define to 1 if you have the `krb' library (-lkrb). */
|
||||
#undef HAVE_LIBKRB
|
||||
|
||||
/* Define to 1 if you have the `krb4' library (-lkrb4). */
|
||||
#undef HAVE_LIBKRB4
|
||||
|
||||
/* Define to 1 if you have the `nsl' library (-lnsl). */
|
||||
#undef HAVE_LIBNSL
|
||||
|
||||
@@ -425,10 +417,6 @@
|
||||
*/
|
||||
#undef SERVER_SUPPORT
|
||||
|
||||
/* Define as the maximum value of type 'size_t', if the system doesn't define
|
||||
it. */
|
||||
#undef SIZE_MAX
|
||||
|
||||
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
|
||||
#undef STAT_MACROS_BROKEN
|
||||
|
||||
@@ -482,20 +470,9 @@
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* We want to always use the GNULIB version of getpass which we have in lib,
|
||||
so define getpass to something that won't conflict with any existing system
|
||||
declarations. */
|
||||
#undef getpass
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef gid_t
|
||||
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
#undef inline
|
||||
#endif
|
||||
|
||||
/* Define to `int' if <sys/types.h> does not define. */
|
||||
#undef mode_t
|
||||
|
||||
|
||||
Vendored
+1704
-5335
File diff suppressed because it is too large.
Load diff
+35
-175
@@ -1,12 +1,11 @@
|
||||
dnl configure.in for cvs
|
||||
AC_INIT([Concurrent Versions System (CVS)],[1.11.17],[[email protected]],[cvs])
|
||||
AC_INIT([Concurrent Versions System (CVS)],[1.11.5],[[email protected]],[cvs])
|
||||
AC_CONFIG_SRCDIR(src/cvs.h)
|
||||
AM_INIT_AUTOMAKE([gnu 1.7.9 dist-bzip2 no-define])
|
||||
AC_PREREQ(2.58)
|
||||
AM_INIT_AUTOMAKE([gnu 1.5 dist-bzip2 no-define])
|
||||
AC_PREREQ(2.53)
|
||||
|
||||
AC_PREFIX_PROGRAM(cvs)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
AC_PROG_CC
|
||||
AM_PROG_CC_C_O
|
||||
@@ -72,18 +71,8 @@ AC_EXEEXT
|
||||
|
||||
AC_PATH_PROG(PERL, perl, no)
|
||||
AC_PATH_PROG(CSH, csh, no)
|
||||
# for contrib/rcs2log.sh & src/cvsbug.in.
|
||||
AC_PATH_PROG(MKTEMP, mktemp, mktemp)
|
||||
if test x"$MKTEMP" = xmktemp; then
|
||||
MKTEMP_SH_FUNCTION=$srcdir/mktemp.sh
|
||||
else
|
||||
MKTEMP_SH_FUNCTION=/dev/null
|
||||
fi
|
||||
AC_SUBST_FILE(MKTEMP_SH_FUNCTION)
|
||||
# for src/cvsbug.in
|
||||
AC_PATH_PROG(SENDMAIL, sendmail, no, [$PATH:/usr/sbin:/usr/lib])
|
||||
# For diff/util.c
|
||||
AC_PATH_PROG(PR, pr, no)
|
||||
# For diff/util.c
|
||||
if test x"$PR" != xno; then
|
||||
AC_DEFINE_UNQUOTED([PR_PROGRAM], ["$PR"], [Path to the pr utility])
|
||||
fi
|
||||
@@ -185,27 +174,6 @@ AC_REPLACE_FUNCS(\
|
||||
valloc \
|
||||
waitpid \
|
||||
)
|
||||
|
||||
|
||||
|
||||
dnl
|
||||
dnl Begin GNULIB stuff.
|
||||
dnl
|
||||
gl_XSIZE
|
||||
|
||||
dnl We always want to use the GNULIB getpass, so define its name to something
|
||||
dnl that won't conflict with system declarations.
|
||||
AC_DEFINE([getpass], [cvs_getpass],
|
||||
[We want to always use the GNULIB version of getpass which we have in lib,
|
||||
so define getpass to something that won't conflict with any existing system
|
||||
declarations.])
|
||||
|
||||
dnl
|
||||
dnl End GNULIB stuff.
|
||||
dnl
|
||||
|
||||
|
||||
|
||||
AC_CHECK_FUNCS(\
|
||||
fchdir \
|
||||
fchmod \
|
||||
@@ -215,6 +183,7 @@ AC_CHECK_FUNCS(\
|
||||
getgroups \
|
||||
getopt \
|
||||
getpagesize \
|
||||
getpassphrase \
|
||||
gettimeofday \
|
||||
initgroups \
|
||||
login \
|
||||
@@ -380,20 +349,18 @@ if test -n "$krb_h"; then
|
||||
LDFLAGS=$hold_ldflags
|
||||
else
|
||||
AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=])
|
||||
AC_CHECK_FUNC(krb_recvauth,[krb_lib=yes krb_libdir=])
|
||||
fi
|
||||
if test -n "$krb_lib"; then
|
||||
AC_DEFINE([HAVE_KERBEROS], 1,
|
||||
[Define if you have MIT Kerberos version 4 available.])
|
||||
test -n "${krb_libdir}" && LIBS="${LIBS} -L${krb_libdir}"
|
||||
LIBS="${LIBS} -lkrb"
|
||||
# Put -L${krb_libdir} in LDFLAGS temporarily so that it appears before
|
||||
# -ldes in the command line. Don't do it permanently so that we honor
|
||||
# the user's setting for LDFLAGS
|
||||
hold_ldflags=$LDFLAGS
|
||||
test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
|
||||
AC_CHECK_LIB(des,printf,[LIBS="${LIBS} -ldes"])
|
||||
AC_CHECK_LIB(krb,krb_recvauth)
|
||||
AC_CHECK_LIB(krb4,krb_recvauth)
|
||||
LDFLAGS=$hold_ldflags
|
||||
if test -n "$krb_incdir"; then
|
||||
includeopt="${includeopt} -I$krb_incdir"
|
||||
@@ -429,21 +396,8 @@ AC_ARG_WITH(
|
||||
[--with-editor],
|
||||
[The default text editor CVS should use for log messages
|
||||
(default autoselects)]), ,
|
||||
[with_editor=yes])
|
||||
[with_editor="vi emacs pico edit"])
|
||||
|
||||
# If --with-editor was supplied with an argument, let it override $EDITOR from
|
||||
# the user's environment. We need to unset EDITOR here because AC_CHECK_PROGS
|
||||
# will let the value of EDITOR ride when it is set rather than searching. We
|
||||
# ignore the --without-editor case since it will be caught below.
|
||||
if test -n "$EDITOR" && test yes != $with_editor; then
|
||||
AS_UNSET([EDITOR])
|
||||
fi
|
||||
|
||||
# Set the default when --with-editor wasn't supplied or when it was supplied
|
||||
# without an argument.
|
||||
if test yes = $with_editor; then
|
||||
with_editor="vim vi emacs nano pico edit"
|
||||
fi
|
||||
|
||||
if echo $with_editor |grep ^/ >/dev/null; then
|
||||
# If $with_editor is an absolute path, issue a warning if the executable
|
||||
@@ -455,40 +409,31 @@ if echo $with_editor |grep ^/ >/dev/null; then
|
||||
if ! test -f $with_editor \
|
||||
|| ! test -x $with_editor; then
|
||||
# warn the user that they may encounter problems
|
||||
AC_MSG_WARN([\`$with_editor' is not a path to an executable file])
|
||||
AC_MSG_WARN([$with_editor is not a path to an executable file])
|
||||
fi
|
||||
elif test no != "${with_editor}"; then
|
||||
# Search for an editor
|
||||
AC_CHECK_PROGS([EDITOR], [$with_editor], [no])
|
||||
if test no = "${EDITOR}"; then
|
||||
AC_MSG_ERROR([
|
||||
Failed to find a text file editor. CVS cannot be compiled
|
||||
without a default log message editor. Searched for
|
||||
\`$with_editor'. Try \`configure --with-editor'.])
|
||||
fi
|
||||
AC_CHECK_PROGS([EDITOR], [$with_editor])
|
||||
else
|
||||
AC_MSG_ERROR([
|
||||
CVS cannot be compiled without a default log message editor.
|
||||
Try \`configure --with-editor'.])
|
||||
AC_MSG_CHECKING([for an editor])
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
dnl FIXME - Using --without-editor will probably break a compile at
|
||||
dnl the moment, but maybe it is reasonable for someone to want to
|
||||
dnl compile a CVS executable that refuses to run if no $EDITOR,
|
||||
dnl $CVS_EDITOR, or -e option is specified? Making a preliminary
|
||||
dnl design decision in this direction, subject to discussion.
|
||||
dnl
|
||||
dnl Still don't know if the above would be useful, but we shouldn't
|
||||
dnl be able to get here any longer without $EDITOR defined due to the
|
||||
dnl error checking above.
|
||||
AC_DEFINE_UNQUOTED(
|
||||
[EDITOR_DFLT], ["$EDITOR"],
|
||||
[The default editor to use, if one does not specify the "-e" option
|
||||
to cvs, or does not have an EDITOR environment variable. If this
|
||||
is not set to an absolute path to an executable, use the shell to
|
||||
find where the editor actually is. This allows sites with
|
||||
/usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their
|
||||
PATH is reasonable).])
|
||||
if test -n "${EDITOR}"; then
|
||||
dnl FIXME - Using --without-editor will probably break a compile at
|
||||
dnl the moment, but maybe it is reasonable for someone to want to
|
||||
dnl compile a CVS executable that refuses to run if no $EDITOR,
|
||||
dnl $CVS_EDITOR, or -e option is specified? Making a preliminary
|
||||
dnl design decision in this direction, subject to discussion.
|
||||
AC_DEFINE_UNQUOTED(
|
||||
[EDITOR_DFLT], ["$EDITOR"],
|
||||
[The default editor to use, if one does not specify the "-e" option
|
||||
to cvs, or does not have an EDITOR environment variable. If this
|
||||
is not set to an absolute path to an executable, use the shell to
|
||||
find where the editor actually is. This allows sites with
|
||||
/usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their
|
||||
PATH is reasonable).])
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl done finding an editor
|
||||
@@ -509,7 +454,7 @@ AC_ARG_WITH(
|
||||
|
||||
AC_MSG_CHECKING([for temporary directory])
|
||||
if test -z "$with_tmpdir" || test yes = "$with_tmpdir"; then
|
||||
for with_tmpdir in /tmp /var/tmp no; do
|
||||
for with_tmpdir in "$TMPDIR" "$TMP" "$TEMP" /tmp /var/tmp no; do
|
||||
if test -d "$with_tmpdir" && test -x "$with_tmpdir" \
|
||||
&& test -w "$with_tmpdir" && test -r "$with_tmpdir"; then
|
||||
break
|
||||
@@ -688,7 +633,7 @@ if test no != "$enable_password_authenticated_client"; then
|
||||
method in the CVS client (default)])
|
||||
else
|
||||
AC_MSG_WARN(
|
||||
[--enable-password-authenticated-client is meaningless with
|
||||
[--enable-password-authenticated-server is meaningless with
|
||||
the CVS client disabled (--disable-client)])
|
||||
fi
|
||||
fi
|
||||
@@ -795,73 +740,6 @@ if test no != "$enable_server"; then
|
||||
fi # enable_server
|
||||
|
||||
|
||||
dnl
|
||||
dnl begin --enable-case-sensitivity
|
||||
dnl
|
||||
|
||||
AC_ARG_ENABLE(
|
||||
[case-sensitivity],
|
||||
AC_HELP_STRING(
|
||||
[--enable-case-sensitivity],
|
||||
[Force CVS to expect a case sensitive file system. Enabling this on a case
|
||||
insensitive system should have little effect on the server or client
|
||||
operation, though client users may ocassionally be suprised that the CVS
|
||||
server appears to be case sensitive. Disabling this for a case sensitive
|
||||
server disables server support for case insensitive clients, which can
|
||||
confuse all users of case insensitive clients contacting the server.
|
||||
Disabling this for a case sensitive client will cause the client to ask
|
||||
servers to behave case insensitively, which could cause confusion for
|
||||
users, but also probably no real harm. (default autoselects based on the
|
||||
case sensitivity of the file system containing the current working
|
||||
directory)]),
|
||||
[case "$enable_case_sensitivity" in
|
||||
yes | no | auto) ;;
|
||||
*)
|
||||
AC_MSG_ERROR([Unrecognized argument to --enable-case-sensitivity: \`$enable_case_sensitivity'. Acceptable values are \`yes', \`no', and \`auto'.])
|
||||
;;
|
||||
esac],
|
||||
[enable_case_sensitivity=auto])
|
||||
|
||||
acx_forced=' (forced)'
|
||||
AC_MSG_CHECKING([for a case sensitive file system])
|
||||
if test $enable_case_sensitivity = auto; then
|
||||
dnl
|
||||
dnl Check for a case insensitive filesystem, like Mac OS X and Windows have.
|
||||
dnl
|
||||
AC_CACHE_VAL([acx_cv_case_sensitive],
|
||||
[ rm -f ac_TEST_filenames_CASE_sensitive
|
||||
echo foo >ac_test_filenames_case_sensitive
|
||||
if test -f ac_TEST_filenames_CASE_sensitive; then
|
||||
acx_cv_case_sensitive=no
|
||||
else
|
||||
acx_cv_case_sensitive=yes
|
||||
fi
|
||||
rm ac_test_filenames_case_sensitive
|
||||
])
|
||||
enable_case_sensitivity=$acx_cv_case_sensitive
|
||||
acx_forced=
|
||||
fi
|
||||
AC_MSG_RESULT([$enable_case_sensitivity$acx_forced])
|
||||
if test $enable_case_sensitivity = no; then
|
||||
AC_DEFINE([FILENAMES_CASE_INSENSITIVE], [1],
|
||||
[Define if this executable will be running on case insensitive
|
||||
file systems. In the client case, this means that it will request
|
||||
that the server pretend to be case insensitive if it isn't
|
||||
already.])
|
||||
dnl Compile fncase.c (containing fncase() & fncmp()) to handle file name
|
||||
dnl comparisons on case insensitive filesystems.
|
||||
AC_LIBOBJ(fncase)
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl end --enable-case-sensitivity
|
||||
dnl
|
||||
|
||||
|
||||
dnl
|
||||
dnl begin --enable-encryption
|
||||
dnl
|
||||
|
||||
dnl
|
||||
dnl Use --enable-encryption to turn on encryption support, but ignore this
|
||||
dnl option unless either client or server is enabled.
|
||||
@@ -879,7 +757,7 @@ if test "$enable_encryption" = yes; then
|
||||
[Define to enable encryption support.])
|
||||
else
|
||||
AC_MSG_WARN(
|
||||
[--enable-encryption is meaningless when neither the CVS client
|
||||
[--enable-encryption is meaningless with neither the CVS client
|
||||
nor the CVS server is enabled (--disable-client and --disable-server).])
|
||||
fi
|
||||
fi
|
||||
@@ -971,7 +849,6 @@ dnl end --enable-*
|
||||
dnl
|
||||
|
||||
|
||||
|
||||
dnl For the moment we will assume that all systems which have
|
||||
dnl the unixyness to run configure are unixy enough to do the
|
||||
dnl PreservePermissions stuff. I have this sinking feeling that
|
||||
@@ -979,9 +856,11 @@ dnl things won't be that simple, before long.
|
||||
dnl AC_DEFINE(PRESERVE_PERMISSIONS_SUPPORT, 1,
|
||||
dnl [Define if this system supports chown(), link(), and friends.])
|
||||
|
||||
dnl On cygwin32, we configure like a Unix system, but we need some support
|
||||
dnl libraries. We do this at the end so that the new libraries are added at
|
||||
dnl the end of LIBS.
|
||||
dnl On cygwin32, we configure like a Unix system, but we use the
|
||||
dnl Windows support code in lib/fncase.c to handle the case
|
||||
dnl insensitive file system. We also need some support libraries. We
|
||||
dnl do this at the end so that the new libraries are added at the end
|
||||
dnl of LIBS.
|
||||
dnl
|
||||
dnl FIXME: We should be trying to meet the autoconf ideal of checking for
|
||||
dnl the properties of the system rather than the name of the os here. In other
|
||||
@@ -991,6 +870,7 @@ AC_CACHE_CHECK(for cygwin32, ccvs_cv_sys_cygwin32,
|
||||
[AC_TRY_COMPILE([], [return __CYGWIN32__;],
|
||||
ccvs_cv_sys_cygwin32=yes, ccvs_cv_sys_cygwin32=no)])
|
||||
if test $ccvs_cv_sys_cygwin32 = yes; then
|
||||
AC_LIBOBJ(fncase)
|
||||
LIBS="$LIBS -ladvapi32"
|
||||
|
||||
dnl On Windows you can only change file times if you can write to
|
||||
@@ -1018,13 +898,9 @@ AC_CONFIG_FILES(contrib/log, [chmod +x contrib/log])
|
||||
AC_CONFIG_FILES(contrib/log_accum, [chmod +x contrib/log_accum])
|
||||
AC_CONFIG_FILES(contrib/mfpipe, [chmod +x contrib/mfpipe])
|
||||
AC_CONFIG_FILES(contrib/pvcs2rcs, [chmod +x contrib/pvcs2rcs])
|
||||
AC_CONFIG_FILES(contrib/rcs2log:contrib/rcs2log.sh, [chmod +x contrib/rcs2log])
|
||||
AC_CONFIG_FILES(contrib/rcslock, [chmod +x contrib/rcslock])
|
||||
AC_CONFIG_FILES(contrib/sccs2rcs, [chmod +x contrib/sccs2rcs])
|
||||
AC_CONFIG_FILES(doc/mkman, [chmod +x doc/mkman])
|
||||
AC_CONFIG_FILES(src/cvsbug, [chmod +x src/cvsbug])
|
||||
AC_CONFIG_FILES(windows-NT/fix-msvc-mak:windows-NT/fix-msvc-mak-head.pl:windows-NT/fix-msvc-mak.pl,
|
||||
[chmod +x windows-NT/fix-msvc-mak])
|
||||
|
||||
dnl the bulk files
|
||||
AC_CONFIG_FILES([Makefile \
|
||||
@@ -1045,19 +921,3 @@ AC_CONFIG_FILES([Makefile \
|
||||
|
||||
dnl and we're done
|
||||
AC_OUTPUT
|
||||
|
||||
|
||||
|
||||
# Report the state of this version of CVS if this is from dev.
|
||||
m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[0-9]*\.[0-9]*\.[0-9]*\.[0-9]],
|
||||
[ cat <<EOF
|
||||
|
||||
You are about to use an unreleased version of CVS. Be sure to
|
||||
read the relevant mailing lists, most importantly <[email protected]>.
|
||||
|
||||
Below you will find information on the status of this version of CVS.
|
||||
|
||||
|
||||
EOF
|
||||
sed -n '/^\* Status/,$p' $srcdir/BUGS
|
||||
])
|
||||
@@ -1,73 +1,3 @@
|
||||
2004-01-30 Derek Price <[email protected]>
|
||||
|
||||
Close issue #155.
|
||||
* log_accum.in: Remove unused variables.
|
||||
(Patch from (Ville Skyttä <[email protected]>.)
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
|
||||
testing with _POSIX2_VERSION=200112 in the environment.
|
||||
|
||||
* cvs2vendor.sh: Work with POSIX sort as well as with
|
||||
traditional sort.
|
||||
* rcs2sccs.sh, sccs2rcs.in: Likewise.
|
||||
(Patch from Paul Eggert <[email protected]>.)
|
||||
|
||||
2003-09-26 Mark D. Baushke <[email protected]>
|
||||
|
||||
* sccs2rcs.in: Use @AWK@ to avoid ancient Solaris awk (no support
|
||||
for the "?" operator). Add support for handling binary SCCS files.
|
||||
(Suggestion from Allan Schrum <[email protected]>.)
|
||||
|
||||
2003-08-06 Derek Price <[email protected]>
|
||||
|
||||
* commit_prep.in, log_accum.in: Port copious changes from Karl Fogel
|
||||
and CollabNet. These changes add features, generalize, and organize.
|
||||
|
||||
2003-07-07 Larry Jones <[email protected]>
|
||||
|
||||
* rcs2log.1: New file from Paul Eggert <[email protected]>
|
||||
via Eric Seidel <[email protected]>.
|
||||
|
||||
2003-06-20 Derek Price <[email protected]>
|
||||
|
||||
* Don't call CVS with the -l option since CVS no longer accepts it.
|
||||
(Suggestion from Matt Doar <[email protected]>.)
|
||||
|
||||
2003-05-21 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerate with Automake version 1.7.5.
|
||||
|
||||
2003-04-10 Larry Jones <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-03-24 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am: Update copyright notice.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* rcs2log.sh: Import RedHat 8.0's use of mktemp from the CVS 1.11.2
|
||||
RPM. Use new MKTEMP variable from configure.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-02-24 Larry Jones <[email protected]>
|
||||
and Donald Sharp <[email protected]>
|
||||
|
||||
* check_cvs.in: Filenames with funky characters need to be quoted
|
||||
correctly. Also needed to modify regex due to locked revisions of
|
||||
files cause output to be different.
|
||||
|
||||
* check_cvs.in: Fixed multiple symlinks in your cvsroot,
|
||||
improved CVSROOT/CVSROOT handling (Patch from Shlomo Reinstein
|
||||
<[email protected]). Fixed retrieving revisions of ,v
|
||||
files. Added passwd, readers, and writers to list of files to
|
||||
ignore and sorted list to match the one in src/mkmodules.c.
|
||||
|
||||
2002-12-16 Derek Price <[email protected]>
|
||||
|
||||
* cvs_acls.in: Fix split loop error with Perl 5.8.0.
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# Makefile for GNU CVS contributed sources.
|
||||
# Do not use this makefile directly, but only from `../Makefile'.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
||||
+45
-105
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.7.9 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -16,9 +16,7 @@
|
||||
|
||||
# Makefile for GNU CVS contributed sources.
|
||||
# Do not use this makefile directly, but only from `../Makefile'.
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -29,117 +27,79 @@
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
transform = @program_transform_name@
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CSH = @CSH@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EDITOR = @EDITOR@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KRB4 = @KRB4@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
|
||||
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
|
||||
MKTEMP = @MKTEMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_prefix_program = @ac_prefix_program@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
includeopt = @includeopt@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
contribdir = $(pkgdatadir)/contrib
|
||||
|
||||
@@ -195,28 +155,26 @@ CLEANFILES = $(bin_SCRIPTS) $(contrib_SCRIPTS)
|
||||
|
||||
SUFFIXES = .sh
|
||||
subdir = contrib
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES = check_cvs clmerge cln_hist commit_prep cvs_acls log \
|
||||
log_accum mfpipe pvcs2rcs rcs2log rcslock sccs2rcs
|
||||
log_accum mfpipe pvcs2rcs rcslock sccs2rcs
|
||||
SCRIPTS = $(contrib_SCRIPTS)
|
||||
|
||||
DIST_SOURCES =
|
||||
DATA = $(contrib_DATA)
|
||||
|
||||
DIST_COMMON = README $(srcdir)/Makefile.in ChangeLog Makefile.am \
|
||||
check_cvs.in clmerge.in cln_hist.in commit_prep.in cvs_acls.in \
|
||||
log.in log_accum.in mfpipe.in pvcs2rcs.in rcs2log.sh rcslock.in \
|
||||
sccs2rcs.in
|
||||
DIST_COMMON = README ChangeLog Makefile.am Makefile.in check_cvs.in \
|
||||
clmerge.in cln_hist.in commit_prep.in cvs_acls.in log.in \
|
||||
log_accum.in mfpipe.in pvcs2rcs.in rcslock.in sccs2rcs.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .sh
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu contrib/Makefile
|
||||
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
check_cvs: $(top_builddir)/config.status check_cvs.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
@@ -236,8 +194,6 @@ mfpipe: $(top_builddir)/config.status mfpipe.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
pvcs2rcs: $(top_builddir)/config.status pvcs2rcs.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
rcs2log: $(top_builddir)/config.status rcs2log.sh
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
rcslock: $(top_builddir)/config.status rcslock.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
sccs2rcs: $(top_builddir)/config.status sccs2rcs.in
|
||||
@@ -284,22 +240,13 @@ uninstall-contribDATA:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
@list='$(DISTFILES)'; for file in $$list; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
@@ -325,6 +272,7 @@ all-am: Makefile $(SCRIPTS) $(DATA)
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(contribdir) $(DESTDIR)$(contribdir)
|
||||
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
@@ -336,7 +284,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
@@ -345,7 +293,7 @@ clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -355,7 +303,7 @@ clean: clean-am
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
@@ -378,21 +326,13 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-contribDATA uninstall-contribSCRIPTS \
|
||||
uninstall-info-am uninstall-local
|
||||
|
||||
@@ -403,7 +343,7 @@ uninstall-am: uninstall-contribDATA uninstall-contribSCRIPTS \
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
|
||||
mostlyclean-generic uninstall uninstall-am \
|
||||
uninstall-contribDATA uninstall-contribSCRIPTS \
|
||||
uninstall-info-am uninstall-local
|
||||
|
||||
|
||||
@@ -67,7 +67,6 @@ my $verbose = 0;
|
||||
my $total_revisions;
|
||||
my $total_interesting_revisions;
|
||||
my $total_files;
|
||||
my @ignore_files;
|
||||
|
||||
######################################################################
|
||||
# SUBROUTINES #
|
||||
@@ -122,19 +121,12 @@ if( exists( $ENV{ CVSDEBUGEDIT } ) )
|
||||
}
|
||||
|
||||
$directory_to_look_at = $ENV{ CVSROOT };
|
||||
my $sym_count = 0;
|
||||
while( -l $directory_to_look_at )
|
||||
if( -l $directory_to_look_at )
|
||||
{
|
||||
$directory_to_look_at = readlink( $directory_to_look_at );
|
||||
$sym_count += 1;
|
||||
if( $sym_count > 5 )
|
||||
{
|
||||
die( "Encountered too many symlinks for $ENV{ CVSROOT }\n" );
|
||||
}
|
||||
}
|
||||
|
||||
print( "Processing: $directory_to_look_at\n" ) if( $verbose );
|
||||
@ignore_files = &get_ignore_files_from_cvsroot( $directory_to_look_at );
|
||||
find( \&process_file, $directory_to_look_at );
|
||||
|
||||
my $num_files = @list_of_broken_files;
|
||||
@@ -192,6 +184,34 @@ sub process_file
|
||||
elsif( ! -d $File::Find::name )
|
||||
{
|
||||
my $save = 0;
|
||||
my @ignore_files = ( 'CVS\/fileattr$',
|
||||
'^CVSROOT\/modules',
|
||||
'^CVSROOT\/.#modules',
|
||||
'^CVSROOT\/loginfo',
|
||||
'^CVSROOT\/.#loginfo',
|
||||
'^CVSROOT\/rcsinfo',
|
||||
'^CVSROOT\/.#rcsinfo',
|
||||
'^CVSROOT\/editinfo',
|
||||
'^CVSROOT\/.#editinfo',
|
||||
'^CVSROOT\/commitinfo',
|
||||
'^CVSROOT\/.#commitinfo',
|
||||
'^CVSROOT\/taginfo',
|
||||
'^CVSROOT\/.#taginfo',
|
||||
'^CVSROOT\/notify',
|
||||
'^CVSROOT\/.#notify',
|
||||
'^CVSROOT\/checkoutlist',
|
||||
'^CVSROOT\/.#checkoutlist',
|
||||
'^CVSROOT\/cvswrappers',
|
||||
'^CVSROOT\/.#cvswrappers',
|
||||
'^CVSROOT\/val-tags',
|
||||
'^CVSROOT\/.#val-tags',
|
||||
'^CVSROOT\/verifymsg',
|
||||
'^CVSROOT\/.#verifymsg',
|
||||
'^CVSROOT\/config',
|
||||
'^CVSROOT\/.#config',
|
||||
'^CVSROOT\/history',
|
||||
'^CVSROOT\/cvsignore',
|
||||
'^CVSROOT\/.#cvsignore' );
|
||||
|
||||
foreach my $ignore ( @ignore_files )
|
||||
{
|
||||
@@ -302,29 +322,18 @@ sub look_at_cvs_file
|
||||
sub get_history
|
||||
{
|
||||
my( $file ) = @_;
|
||||
$file =~ s/(["\$`\\])/\\$1/g;
|
||||
my @revisions;
|
||||
my $revision;
|
||||
my $ignore = 1;
|
||||
|
||||
my $save_ = $_;
|
||||
|
||||
open( FILE, "rlog -N \"$file\" 2>&1 |" ) or die( "unable to run rlog, help" );
|
||||
open( FILE, "rlog -N '$file' 2>&1 |" ) or die( "unable to run rlog, help" );
|
||||
|
||||
while( <FILE> )
|
||||
{
|
||||
#rlog outputs a "----" line before the actual revision
|
||||
#without this we'll pick up peoples comments if they
|
||||
#happen to start with revision
|
||||
if( /^----------------------------$/ )
|
||||
{
|
||||
$ignore = 0;
|
||||
next;
|
||||
}
|
||||
|
||||
if( ( !$ignore ) && ( ( $revision ) = m/^revision (\S+)/ ) )
|
||||
{
|
||||
push( @revisions, $revision );
|
||||
$ignore = 1;
|
||||
if( ( $revision ) = /^revision (.*)$/ )
|
||||
{
|
||||
push( @revisions, $revision );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -360,6 +369,9 @@ sub get_history
|
||||
#
|
||||
# COMMENTS :
|
||||
# cvs command line options are as followed:
|
||||
# -l - Do not log this command in the history file. I am
|
||||
# doing this because we will literaly be looking at
|
||||
# thousands of files with *lots* of revisions.
|
||||
# -n - Do not run any checkout program as specified by the -o
|
||||
# option in the modules file
|
||||
# -p - Put all output to standard out.
|
||||
@@ -371,12 +383,11 @@ sub get_history
|
||||
sub check_revision
|
||||
{
|
||||
my( $file, $revision ) = @_;
|
||||
$file =~ s/(["\$`\\])/\\$1/g;
|
||||
|
||||
my $cwd = getcwd();
|
||||
chdir( "/tmp" );
|
||||
|
||||
my $ret_code = 0xffff & system( "cvs co -n -p -r $revision \"$file\" > /dev/null 2>&1" );
|
||||
my $ret_code = 0xffff & system( "cvs -l co -n -p -r $revision '$file' > /dev/null 2>&1" );
|
||||
|
||||
chdir( $cwd );
|
||||
return( 1 ) if ( $ret_code == 0 );
|
||||
@@ -742,81 +753,3 @@ sub branch_split
|
||||
|
||||
return( $branch, pop( @split_rev ) );
|
||||
}
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# NAME :
|
||||
# get_ignore_files_from_cvsroot
|
||||
#
|
||||
# PURPOSE :
|
||||
# Retrieve the list of files from the CVSROOT/ directory
|
||||
# that should be ignored.
|
||||
# These are the regular files (e.g., commitinfo, loginfo)
|
||||
# and those specified in the checkoutlist file.
|
||||
#
|
||||
# PARAMETERS :
|
||||
# The CVSROOT
|
||||
#
|
||||
# GLOBALS :
|
||||
# NONE
|
||||
#
|
||||
# RETURNS :
|
||||
# @ignore - the list of files to ignore
|
||||
#
|
||||
# COMMENTS :
|
||||
# NONE
|
||||
#
|
||||
######################################################################
|
||||
sub get_ignore_files_from_cvsroot {
|
||||
my( $cvsroot ) = @_;
|
||||
my @ignore = ( 'CVS\/fileattr$',
|
||||
'^CVSROOT\/loginfo',
|
||||
'^CVSROOT\/.#loginfo',
|
||||
'^CVSROOT\/rcsinfo',
|
||||
'^CVSROOT\/.#rcsinfo',
|
||||
'^CVSROOT\/editinfo',
|
||||
'^CVSROOT\/.#editinfo',
|
||||
'^CVSROOT\/verifymsg',
|
||||
'^CVSROOT\/.#verifymsg',
|
||||
'^CVSROOT\/commitinfo',
|
||||
'^CVSROOT\/.#commitinfo',
|
||||
'^CVSROOT\/taginfo',
|
||||
'^CVSROOT\/.#taginfo',
|
||||
'^CVSROOT\/cvsignore',
|
||||
'^CVSROOT\/.#cvsignore',
|
||||
'^CVSROOT\/checkoutlist',
|
||||
'^CVSROOT\/.#checkoutlist',
|
||||
'^CVSROOT\/cvswrappers',
|
||||
'^CVSROOT\/.#cvswrappers',
|
||||
'^CVSROOT\/notify',
|
||||
'^CVSROOT\/.#notify',
|
||||
'^CVSROOT\/modules',
|
||||
'^CVSROOT\/.#modules',
|
||||
'^CVSROOT\/readers',
|
||||
'^CVSROOT\/.#readers',
|
||||
'^CVSROOT\/writers',
|
||||
'^CVSROOT\/.#writers',
|
||||
'^CVSROOT\/passwd',
|
||||
'^CVSROOT\/config',
|
||||
'^CVSROOT\/.#config',
|
||||
'^CVSROOT\/val-tags',
|
||||
'^CVSROOT\/.#val-tags',
|
||||
'^CVSROOT\/history' );
|
||||
my $checkoutlist_file = "$cvsroot\/CVSROOT\/checkoutlist";
|
||||
open( CHECKOUTLIST, "<$cvsroot\/CVSROOT\/checkoutlist" )
|
||||
or die( "Unable to read checkoutlist file: $!\n" );
|
||||
|
||||
my @list = <CHECKOUTLIST>;
|
||||
chomp( @list );
|
||||
close( CHECKOUTLIST )
|
||||
or die( "Unable to close checkoutlist file: $!\n" );
|
||||
|
||||
foreach my $line( @list )
|
||||
{
|
||||
next if( $line =~ /^#/ || $line =~ /^$/ );
|
||||
if( $line =~ /^\s*(\S*)\s*/ ) { $line = $1 };
|
||||
push( @ignore, "^CVSROOT\/$line", "^CVSROOT\/\.#$line" );
|
||||
}
|
||||
|
||||
return @ignore;
|
||||
}
|
||||
@@ -1,56 +1,215 @@
|
||||
#! @PERL@
|
||||
# -*-Perl-*-
|
||||
#
|
||||
#
|
||||
# Perl filter to handle pre-commit checking of files. This program
|
||||
# records the last directory where commits will be taking place for
|
||||
# use by the log_accum.pl script.
|
||||
# use by the log_accum.pl script. For new files, it forces the
|
||||
# existence of a RCS "Id" keyword in the first ten lines of the file.
|
||||
# For existing files, it checks version number in the "Id" line to
|
||||
# prevent losing changes because an old version of a file was copied
|
||||
# into the direcory.
|
||||
#
|
||||
# Possible future enhancements:
|
||||
#
|
||||
# Check for cruft left by unresolved conflicts. Search for
|
||||
# "^<<<<<<<$", "^-------$", and "^>>>>>>>$".
|
||||
#
|
||||
# Look for a copyright and automagically update it to the
|
||||
# current year. [[ bad idea! -- woods ]]
|
||||
#
|
||||
# IMPORTANT: this script interacts with log_accum, they have to agree
|
||||
# on the tmpfile name to use. See $LAST_FILE below.
|
||||
#
|
||||
# Contributed by David Hampton <[email protected]>
|
||||
# Stripped to minimum by Roy Fielding
|
||||
#
|
||||
############################################################
|
||||
$TMPDIR = $ENV{'TMPDIR'} || '/tmp';
|
||||
$FILE_PREFIX = '#cvs.';
|
||||
# Hacked on lots by Greg A. Woods <[email protected]>
|
||||
|
||||
# If see a "-u $USER" argument, then destructively remove it from the
|
||||
# argument list, so $ARGV[0] will be the repository dir again, as it
|
||||
# used to be before we added the -u flag.
|
||||
if ($ARGV[0] eq '-u') {
|
||||
shift @ARGV;
|
||||
$CVS_USERNAME = shift (@ARGV);
|
||||
}
|
||||
#
|
||||
# Configurable options
|
||||
#
|
||||
|
||||
# This needs to match the corresponding var in log_accum.pl, including
|
||||
# the appending of the pgrp and username suffixes (see uses of this
|
||||
# var farther down).
|
||||
$LAST_FILE = "$TMPDIR/${FILE_PREFIX}lastdir";
|
||||
# Constants (remember to protect strings from RCS keyword substitution)
|
||||
#
|
||||
$LAST_FILE = "/tmp/#cvs.lastdir"; # must match name in log_accum.pl
|
||||
$ENTRIES = "CVS/Entries";
|
||||
|
||||
# Patterns to find $Log keywords in files
|
||||
#
|
||||
$LogString1 = "\\\$\\Log: .* \\\$";
|
||||
$LogString2 = "\\\$\\Log\\\$";
|
||||
$NoLog = "%s - contains an RCS \$Log keyword. It must not!\n";
|
||||
|
||||
# pattern to match an RCS Id keyword line with an existing ID
|
||||
#
|
||||
$IDstring = "\"@\\(#\\)[^:]*:.*\\\$\Id: .*\\\$\"";
|
||||
$NoId = "
|
||||
%s - Does not contain a properly formatted line with the keyword \"Id:\".
|
||||
I.e. no lines match \"" . $IDstring . "\".
|
||||
Please see the template files for an example.\n";
|
||||
|
||||
# pattern to match an RCS Id keyword line for a new file (i.e. un-expanded)
|
||||
#
|
||||
$NewId = "\"@(#)[^:]*:.*\\$\Id\\$\"";
|
||||
|
||||
$NoName = "
|
||||
%s - The ID line should contain only \"@(#)module/path:\$Name\$:\$\Id\$\"
|
||||
for a newly created file.\n";
|
||||
|
||||
$BadName = "
|
||||
%s - The file name '%s' in the ID line does not match
|
||||
the actual filename.\n";
|
||||
|
||||
$BadVersion = "
|
||||
%s - How dare you!!! You replaced your copy of the file '%s',
|
||||
which was based upon version %s, with an %s version based
|
||||
upon %s. Please move your '%s' out of the way, perform an
|
||||
update to get the current version, and them merge your changes
|
||||
into that file, then try the commit again.\n";
|
||||
|
||||
#
|
||||
# Subroutines
|
||||
#
|
||||
|
||||
sub write_line {
|
||||
my ($filename, $line) = @_;
|
||||
|
||||
# A check of some kind is needed here, but the rules aren't apparent
|
||||
# at the moment:
|
||||
|
||||
# foreach($filename, $line){
|
||||
# $_ =~ m#^([-\@\w.\#]+)$#;
|
||||
# $_ = $1;
|
||||
# }
|
||||
|
||||
open(FILE, ">$filename") || die("Cannot open $filename: $!\n");
|
||||
local($filename, $line) = @_;
|
||||
open(FILE, ">$filename") || die("Cannot open $filename, stopped");
|
||||
print(FILE $line, "\n");
|
||||
close(FILE);
|
||||
}
|
||||
|
||||
sub check_version {
|
||||
local($i, $id, $rname, $version);
|
||||
local($filename, $cvsversion) = @_;
|
||||
|
||||
open(FILE, "<$filename") || return(0);
|
||||
|
||||
@all_lines = ();
|
||||
$idpos = -1;
|
||||
$newidpos = -1;
|
||||
for ($i = 0; <FILE>; $i++) {
|
||||
chop;
|
||||
push(@all_lines, $_);
|
||||
if ($_ =~ /$IDstring/) {
|
||||
$idpos = $i;
|
||||
}
|
||||
if ($_ =~ /$NewId/) {
|
||||
$newidpos = $i;
|
||||
}
|
||||
}
|
||||
|
||||
if (grep(/$LogString1/, @all_lines) || grep(/$LogString2/, @all_lines)) {
|
||||
print STDERR sprintf($NoLog, $filename);
|
||||
return(1);
|
||||
}
|
||||
|
||||
if ($debug != 0) {
|
||||
print STDERR sprintf("file = %s, version = %d.\n", $filename, $cvsversion{$filename});
|
||||
}
|
||||
|
||||
if ($cvsversion{$filename} == 0) {
|
||||
if ($newidpos != -1 && $all_lines[$newidpos] !~ /$NewId/) {
|
||||
print STDERR sprintf($NoName, $filename);
|
||||
return(1);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
if ($idpos == -1) {
|
||||
print STDERR sprintf($NoId, $filename);
|
||||
return(1);
|
||||
}
|
||||
|
||||
$line = $all_lines[$idpos];
|
||||
$pos = index($line, "Id: ");
|
||||
if ($debug != 0) {
|
||||
print STDERR sprintf("%d in '%s'.\n", $pos, $line);
|
||||
}
|
||||
($id, $rname, $version) = split(' ', substr($line, $pos));
|
||||
if ($rname ne "$filename,v") {
|
||||
print STDERR sprintf($BadName, $filename, substr($rname, 0, length($rname)-2));
|
||||
return(1);
|
||||
}
|
||||
if ($cvsversion{$filename} < $version) {
|
||||
print STDERR sprintf($BadVersion, $filename, $filename, $cvsversion{$filename},
|
||||
"newer", $version, $filename);
|
||||
return(1);
|
||||
}
|
||||
if ($cvsversion{$filename} > $version) {
|
||||
print STDERR sprintf($BadVersion, $filename, $filename, $cvsversion{$filename},
|
||||
"older", $version, $filename);
|
||||
return(1);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
#
|
||||
# Main Body
|
||||
#
|
||||
|
||||
$id = getpgrp(); # You *must* use a shell that does setpgrp()!
|
||||
|
||||
# Check each file (except dot files) for an RCS "Id" keyword.
|
||||
#
|
||||
$check_id = 0;
|
||||
|
||||
# Record the directory for later use by the log_accumulate stript.
|
||||
#
|
||||
$record_directory = 0;
|
||||
|
||||
# parse command line arguments
|
||||
#
|
||||
while (@ARGV) {
|
||||
$arg = shift @ARGV;
|
||||
|
||||
if ($arg eq '-d') {
|
||||
$debug = 1;
|
||||
print STDERR "Debug turned on...\n";
|
||||
} elsif ($arg eq '-c') {
|
||||
$check_id = 1;
|
||||
} elsif ($arg eq '-r') {
|
||||
$record_directory = 1;
|
||||
} else {
|
||||
push(@files, $arg);
|
||||
}
|
||||
}
|
||||
|
||||
$directory = shift @files;
|
||||
|
||||
if ($debug != 0) {
|
||||
print STDERR "dir - ", $directory, "\n";
|
||||
print STDERR "files - ", join(":", @files), "\n";
|
||||
print STDERR "id - ", $id, "\n";
|
||||
}
|
||||
|
||||
# Suck in the CVS/Entries file
|
||||
#
|
||||
open(ENTRIES, $ENTRIES) || die("Cannot open $ENTRIES.\n");
|
||||
while (<ENTRIES>) {
|
||||
local($filename, $version) = split('/', substr($_, 1));
|
||||
$cvsversion{$filename} = $version;
|
||||
}
|
||||
|
||||
# Now check each file name passed in, except for dot files. Dot files
|
||||
# are considered to be administrative files by this script.
|
||||
#
|
||||
if ($check_id != 0) {
|
||||
$failed = 0;
|
||||
foreach $arg (@files) {
|
||||
if (index($arg, ".") == 0) {
|
||||
next;
|
||||
}
|
||||
$failed += &check_version($arg);
|
||||
}
|
||||
if ($failed) {
|
||||
print STDERR "\n";
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
# Record this directory as the last one checked. This will be used
|
||||
# by the log_accumulate script to determine when it is processing
|
||||
# the final directory of a multi-directory commit.
|
||||
#
|
||||
$id = getpgrp();
|
||||
|
||||
&write_line("$LAST_FILE.$id.$CVS_USERNAME", $ARGV[0]);
|
||||
|
||||
if ($record_directory != 0) {
|
||||
&write_line("$LAST_FILE.$id", $directory);
|
||||
}
|
||||
exit(0);
|
||||
@@ -42,11 +42,6 @@ rm -f $revfile
|
||||
commentfile=/tmp/cvs2vendor_$$_comment
|
||||
rm -f $commentfile
|
||||
|
||||
if sort -k 1,1 /dev/null 2>/dev/null
|
||||
then sort_each_field='-k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9'
|
||||
else sort_each_field='+0 +1 +2 +3 +4 +5 +6 +7 +8'
|
||||
fi
|
||||
|
||||
srcdirs=`cd $tsrcdir && find . -type d -print | sed 's~^\.[/]*~~'`
|
||||
|
||||
# the "" is a trick to get $tsrcdir itself without resorting to '.'
|
||||
@@ -73,7 +68,7 @@ for ldir in "" $srcdirs; do
|
||||
fi
|
||||
|
||||
# work on each rev of that file in ascending order
|
||||
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u $sort_each_field | sed -e 's/ /./g' > $revfile
|
||||
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile
|
||||
|
||||
for rev in `cat $revfile`; do
|
||||
|
||||
|
||||
+413
-557
File diff suppressed because it is too large.
Load diff
@@ -31,7 +31,7 @@ Report bugs to <[email protected]>.'
|
||||
|
||||
Id='$Id: rcs2log,v 1.48 2001/09/05 23:07:46 eggert Exp $'
|
||||
|
||||
# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001, 2003
|
||||
# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2001
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -49,16 +49,13 @@ Id='$Id: rcs2log,v 1.48 2001/09/05 23:07:46 eggert Exp $'
|
||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
Copyright='Copyright 1992-2003 Free Software Foundation, Inc.
|
||||
Copyright='Copyright 2001 Free Software Foundation, Inc.
|
||||
This program comes with NO WARRANTY, to the extent permitted by law.
|
||||
You may redistribute copies of this program
|
||||
under the terms of the GNU General Public License.
|
||||
For more information about these matters, see the files named COPYING.
|
||||
Author: Paul Eggert <[email protected]>'
|
||||
|
||||
# functions
|
||||
@MKTEMP_SH_FUNCTION@
|
||||
|
||||
# Use the traditional C locale.
|
||||
LANG=C
|
||||
LANGUAGE=C
|
||||
@@ -82,10 +79,8 @@ nl='
|
||||
# Parse options.
|
||||
|
||||
# defaults
|
||||
: ${MKTEMP="@MKTEMP@"}
|
||||
: ${AWK=awk}
|
||||
: ${TMPDIR=/tmp}
|
||||
|
||||
changelog=ChangeLog # change log file name
|
||||
datearg= # rlog date option
|
||||
hostname= # name of local host (if empty, will deduce it later)
|
||||
@@ -187,11 +182,11 @@ month_data='
|
||||
m[9]="Oct"; m[10]="Nov"; m[11]="Dec"
|
||||
'
|
||||
|
||||
logdir=`$MKTEMP -d $TMPDIR/rcs2log.XXXXXX`
|
||||
test -n "$logdir" || exit
|
||||
logdir=$TMPDIR/rcs2log$$
|
||||
llogout=$logdir/l
|
||||
trap exit 1 2 13 15
|
||||
trap "rm -fr $logdir 2>/dev/null" 0
|
||||
(umask 077 && exec mkdir $logdir) || exit
|
||||
|
||||
# If no rlog-format log file is given, generate one into $rlogfile.
|
||||
case $rlogfile in
|
||||
|
||||
@@ -42,17 +42,13 @@ cp $tmpfile $sedfile
|
||||
############################################################
|
||||
# Loop over every RCS file in RCS dir
|
||||
#
|
||||
if sort -k 1,1 /dev/null 2>/dev/null
|
||||
then sort_each_field='-k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9'
|
||||
else sort_each_field='+0 +1 +2 +3 +4 +5 +6 +7 +8'
|
||||
fi
|
||||
for vfile in *,v; do
|
||||
# get rid of the ",v" at the end of the name
|
||||
file=`echo $vfile | sed -e 's/,v$//'`
|
||||
|
||||
# work on each rev of that file in ascending order
|
||||
firsttime=1
|
||||
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u $sort_each_field | sed -e 's/ /./g' > $revfile
|
||||
rlog $file | grep "^revision [0-9][0-9]*\." | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile
|
||||
for rev in `cat $revfile`; do
|
||||
if [ $? != 0 ]; then
|
||||
echo ERROR - revision
|
||||
|
||||
@@ -42,12 +42,6 @@
|
||||
# ...!harvard!cg-atla!viewlog!kenstir
|
||||
#
|
||||
# Various hacks made by Brian Berliner before inclusion in CVS contrib area.
|
||||
#
|
||||
# Modified to detect SCCS binary files. If binary, skip the keyword
|
||||
# substitution and flag the RCS file as binary (using rcs -i -kb).
|
||||
# -Allan G. Schrum [email protected] [email protected]
|
||||
# Fri Sep 26 10:40:40 EDT 2003
|
||||
#
|
||||
# $FreeBSD$
|
||||
|
||||
|
||||
@@ -170,13 +164,6 @@ end
|
||||
|
||||
onintr ERROR
|
||||
|
||||
sort -k 1,1 /dev/null >& /dev/null
|
||||
if ($status == 0) then
|
||||
set sort_each_field = '-k 1 -k 2 -k 3 -k 4 -k 5 -k 6 -k 7 -k 8 -k 9'
|
||||
else
|
||||
set sort_each_field = '+0 +1 +2 +3 +4 +5 +6 +7 +8'
|
||||
endif
|
||||
|
||||
############################################################
|
||||
# Loop over every s-file in SCCS dir
|
||||
#
|
||||
@@ -186,18 +173,7 @@ foreach sfile (SCCS/s.*)
|
||||
|
||||
# work on each rev of that file in ascending order
|
||||
set firsttime = 1
|
||||
|
||||
# Only scan the file up to the "I" keyword, then see if
|
||||
# the "f" keyword is set to binary. The SCCS file has
|
||||
# <ctrl>-aI denoting the start of the file (or end of header).
|
||||
set binary = (`sed -e '/^.I/,$d' < $sfile | grep '^.f e 1$'`)
|
||||
#if ($#binary) then
|
||||
# echo This is a binary file
|
||||
#else
|
||||
# echo This is not a binary file
|
||||
#endif
|
||||
|
||||
sccs prs $file | grep "^D " | @AWK@ '{print $2}' | sed -e 's/\./ /g' | sort -n -u $sort_each_field | sed -e 's/ /./g' > $revfile
|
||||
sccs prs $file | grep "^D " | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile
|
||||
foreach rev (`cat $revfile`)
|
||||
if ($status != 0) goto ERROR
|
||||
|
||||
@@ -206,34 +182,23 @@ foreach sfile (SCCS/s.*)
|
||||
# Is the substr stuff and the +0 in the following awk script really
|
||||
# necessary? It seems to me that if we didn't find the date format
|
||||
# we expected in the output we have other problems.
|
||||
# Note: Solaris awk does not like the following line. Use gawk
|
||||
# mawk, or nawk instead.
|
||||
set date = `sccs prs -r$rev $file | @AWK@ '/^D / {print (substr($3,0,2)+0<70?20:19) $3, $4; exit}'`
|
||||
set author = `sccs prs -r$rev $file | @AWK@ '/^D / {print $5; exit}'`
|
||||
set date = `sccs prs -r$rev $file | awk '/^D / {print (substr($3,0,2)+0<70?20:19) $3, $4; exit}'`
|
||||
set author = `sccs prs -r$rev $file | awk '/^D / {print $5; exit}'`
|
||||
echo ""
|
||||
echo "==> file $file, rev=$rev, date=$date, author=$author"
|
||||
sccs edit -r$rev $file >>& $logfile
|
||||
if ($status != 0) goto ERROR
|
||||
echo checked out of SCCS
|
||||
|
||||
# add RCS keywords in place of SCCS keywords (only if not binary)
|
||||
if ($#binary == 0) then
|
||||
sed -f $sedfile $file > $tmpfile
|
||||
if ($status != 0) goto ERROR
|
||||
echo performed keyword substitutions
|
||||
cp $tmpfile $file
|
||||
endif
|
||||
# add RCS keywords in place of SCCS keywords
|
||||
sed -f $sedfile $file > $tmpfile
|
||||
if ($status != 0) goto ERROR
|
||||
echo performed keyword substitutions
|
||||
cp $tmpfile $file
|
||||
|
||||
# check file into RCS
|
||||
if ($firsttime) then
|
||||
set firsttime = 0
|
||||
|
||||
if ($#binary) then
|
||||
echo this is a binary file
|
||||
# Mark initial, empty file as binary
|
||||
rcs -i -kb -t$emptyfile $file
|
||||
endif
|
||||
|
||||
if ($nodesc) then
|
||||
echo about to do ci
|
||||
echo ci -f -r$rev -d"$date" -w$author -t$emptyfile $file
|
||||
|
||||
+118
-200
@@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
|
||||
# Copyright 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -18,11 +18,6 @@
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <[email protected]>.
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
@@ -31,16 +26,7 @@ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
fi
|
||||
# `libtool' can also be set to `yes' or `no'.
|
||||
|
||||
if test -z "$depfile"; then
|
||||
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
|
||||
dir=`echo "$object" | sed 's,/.*$,/,'`
|
||||
if test "$dir" = "$object"; then
|
||||
dir=
|
||||
fi
|
||||
# FIXME: should be _deps on DOS.
|
||||
depfile="$dir.deps/$base"
|
||||
fi
|
||||
|
||||
depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
@@ -64,9 +50,8 @@ fi
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
||||
## we want. Yay!
|
||||
"$@" -MT "$object" -MF "$tmpdepfile" -MD -MP
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
@@ -172,25 +157,19 @@ sgi)
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
||||
# in a .u file. This file always lives in the current directory.
|
||||
# Also, the AIX compiler puts `$object:' at the start of each line;
|
||||
# $object doesn't have directory information.
|
||||
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
outname="$stripped.o"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
"$@" -M
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
|
||||
if test -f "$tmpdepfile"; then :
|
||||
else
|
||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
||||
tmpdepfile="$stripped.u"
|
||||
fi
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
@@ -198,7 +177,6 @@ aix)
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
outname="$stripped.o"
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
@@ -213,80 +191,29 @@ aix)
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler understands `-MD -MF file'. However on
|
||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want:
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using \ :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||
sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# The Tru64 AIX compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
tmpdepfile="$object.d"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1="$dir.libs/$base.lo.d"
|
||||
tmpdepfile2="$dir.libs/$base.d"
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1="$dir$base.o.d"
|
||||
tmpdepfile2="$dir$base.d"
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile1"; then
|
||||
tmpdepfile="$tmpdepfile1"
|
||||
else
|
||||
tmpdepfile="$tmpdepfile2"
|
||||
fi
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
# That's a space and a tab in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
@@ -299,42 +226,34 @@ tru64)
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
# always write the proprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
( IFS=" "
|
||||
case " $* " in
|
||||
*" --mode=compile "*) # this is libtool, let us make it quiet
|
||||
for arg
|
||||
do # cycle over the arguments
|
||||
case "$arg" in
|
||||
"--mode=compile")
|
||||
# insert --quiet before "--mode=compile"
|
||||
set fnord "$@" --quiet
|
||||
shift # fnord
|
||||
;;
|
||||
esac
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # "$arg"
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for `:'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
"$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
) &
|
||||
proc=$!
|
||||
"$@"
|
||||
stat=$?
|
||||
wait "$proc"
|
||||
if test "$stat" != 0; then exit $stat; fi
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' '
|
||||
@@ -352,40 +271,36 @@ dashXmstdout)
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
(
|
||||
shift
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in no)
|
||||
set ""; shift
|
||||
cleared=yes
|
||||
esac
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift;;
|
||||
-*)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift;;
|
||||
esac
|
||||
done
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
) &
|
||||
proc=$!
|
||||
"$@"
|
||||
stat=$?
|
||||
wait "$proc"
|
||||
if test "$stat" != 0; then exit $stat; fi
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||
tail +3 "$tmpdepfile" | tr ' ' '
|
||||
' | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
@@ -395,39 +310,35 @@ makedepend)
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
# always write the proprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
( IFS=" "
|
||||
case " $* " in
|
||||
*" --mode=compile "*)
|
||||
for arg
|
||||
do # cycle over the arguments
|
||||
case $arg in
|
||||
"--mode=compile")
|
||||
# insert --quiet before "--mode=compile"
|
||||
set fnord "$@" --quiet
|
||||
shift # fnord
|
||||
;;
|
||||
esac
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # "$arg"
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
"$@" -E |
|
||||
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
) &
|
||||
proc=$!
|
||||
"$@"
|
||||
stat=$?
|
||||
wait "$proc"
|
||||
if test "$stat" != 0; then exit $stat; fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
@@ -437,27 +348,34 @@ cpp)
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o,
|
||||
# always write the proprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
"$@" || exit $?
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
( IFS=" "
|
||||
case " $* " in
|
||||
*" --mode=compile "*)
|
||||
for arg
|
||||
do # cycle over the arguments
|
||||
case $arg in
|
||||
"--mode=compile")
|
||||
# insert --quiet before "--mode=compile"
|
||||
set fnord "$@" --quiet
|
||||
shift # fnord
|
||||
;;
|
||||
esac
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
shift # fnord
|
||||
shift # "$arg"
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
) &
|
||||
proc=$!
|
||||
"$@"
|
||||
stat=$?
|
||||
wait "$proc"
|
||||
if test "$stat" != 0; then exit $stat; fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
|
||||
@@ -1,54 +1,3 @@
|
||||
2004-05-15 Derek Price <[email protected]>
|
||||
|
||||
* libdiff.dsp: Header file list updated.
|
||||
* libdiff.dep: Regenerated for "libdiff.dsp" changes.
|
||||
* libdiff.mak: Regenerated for "libdiff.dsp" changes.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
2004-05-13 Derek Price <[email protected]>
|
||||
|
||||
* .cvsignore: Changed for "libdiff.dsp" changes.
|
||||
* libdiff.dep: Added for "../cvsnt.dsw" changes.
|
||||
* libdiff.dsp: Changed for "../cvsnt.dsw" changes.
|
||||
* libdiff.mak: Regenerated for "../cvsnt.dsw" changes.
|
||||
(Patch from Conrad Pino <[email protected]>.)
|
||||
|
||||
2004-03-20 Derek Price <[email protected]>
|
||||
|
||||
* diff.c (diff_run): Update string arg to const.
|
||||
* diffrun.h: Update prototype to match.
|
||||
|
||||
2003-07-12 Larry Jones <[email protected]>
|
||||
|
||||
* io.c (find_identical_ends): Update to match current diffutils
|
||||
code and improve handling of files with no newline at end.
|
||||
(Patch from Andrew Moise <[email protected]>.)
|
||||
|
||||
2003-06-13 Derek Price <[email protected]>
|
||||
|
||||
* diff3.c (read_diff): Fix memory leak.
|
||||
(Patch from Kenneth Lorber <[email protected]>.)
|
||||
|
||||
2003-05-21 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerate with Automake version 1.7.5.
|
||||
|
||||
2003-05-09 Derek Price <[email protected]>
|
||||
|
||||
* system.h: Define S_ISSOCK on SCO OpenServer.
|
||||
|
||||
2003-04-10 Larry Jones <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-02-01 Larry Jones <[email protected]>
|
||||
|
||||
* util.c (finish_output): Handle EINTR from waitpid.
|
||||
|
||||
2002-09-24 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated using Automake 1.6.3.
|
||||
|
||||
@@ -21,5 +21,4 @@ libdiff_a_SOURCES = diff.c diff3.c analyze.c cmpbuf.c cmpbuf.h io.c \
|
||||
context.c ed.c normal.c ifdef.c util.c dir.c version.c diff.h \
|
||||
side.c system.h diffrun.h
|
||||
|
||||
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note \
|
||||
libdiff.dep libdiff.dsp libdiff.mak
|
||||
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note libdiff.dsp
|
||||
+71
-145
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.7.9 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -13,117 +13,79 @@
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
transform = @program_transform_name@
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CSH = @CSH@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EDITOR = @EDITOR@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KRB4 = @KRB4@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
|
||||
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
|
||||
MKTEMP = @MKTEMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_prefix_program = @ac_prefix_program@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
includeopt = @includeopt@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/lib
|
||||
|
||||
@@ -134,11 +96,8 @@ libdiff_a_SOURCES = diff.c diff3.c analyze.c cmpbuf.c cmpbuf.h io.c \
|
||||
side.c system.h diffrun.h
|
||||
|
||||
|
||||
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note \
|
||||
libdiff.dep libdiff.dsp libdiff.mak
|
||||
|
||||
EXTRA_DIST = ChangeLog build_diff.com diagmeet.note libdiff.dsp
|
||||
subdir = diff
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
@@ -152,7 +111,11 @@ am_libdiff_a_OBJECTS = diff.$(OBJEXT) diff3.$(OBJEXT) analyze.$(OBJEXT) \
|
||||
version.$(OBJEXT) side.$(OBJEXT)
|
||||
libdiff_a_OBJECTS = $(am_libdiff_a_OBJECTS)
|
||||
|
||||
DEFS = @DEFS@
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/analyze.Po ./$(DEPDIR)/cmpbuf.Po \
|
||||
@@ -166,18 +129,19 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
CFLAGS = @CFLAGS@
|
||||
DIST_SOURCES = $(libdiff_a_SOURCES)
|
||||
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am
|
||||
DIST_COMMON = ChangeLog Makefile.am Makefile.in
|
||||
SOURCES = $(libdiff_a_SOURCES)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu diff/Makefile
|
||||
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
|
||||
AR = ar
|
||||
@@ -209,35 +173,26 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf ./$(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
|
||||
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(COMPILE) -c `cygpath -w $<`
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
uninstall-info-am:
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
CTAGS = ctags
|
||||
CTAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
@@ -263,41 +218,20 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
@list='$(DISTFILES)'; for file in $$list; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
@@ -322,6 +256,7 @@ check: check-am
|
||||
all-am: Makefile $(LIBRARIES)
|
||||
|
||||
installdirs:
|
||||
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
@@ -333,7 +268,7 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
@@ -341,7 +276,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -351,10 +286,9 @@ clean: clean-am
|
||||
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
@@ -375,33 +309,25 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES ctags distclean distclean-compile \
|
||||
distclean-generic distclean-tags distdir dvi dvi-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
|
||||
ps ps-am tags uninstall uninstall-am uninstall-info-am
|
||||
.PHONY: GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES distclean distclean-compile \
|
||||
distclean-depend distclean-generic distclean-tags distdir dvi \
|
||||
dvi-am info info-am install install-am install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic tags uninstall uninstall-am \
|
||||
uninstall-info-am
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
||||
@@ -233,13 +233,11 @@ static struct option const longopts[] =
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
|
||||
|
||||
int
|
||||
diff_run (argc, argv, out, callbacks_arg)
|
||||
int argc;
|
||||
char *argv[];
|
||||
const char *out;
|
||||
char *out;
|
||||
const struct diff_callbacks *callbacks_arg;
|
||||
{
|
||||
int val;
|
||||
|
||||
@@ -1363,7 +1363,6 @@ read_diff (filea, fileb, output_placement)
|
||||
if (close (fd) != 0)
|
||||
diff3_perror_with_exit ("pipe close");
|
||||
unlink (diffout);
|
||||
free( diffout );
|
||||
|
||||
return diff_result + total;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ struct diff_callbacks
|
||||
|
||||
/* Run a diff. */
|
||||
|
||||
extern int diff_run DIFFPARAMS((int, char **, const char *,
|
||||
extern int diff_run DIFFPARAMS((int, char **, char *,
|
||||
const struct diff_callbacks *));
|
||||
|
||||
/* Run a diff3. */
|
||||
|
||||
@@ -508,10 +508,11 @@ find_identical_ends (filevec)
|
||||
beg0 = filevec[0].prefix_end + (n0 < n1 ? 0 : n0 - n1);
|
||||
|
||||
/* Scan back until chars don't match or we reach that point. */
|
||||
for (; p0 != beg0; p0--, p1--)
|
||||
if (*p0 != *p1)
|
||||
while (p0 != beg0)
|
||||
if (*--p0 != *--p1)
|
||||
{
|
||||
/* Point at the first char of the matching suffix. */
|
||||
++p0, ++p1;
|
||||
beg0 = p0;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -61,19 +61,9 @@ GNU General Public License for more details.
|
||||
#if !defined(S_ISFIFO) && defined(S_IFFIFO)
|
||||
#define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFFIFO)
|
||||
#endif
|
||||
|
||||
#ifndef S_ISSOCK
|
||||
# if defined( S_IFSOCK )
|
||||
# ifdef S_IFMT
|
||||
# define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK)
|
||||
# else
|
||||
# define S_ISSOCK(mode) ((mode) & S_IFSOCK)
|
||||
# endif /* S_IFMT */
|
||||
# elif defined( S_ISNAM )
|
||||
/* SCO OpenServer 5.0.6a */
|
||||
# define S_ISSOCK S_ISNAM
|
||||
# endif /* !S_IFSOCK && S_ISNAM */
|
||||
#endif /* !S_ISSOCK */
|
||||
#if !defined(S_ISSOCK) && defined(S_IFSOCK)
|
||||
#define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK)
|
||||
#endif
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -300,7 +300,7 @@ finish_output ()
|
||||
if (paginate_flag && outfile != 0 && outfile != stdout)
|
||||
{
|
||||
#ifdef PR_PROGRAM
|
||||
int wstatus, w;
|
||||
int wstatus;
|
||||
if (ferror (outfile))
|
||||
fatal ("write error");
|
||||
# if ! HAVE_FORK
|
||||
@@ -308,9 +308,7 @@ finish_output ()
|
||||
# else /* HAVE_FORK */
|
||||
if (fclose (outfile) != 0)
|
||||
pfatal_with_name ("write error");
|
||||
while ((w = waitpid (pr_pid, &wstatus, 0)) < 0 && errno == EINTR)
|
||||
;
|
||||
if (w < 0)
|
||||
if (waitpid (pr_pid, &wstatus, 0) < 0)
|
||||
pfatal_with_name ("waitpid");
|
||||
# endif /* HAVE_FORK */
|
||||
if (wstatus != 0)
|
||||
|
||||
+1
-523
@@ -1,525 +1,3 @@
|
||||
2004-05-28 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Global options): Remove reference to global -l option.
|
||||
(Report from Kevin Bulgrien <[email protected]>.)
|
||||
|
||||
2004-05-14 Mark D. Baushke <[email protected]>
|
||||
|
||||
* cvs.texinfo: Fix makeinfo error.
|
||||
|
||||
* cvs.texinfo (Adding files): Minor cleanup.
|
||||
(Using keywords): Minor cleanup.
|
||||
(annotate): Move into the manual section, split into three nodes.
|
||||
(annotate options): New node.
|
||||
(annotate example): New node.
|
||||
(based on patch from Steve McIntyre <[email protected]>.)
|
||||
(Locks, GSSAPI authenticated): Minor cleanup.
|
||||
(Sticky tags): Clarify operation.
|
||||
(Locks): Spelling fix.
|
||||
(Merging adds and removals): Ditto.
|
||||
(Invoking CVS): Ditto
|
||||
(Builds): Grammar fix.
|
||||
(Line group formats): Ditto
|
||||
(Line group formats, Line formats): Ditto
|
||||
(commit files): Ditto.
|
||||
* cvs.1, stamp-vti, version.texi: Regenerated
|
||||
|
||||
2004-05-12 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Clarify status messages.
|
||||
|
||||
2004-05-10 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Organize & tidy comments. Check for unprocessed texinfo
|
||||
commands. Output better error messages on finding unprocessed texinfo
|
||||
commands.
|
||||
(do_keyword, keyword_mode): Accept $file argument for error messages.
|
||||
|
||||
2004-05-06 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Require Perl 5.005. Add comments. Remove duplicate s///.
|
||||
Handle @:.
|
||||
|
||||
2004-05-06 Derek Price <[email protected]>
|
||||
|
||||
* cvs.man.header: Minor text correction.
|
||||
* mkman.in: Ignore @need keyword. Restore previous font for nested
|
||||
keywords.
|
||||
(do_keyword): Ditto on fonts. Move some functionality to...
|
||||
(keyword_mode): ...this new function.
|
||||
|
||||
2004-05-06 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Handle keywords that cross multiple lines.
|
||||
(do_keyword): New function.
|
||||
|
||||
2004-05-04 Derek Price <[email protected]>
|
||||
|
||||
* cvs.man.header, cvs.man.footer: Reference `info CVS' rather than
|
||||
`info cvs' to send users to the top node.
|
||||
|
||||
2004-05-03 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am: mkman is built in the build dir, not $(srcdir).
|
||||
(Report from Mark D. Baushke <[email protected]>.)
|
||||
|
||||
2004-05-03 Derek Price <[email protected]>
|
||||
|
||||
* HACKING.DOCS: Fix spelling error. Add reference for @strong.
|
||||
(Report from Mark D. Baushke <[email protected]>.)
|
||||
|
||||
* HACKING.DOCS: Note dependency on `makeinfo' 3.11 & greater.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Handle single quotes better. Parse out some redundancy
|
||||
from node and section names.
|
||||
* cvs.man.footer: Replace some quotes with the usual bold font.
|
||||
Reformat links in the SEE ALSO section.
|
||||
* cvs.1: Regenerated.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Handle examples better. Protect a few more characters.
|
||||
* cvs.1, stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* cvs.man.header: Add copyright notice.
|
||||
* cvs.1: Regenerated.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Add copyright and license notice.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
* mkman.in: Handle @@.
|
||||
* cvs.1: Regenerated.
|
||||
|
||||
2004-04-30 Derek Price <[email protected]>
|
||||
|
||||
First pass at closing issue #3 on cvshome.org.
|
||||
* .cvsignore: Ignore mkman.
|
||||
* cvs.1, mkman.in, cvs.man.header, cvs.man.footer: New files.
|
||||
* cvs.texinfo: Add cut tags for mkman.
|
||||
* Makefile.in (man_MANS): Add cvs.1.
|
||||
(EXTRA_DIST): Add cvs.man.header & cvs.man.footer.
|
||||
(cvs.1, mkman): New targets.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2004-04-23 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Update years in Copyright.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-04-21 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Use splitrcskeyword macro consistently in a failed
|
||||
attempt to avoid a warning during PDF generation.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-04-18 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Various spelling, typo, and capitalization fixes.
|
||||
(Patch from Ville Skyttä <[email protected]>.)
|
||||
|
||||
2004-04-06 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (Assigning revisions): Note that client/server mode
|
||||
only considers files sent to the server to determine the major
|
||||
revision for new files.
|
||||
(Reported by Krzysztof GORBIEL <[email protected]>.)
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-03-15 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-03-11 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (loginfo, Error messages): Note that not reading all of
|
||||
the log info can result in a broken pipe signal.
|
||||
(Reported by Steven Nicoloso <[email protected]>.)
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-02-04 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (File Permissions): Clarify index entry.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-01-22 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2004-01-08 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (user-defined logging): Move taginfo stuff from here...
|
||||
(Administrative files): ...to its own node under here.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.11.1.
|
||||
|
||||
2003-12-18 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.11.
|
||||
|
||||
2003-12-05 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated.
|
||||
|
||||
2003-12-04 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.10.1.
|
||||
|
||||
2003-12-04 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.10.
|
||||
|
||||
2003-11-18 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-11-13 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (Reverting local changes): Use the same vendor tag
|
||||
in the admin command as was used in the previous import commands.
|
||||
|
||||
2003-11-10 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-11-07 Mark D. Baushke <[email protected]>
|
||||
|
||||
* cvs.texinfo (CVS commands): Fix typo.
|
||||
(FreeBSD PR docs/58669 reported by Ceri Davies <[email protected]>.)
|
||||
|
||||
2003-10-30 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-10-30 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (File permissions, Error messages): Add index entries for
|
||||
CVSROOT/val-tags file.
|
||||
|
||||
2003-10-21 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Note gnu.cvs.* usenet mirrors of the email lists.
|
||||
(Suggestion from Paul Edwards, from somewhere in Australia.)
|
||||
|
||||
* cvs.texinfo: Put email addresses in @email{} tags and URLs in @url{}
|
||||
tags rather than relying on markup like @code{}.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-10-14 Derek Price <[email protected]>
|
||||
|
||||
Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
|
||||
testing with _POSIX2_VERSION=200112 in the environment.
|
||||
|
||||
* cvs.texinfo: Suggest 'sed 1q', not 'head -1'.
|
||||
(Patch from Paul Eggert <[email protected]>.)
|
||||
|
||||
2003-10-10 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.9.1.
|
||||
|
||||
2003-10-10 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.9.
|
||||
|
||||
2003-10-06 Derek Price <[email protected]>
|
||||
|
||||
* cvsclient.texi (Requests): Add recommendation to client developers to
|
||||
avoid the `Case' request.
|
||||
* stamp-1, version-client.texi: Regenerated.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.8.1.
|
||||
|
||||
2003-10-02 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.8.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.7.1.
|
||||
|
||||
2003-09-29 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1, stamp-vti, version-client.texi, version.texi: Regenerated
|
||||
for 1.11.7.
|
||||
|
||||
2003-09-12 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (checkoutlist): Document the error messages which may be
|
||||
specified in this file.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-08-27 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (history options): Note the 'P' record type which
|
||||
has been around for a long time but never actually appeared in
|
||||
the history file due to bugs in the code.
|
||||
(Invoking CVS): Ditto.
|
||||
(config): Ditto.
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-08-07 Derek Price <[email protected]>
|
||||
|
||||
* .cvsignore: Ignore {cvs,cvsclient}.txt.
|
||||
|
||||
2003-08-07 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Use the @dircategory and @direntry commands from texinfo
|
||||
rather than rolling our own.
|
||||
|
||||
* stamp-vti, version.texi: Regenerated.
|
||||
|
||||
2003-08-07 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am (POSTSCRIPTS): Rename to...
|
||||
(PSS): ...to sync with and override Automakes default targets.
|
||||
(PDFS): Reorder to match PSS.
|
||||
(SUFFIXES): Remove .pdf and .aux.
|
||||
(cvs.aux, cvs.pdf, cvsclient.aux, cvsclient.pdf): Remove these targets.
|
||||
.aux weren't being generated anyhow and .pdf no longer need to be
|
||||
supplied explicitly.
|
||||
(cvs-paper.pdf: cvs-paper.ps): Provide ps2pdf rule explicitly.
|
||||
(.{texinfo,texi,txy}.pdf): Remove these suffix rules - they are now
|
||||
provided by Automake.
|
||||
|
||||
2003-08-06 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am (CLEANFILES): Move...
|
||||
(MOSTLYCLEANFILES): ...here and drop PDFs since this is where Automake
|
||||
cleans PDFs & PSs by default.
|
||||
(MAINTAINERCLEANFILES): Clean all PostScripts even though they will
|
||||
have been removed in mostlyclean. That is a bug in Automake.
|
||||
(doc): Depend on info & ps.
|
||||
(pdf, ps): Removed in favor of Automake's default targets for these
|
||||
types.
|
||||
(cvsclient.* targets): Depened on version-client.texi.
|
||||
(cvs-paper.pdf): Remove in favor of Automake's default target.
|
||||
(.{texinfo,texi,txi}.{pdf,txt}): Update these targets based on
|
||||
Automake's similar treatment of dvi, ps, and info targets.
|
||||
* .cvsignore: Add cvs.tmp, a `make pdf' generated file.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Put a few errant references to bug-cvs inside @code{}
|
||||
for consistancy.
|
||||
|
||||
2003-07-18 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Update WARNINGs and Notes for a more consistent
|
||||
appearance. Remove some obsolete comments.
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Regenerated.
|
||||
|
||||
2003-07-12 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (Binary howto): Add note about how to determine whether
|
||||
a file is marked as binary or not.
|
||||
(Suggested by Erik Sigra <[email protected]>.)
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Regenerated.
|
||||
|
||||
2003-06-23 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-06-16 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (splitrcskeyword): New macro, now that @ifhtml will work
|
||||
properly with texi2html (as of version 1.68), to cause output HTML to
|
||||
contain <i></i> where we used to have @asis{} and prevent RCS keyword
|
||||
substitution in generated HTML.
|
||||
(Original patch from Patrice Dumas <[email protected]>.)
|
||||
|
||||
2003-06-11 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Invoking CVS): Remove `-P' from the list of `cvs export'
|
||||
options.
|
||||
(Patch from Alexander Taler <[email protected]>.)
|
||||
|
||||
2003-06-11 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Top): Remove out-of-date (by at least 5 years) comment.
|
||||
(Patch from Alexander Taler <[email protected]>.)
|
||||
|
||||
2003-05-27 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo: Consolidate copyright notices into a single macro that
|
||||
is called elsewhere to avoid needing three of them. Update copyright
|
||||
notice.
|
||||
(BUGS): Suggest Ximbiot rather than the defunct Signum Support as CVS
|
||||
consultants.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-05-26 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1: Regenerated for 1.11.6.1.
|
||||
* stamp-vti: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-05-25 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1: Regenerated for 1.11.6.
|
||||
* stamp-vti: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-05-21 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerate with Automake version 1.7.5.
|
||||
|
||||
2003-04-28 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Working directory storage, Module options, Module
|
||||
program options): Remove references to Checkin.prog and Update.prog.
|
||||
(commit options): Remove reference to -n option.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-04-10 Larry Jones <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-03-26 Derek Price <[email protected]>
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-03-25 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (Server temporary directory): Reorder list of places
|
||||
to match code.
|
||||
(Connection): Add additional example error message and note about
|
||||
firewall software.
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-03-24 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.am: Update copyright notice.
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2003-03-06 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (What is CVS?): Correct date of first post of CVS by
|
||||
Dick Grune from December to July based on the archive posted on
|
||||
Google:
|
||||
<http://groups.google.com/groups?q=Grune+cvs+group:mod.sources.*&hl=en&lr=&ie=UTF-8&selm=122%40mirror.UUCP&rnum=2>.
|
||||
(Thanks to David A Wheeler <[email protected]>.)
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-03-05 Mark D. Baushke <[email protected]>
|
||||
|
||||
* cvs.texinfo (CVS_LOCAL_BRANCH_NUM): Backout CVS_LOCAL_BRANCH_NUM
|
||||
feature.
|
||||
|
||||
* cvs.texinfo (CVS_LOCAL_BRANCH_NUM): Document new environment
|
||||
variable.
|
||||
|
||||
2003-02-27 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Environment variables): Make the information on
|
||||
CVS_CLIENT_PORT slightly clearer.
|
||||
(Kerberos authenticated): XREF the Environment variables node.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-02-25 Derek Price <[email protected]>
|
||||
|
||||
* Makefile.in: Regenerated.
|
||||
* stamp-1: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
|
||||
2003-02-06 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Working directory storage, Module options,
|
||||
Module program options): Correct description of where Checkin.prog
|
||||
and Update.prog are run. Provide more index entries and cross
|
||||
references. Remove some FIXME comments. Add a FIXCVS THEN FIXME.
|
||||
(Thanks to Art Manion at the CERT Coordination Center <[email protected]>.)
|
||||
|
||||
2003-02-04 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (File status): Mention the "Unresolved Conflict" status
|
||||
which was apparently and erroneously removed from the doc at some
|
||||
point in the past.
|
||||
|
||||
2003-02-03 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Merging a branch): Mention the GCA as opposed to the
|
||||
"branch point" as the implicit revision when merging a branch.
|
||||
|
||||
2003-02-03 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Remote repositories): :METHOD: is optional.
|
||||
|
||||
2003-02-03 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Committing your changes): Move index entries closer to
|
||||
their corresponding references.
|
||||
(Environment variables): Include $VISUAL in order of
|
||||
preference. Add index entries. Reference Global options node.
|
||||
(Variables): Change order of list to match the Env. Variables node
|
||||
mentioned above.
|
||||
|
||||
* stamp-1: Regenerated.
|
||||
* stamp-vti: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-02-14 Derek Price <[email protected]>
|
||||
|
||||
* cvs.texinfo (Watch Information, Editing files, Getting Notified,
|
||||
Setting a watch): Edit usage specs for correctness and uniformity.
|
||||
(Sticky tags): Use ref rather than xref to avoid a warning from
|
||||
makeinfo.
|
||||
|
||||
* stamp-vti: Regenerated.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-01-23 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1: Regenerated.
|
||||
* stamp-vti: Ditto.
|
||||
* version-client.texi: Ditto.
|
||||
* version.texi: Ditto.
|
||||
|
||||
2003-01-22 Larry Jones <[email protected]>
|
||||
|
||||
* cvs.texinfo (config): Correct LogHistory default (U was omitted).
|
||||
|
||||
2003-01-16 Derek Price <[email protected]>
|
||||
|
||||
* stamp-1: Regenerated for version (1.11.5).
|
||||
@@ -701,7 +179,7 @@
|
||||
* Makefile.in: Regenerated.
|
||||
* stamp-1: New file.
|
||||
* version-client.texi: Ditto.
|
||||
(Reported by Alexey Mahotkin <[email protected]>.)
|
||||
(Reportred by Alexey Mahotkin <[email protected]>.)
|
||||
|
||||
2001-09-04 Derek Price <[email protected]>
|
||||
|
||||
|
||||
+34
-31
@@ -1,8 +1,6 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
# Makefile for GNU CVS documentation (excluding man pages - see ../man).
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -15,16 +13,15 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
info_TEXINFOS = cvs.texinfo cvsclient.texi
|
||||
man_MANS = cvs.1
|
||||
|
||||
PSS = \
|
||||
POSTSCRIPTS = \
|
||||
cvs.ps \
|
||||
cvs-paper.ps \
|
||||
cvsclient.ps
|
||||
|
||||
PDFS = \
|
||||
cvs.pdf \
|
||||
cvs-paper.pdf \
|
||||
cvs.pdf \
|
||||
cvsclient.pdf
|
||||
|
||||
TXTS = \
|
||||
@@ -32,26 +29,25 @@ TXTS = \
|
||||
cvsclient.txt
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(PSS) \
|
||||
$(POSTSCRIPTS) \
|
||||
.cvsignore \
|
||||
ChangeLog.fsf \
|
||||
RCSFILES \
|
||||
mdate-sh \
|
||||
cvs.1 \
|
||||
cvs-paper.ms \
|
||||
cvs.man.header \
|
||||
cvs.man.footer
|
||||
cvs-paper.ms
|
||||
|
||||
MOSTLYCLEANFILES = \
|
||||
CLEANFILES = \
|
||||
$(PDFS) \
|
||||
$(TXTS)
|
||||
|
||||
# These Automake generates MOSTLYCLEAN targets for PostScripts genersted from
|
||||
# TEXINFOS, but it shouldn't when those files are in EXTRA_DIST
|
||||
MAINTAINERCLEANFILES = \
|
||||
$(PSS)
|
||||
cvs-paper.ps
|
||||
|
||||
doc: info ps
|
||||
.PHONY: doc
|
||||
doc ps: $(POSTSCRIPTS)
|
||||
.PHONY: doc ps
|
||||
|
||||
pdf: $(PDFS)
|
||||
.PHONY: pdf
|
||||
|
||||
txt: $(TXTS)
|
||||
.PHONY: txt
|
||||
@@ -62,8 +58,8 @@ dvi: cvs.dvi cvsclient.dvi
|
||||
# FIXME-AUTOMAKE:
|
||||
# For some reason if I remove version.texi, it doesn't get built automatically.
|
||||
# This needs to be fixed in automake.
|
||||
cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.txt: cvsclient.texi $(srcdir)/version-client.texi
|
||||
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi
|
||||
|
||||
# These targets need to be very specific so that the other PDFs get generated
|
||||
# correctly. If they are more generic and cvs.ps is made before cvs.pdf, then
|
||||
@@ -74,29 +70,36 @@ cvs-paper.ps: cvs-paper.ms
|
||||
mv $@-t $@
|
||||
|
||||
cvs-paper.pdf: cvs-paper.ps
|
||||
ps2pdf $< $@
|
||||
$(PS2PDF) $< $@
|
||||
|
||||
# Targets to build a man page from cvs.texinfo.
|
||||
cvs.1: @MAINTAINER_MODE_TRUE@ mkman cvs.man.header cvs.texinfo cvs.man.footer
|
||||
./mkman $(srcdir)/cvs.man.header $(srcdir)/cvs.texinfo \
|
||||
$(srcdir)/cvs.man.footer >$@
|
||||
SUFFIXES = .aux .txt .pdf
|
||||
|
||||
# texinfo based targets automake neglects to include
|
||||
SUFFIXES = .txt
|
||||
.texinfo.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.txi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.texi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
|
||||
.texinfo.txt:
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
.txi.txt:
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
.texi.txt:
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
|
||||
##
|
||||
## MAINTAINER Targets
|
||||
##
|
||||
|
||||
## realclean ##
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
.PHONY: realclean
|
||||
+176
-282
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.7.9 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.6.3 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -15,9 +15,7 @@
|
||||
@SET_MAKE@
|
||||
|
||||
# Makefile for GNU CVS documentation (excluding man pages - see ../man).
|
||||
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
|
||||
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# Free Software Foundation, Inc.
|
||||
# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -28,130 +26,91 @@
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
transform = @program_transform_name@
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CSH = @CSH@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EDITOR = @EDITOR@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
KRB4 = @KRB4@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
||||
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKE_TARGETS_IN_VPATH_FALSE = @MAKE_TARGETS_IN_VPATH_FALSE@
|
||||
MAKE_TARGETS_IN_VPATH_TRUE = @MAKE_TARGETS_IN_VPATH_TRUE@
|
||||
MKTEMP = @MKTEMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PR = @PR@
|
||||
PS2PDF = @PS2PDF@
|
||||
RANLIB = @RANLIB@
|
||||
ROFF = @ROFF@
|
||||
SENDMAIL = @SENDMAIL@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TEXI2DVI = @TEXI2DVI@
|
||||
VERSION = @VERSION@
|
||||
YACC = @YACC@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
ac_prefix_program = @ac_prefix_program@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
includeopt = @includeopt@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
info_TEXINFOS = cvs.texinfo cvsclient.texi
|
||||
man_MANS = cvs.1
|
||||
|
||||
PSS = \
|
||||
POSTSCRIPTS = \
|
||||
cvs.ps \
|
||||
cvs-paper.ps \
|
||||
cvsclient.ps
|
||||
|
||||
|
||||
PDFS = \
|
||||
cvs.pdf \
|
||||
cvs-paper.pdf \
|
||||
cvs.pdf \
|
||||
cvsclient.pdf
|
||||
|
||||
|
||||
@@ -161,162 +120,157 @@ TXTS = \
|
||||
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(PSS) \
|
||||
$(POSTSCRIPTS) \
|
||||
.cvsignore \
|
||||
ChangeLog.fsf \
|
||||
RCSFILES \
|
||||
mdate-sh \
|
||||
cvs.1 \
|
||||
cvs-paper.ms \
|
||||
cvs.man.header \
|
||||
cvs.man.footer
|
||||
cvs-paper.ms
|
||||
|
||||
|
||||
MOSTLYCLEANFILES = \
|
||||
CLEANFILES = \
|
||||
$(PDFS) \
|
||||
$(TXTS)
|
||||
|
||||
|
||||
# These Automake generates MOSTLYCLEAN targets for PostScripts genersted from
|
||||
# TEXINFOS, but it shouldn't when those files are in EXTRA_DIST
|
||||
MAINTAINERCLEANFILES = \
|
||||
$(PSS)
|
||||
cvs-paper.ps
|
||||
|
||||
|
||||
# texinfo based targets automake neglects to include
|
||||
SUFFIXES = .txt
|
||||
SUFFIXES = .aux .txt .pdf
|
||||
subdir = doc
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES = mkman
|
||||
CONFIG_CLEAN_FILES =
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_SOURCES =
|
||||
am__TEXINFO_TEX_DIR = $(srcdir)
|
||||
INFO_DEPS = cvs.info cvsclient.info
|
||||
DVIS = cvs.dvi cvsclient.dvi
|
||||
TEXINFOS = cvs.texinfo cvsclient.texi
|
||||
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am mdate-sh \
|
||||
mkman.in stamp-1 stamp-vti texinfo.tex version-client.texi \
|
||||
version.texi
|
||||
DIST_COMMON = ChangeLog Makefile.am Makefile.in mdate-sh stamp-1 \
|
||||
stamp-vti texinfo.tex version-client.texi version.texi
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .txt .dvi .info .pdf .ps .texi .texinfo .txi
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
.SUFFIXES: .aux .txt .pdf .dvi .info .ps .texi .texinfo .txi
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
mkman: $(top_builddir)/config.status mkman.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
.texinfo.info:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.texinfo.dvi:
|
||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.texinfo.pdf:
|
||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
cvs.info: cvs.texinfo version.texi
|
||||
cvs.dvi: cvs.texinfo version.texi
|
||||
cvs.pdf: cvs.texinfo version.texi
|
||||
version.texi: @MAINTAINER_MODE_TRUE@ stamp-vti
|
||||
stamp-vti: cvs.texinfo $(top_srcdir)/configure
|
||||
@(dir=.; test -f ./cvs.texinfo || dir=$(srcdir); \
|
||||
set `$(SHELL) $(srcdir)/mdate-sh $$dir/cvs.texinfo`; \
|
||||
$(srcdir)/version.texi: $(srcdir)/stamp-vti
|
||||
@:
|
||||
$(srcdir)/stamp-vti: cvs.texinfo $(top_srcdir)/configure.in
|
||||
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/cvs.texinfo`; \
|
||||
echo "@set UPDATED $$1 $$2 $$3"; \
|
||||
echo "@set UPDATED-MONTH $$2 $$3"; \
|
||||
echo "@set EDITION $(VERSION)"; \
|
||||
echo "@set VERSION $(VERSION)") > vti.tmp
|
||||
@cmp -s vti.tmp version.texi \
|
||||
|| (echo "Updating version.texi"; \
|
||||
cp vti.tmp version.texi)
|
||||
@cmp -s vti.tmp $(srcdir)/version.texi \
|
||||
|| (echo "Updating $(srcdir)/version.texi"; \
|
||||
cp vti.tmp $(srcdir)/version.texi)
|
||||
-@rm -f vti.tmp
|
||||
@cp version.texi $@
|
||||
@cp $(srcdir)/version.texi $@
|
||||
|
||||
mostlyclean-vti:
|
||||
-rm -f vti.tmp
|
||||
|
||||
maintainer-clean-vti:
|
||||
@MAINTAINER_MODE_TRUE@ -rm -f stamp-vti version.texi
|
||||
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
|
||||
|
||||
.texi.info:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
-o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
cvs.info: cvs.texinfo $(srcdir)/version.texi
|
||||
cvs.dvi: cvs.texinfo $(srcdir)/version.texi
|
||||
|
||||
.texi.dvi:
|
||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.texi.pdf:
|
||||
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2PDF) `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
cvsclient.info: cvsclient.texi version-client.texi
|
||||
cvsclient.dvi: cvsclient.texi version-client.texi
|
||||
cvsclient.pdf: cvsclient.texi version-client.texi
|
||||
version-client.texi: @MAINTAINER_MODE_TRUE@ stamp-1
|
||||
stamp-1: cvsclient.texi $(top_srcdir)/configure
|
||||
@(dir=.; test -f ./cvsclient.texi || dir=$(srcdir); \
|
||||
set `$(SHELL) $(srcdir)/mdate-sh $$dir/cvsclient.texi`; \
|
||||
$(srcdir)/version-client.texi: $(srcdir)/stamp-1
|
||||
@:
|
||||
$(srcdir)/stamp-1: cvsclient.texi $(top_srcdir)/configure.in
|
||||
@(set `$(SHELL) $(srcdir)/mdate-sh $(srcdir)/cvsclient.texi`; \
|
||||
echo "@set UPDATED $$1 $$2 $$3"; \
|
||||
echo "@set UPDATED-MONTH $$2 $$3"; \
|
||||
echo "@set EDITION $(VERSION)"; \
|
||||
echo "@set VERSION $(VERSION)") > 1.tmp
|
||||
@cmp -s 1.tmp version-client.texi \
|
||||
|| (echo "Updating version-client.texi"; \
|
||||
cp 1.tmp version-client.texi)
|
||||
@cmp -s 1.tmp $(srcdir)/version-client.texi \
|
||||
|| (echo "Updating $(srcdir)/version-client.texi"; \
|
||||
cp 1.tmp $(srcdir)/version-client.texi)
|
||||
-@rm -f 1.tmp
|
||||
@cp version-client.texi $@
|
||||
@cp $(srcdir)/version-client.texi $@
|
||||
|
||||
mostlyclean-1:
|
||||
-rm -f 1.tmp
|
||||
|
||||
maintainer-clean-1:
|
||||
@MAINTAINER_MODE_TRUE@ -rm -f stamp-1 version-client.texi
|
||||
-rm -f $(srcdir)/stamp-1 $(srcdir)/version-client.texi
|
||||
|
||||
TEXI2PDF = $(TEXI2DVI) --pdf --batch
|
||||
cvsclient.info: cvsclient.texi $(srcdir)/version-client.texi
|
||||
cvsclient.dvi: cvsclient.texi $(srcdir)/version-client.texi
|
||||
|
||||
.texi.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texi.dvi:
|
||||
TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) $<
|
||||
|
||||
.texi:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.dvi:
|
||||
TEXINPUTS="$(srcdir)$(PATH_SEPARATOR)$$TEXINPUTS" \
|
||||
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
|
||||
$(TEXI2DVI) $<
|
||||
|
||||
.texinfo:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
|
||||
`echo $< | sed 's,.*/,,'`
|
||||
|
||||
MAKEINFO = @MAKEINFO@
|
||||
DVIPS = dvips
|
||||
.dvi.ps:
|
||||
$(DVIPS) -o $@ $<
|
||||
$(DVIPS) $< -o $@
|
||||
|
||||
uninstall-info-am:
|
||||
$(PRE_UNINSTALL)
|
||||
@if (install-info --version && \
|
||||
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
|
||||
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile"; \
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile; \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file; \
|
||||
done; \
|
||||
else :; fi
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||
relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||
(if cd $(DESTDIR)$(infodir); then \
|
||||
echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \
|
||||
rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
|
||||
echo " rm -f $$file $$file-[0-9] $$file-[0-9][0-9])"; \
|
||||
rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \
|
||||
else :; fi); \
|
||||
done
|
||||
|
||||
dist-info: $(INFO_DEPS)
|
||||
list='$(INFO_DEPS)'; \
|
||||
for base in $$list; do \
|
||||
if test -f $$base; then d=.; else d=$(srcdir); fi; \
|
||||
d=$(srcdir); \
|
||||
for file in $$d/$$base*; do \
|
||||
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
|
||||
test -f $(distdir)/$$relfile || \
|
||||
@@ -325,86 +279,30 @@ dist-info: $(INFO_DEPS)
|
||||
done
|
||||
|
||||
mostlyclean-aminfo:
|
||||
-rm -f cvs.aux cvs.cp cvs.cps cvs.fn cvs.fns cvs.ky cvs.kys cvs.log cvs.pg \
|
||||
cvs.pgs cvs.tmp cvs.toc cvs.tp cvs.tps cvs.vr cvs.vrs cvs.dvi \
|
||||
cvs.pdf cvs.ps cvsclient.aux cvsclient.cp cvsclient.cps \
|
||||
cvsclient.fn cvsclient.fns cvsclient.ky cvsclient.kys \
|
||||
cvsclient.log cvsclient.pg cvsclient.pgs cvsclient.tmp \
|
||||
cvsclient.toc cvsclient.tp cvsclient.tps cvsclient.vr \
|
||||
cvsclient.vrs cvsclient.dvi cvsclient.pdf cvsclient.ps
|
||||
-rm -f cvs.aux cvs.cp cvs.cps cvs.dvi cvs.fn cvs.fns cvs.ky cvs.log cvs.pg \
|
||||
cvs.ps cvs.tmp cvs.toc cvs.tp cvs.vr cvsclient.aux \
|
||||
cvsclient.cp cvsclient.dvi cvsclient.fn cvsclient.ky \
|
||||
cvsclient.log cvsclient.pg cvsclient.ps cvsclient.tmp \
|
||||
cvsclient.toc cvsclient.tp cvsclient.vr
|
||||
|
||||
maintainer-clean-aminfo:
|
||||
@list='$(INFO_DEPS)'; for i in $$list; do \
|
||||
i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
|
||||
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
|
||||
done
|
||||
|
||||
man1dir = $(mandir)/man1
|
||||
install-man1: $(man1_MANS) $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(man1dir)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
||||
else file=$$i; fi; \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
|
||||
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
|
||||
done
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
|
||||
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
|
||||
for i in $$l2; do \
|
||||
case "$$i" in \
|
||||
*.1*) list="$$list $$i" ;; \
|
||||
esac; \
|
||||
done; \
|
||||
for i in $$list; do \
|
||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
||||
case "$$ext" in \
|
||||
1*) ;; \
|
||||
*) ext='1' ;; \
|
||||
esac; \
|
||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
||||
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
|
||||
rm -f $(DESTDIR)$(man1dir)/$$inst; \
|
||||
cd $(srcdir) && \
|
||||
list='$(INFO_DEPS)'; for i in $$list; do \
|
||||
rm -f $$i; \
|
||||
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
|
||||
rm -f $$i-[0-9]*; \
|
||||
fi; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
@list='$(DISTFILES)'; for file in $$list; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
@@ -425,14 +323,15 @@ distdir: $(DISTFILES)
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
||||
top_distdir="${top_distdir}" distdir="$(distdir)" \
|
||||
dist-info
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(INFO_DEPS) $(MANS)
|
||||
all-am: Makefile $(INFO_DEPS)
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(man1dir)
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
@@ -444,16 +343,16 @@ install-am: all-am
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@@ -464,7 +363,7 @@ clean: clean-am
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
@@ -475,7 +374,7 @@ info: info-am
|
||||
|
||||
info-am: $(INFO_DEPS)
|
||||
|
||||
install-data-am: install-info-am install-man
|
||||
install-data-am: install-info-am
|
||||
|
||||
install-exec-am:
|
||||
|
||||
@@ -486,12 +385,10 @@ install-info-am: $(INFO_DEPS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||
@list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
|
||||
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
|
||||
$$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
|
||||
d=$(srcdir); \
|
||||
for ifile in echo $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \
|
||||
if test -f $$ifile; then \
|
||||
relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
|
||||
relfile=`expr "$$ifile" : "$$d/\(.*\)"`; \
|
||||
echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \
|
||||
$(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \
|
||||
else : ; fi; \
|
||||
@@ -499,20 +396,19 @@ install-info-am: $(INFO_DEPS)
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@if (install-info --version && \
|
||||
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
|
||||
install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
relfile=`echo "$$file" | sed 's|^.*/||'`; \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile";\
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile || :;\
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
|
||||
done; \
|
||||
else : ; fi
|
||||
install-man: install-man1
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-1 \
|
||||
maintainer-clean-aminfo maintainer-clean-generic \
|
||||
maintainer-clean-vti
|
||||
@@ -522,33 +418,24 @@ mostlyclean: mostlyclean-am
|
||||
mostlyclean-am: mostlyclean-1 mostlyclean-aminfo mostlyclean-generic \
|
||||
mostlyclean-vti
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am: $(PDFS)
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am: $(PSS)
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-man
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic dist-info \
|
||||
distclean distclean-generic distdir dvi dvi-am info info-am \
|
||||
install install-am install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-man1 install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-1 \
|
||||
maintainer-clean-aminfo maintainer-clean-generic \
|
||||
maintainer-clean-vti mostlyclean mostlyclean-1 \
|
||||
mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
|
||||
pdf-am ps ps-am uninstall uninstall-am uninstall-info-am \
|
||||
uninstall-man uninstall-man1
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-1 maintainer-clean-aminfo \
|
||||
maintainer-clean-generic maintainer-clean-vti mostlyclean \
|
||||
mostlyclean-1 mostlyclean-aminfo mostlyclean-generic \
|
||||
mostlyclean-vti uninstall uninstall-am uninstall-info-am
|
||||
|
||||
|
||||
doc: info ps
|
||||
.PHONY: doc
|
||||
doc ps: $(POSTSCRIPTS)
|
||||
.PHONY: doc ps
|
||||
|
||||
pdf: $(PDFS)
|
||||
.PHONY: pdf
|
||||
|
||||
txt: $(TXTS)
|
||||
.PHONY: txt
|
||||
@@ -559,8 +446,8 @@ dvi: cvs.dvi cvsclient.dvi
|
||||
# FIXME-AUTOMAKE:
|
||||
# For some reason if I remove version.texi, it doesn't get built automatically.
|
||||
# This needs to be fixed in automake.
|
||||
cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.txt: cvsclient.texi $(srcdir)/version-client.texi
|
||||
cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(srcdir)/version.texi
|
||||
cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi
|
||||
|
||||
# These targets need to be very specific so that the other PDFs get generated
|
||||
# correctly. If they are more generic and cvs.ps is made before cvs.pdf, then
|
||||
@@ -571,21 +458,28 @@ cvs-paper.ps: cvs-paper.ms
|
||||
mv $@-t $@
|
||||
|
||||
cvs-paper.pdf: cvs-paper.ps
|
||||
ps2pdf $< $@
|
||||
$(PS2PDF) $< $@
|
||||
|
||||
# texinfo based targets automake neglects to include
|
||||
.texinfo.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.txi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
.texi.pdf:
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf --batch $<
|
||||
|
||||
# Targets to build a man page from cvs.texinfo.
|
||||
cvs.1: @MAINTAINER_MODE_TRUE@ mkman cvs.man.header cvs.texinfo cvs.man.footer
|
||||
./mkman $(srcdir)/cvs.man.header $(srcdir)/cvs.texinfo \
|
||||
$(srcdir)/cvs.man.footer >$@
|
||||
.texinfo.txt:
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
.txi.txt:
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
.texi.txt:
|
||||
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
|
||||
--no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
TEXINPUTS=$(srcdir):$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@
|
||||
|
||||
# for backwards compatibility with the old makefiles
|
||||
realclean: maintainer-clean
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
Loaded 100 of 2505 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user