LSB DB Tools
This page contains the list of officially supported scripts that use LSB database (specdb). Most of them export information from the DB to various forms and tools, while the rest is used to import info into the DB. The list may be augmented - should you have any comment, please write to lsb-infrastructure@lists.freestandards.org. Please click on a header in the left column of particular group of scripts to know details about that group. The list of unsupported scripts that are still in the repository is at the bottom of this page.
The list of all DB Schema and Scripts updates with release notes is available here.
Note: all the scripts use environment variables LSBDBHOST, LSBDB, LSBUSER and LSBDBPASSWD to access the database. Some of them can take these parameters from command line.
Contents |
Common Modules
Many scripts descriped on these page have intersections in their functionality. In order not to duplicate the code in different places, a separate specdb.pm Perl module is provided by the build_env component. This module is currently used by some scripts from build_env and lsbspec.
Generators
Scripts that use the database to generate something.
| lsbspec tools | Scripts from 'lsbspec' module |
|---|---|
| mkcmdlist | makes list of commands for given module |
| mkcmdtable | creates sgml file containing table of commnads included in Specification or built in commands (depending on arguments) |
| mkdyntagtable | creates sgml file containg a list of dynamic entries described in given standard for given architecture |
| mkintlist | generates list of interfaces with 'Included' status (including deprecated interfaces) for given architecture |
| mklibapnd | generates sgml file with information about interfaces in all (!except libstdcxx) libraries |
| mklibsgmltable | generates sgml file with a list of libraries for given architecture |
| mklibspec | generates full information (libgroups, interfaces, etc) for the given library |
| mklsbmanpage | generates man page (in sgml format) for given interface |
| mkrpmtagtable | generates sgml file with table describing rpm tags from given group |
| mksectiontable | generates sgml file with table describing elf sections defined in given standard for given architecture |
| mksecttypestable | generates sgml file with table describing elf section types defined in given standard for given architecture |
| mkstandardsgmltable | generates sgml file with table of standards that apply given architecture |
| mksynop | prints synopsis for the given interfaces |
| build_env tools | Tools from 'build_env' module |
| stub_libs/check_lsb_symbols | checks function/variable classification of LSB required interfaces against libraries installed on system |
| stub_libs/mkstublibs | generates source code for stub libraries |
| headers/getheaderlist | generates the list of names of header that should be generated |
| headers/mkdatadef | generates ".defs" files, that contain information about entities defined in given header for guven architecture |
| headers/mkheader | generates header files |
| mkfilelists | creates lists of headers and libs for core and desktop |
| lsbdev-cc/mk_libcc_libs.pl | generates shared libs list for lsbcc from specdb |
| tests/misc tools | Tools used during different tests generation |
| cmdchk/mkcmdlist | generates 'cmds.h' file with all commands organized as an array of structures { "<name>", "<path>" } |
| cmdchk/mkcmdlist2 | generates 'cmdlist' file with all commands for the Python cmdchk |
| devchk/mktests | generates tests that check binary values in all 'included' headers (!except Qt4) |
| dynchk/libs/gen_lib.pl | generates checkers of interface usage for all 'Included' interfaces |
| dynchk/tests/gen_tests.pl | generates checkers of structure usage |
| elfchk/mkdtneededlist | generates dtneeded.c' file with run-names of 'included' organized as an array of strings |
| elfchk/mkdyntags | generates 'dyntags.c' file with information about dynamic entries organized as an array of structs |
| elfchk/mkmodlist | generates 'modules.h' and 'modules.c' files with structs representing information about modules |
| elfchk/mksectinfo | generates 'sectinfo.c' file with information about elf section organized as an array of structs |
| elfchk/mksecttype | generates 'secttype.c' file with information about section types organized as an array of structs |
| elfchk/mkfunclist | generates 'dynsyms.c' file with information about 'included' interfaces organized as an array of structs |
| elfchk/mkfunclist2 | the same as previous, but generates information about interfaces from libgroups of 'included' libraries |
| libchk/mkfunclist | generates files "<libname>.c" file with information about artifacts from library organized in structs and "<libname>.txt" with some additional information |
| rpmchk/mktaghdr | generates 'rpmtag.h' file declaring enum of all rpm tags and some other necessary declarations |
| rpmchk/mktagtbl | generates 'idxtbl.c' file with information necessary for rpm tags checking |
Data Collection Tools
Scripts used to populate db with data.
| libtodb2 | New set of tools for importing libraries to the database |
|---|---|
| libtodb | LibToDB tool for adding libraries to database and tools that use libtodb. Obsolete. Use libtodb2 instead |
| libtodb | used to add libraries (with all its contents) to specification database |
| addfontconfig.sh | adds information from fontconfig.h header to database; uses libtodb |
| addimage.sh | adds information about fontconfig, libpng and libjpeg to database; uses libtodb |
| addgtk.sh | adds information about Gtk libraries to database; uses libtodb |
| addxml2.sh | adds information about libxml2 to database; uses libtodb |
| addTypes.pl | adds the given types to the database |
Consistency Checkers
Scripts that can be used to detect and fix different consistency issues that cannot be handle by DBMS.
| build_env tools | Tools from 'build_env' module |
|---|---|
| headers/check_mult_defines | checks/fixes the problems in Archconst table |
| Consistency Checkers | Scripts from 'consistency_checkers' module |
| check_consistency.sh | Foreign keys check and different semantics-driven checks |
| url_checker.sh | Check correctness of documentation URLs for commands and interfaces |
| appearence_checker.sh | Check consistency of 'appearence' fields for the same element in different tables |
Unsupported scripts
Scripts that are still in the repository but no longer supported.
| lsbspec scripts | Scripts from 'lsbspec' module |
|---|---|
| lsbspec/mkinterfacesgmltable | |
| lsbspec/mkinterfacetable | |
| lsbspec/mkspectable | |
| lsbspec/mkusergrpcmds | |
| lsbspec/mkusergrpint | |
| build_env scripts | Scripts from 'build_env' module |
| build_env/headers/mkfuncprototype | generates prototypes for all functions defined in given header |
| Packaging scripts | Scripts from /tools/mkpkg/ |
| mktags | generates a file with information about all rpm tags from LSB DB except 'Reserved' ones |
| import* scripts | Scripts for adding new entities to the db (old way) |
| importcmd | adds new record to Command table and new mappings in CmdInt and CmdLib tables |
| importconstants | adds all constants from all 'included' headers to specification database |
| importheader | adds new header to specification database |
| importintlibgrpmap | places given mappings to LGInt table |
| importintspecmap | creates given mappings between Interface and Standard tables |
| importlibgroupmap | places given information to LibGroup table |
| importlib | adds new library to specification database |
| Miscellaneous tools | Tools not included in the groups above |
| /tests/coveragedb/deleteTestInfo | removes information about test coverage from the database |
| /tests/coveragedb/importTestInfo | updates the mappings between Test Suites and Interfaces or Commands |