New LSB Navigator 1.9 and LSB DB/Scripts 1.4 Released
We have prepared the new chain of updates for the LSB Database and Navigator.
The sources are in Bazaar (unofficial/ispras-dbadmin and unofficial/ispras-lsb-specdb modules; init files for community tables are in /srv/www/bzr/unofficial/ispras-lsb/community_init at spidey). Below is the list of changes (see also http://ispras.linux-foundation.org/index.php/DB_Navigator_Releases and http://ispras.linux-foundation.org/index.php/LSB_Database_Updates).
LSB Navigator 1.9
New Features
1. New subsection in the '
2. Comments for non-LSB libraries used by applications are now showed on the basis of the LibraryAttribute table.
3. More consistency checks - excluded types used as parameters and return types of included interfaces.
4. Tests and Coverage pages speed up (about 2 times faster now).
5. Interface search speed up (about 2 times faster now).
6. Support for several versions of one included symbol on the same architecture.
7. The concept of manually maintained 'List of Approved Libraries' is introduced, for which we guarantee presence status in distributions (i.e. explicitly search for each library from the list while analyzing distributions).
8. New section in the admin mode - 'Approved Libraries Presence in Distributions'.
9. Notes about data completeness on libraries and interfaces home pages (on the basis of the new ApprovedLibrary table).
10. Architecture filter is now disabled on those pages where it doesn't make any sense.
11. 'Class Usage by Applications' statistics is displayed on the class homepage (with possibility of obtaining list of such applications as well as lists of particular symbols used by every app).
12. Added search for headers.
Bug Fixes
1. In the Interface search results sometimes less than 500 entries were displayed while actually there are more than 500 corresponding records in the db.
2. If interpreted language module in a distribution is provided by several components, then only one component was displayed.
3. When requesting applications using the symbol on the 'excluded interfaces usage' page (clicking on 'list...'), incorrect data was sometimes displayed for symbols provided by more than one library.
LSB Database & Scripts 1.4
Changes in Database Schema
1. New tables in the community part - ApprovedLibrary, AppInterpreter and DistrVendor.
2. ArchInt.AIdeprecated field is introduced, Interface.Ideprecated field is dropped. This allows deprecating certain versions of symbols.
3. Size of all 'appearedin', 'withdrawnin', 'mandatorysince' and 'deprecatedsince' fields is reduced to 5.
4. New cache table (cache_RIntCaseInsensitiveNames) with case insensitive interface names for Navigator search speed up.
5. The release incorporates the following changes already released as patches through bugzilla:
a. Drop Csrconly field (bug 2039).
b. Separate Ctype value for accessors (bug 2070).
Data Changes
1. For those LSB functions whose version is shifted due to long double support changes (see bug 2177) necessary data is added to the ArchInt table.
2. Added data for 7 distributions and 77 applications.
3. Pure python/perl applications are now assigned to the 'Generic' architecture.
4. Some empty 'Ilibrary' fields in the Interface are now filled with appropriate data.
5. The release incorporates the following changes already released as patches through Bugzilla:
a. libc uplift and analysis of excluded symbols used by applications (~50 task entries in Bugzilla).
b. libstdc++ uplift (bug 1962).
c. GTK+ stack uplift (bug 2095).
d. Added libXtst information (bug 2020).
e. Fixes for GL and some X11 headers (bug 706).
f. Fixes for 'overspecified' pthreads (bug 1926).
g. Add missing png.h structures (bug 1966).
h. Add missing glu.h declarations (bug 2027).
Scripts Changes
1. 'gensrc' target in the build_env/stub_libs makefile now produces libraries for all LSB versions at the same time. Instead of 7 folders (one per architecture) we now have a folder for every LSB version starting with 3.0 with seven subfolders corresponding to different architectures.
2. packaging scripts are modified according to the stub_libs structure changes. LSB SDK now contains a separate library directory for every LSB version starting with 3.0. Directories are named 'lib-3.0', 'lib-3.1', etc. (for 64bit architectures, 'lib64' prefix is used). /opt/lsb/lib is still exists as a symlink to a directory corresponding to the highest LSB version.
3. lsbcc now uses directory corresponding to the target LSB version. If no version is specified, '/opt/lsb/lib/' will be used.
4. mkstublibs can now handle several versions of one symbol in the same library. Not-deprecated version will be marked as default in this case. There should be no several not-deprecated versions.
5. mkstublibs now automatically calculates size for _ZTSN* ('typeinfo name for ...') symbols, appropriate records are dropped from the 'missing_data' files.
6. Corrections to mkheader to deal with types having FuncPtr as a base type
7. The release incorporates the following changes already released as patches through Bugzilla:
a. Remove needs for hand-edited devchk tests for 3 headers (bug 1519).
b. Generators speed up (bug 2049 - libchk, bug 2035 - mkstublibs).
c. build_env/headers/makefile modification to generate .defs in different directories for for different LSB versions (bug 2041).
d. devchk modification to omit type's reserved members checks (bug 1494).
e. Added 'optimize' rule for specdb 'make restore' for general speedup (bug 2062).
Please note that the recent changes in the DB & scripts finish the multi-LSB-version lsbcc subproject.
The new versions will show up at http://linuxfoundation.org/navigator/ soon (after Mats transfers the new releases to the LF server). Until that the working demo can be seen at http://linuxtesting.org/navigator/commons/welcome.php.
Vladimir Rubanov
ISPRAS

