freebsd-dev/contrib/amd/TODO
1998-08-23 22:07:21 +00:00

178 lines
5.6 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- text -*-
Make a tasks file that people can pick jobs off of.
take a look at am_compat.h and fix everything there...
fix all $Id bla bla bla $ on every file.
add my own copyright 1997 etc.
NOT NEEDED: convert DEBUG symbol to ENABLE_DEBUG
NOT NEEDED: convert DEBUG_MEM symbol to ENABLE_DEBUG_MEM
Use these two somewhere:
AC_DEFINE(AM_UTILS_NAME_PACKAGE, "am-utils")
AC_DEFINE(AM_UTILS_VERSION, "6.0a1)
check all "dnl XXX: in configure.in
check for: INLINE, Const->const, P_void, VOIDP
rename DEBUG_MTAB to DEBUG_MNTTAB
rename UPDATE_MTAB to MOUNT_TABLE_ON_FILE
rename HAS_NIS_MAPS to HAVE_MAP_NIS
rename HAS_TFS to HAVE_FS_TFS
rename SIG_HNDL_TYP to RETSIGTYPE
remove HOST_EXEC #define from everywhere. add to am_ops.c a static flag
initialized_vops, which if not true, should set the host_ops vector field to
0 or host_umounted. This way let the feature be turned on if -h option to
amd is given.
nuke all code that is ifdef'd SUNOS4_COMPAT
rename NEED_MNTOPT_PARSER to HAVE_HASMNTOPT and cleanup the code. also take
the supplied code in amd/mount_fs.c and include it as the library function
libamd/hasmntopt.c
TLI code needs to be fixed.
a way to include a site-specific configuration file IFF it exists from
directory local/<${target}.h>
replace #include WAIT with nothing (HAVE_SYS_WAIT_H?)
replace SYS5_SIGNALS with HAVE_SYS_WAIT_H (which is on only if it sys/wait.h
exists and is using the newer "int" for type, not "union wait". The macro
AC_HEADER_SYS_WAIT turns on HAVE_SYS_WAIT_H iff wait*() functions are
posix.1 compliant. Make sure you don't remove SYS5_SIGNALS ifdef's that are
not related to wait*() syscalls.
add username, hostname, and date at which time amd was compiled.
No more need for MOUNT_HELPER_SOURCE.
any code which is included by NEED_UMOUNT_FS, should be on iff
MOUNT_TABLE_ON_FILE is on.
replace NFS_FH_FIELD with references fo ".fh" in calls to
NFS_FH_DREF(src, dst) macro
For *EVERY* M4 Macro with case/esac, check that the $host_os case entries
are correct.
I'm not using amd's regexp code. Instead, use generic system code. If the
system has posix style regexp functions, then change amd/map.c to use
correct new prototype.
use HAVE_SVC_GETREQSET instead of RPC_4.
replace all "jsp" in *.[hc] $Id$ with ezk.
use MNTTAB_FILE_NAME instead of MOUNTED
use MOUNT_TABLE_ON_FILE instead of READ_MTAB_FROM_FILE
no more HAS_EMPTY_AUTOMOUNTS, which was used if a df(1) divide by zero bug
was invoked. Instead, change nfs_statfs() code to always return non-zero
values. Then nuke HAS_EMPTY_AUTOMOUNTS.
REGEXP: use whatever regular expressionlibrary you have on the system,
including regexp.h if available, and using regcomp/regexec. Amd was written
with BSD regexps in mind, not Sys V, so if I use any of those, I have to
watch for correct usage. Otherwise, I can include the older include/re.h
and amd/re.c. Replace HAS_REGEXP with HAVE_REGEXEC.
The regex code in amd/mapc.c has changed a lot. It probably has bugs. Must
test and debug it!!!
# string name of filesystem in /etc/mnttab file
Use MNTTAB_TYPE_FOO instead of MTAB_TYPE_FOO.
# string name of mount option in /etc/mnttab file
Use MNTTAB_OPT_FOO instead of MNTOPT_FOO.
# string (or integer?) name of filesystem type in mount(2) syscall
Use MOUNT_TYPE_FOO instead of MNTTYPE_FOO or MOUNT_FOO.
# hex/number of FS mount option in nfs_args passed to mount(2) syscall
Use MNT2_NFS_OPT_FOO instead NFSMNT_FOO.
# hex/number of generic FS mount option directly passed to mount(2) syscall
Use MNT2_GEN_OPT_FOO instead of MS_FOO or M_FOO.
update AMD_COMPAT to 6.0 in include/am_utils.h
convert all mem* functions b* functions (memset to bzero, etc.) or vice
verse.
put my name/copyright on every src file
change all struct mnttab/mntent to "mntent_t"
cleanup lib/resvport.c (TLI vs. Sockets). TLI code is #defin'ed
HAVE_T_OPEN.
[
setting MTAB_LOCK_FILE (mtab_svr4.c) should be an amd run-time configuration
option.
change all UMOUNT_FS macros to umount_fs() fxn calls.
remove getnetbyaddr() from lib/getnetbyaddr.c and then link w/ -lsocket
take care of various (hlfsd et al) scripts in Makefile.am files.
rename HOSTNAMESZ to MAXHOSTNAMELEN
turn on all the NEW_TOPLVL_READDIR code (for "ls" to work in an amd point)
change all NEW_DEFAULTS to ENABLE_DEFAULT_SELECTOTS (which is now on by
default)
remove refereces to mnt_freq and mnt_passno in mntent_t since it's not in
use any more.
remove all the (lint?) comments /*ARGSUSED */
change HAS_FOOFS to HAVE_AM_FS_FOO (for example HAS_NFSX -> HAVE_AM_FS_FOO),
but change HAS_UNION_FS to HAVE_AM_FS_UNION.
some code uses #ifdef M_NEWTYPE to tell if mount(2)'s type field is "char *"
or int. Use MTYPE_TYPE declaration instead (not ifdef macro!)
change DEBUG_MTAB to DEBUG_MNTTAB
deal with the changes in values of $os, $arch, and $osver!
replace SYS5_SIGNALS with REINSTATE_SIGNAL_HANDLER
figure out how to auto-conf HAS_HESIOD_RELOAD (amd/info_hesiod.c). For now
I've used the macro HAVE_HS_ZONE_TRANSFER.
******************************************************************************
PERL SCRIPT TO FIX OLD AMD MAPS:
- fix '=' to ':='
- fix sos5 -> solaris2, etc.
******************************************************************************
USE AS IS:
- SVC_IN_ARG_TYPE (change from SVC_IN_ARGS_TYPE, with an 'S')
- NFS_FH_TYPE
- MTYPE_TYPE
- MOUNT_TYPE_* NO!!!
******************************************************************************
NEW FEATURES:
- autofs
- cachefs
- dbm/gdbm/db file maps
- add amd option -O (override) to override $os, $osver, $arch, $karch, etc.
******************************************************************************
DONE:
HAS_TFS is gone and all of it's code too.
major code cleanup, removed if 0 code and if notdef