Lsbspec Tools

From ISP_RAS

Jump to: navigation, search

Contents

Description

Lsbspec module contains some tools that are used during specification generation. These are mk* scripts and fixc++spec script. The 'lsbspec' module also contains 'diffinterfacetable' and 'checksynop' scripts that have no usage in any makefiles or other tools.

fixc++spec script is used to fix the result of mklibspec work for libstdcxx library.

mk* scripts:

Script Description
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 (list of interfaces and list of standards used by library) about all (!except libstdcxx) libraries described in given module for given architecture. Library must be included in LSB specification (i.e. must have 'Included' status)
mklibsgmltable generates sgml file with a list of libraries for given architecture
mklibspec generates information (libgroups with lists of class data, interfaces and deprecated interfaces for each group, standards used by library, list of data interfaces and list of deprecated data interfaces) for given library for a given architecture
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 given interfaces. Each interface must be a function (i.e. Itype='Function') and must have 'Included' or 'SrcOnly' status

Usage

mkcmdlist

mkcmdlist -v <lsbversion> [-m <moduleid>] 
    -v <lsbversion>  target LSB version
    -m <moduleid>    module id (Module.Mid). Default module id is 1 (i.e. LSB Core)

mkcmdtable

mkcmdtable -v <lsbversion> [-b] [-m <moduleid>]
    -v <lsbversion>  target LSB version
    -b               produce the list of built in utilities. Without this option,
                     the list of commands with 'Included' status will be created
    -m <moduleid>    module id (Module.Mid). Default module id is 1 (i.e. LSB Core)

mkdyntagtable

mkdyntagtable -a <archname> -s <stdname> -v <lsbversion> [-c <numcols>] [-d]
    -a  <archname>   generate list of dynamic entries for this architecture
    -s  <stdname>    generate list of dynamic entries described in this standard
    -v <lsbversion>  target LSB version
    -c               seems to have no usage
    -d               seems to have no usage

mkintlist

mkintlist -a <archname> -v <lsbversion> 
    -a <archname>    generate list of interfaces for this architecure
    -v <lsbversion>  target LSB version

mklibapdn

mklibapdn -a <archname> -v <lsbversion> [-m module]
    -a <archname>    generate information for this architecture
    -v <lsbversion>  target LSB version
    -m <module>      process libraries from this module. Default module is 'LSB Core'

mklibsgmltable

mklibsgmltable -a <archname> -v <lsbversion> [-f] [-m <modname>] [-l <incllibs> | -x <excllibs>]
    -a <archname>    generate info for this architecture
    -v <lsbversion>  target LSB version
    -f               process libraries with both 'Future' and 'Included' status. By default only
                     'Included' libraries are processed
    -m <modname>     process libraries described in this module
    -l <incllibs>    process only records from Library table whose Lname field value is in <incllibs> list
    -x <excllibs>    do not process records from Library table whose Lname field value is in <excllibs> list

mklibspec

mklibspec -l <libname> -a <archname> -v <lsbversion> [-c cols] [-d]
    -l <libname>     generate information for this library
    -a <archname>    generate information for this architecture
    -v <lsbversion>  target LSB version
    -d               indicates that interface and lib groups names should be unmangled
                     it is used now only when work with 'libstdcxx' library
    -c <numcols>     how many columns will be in the tables with interfaces. By default 4 columns are generated

mklsbmanpage

mklsbmanpage -v <lsbversion> <libname> <interfacename>
    -v <lsbversion>  target LSB version
    <libname>        library where this interface is situated. This value is not
                     used in any sql queries, it is just printed directly into file
    <interfacename>  interfacename

mkrpmtagtable

mkrpmtagtable -g <groupname> -t <tabletitle> -v <lsbversion>
    -g <groupname>   generate table of tags from <groupname> group
    -t <tabletitle>  title of the table in sgml file
    -v <lsbversion>  target LSB version

mksectiontable

mksectiontable -a <archname> -s <stdname> -t <tabletitle> -v <lsbversion>
    -a <archname>    generate table of sections for this architecture
    -s <stdname>     generate table of sections described in this standard
    -t <tabletitle>  title of the table in sgml file
    -v <lsbversion>  target LSB version

mksecttypestable

mksecttypestable -a <archname> -s <stdname> -t <tabletitle>
    -a <archname>    generate table of section types for this architecture
    -s <stdname>     generate table of section types described in this standard
    -t <tabletitle>  title of the table in sgml file

mkstandardsgmltable

mkstandardsgmltable -a <archname> [-s <specids>] [-x <exclids>] [-t <stype>]
    -a <archname>  - generate list of standards for this architecture
    -s <specids>   - process only records from Standard table whose Sname field value is in <specids> list
    -x <exclids>   - do not process records from Standard table whose Sname field value is in <exclids> list
    -t <Stype>     - process standards only of this type ('Standard'/'Reference')

mksynop

mksynop -v <lsbversion> [<interface_name> ...]
    -v <lsbversion>   target LSB version
    <interface_name>  mksynop should be provided with a list of space-separated function names

Dependencies on DB

checksynop

Table Insert Select
Interface - +
Parameter - +
Type - +
TypeMember - +


diffinterfacetable

Table Insert Select
Interface - +
LibInt - +
Library - +
Mangle - +

Note: 'Mangle' table required by this tool doesn't exist in database.


fixc++spec

This tool doesn't work directly with db.


mkcmdlist

Table Insert Select
Command - +
ModCmd - +
Standard - +


mkcmdtable

Table Insert Select
Command - +
ModCmd - +
Standard - +


mkdyntagtable

Table Insert Select
ArchDE - +
Architecture - +
DynamicEntries - +
Standard - +

mkintlist

Table Insert Select
ArchInt - +
Architecture - +
Interface - +
LGInt - +
LibGroup - +
Library - +
Version - +

mklibapnd

Table Insert Select
ArchInt - +
Architecture - +
Interface - +
LGInt - +
LibGroup - +
Library - +
ModLib - +
SubModule - +
Standard - +
Version - +

mklibsgmltable

Table Insert Select
Architecture - +
ArchLib - +
Library - +
ModLib - +
SubModule - +

mklibspec

Table Insert Select
ArchClass - +
ArchInt - +
Architecture - +
ArchLib - +
BaseTypes - +
ClassInfo - +
ClassVtab - +
Header - +
Interface - +
LGInt - +
LibGroup - +
Library - +
Standard - +
Version - +
VMIBaseTypes - +
Vtable - +


mklsbmanpage

Table Insert Select
Interface - +
Parameter - +
Type - +
TypeMember - +


mkrpmtagtable

Table Insert Select
RpmTag - +


mksectiontable

Table Insert Select
ArchES - +
Architecture - +
ElfSection - +
SectionTypes - +
Standard - +


mksecttypestable

Table Insert Select
Architecture - +
SectionTypes - +
Standard - +


mkstandardsgmltable

Table Insert Select
Architecture - +
Standard - +


mksynop

Table Insert Select
Interface - +
Parameter - +
Type - +
TypeMember - +
Personal tools