LSB Workgroup conference call notes from 13 April

"Wichmann, Mats D" <[email protected]>
Newsgroups gmane.linux.lsb.specification
Message-ID <A06801158AE07847B27A52C1A074BC1D07947533@fmsmsx404.amr.corp.intel.com>
On the call:
Nick Stoughton, Marvin Heffler, Stuart Anderson,
Gordon McFadden, Arthur Tyde, Scott Collins,
Rajesh Banginwar, Andrew Josey, Elena Zannoni,
Karen Bennet, Mats Wichmann

Topic: LSB 3.0 Preview -> ?? 

Currently we don't meet the exit criteria for the Preview, there
are still open bugs that need to be fixed against 3.0pre (and
the incoming rate has not really dropped off, so there may be
more). There are still some decisions that need  to be ratified
as well.

Decision is to refresh the Preview on Friday and give it another
week.  The refresh will contain some changes that have gone in
(most of these already appear in the daily-build snapshots,
but not the designated 3.0pre copy): bugfixes, a rewrite of the
system initialization chapter (in response to several bugs),
librt, and the Xevi and DPMS interfaces in the X extension library.

Per request at the call, a new tracker bug (831) has been created
to hold the bugs that affect only the lsb-graphics module,
and those have been moved off the blocker list for the core/c++
specs (611). Both of these rollup bugs still have to be satisfied
for the full LSB 3 release, this was intended to provide better
insight into what areas the bugs affect.

The technical decisions we're still looking for input on, and
will push to get feedback from distros on during the next week
are the following (I've  excluded a few changes that should be
noncontroversial, see the release notes for the full list):

1. Currently, there are just a few glibc symbols higher than
GLIBC_2.3.2.  We've heard that at least one platform would
have trouble meeting a requirement that included GLIBC_2.3.3
or GLIBC_2.3.4 symbolversions. As listed in the release notes,
the current symobls are:

(a) _sys_siglist (2.3.3, but older version exists)
(b) pthread_setschedprio (new, only exists as 2.3.4)
The latter could be excluded from the spec

Also, nftw and nftw64 have a 2.3.3 version and regexec has a
2.3.4 version, older ones still exist and were used in LSB 2.
These were changed only on ppc64, but that was an oversight:
we'll either change all, or change none, to the newer versions.

2. As a special case, ppc and ppc64 have had changes to routines
that are affected by a change to the mcontext structure (all
getting 2.3.4 versions), and there's been some sentiment expressed
that those changes are needed,  even if the other >2.3.2 symbols
are not taken, so that should be considered as a separate topic.

3. The tls-aware locale routines, duplocale freelocale newlocale
and uselocale were added; in particular it seemed to be a problem
for g++ if these did not exist. Okay?

4. getgrouplist was added to meet requests from several opensource
apps, notably samba.

5. some additional pthread routines were added in response
to application claims they were important, these are in the
realtime area.  These have been in glibc since 2.0, excepting
pthread_setchedprio (see 1b above). The others are:

pthread_attr_getinheritsched, pthread_attr_getschedpolicy,
pthread_attr_getscope, pthread_attr_setinheritsched, 
pthread_attr_setschedpolicy, pthread_attr_setscope, 
pthread_getschedparam, pthread_setschedparam

6. librt was added back, containing those routines which have
been in it "forever", but excluding async I/O -

clock_getcpuclockid, clock_getres, clock_gettime, clock_nanosleep,
clock_settime, shm_open, shm_unlink, timer_create, timer_delete,
timer_getoverrun, timer_gettime, timer_settime. These interfaces
align with the POSIX Timers and Shared Memory Objects features.

7. Commands added to align with POSIX: ed, logger, lp, mailx, pax

Note that lp as a command does not imply the "System V lp"
subsystem, and for example, the "lp" that cups already provides
should be quite sufficient Note also that most distros appear to
have a package called mailx, but they install the binary as Mail,
we believe a simply symlink would meet the requirement.

8. Command added to meet various problem reports about package
installation: lsbinstall.  A sample implementation and tests
for this are being developed.

9. Last, but not least, the libstdc++ portion of the C++ ABI
needs to have the "highest symbol version" question answered.
Since gcc 3.4.0 was released, each of the point releases has added
a few exported symbols to the library, with versions matching
the release: GLIBCXX_3.4.1, 3.4.2 and 3.4.2 (apparently GCC
4.0 will continue this with GLIBCXX_3.4.4 based on current cvs
and 4.0 snapshots). Since 3.4.1, the added symbols appear to be
GNU extensions, not ISO-standard routines.  Is there a reason
to push this beyond 3.4.1?  That would seem to have the widest
applicability across implementations, unless it's really clear
there will never be an LSB 3 implementation using anything less
than, say, gcc 3.4.3.  The downside is that _native_ C++ builds
with a higher compiler version (not recommended for LSB code) may
pick up some of the newer stuff from headers without meanining to,
and have problems.

The tests and the lsb-build-c++ headers need to match the symbol
version choice so everything plays together nicely.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.