Merge branch 'vendor/LIBARCHIVE'
[dragonfly.git] / contrib / amd / TODO
1 # -*- text -*-
2
3 Make a tasks file that people can pick jobs off of.
4
5 take a look at am_compat.h and fix everything there...
6
7 fix all $Id bla bla bla $ on every file.
8 add my own copyright 1997 etc.
9
10 NOT NEEDED: convert DEBUG symbol to ENABLE_DEBUG
11 NOT NEEDED: convert DEBUG_MEM symbol to ENABLE_DEBUG_MEM
12
13 Use these two somewhere:
14 AC_DEFINE(AM_UTILS_NAME_PACKAGE, "am-utils")
15 AC_DEFINE(AM_UTILS_VERSION, "6.0a1)
16
17 check all "dnl XXX: in configure.in
18
19 check for: INLINE, Const->const, P_void, VOIDP
20
21 rename DEBUG_MTAB to DEBUG_MNTTAB
22 rename UPDATE_MTAB to MOUNT_TABLE_ON_FILE
23 rename HAS_NIS_MAPS to HAVE_MAP_NIS
24 rename HAS_TFS to HAVE_FS_TFS
25 rename SIG_HNDL_TYP to RETSIGTYPE
26
27 remove HOST_EXEC #define from everywhere.  add to am_ops.c a static flag
28 initialized_vops, which if not true, should set the host_ops vector field to
29 0 or host_umounted.  This way let the feature be turned on if -h option to
30 amd is given.
31
32 nuke all code that is ifdef'd SUNOS4_COMPAT
33
34 rename NEED_MNTOPT_PARSER to HAVE_HASMNTOPT and cleanup the code. also take
35 the supplied code in amd/mount_fs.c and include it as the library function
36 libamd/hasmntopt.c
37
38 TLI code needs to be fixed.
39
40 a way to include a site-specific configuration file IFF it exists from
41 directory local/<${target}.h>
42
43 replace #include WAIT with nothing (HAVE_SYS_WAIT_H?)
44
45 replace SYS5_SIGNALS with HAVE_SYS_WAIT_H (which is on only if it sys/wait.h
46 exists and is using the newer "int" for type, not "union wait".  The macro
47 AC_HEADER_SYS_WAIT turns on HAVE_SYS_WAIT_H iff wait*() functions are
48 posix.1 compliant.  Make sure you don't remove SYS5_SIGNALS ifdef's that are
49 not related to wait*() syscalls.
50
51 add username, hostname, and date at which time amd was compiled.
52
53 No more need for MOUNT_HELPER_SOURCE.
54
55 any code which is included by NEED_UMOUNT_FS, should be on iff
56 MOUNT_TABLE_ON_FILE is on.
57
58 replace NFS_FH_FIELD with references fo ".fh" in calls to
59 NFS_FH_DREF(src, dst) macro
60
61 For *EVERY* M4 Macro with case/esac, check that the $host_os case entries
62 are correct.
63
64 I'm not using amd's regexp code.  Instead, use generic system code.  If the
65 system has posix style regexp functions, then change amd/map.c to use
66 correct new prototype.
67
68 use HAVE_SVC_GETREQSET instead of RPC_4.
69
70 replace all "jsp" in *.[hc] $Id: TODO,v 1.1.1.1 1998/11/05 02:04:19 ezk Exp $ with ezk.
71
72 use MNTTAB_FILE_NAME instead of MOUNTED
73
74 use MOUNT_TABLE_ON_FILE instead of READ_MTAB_FROM_FILE
75
76 no more HAS_EMPTY_AUTOMOUNTS, which was used if a df(1) divide by zero bug
77 was invoked.  Instead, change nfs_statfs() code to always return non-zero
78 values.  Then nuke HAS_EMPTY_AUTOMOUNTS.
79
80 REGEXP: use whatever regular expressionlibrary you have on the system,
81 including regexp.h if available, and using regcomp/regexec.  Amd was written
82 with BSD regexps in mind, not Sys V, so if I use any of those, I have to
83 watch for correct usage.  Otherwise, I can include the older include/re.h
84 and amd/re.c.  Replace HAS_REGEXP with HAVE_REGEXEC.
85
86 The regex code in amd/mapc.c has changed a lot.  It probably has bugs.  Must
87 test and debug it!!!
88
89 # string name of filesystem in /etc/mnttab file
90 Use MNTTAB_TYPE_FOO instead of MTAB_TYPE_FOO.
91 # string name of mount option in /etc/mnttab file
92 Use MNTTAB_OPT_FOO instead of MNTOPT_FOO.
93 # string (or integer?) name of filesystem type in mount(2) syscall
94 Use MOUNT_TYPE_FOO instead of MNTTYPE_FOO or MOUNT_FOO.
95 # hex/number of FS mount option in nfs_args passed to mount(2) syscall
96 Use MNT2_NFS_OPT_FOO instead NFSMNT_FOO.
97 # hex/number of generic FS mount option directly  passed to mount(2) syscall
98 Use MNT2_GEN_OPT_FOO instead of MS_FOO or M_FOO.
99
100
101 update AMD_COMPAT to 6.0 in include/am_utils.h
102
103 convert all mem* functions b* functions (memset to bzero, etc.) or vice
104 verse.
105
106 put my name/copyright on every src file
107
108 change all struct mnttab/mntent to "mntent_t"
109
110 cleanup lib/resvport.c (TLI vs. Sockets).  TLI code is #defin'ed
111 HAVE_T_OPEN.
112 [
113 setting MTAB_LOCK_FILE (mtab_svr4.c) should be an amd run-time configuration
114 option.
115
116 change all UMOUNT_FS macros to umount_fs() fxn calls.
117
118 remove getnetbyaddr() from lib/getnetbyaddr.c and then link w/ -lsocket
119
120 take care of various (hlfsd et al) scripts in Makefile.am files.
121
122 rename HOSTNAMESZ to MAXHOSTNAMELEN
123
124 turn on all the NEW_TOPLVL_READDIR code (for "ls" to work in an amd point)
125
126 change all NEW_DEFAULTS to ENABLE_DEFAULT_SELECTOTS (which is now on by
127 default)
128
129 remove refereces to mnt_freq and mnt_passno in mntent_t since it's not in
130 use any more.
131
132 remove all the (lint?) comments /*ARGSUSED */
133
134 change HAS_FOOFS to HAVE_AM_FS_FOO (for example HAS_NFSX -> HAVE_AM_FS_FOO),
135 but change HAS_UNION_FS to HAVE_AM_FS_UNION.
136
137 some code uses #ifdef M_NEWTYPE to tell if mount(2)'s type field is "char *"
138 or int.  Use MTYPE_TYPE declaration instead (not ifdef macro!)
139
140 change DEBUG_MTAB to DEBUG_MNTTAB
141
142 deal with the changes in values of $os, $arch, and $osver!
143
144 replace SYS5_SIGNALS with REINSTATE_SIGNAL_HANDLER
145
146 figure out how to auto-conf HAS_HESIOD_RELOAD (amd/info_hesiod.c).  For now
147 I've used the macro HAVE_HS_ZONE_TRANSFER.
148
149
150
151 \f
152 ******************************************************************************
153 PERL SCRIPT TO FIX OLD AMD MAPS:
154 - fix '=' to ':='
155 - fix sos5 -> solaris2, etc.
156
157 ******************************************************************************
158 USE AS IS:
159
160 - SVC_IN_ARG_TYPE (change from SVC_IN_ARGS_TYPE, with an 'S')
161 - NFS_FH_TYPE
162 - MTYPE_TYPE
163 - MOUNT_TYPE_* NO!!!
164
165 ******************************************************************************
166 NEW FEATURES:
167
168 - autofs
169 - cachefs
170 - dbm/gdbm/db file maps
171 - add amd option -O (override) to override $os, $osver, $arch, $karch, etc.
172
173 ******************************************************************************
174 DONE:
175
176 HAS_TFS is gone and all of it's code too.
177 major code cleanup, removed if 0 code and if notdef