1 # Notes related to an OpenAFS 1.8 branch
3 The current plan is to make a branch for 1.8 off of master in early July 2014.
4 This will allow all of the improvements and cleanup that have accumulated
5 on master to be in a stable release series, while letting potentially
6 destabilizing changes such as rxgk and pthreaded bos land on master to
9 A 1.8 release would also bring the possibility of using shared libraries,
10 which are now available with the use of libtool. Currently (on master),
11 all executable binaries are still linked mostly statically, and most of
12 the shared libraries that are produced during the build are not installed
13 to the destination tree. Exceptions are libafshcrypto.so, libkopenafs.so,
14 and librokenafs.so. We could consider installing more shared libraries,
15 and using dynamic linking for executables, either before or after the
16 branch point. Doing so would involve deciding on what sorts of ABI
17 stability guarantees should be provided.
19 The remainder of this page has three separate lists, for things to be
20 done before branching, things to be removed from the 1.8 branch after
21 it is created, and things to be removed from master after the 1.8 branch
24 Things to be done pre-branching:
26 * Make roken and hcrypto use libtool to build
27 * Make sure libtool is used properly elsewhere, in particular to install
28 shared versions of libafsrpc and libafsauthent, which we ship in
29 1.6 but do not currently install on master
30 * Relatedly, verify that the libraries we do ship do not depend on things
32 * (Optional) Look at the feasibility of installing shared liboafs_foo,
33 and using dynamic linkage for the client utilities.
34 * (rxosd is not going to make it unless someone steps up to do the work;
35 we can't block the branch indefinitely on it.)
36 * Do install and run testing on various platforms; check for memory leaks
38 * Relatedly, check that the kernel module is properly built and loadable
39 on a variety of linuxen.
40 * Draft Debian packaging (which will help with a lot of the libtool
43 * Any other tree-wide cleanup that people want to get in.
44 * Adjust the default behavior of configure (pthreaded ubik? more?)
45 * Beg and plead for documentation updates.
46 * Tie the installation of the pam module to --enable/disable-kauth
48 Things to be removed from 1.8 post-branch:
50 * `src/rxgk`; it is not going to be usable in 1.8
51 * `src/mcas`; it is not going to be usable in 1.8
52 * `make dest` support? Pretty-please?
54 Things to be removed from master post-branch:
56 * Several `tfoo` can probably be moved to just `foo`; things like
57 `tptserver`, `tvlserver`, `tvolser`, `tsalvaged`. I'm not sure whether
58 `tbudb` and/or `tbutc` are ready.
59 * push to empty out libutil as much as possible.
61 * it is tempting to remove kauth, but probably not possible due to agreements with IBM.