head	1.46;
access;
symbols;
locks; strict;
comment	@# @;


1.46
date	2012.02.27.18.15.49;	author mux;	state dead;
branches;
next	1.45;

1.45
date	2006.03.07.19.10.25;	author mux;	state Exp;
branches;
next	1.44;

1.44
date	2006.03.06.00.36.23;	author mux;	state Exp;
branches;
next	1.43;

1.43
date	2006.03.01.03.11.50;	author mux;	state Exp;
branches;
next	1.42;

1.42
date	2006.02.27.19.40.01;	author mux;	state Exp;
branches;
next	1.41;

1.41
date	2006.02.18.10.41.08;	author mux;	state Exp;
branches;
next	1.40;

1.40
date	2006.02.02.00.29.48;	author mux;	state Exp;
branches;
next	1.39;

1.39
date	2006.02.02.00.23.41;	author mux;	state Exp;
branches;
next	1.38;

1.38
date	2006.02.02.00.02.11;	author mux;	state Exp;
branches;
next	1.37;

1.37
date	2006.01.27.17.13.49;	author mux;	state Exp;
branches;
next	1.36;

1.36
date	2006.01.26.04.49.00;	author mux;	state Exp;
branches;
next	1.35;

1.35
date	2006.01.26.04.10.02;	author mux;	state Exp;
branches;
next	1.34;

1.34
date	2006.01.25.18.57.37;	author mux;	state Exp;
branches;
next	1.33;

1.33
date	2006.01.23.14.58.35;	author mux;	state Exp;
branches;
next	1.32;

1.32
date	2006.01.20.01.41.00;	author mux;	state Exp;
branches;
next	1.31;

1.31
date	2005.05.22.22.43.07;	author mux;	state Exp;
branches;
next	1.30;

1.30
date	2005.05.22.00.58.22;	author mux;	state Exp;
branches;
next	1.29;

1.29
date	2005.05.22.00.42.08;	author mux;	state Exp;
branches;
next	1.28;

1.28
date	2005.05.22.00.21.42;	author mux;	state Exp;
branches;
next	1.27;

1.27
date	2005.03.02.13.28.12;	author mux;	state Exp;
branches;
next	1.26;

1.26
date	2005.02.20.20.37.54;	author mux;	state Exp;
branches;
next	1.25;

1.25
date	2005.02.13.03.17.41;	author mux;	state Exp;
branches;
next	1.24;

1.24
date	2004.06.28.20.38.55;	author mux;	state Exp;
branches;
next	1.23;

1.23
date	2004.06.28.09.34.31;	author mux;	state Exp;
branches;
next	1.22;

1.22
date	2004.06.18.19.35.39;	author mux;	state Exp;
branches;
next	1.21;

1.21
date	2004.02.22.16.01.32;	author mux;	state Exp;
branches;
next	1.20;

1.20
date	2004.02.08.14.23.38;	author mux;	state Exp;
branches;
next	1.19;

1.19
date	2004.02.05.17.54.36;	author mux;	state Exp;
branches;
next	1.18;

1.18
date	2004.02.05.16.39.36;	author mux;	state Exp;
branches;
next	1.17;

1.17
date	2003.11.03.23.49.34;	author mux;	state Exp;
branches;
next	1.16;

1.16
date	2003.10.12.14.28.57;	author mux;	state Exp;
branches;
next	1.15;

1.15
date	2003.10.11.10.17.11;	author mux;	state Exp;
branches;
next	1.14;

1.14
date	2003.10.10.08.48.24;	author mux;	state Exp;
branches;
next	1.13;

1.13
date	2003.10.10.08.46.35;	author mux;	state Exp;
branches;
next	1.12;

1.12
date	2003.10.09.16.46.03;	author mux;	state Exp;
branches;
next	1.11;

1.11
date	2003.10.08.21.04.44;	author mux;	state Exp;
branches;
next	1.10;

1.10
date	2003.10.07.14.52.07;	author mux;	state Exp;
branches;
next	1.9;

1.9
date	2003.10.06.22.57.43;	author mux;	state Exp;
branches;
next	1.8;

1.8
date	2003.10.06.22.56.57;	author mux;	state Exp;
branches;
next	1.7;

1.7
date	2003.10.06.16.18.20;	author mux;	state Exp;
branches;
next	1.6;

1.6
date	2003.10.06.16.17.14;	author mux;	state Exp;
branches;
next	1.5;

1.5
date	2003.10.04.20.47.23;	author mux;	state Exp;
branches;
next	1.4;

1.4
date	2003.10.03.15.43.17;	author mux;	state Exp;
branches;
next	1.3;

1.3
date	2003.10.03.15.42.17;	author mux;	state Exp;
branches;
next	1.2;

1.2
date	2003.10.03.15.38.40;	author mux;	state Exp;
branches;
next	1.1;

1.1
date	2003.10.03.13.43.09;	author mux;	state Exp;
branches;
next	;


desc
@@


1.46
log
@Retire the old csup code from the projcvs repository. A mercurial repository
with *full* development history (including the changes that happened since it
was imported in the tree) has been put online at the following URL, for those
who need it:

	https://bitbucket.org/mumux/csup

I'm not doing this because I intend to start working on csup again, but if
other people are willing to do so (csupd, anyone? :-P), this should be useful.
That being said, I'm committed to continue maintaining it in proper shape, so
don't hesitate to contact me when there are bugs that need fixing.
@
text
@# $FreeBSD: projects/csup/Makefile,v 1.45 2006-03-07 19:10:25 mux Exp $

PREFIX?=	/usr/local
BINDIR?=	${PREFIX}/bin
MANDIR?=	${PREFIX}/man/man

UNAME!=		/usr/bin/uname -s

PROG=	csup
SRCS=	attrstack.c config.c detailer.c diff.c fattr.c fixups.c fnmatch.c \
	globtree.c idcache.c keyword.c lister.c main.c misc.c mux.c parse.y \
	pathcomp.c proto.c status.c stream.c threads.c token.l updater.c

CFLAGS+=	-I. -I${.CURDIR} -g -pthread -DHAVE_FFLAGS -DNDEBUG
WARNS?=		6

# A bit of tweaking is needed to get this Makefile working
# with the bsd.prog.mk of all the *BSD OSes...
.if (${UNAME} == "NetBSD")
LDFLAGS+=	-pthread
YHEADER=	yes

.elif (${UNAME} == "OpenBSD")
# I bet there's a better way to do this with the OpenBSD mk
# framework but well, this works and I got bored.
LDFLAGS+=	-pthread
YFLAGS=		-d
CLEANFILES+=	parse.c parse.h y.tab.h

config.c:	parse.h

token.l:	parse.h

y.tab.h:	parse.c

parse.h:	y.tab.h
	cp ${.ALLSRC} ${.TARGET}

.endif

DPADD=	${LIBCRYPTO} ${LIBZ}
LDADD=	-lcrypto -lz

.include <bsd.prog.mk>
@


1.45
log
@Remove all the .h files from the SRCS variable.  It's actually useless
whatever bsd.prog.mk we're using.
@
text
@d1 1
a1 1
# $FreeBSD: projects/csup/Makefile,v 1.44 2006/03/06 00:36:23 mux Exp $
@


1.44
log
@- Connect idcache.c to the build.
- Initialize the cache in fattr_init() and release its resources in
  fattr_fini(), since the fattr API is the only consumer.
- Use the new thread-safe getuserbyid(), getgroupbyid(), getuidbyname(),
  getgidbyname() functions when encoding/decoding user names or group
  names in fattr_encode() and fattr_decode().
- Remove the associated task from the TODO list.
@
text
@d1 1
a1 1
# $FreeBSD: projects/csup/Makefile,v 1.43 2006/03/01 03:11:50 mux Exp $
d10 3
a12 22
SRCS=	attrstack.c attrstack.h \
	config.c config.h \
	detailer.c detailer.h \
	diff.c diff.h \
	fattr.c fattr.h fattr_bsd.h \
	fixups.c fixups.h \
	fnmatch.c fnmatch.h \
	globtree.c globtree.h \
	idcache.c idcache.h \
	keyword.c keyword.h \
	lister.c lister.h \
	main.c main.h \
	misc.c misc.h \
	mux.c mux.h \
	parse.h parse.y \
	pathcomp.c pathcomp.h \
	proto.c proto.h \
	status.c status.h \
	stream.c stream.h \
	threads.c threads.h \
	token.h token.l \
	updater.c updater.h
@


1.43
log
@- Import the fnmatch.c and fnmatch.h from CVSup.  It implements some flags
  that aren't POSIX and that are necessary for the -i patterns to work.
- Now that we have it, use the FNM_PREFIX_DIRS flag as appropriate.

Now the -i option really works!
@
text
@d1 1
a1 1
# $FreeBSD: projects/csup/Makefile,v 1.42 2006/02/27 19:40:01 mux Exp $
d18 1
@


1.42
log
@Add support for refuse files:
- Connect globtree.c to the build.
- Add a small pattlist API that is used to store pattern lists, such as
  the ones in the refuse files.
- Create the pattern lists in config_init().  While I'm here, move the
  creation of the keyword object to this same place.  Finally, parse the
  refuse files in config_init() after the pattern lists are created.
- Correctly set up the default ignored attributes.
- Implement coll_statussuffix(), that returns the suffix for a status
  file; we use the same suffix for per-release and per-tag refuse files.
- Rewrite coll_statuspath() in terms of coll_statussuffix().  Also, make
  coll_statuspath() and coll_statussuffix() work more similary to what
  is done in CVSup.  For instance, we we not handling the case where
  "collDir" is an absolute pathname correctly.
- List our accept and refuse patterns to the server in proto_xchgcoll().
  For now, we don't support the -i option so we don't have accepts but
  that will come soon now.
- Build two globtrees in proto_xchgcoll(), one to filter filenames and
  another one to filter directories.
- Use these filters in the lister thread to only list files that don't
  match the patterns in the refuse files.
@
text
@d1 1
a1 1
# $FreeBSD: projects/csup/Makefile,v 1.41 2006/02/18 10:41:08 mux Exp $
d16 1
@


1.41
log
@- Connect fixups.c and fixups.h to the build.
- Use the fixups API in the detailer and updater thread to implement
  fixups.  The object itself is created in proto_init() before the
  worker threads are created, and destroyed once they have all exited.
- The struct diff used by diff_apply() and keyword_expand() hsa been
  rename to struct diffinfo, and it now only contains the metadata
  of a diff.  This changes the prototype for the two aforementioned
  functions, so update the code and the consumers appropriately.
- Many, many code shuffling in the updater thread to make this file
  less confusing.  More specifically, we now pass a struct file_update *
  to most of the functions, and that will contain everything needed.
@
text
@d1 1
a1 1
# $FreeBSD: projects/csup/Makefile,v 1.40 2006/02/02 00:29:48 mux Exp $
d16 1
@


1.40
log
@Respect PREFIX.
@
text
@d1 1
a1 1
# $FreeBSD: projects/csup/Makefile,v 1.39 2006/02/02 00:23:41 mux Exp $
d15 1
@


1.39
log
@Set MANDIR correctly for the desired effect.
@
text
@d1 1
a1 1
# $FreeBSD: projects/csup/Makefile,v 1.38 2006/02/02 00:02:11 mux Exp $
d3 3
a5 2
BINDIR?=	/usr/local/bin
MANDIR?=	/usr/local/man/man
@


1.38
log
@Build (gzip) and install the manual page.
@
text
@d1 1
a1 1
# $FreeBSD: projects/csup/Makefile,v 1.37 2006/01/27 17:13:49 mux Exp $
d4 1
@


1.37
log
@Bite the bullet and rename every $Id$ to $reeBSD$ so that it gets
expanded.  No functional change.
@
text
@d1 1
a1 1
# $FreeBSD$
a28 2
NOMAN=		yes
NO_MAN=		yes
@


1.36
log
@Cosmetic: move the -DHAVE_FFLAGS so that it's next -DNDEBUG.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.30 2005/05/22 00:58:22 mux Exp $
@


1.35
log
@- Rename fattr_os.h to fattr_bsd.h.
- Add fattr_posix.h for POSIX environments that don't support the
  BSD-like extended file flags (chflags(2)).
- If the HAVE_FFLAGS macro is defined, we include fattr_bsd.h, otherwise
  we include fattr_posix.h.
- Only compile in code that calls chflags() if HAVE_FFLAGS is defined.
- Add -DHAVE_FFLAGS to the CFLAGS in the Makefile since it only supports
  BSD systems.
@
text
@d27 1
a27 1
CFLAGS+=	-I. -I${.CURDIR} -DHAVE_FFLAGS -g -pthread -DNDEBUG
@


1.34
log
@Fix a typo.
@
text
@d12 1
a12 1
	fattr.c fattr.h fattr_os.h \
d27 1
a27 1
CFLAGS+=	-I. -I${.CURDIR} -g -pthread -DNDEBUG
@


1.33
log
@Little tweak so that csup builds fine if ${OBJDIR} != ${.CURDIR}.
@
text
@d32 1
a32 1
# A bit of tweaking is needed to get this a Makefile working
@


1.32
log
@Commit the rest of my patch to implement status file support.  It's not
perfect and there are a few things I need to fix/polish, but it will do
for now.

Makefile:
- Connect the new files to the build.

TODO:
- Slightly update, more to come.

proto.c:
- Rename proto_getstr() to proto_get_ascii().
- Add proto_get_int() and proto_get_time(), self-explanatory.
- Add support for new modifiers to proto_printf(): %c, %S for strings
  that shouldn't be escaped and %t for printing time_t.  Check write
  errors in this function.

fattr.c:
- Add a new parameter to fattr_new() to allow to pass a modtime for
  the new file attribute, as in CVSup.
- Use xmalloc() and friends.
- Implement fattr_default().
- Remove the const qualifier from the fattr_decode() argument, it gets
  written to.
- Implement fattr_umask().
- Implement fattr_getmask().
- Implement fattr_getlinkcount().
- Swap the to and from parameters of fattr_install() to match CVSup.

fattr_os.h:
- Change the supported the file attributes for FT_UNKNOWN filetypes
  with a big XXX comment next to it, this needs double-checking.

detailer.c:
- Convert to use the status file.
- Use the new proto_*() API for parsing.

lister.c:
- Convert to use the status file.
- Use the new proto_*() API for parsing.

updater.c:
- Update to use and update the status file.
- Use the new proto_*() API for parsing.
- Use a struct context and pass it throughout the updater's code to
  reduce the number of parameters.
- Use the new co_prefixlen field of struct coll instead of calling
  strlen() each time.

And copyright updates about everywhere.
@
text
@d27 1
a27 1
CFLAGS+=	-g -pthread -DNDEBUG
@


1.31
log
@- Retrieve the OS name with uname(1) and store it in ${UNAME}.
- Use the ${UNAME} variable to special-case the Makefile, so that it
  also works for OpenBSD.  I had to do somewhat weird tricks so that
  this really work.
@
text
@d8 2
a9 1
SRCS=	config.c config.h \
d19 1
d21 1
@


1.30
log
@Correct comment.  Unfortunately the Makefile doesn't work for as-is
for OpenBSD yet.  And there are some differences in the sys/queue.h
API too it seems...
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.29 2005/05/22 00:42:08 mux Exp $
d5 2
d29 3
a31 1
# Those are needed for compiling under NetBSD.
d35 18
@


1.29
log
@Various Makefile and header tricks so that this works out of the box
under NetBSD and hopefully (to be tested) OpenBSD.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.28 2005/05/22 00:21:42 mux Exp $
d27 1
a27 1
# Those are needed for compiling under NetBSD/OpenBSD.
@


1.28
log
@Rename the parse.h file to token.h to help compiling on NetBSD.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.27 2005/03/02 13:28:12 mux Exp $
d15 1
a15 1
	parse.y \
d20 11
a30 6
	updater.c updater.h \
	y.tab.h 
CFLAGS+=-g -pthread # -DNDEBUG
WARNS?=	6
NOMAN=	yes
NO_MAN=	yes
@


1.27
log
@We set BINDIR to /usr/local/bin by default so that make install works.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.26 2005/02/20 20:37:54 mux Exp $
d15 1
a15 1
	parse.h parse.y \
d19 1
a19 1
	token.l \
@


1.26
log
@It's actually best to have both NOMAN and NO_MAN since it works with
older systems and doesn't seem to generate warnings.
@
text
@d1 3
a3 1
# $Id: Makefile,v 1.25 2005/02/13 03:17:41 mux Exp $
@


1.25
log
@NOMAN -> NO_MAN transition.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.24 2004/06/28 20:38:55 mux Exp $
d22 1
@


1.24
log
@Use %option noyywrap to avoid the need to link with libl.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.23 2004/06/28 09:34:31 mux Exp $
d22 1
a22 1
NOMAN=	yes
@


1.23
log
@Add a small API which is a wrapper around pthreads.  It lets me wait
for any of the threads to exit.  I only use it for the worker threads
for now, but it'll get used in the multiplexer code as well, for the
sender and the receiver thread.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.22 2004/06/18 19:35:39 mux Exp $
d23 2
a24 2
DPADD=	${LIBCRYPTO} ${LIBL} ${LIBZ}
LDADD=	-lcrypto -ll -lz
@


1.22
log
@Implement zlib support.  This was a bit harder than I thought it
would be.  There are lots of changes in the stream API with this
commit, to better abstract the buffers and implement a filter
API which we use for zlib support.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.21 2004/02/22 16:01:32 mux Exp $
d16 1
@


1.21
log
@Big update to the fattr API :
- Rename fileattr.c to fattr.c and fileattr.h to fattr.h.
- Rename osdep.h to fattr_os.h which makes much more sense.
- Add fattr_forcheckout(), fattr_merge() and fattr_cmp() functions. They
  are unused for now but will be soon.
- Cleanup the way we manage supported file types, it's much simpler now.
- Remove some useless debug code.
@
text
@d1 1
a1 1
# $Id: Makefile,v 1.20 2004/02/08 14:23:38 mux Exp $
d22 2
a23 2
DPADD=	${LIBL} ${LIBCRYPTO}
LDADD=	-ll -lcrypto
@


1.20
log
@Change all $FreeBSD$ tags to $Id$ tags because I'm going to maintain
this code externally.
@
text
@d1 1
a1 1
# $Id$
d7 1
a7 1
	fileattr.c fileattr.h \
a12 1
	osdep.h \
@


1.19
log
@Use -pthread to let the compiler decide which threading library to use.
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.18
log
@This is a work in progress mostly on diff updating.  This is a huge
commit because I ended up cleaning and renaming lots of things.

- Implement keyword expansion, for now it only works with CVSHeader
  keywords but this is enough to allow me properly fix the diff
  updating algorithm.  There is a keyword API now.
- Rename the collection API to make it look a bit nicer.
- Update all the copyrights to include year 2004.
- Tidy up the stream API a bit.  Now stream_getln() takes a size
  parameter which is necessary to handle binary lines.  Also, it
  doesn't trash the last character of the last line of a file if it
  doesn't end with a newline.  Rename the stream_open() function to
  stream_reopen() which makes more sense.  Also add a convenient
  stream_open_file() wrapper.
- Move the diff updating code into its own file.
- Fix the checkout code so that it handles binary files correctly.
- Add a convenient updater_getpath() functions which returns a
  dynamically allocated string with the absolute pathname to the
  file to update based on the RCS file name and the base directory
  of the collection.  This avoid using chdir() which is unsafe since
  this program is multithreaded.
- Update TODO list (I'm sure I've forgotten stuff there).
- Tidy up the style.
- Restructure the SRCS variable assignment in the Makefile to make
  adding/removing files easier.
@
text
@d20 1
a20 1
CFLAGS+=-g	# -DNDEBUG
a24 3

DPADD+=	${LIBKSE}
LDADD+=	-lkse
@


1.17
log
@- Create and use a stream API, which is very minimal stdio library.
  If funopen() and fgetln() were portable, and if funopen() was
  actually working, this wouldn't have be necessary but alas...
  For now stream_getln() can't receive lines bigger than STREAM_BUFSIZ
  and this should be fixed soon.  This removes all uses of stdio
  except the one done in yacc.
- Remove unused chan_printf() and chan_getln(), we use their
  counterparts in the stream library now.
- Tidy up some loose ends, mostly missing error checking and
  layering violations.
- Remove dead and non-compilable debug code.
@
text
@d4 16
a19 4
SRCS=	config.c config.h detailer.c detailer.h fileattr.c fileattr.h \
	lister.c lister.h main.c main.h misc.c misc.h mux.c mux.h osdep.h \
	parse.h parse.y proto.c proto.h stream.c stream.h token.l \
	updater.c updater.h y.tab.h 
@


1.16
log
@- Move utility functions to misc.c and misc.h.
- Implement MD5file() which computes the MD5 checksum of a given file.
  MD5file() uses the OpenSSL library and is meant as a replacement for
  MD5File() from libmd which is unportable.
- Convert MD5File() consumers to use MD5file().
- Remove debugging printf()'s in the updater.
@
text
@d6 2
a7 1
	parse.h parse.y proto.h proto.c token.l updater.c updater.h y.tab.h 
@


1.15
log
@- Rename file.h to fileattr.h.  We lose CVS history but it's not really
  a problem since there was only one or two commits to this file.
- Introduce fileattr.c with functions to handle file attributes.
- Move the supported file attributes to a new osdep.h file.
- Implement fileattr_support() which returns a pointer to a struct
  fileattr_support containing the supported file attributes.
- Fix a type in a comment in config.c.
@
text
@d5 2
a6 2
	lister.c lister.h main.c main.h mux.c mux.h osdep.h parse.h \
	parse.y proto.h proto.c token.l updater.c updater.h y.tab.h 
d10 2
a11 2
DPADD=	${LIBL} ${LIBMD}
LDADD=	-ll -lmd
@


1.14
log
@Style nit.
@
text
@d4 3
a6 3
SRCS=	main.h main.c proto.h proto.c token.l parse.y y.tab.h parse.h \
	file.h config.h config.c mux.h mux.c lister.h lister.c \
	detailer.h detailer.c updater.h updater.c
@


1.13
log
@Move the dummy updater thread into its own file.
@
text
@d7 1
a7 2
#CFLAGS+=-DNDEBUG -g
CFLAGS+=-g
@


1.12
log
@Make it easier to change the threading library.
@
text
@d6 1
a6 1
	detailer.h detailer.c
@


1.11
log
@- Make the detailer thread a bit less dummy and a bit more like
  it will look like in the end.
- Link with libmd for the MD5 digest computation functions.
@
text
@d11 5
a15 4
#DPADD=	${LIBL} ${LIBKSE}
#LDADD=	-ll -lkse
DPADD=	${LIBL} ${LIBTHR} ${LIBMD}
LDADD=	-ll -lthr -lmd
@


1.10
log
@- Switch back to libthr for threading.
- Add a chan_getln() function to get a line from a channel.
- Add a dummy detailer thread which just read lines on the channel
  and print them on the screen.
- Remove code that was doing this previously in the main thread
  (except it was using chan_read() directly and not chan_getln()).

This code hangs after a while and I couldn't figure out why yet.  I
suspect a problem in -CURRENT's threading hence why I switched to
libthr.  Unfortunately it hangs with libthr too.  I need to test this
code on -STABLE.
@
text
@d13 2
a14 2
DPADD=	${LIBL} ${LIBTHR}
LDADD=	-ll -lthr
@


1.9
log
@Forced commit to note that the last commit re-enabled the use
of libkse now that it works again.
@
text
@d5 2
a6 1
	file.h config.h config.c mux.h mux.c lister.h lister.c
d11 4
a14 4
DPADD=	${LIBL} ${LIBKSE}
LDADD=	-ll -lkse
#DPADD=	${LIBL} ${LIBTHR}
#LDADD=	-ll -lthr
@


1.8
log
@- Remove the only use of id to stay consistent.
- Add support for MUX_CLOSE packets in the receiver.
@
text
@@


1.7
log
@Forced commit to note that the previous commit also switched from
libkse to libthr for pthreads.  I was having problems with libkse.
@
text
@d10 4
a13 2
DPADD=	${LIBL} ${LIBTHR}
LDADD=	-ll -lthr
@


1.6
log
@- Add lister.h and lister.c to SRCS.
- Initialize the chan0 and chan1 fields of struct config in cvsup_mux().
- Create the lister thread, passing it the struct config.
- Add test code to help with debugging : indefinitely loop calling
  chan_read().
@
text
@@


1.5
log
@Add file.h to SRCS.
@
text
@d5 1
a5 1
	file.h config.h config.c mux.h mux.c
d10 2
a11 2
DPADD=	${LIBL} ${LIBKSE}
LDADD=	-ll -lkse
@


1.4
log
@Add ${LIBL} to DPADD.
@
text
@d5 1
a5 1
	config.h config.c mux.h mux.c
@


1.3
log
@Change program name to csup (Csup).
@
text
@d10 1
a10 1
DPADD=	${LIBKSE}
@


1.2
log
@- Update mux.c and mux.h so that it compiles.  It doesn't work and
  is not even used yet.
- Link with libkse, at least for now.
@
text
@d3 1
a3 1
PROG=	cvsup
@


1.1
log
@Initial revision
@
text
@d5 2
a6 2
	config.h config.c mux.h
#CFLAGS+=-DDEBUG -g
d10 2
a11 1
LDADD=	-ll
@

