checkpointing notes.

This commit is contained in:
crs 2002-08-02 21:57:29 +00:00
parent ea78e02279
commit 3d41e1c7fd
1 changed files with 72 additions and 58 deletions

View File

@ -1,47 +1,26 @@
final preparation for release: edit FIXME's in:
create files: PORTING
INSTALL -- configuration, build, and installation instructions
NEWS -- recent project news
COPYING -- pointer to LICENSE
AUTHORS -- list of contributors
ChangeLog
LICENSE -- license
MANIFEST -- list of files in distribution (?)
FAQ -- frequently asked questions for project
HISTORY -- project history
add copyright to every file
change README:
should have:
A brief description of the project.
A pointer to the project website (if it has one)
Notes on the developer's build environment and potential portability problems.
A roadmap describing important files and subdirectories.
Either build/installation instructions or a pointer to a file containing same (usually INSTALL).
Either a maintainers/credits list or a pointer to a file containing same (usually CREDITS).
Either recent project news or a pointer to a file containing same (usually NEWS).
make man pages make man pages
docbook? docbook?
should have makefile target to build these should have makefile target to build these
remove line from BUGS about missing man pages
add make rules to install files ---
not removing all doxygen generated files in dist-clean or maintainer-clean
should remove them all in dist-clean
custom make targets: ---
make doxygen documents check for cancellation points:
make binary and/or source rpm following functions may be interrupted (returning -1, errno=EINTR):
should auto generate spec file, pulling in proper version number read(), write(), ioctl(), select(), poll(), pause(), connect(),
source rpm should use BuildRoot to build in /tmp or /var/tmp accept(), syslog(), TCP operations
create tarball: creat(), close(), getmsg(), putmsg(), msgrcv(), msgsnd(),
foobar-$(VERS).tar.gz: recv(), send(), wait(), waitpid(), wait3(), sigpause()
@ls $(SRC) | sed s:^:foobar-$(VERS)/: >MANIFEST should ensure that we handle EINTR anywhere these are called. in
@(cd ..; ln -s foobar foobar-$(VERS)) particular we must call testCancel() (should do that anyway) and
(cd ..; tar -czvf foobar/foobar-$(VERS).tar.gz `cat foobar/MANIFEST`) sometimes restart the call.
@(cd ..; rm foobar-$(VERS)) make sure unbounded time win32 calls do testCancel().
configure not caching results
is that normal or did we disable it unintentionally
--- ---
not handling large motif selections not handling large motif selections
@ -350,8 +329,8 @@ automake stuff
* 'touch NEWS README AUTHORS ChangeLog' * 'touch NEWS README AUTHORS ChangeLog'
* 'touch stamp-h' * 'touch stamp-h'
* 'aclocal' - creates aclocal.m4 * 'aclocal' - creates aclocal.m4
* 'autoconf' - creates configure from configure.in
* 'autoheader' - creates config.h.in * 'autoheader' - creates config.h.in
* 'autoconf' - creates configure from configure.in
* 'automake' - Creates Makefile.in from Makefile.am * 'automake' - Creates Makefile.in from Makefile.am
* './configure' - creates Makefile from Makefile.in * './configure' - creates Makefile from Makefile.in
* 'make' * 'make'
@ -371,26 +350,47 @@ automake stuff
use AC_CHECK_FUNC or AC_CHECK_FUNCS to detect missing functions use AC_CHECK_FUNC or AC_CHECK_FUNCS to detect missing functions
use AC_CHECK_LIB first if function not in std C lib use AC_CHECK_LIB first if function not in std C lib
maybe AC_CHECK_TYPE for size_t and ssize_t AC_FUNC_MEMCMP -- adds memcmp.o to LIBOBJS if memcmp is broken
AC_FUNC_STRFTIME -- check for strftime(), define HAVE_STRFTIME
AC_FUNC_VPRINTF -- check for vprintf(), define HAVE_VPRINTF
also checks for _doprnt(), define HAVE_DOPRNT
replace sys/time.h with: #if STDC_HEADERS
#if TIME_WITH_SYS_TIME # include <string.h>
# include <sys/time.h>
# include <time.h>
#else #else
# if HAVE_SYS_TIME_H # if !HAVE_STRCHR
# include <sys/time.h> # define strchr index
# else # define strrchr rindex
# include <time.h> # endif
char *strchr (), *strrchr ();
# if !HAVE_MEMCPY
# define memcpy(d, s, n) bcopy ((s), (d), (n))
# define memmove(d, s, n) bcopy ((s), (d), (n))
# endif # endif
#endif #endif
what does `make install' do? must provide fallbacks for stuff:
non-reentrant functions:
check in derived files? put (shared) lock around non-reentrant function
aclocal.m4 provide reentrant API
config.h.in gethostbyaddr
configure gethostbyname
getprotobyname
getprotobynumber
getservbyname
getservbyport
gmtime
getpwuid
strerror
string/memory functions:
memcpy
memcmp
memmove
memset
strcat
strcmp
strcpy
strrchr
used library functions: used library functions:
accept accept
@ -399,8 +399,11 @@ used library functions:
close close
connect connect
dup dup
fork exit
fcntl
* fork
fprintf fprintf
* free
getenv getenv
gethostbyaddr gethostbyaddr
gethostbyname gethostbyname
@ -408,16 +411,22 @@ used library functions:
getpeername getpeername
getprotobyname getprotobyname
getprotobynumber getprotobynumber
getpwuid_r
getservbyname getservbyname
getservbyport getservbyport
getsockname getsockname
getsockopt getsockopt
gettimeofday gettimeofday
getuid
inet_addr inet_addr
inet_ntoa inet_ntoa
ioctl ioctl
listen listen
* malloc
mbrtowc
mbsinit
memcpy memcpy
! memcmp
memmove memmove
memset memset
nanosleep nanosleep
@ -435,15 +444,20 @@ used library functions:
sigaction sigaction
sigaddset sigaddset
sigemptyset sigemptyset
sigwait
socket socket
sprintf sprintf
strcat strcat
strcmp strcmp
strcpy
strerror strerror
strrchr strrchr
strtol
sysconf
syslog syslog
umask umask
vsnprintf vsnprintf
wcrtomb
write write
included files included files