There have been enough issues with the 2.0 spec to warrant a 2.1 spec to roll up the fixes and clarifications. It is an explicit goal for 2.1 to be fully compatible with 2.0 and only include corrections and additions that have been present on systems that may have been certified for 2.0. Because of this, 2.0 certification will be transitively applied to 2.1. To put it another way, if we'd thought of it in time, we would have called the certification program "LSB 2" to indicate it applied to all 2.x releases. Some wording tweaks still need to be made to the certification documents to make this clear; in future major releases we'll launch certification this way from the start.
Things we need to put into 2.1:
- Missing C++ interfaces as identified by appchk on the C++ Test suite: bugs 386, 597
- Formally deprecate things half deprecated in 2.0.1 bug 643
- Resolve missing/incomplete interfaces (e.g. obstack) bug 464.
- Other inconsistancies Nick has found that were too big to fix in 2.0.1 bug 520. Update: after a lot of work on 520, we settled on what needed to be fixed. An updated SUS-alignment bug will be opened for LSB 3 to continue to track what's not in.
- Have another go at resolving the const parameters in ncurses bug 238. This was not done.
- Do a complete crosscheck cycle on all platforms. This means putting in any missing interfaces, and building devchk and dynchk with regenerated sources. After any variances are identified, the process is repeated.
Interface changes necessiate issuing new appchk/libchk tools, but it's not planned to release new versions of runtime tests unless there are bugs which need fixing. Other software deliverables will be respun as needed. For example, changes to be able to run the vsw4 testsuite (which should be released by year-end) necessitate a new lsb-si release.
bug 543 is the tracking bug for the 2.1 specification, bug 610 is the tracking bug for the overall 2.1 release.
Release Candidate 2 for LSB 2.1 is now out, the review is open until Jan 14, 2005.
rc1 to rc2 changes - to development headers, also show up in spec document as "data definitions"
- bug 321: add to <sys/socket.h> SO_ACCEPTCONN, SO_RCVLOWAT, SO_SNDLOWAT, SO_RCVTIMEO, SO_SNDTIMEO, SOMAXCONN, SCM_RIGHTS
- bug 674: related to bug 321, RCVLOWAT, SNDLOWAT, RCVTIMEO, SNDTIMEO need processor-specific values, not generic (ppc32 and ppc64 differed from the others)
- bug 652: <pthread.h> remove PTHREAD_MUTEX_TIMED_NP (NP = non-portable), replace its use in PTHREAD_MUTEX_INITIALIZER with PTHREAD_MUTEXNORMAL