LSB DB Tools

From ISP_RAS
Jump to: navigation, search

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
Personal tools