The Linux Foundation

 

Become an Individual Member

Community Tables

From The Linux Foundation

The tables below contain information about Linux distributions, upstream components, applications and their relationships. All these tables are a part of the LSB Specification Database (please see a legend about tables naming there).

The primary keys in all tables are marked in green, the unique keys are marked in blue. In the composite keys, the order of fields is as listed in the description. Note that now each table has no more than one unique key, so if more than one fields are marked blue for one table then these fields form a composite unique key.

Contents

AppCategory

The AppCategory table contains different application characteristics. Refer to Application Categories Description page for more details about possible values.

Field Type Default NULL Description
ACaid int(10) unsigned '0' No Application identifier (Application.Aid)
AClicense enum('Open Source, 'Proprietary', 'Mixed', 'Unknown') 'Unknown' No Is the application open source?
ACui enum('non-GUI','GUI','Unknown') 'Unknown' No User Interface type
ACsize enum('Large','Medium','Small','Unknown') 'Unknown' No Application size. Applications that require 1000 and more external interfaces are considered to be 'Large', from 100 to 999 - 'Medium', and lesser than 100 - 'Small'
ACvendor varchar(255) '' No Application vendor
ACcategory enum('Accessibility and i18n','Antivirus and Security','Emulators','Office and Desktop','Data Management','Development','Games','Multimedia and Graphics','Network','Science and Education','System Tools','X11 Utilities','Unknown') 'Unknown' No Application functional category
ACdisplayvendor varchar(255) '' No Vendor that will be displayed in LSB Navigator's filters. This field is equal to ACvendor if the db has data about at least 3 applications of a vendor, and is equal to 'Other' in other cases.

AppInfo

The AppInfo table contains general information about applications, which is common for all entries in the Application table with the same name.

Field Type Default NULL Description
AIname varchar(255) '' No Application name (Application.Aname) this record belongs to.
AIsummary varchar(255) '' No Application summary
AIurl varchar(255) '' No Application's homepage url.
AIcompany varchar(255) NULL Yes Reserved for future use.

AppInterpreter

The AppInterpreter table stores data about interpreters required for application scripts to be executed.

Field Type Default NULL Description
AIaid int(10) unsigned '0' No Index into Application table (Application.Aid)
AIinterpreter varchar(255) No Interpreter invocation string without leading '#!'.

AppJInt

The AppJInt table is a Relation table that implements the N-to-N relation between Application and JavaInterface, defining java interfaces used by the application and list of applications where the given java interface is used.

Field Type Default NULL Description
AJIaid int(10) unsigned '0' No Index into Application table (Application.Aid)
AJIjiid int(10) unsigned '0' No Index into JavaInterface table (JavaInterface.JIid)
AJIcomment int(10) unsigned NULL Yes Reserved

AppLib

The AppLib table is a Relation table that implements the N-to-N relation between Application and RawLibrary, defining libraries required by the application and list of applications where the given library is used. Note that library's runname is used as a key in the RawLibrary table.

Field Type Default NULL Description
ALaid int(10) unsigned '0' No Index into Application table (Application.Aid)
ALrunname varchar(255) No Library's runname

AppRILM

The AppRILM table is a Relation table that implements the N-to-N relation between Application and RawILModule, defining interpreted language modules required by the application and list of applications where the given module is used.

Field Type Default NULL Description
ARMaid int(10) unsigned '0' No Index into Application table (Application.Aid)
ARMrilmid int(10) unsigned '0' No Index into RawILModule table (RawILModule.RILMid)

AppRInt

The AppRInt table is a Relation table that implements the N-to-N relation between Application and RawInterface, defining interfaces used by the application and list of applications where the given interface is used.

Field Type Default NULL Description
ARIaid int(10) unsigned '0' No Index into Application table (Application.Aid)
ARIriid int(10) unsigned '0' No Index into RawInterface table (RawInterface.RIid)

AppShippedLib

The AppShippedLib table is a Relation table that implements the N-to-N relation between Application and RawLibSoname, defining libraries shipped with the application and list of applications where the given library is present.

Field Type Default NULL Description
ASLaid int(10) unsigned '0' No Index into Application table (Application.Aid)
ASLrlsid varchar(255) No Index into RawLibSoname table (RLSid)

Application

The Application table contains short information about various applications.

Field Type Default NULL Description
Aid int(10) unsigned '0' No Unique application identifier
Aname varchar(255) '' No Application name
Aversion varchar(255) '' No Application version
Aarch int(10) unsigned '0' No Architecture this record belongs to (Architecture.Aid)
Aabitag varchar(255) '' No ABI tag information for application (the minimum ABI version needed by application)
Acomment varchar(255) NULL Yes Comment for this particular entry. Note that summary for applications is stored in the AppInfo table
Apackager varchar(255) NULL Yes Packager (every application can be compiled in many ways, using different compilers and compiler options, so it's useful to know who had compiled this particular one).

ApprovedCommand

The ApprovedCommand table stores a set of commands whose presence is checked in every uploaded distribution. If we see that a particular 'approved' command is absent in some ditribution, we can be sure that it is really missing there. For not-approved commands we cannot guarantee this - not-approved command can be reported as missing simply because upload tools didn't pick the component which provide the command. Note: Presence of shell builtins is not checked.

Field Type Default NULL Description
ACname varchar(255) '' No Command name

ApprovedLibrary

The ApprovedLibrary table stores a set of libraries whose presence is checked in every uploaded distribution. If the library is found, then all its contents is uploaded. Thus, if we see that a particular 'approved' library or interface from such library is absent in some ditribution, we can be sure that it is really missing there. For not-approved libraries we cannot guarantee this - not-approved library can be reported as missing simply because upload tools didn't pick the component which provide the library. Note: When looking for libraries matching particular entry from this table, upload tools don't take into account any digital suffixes of distribution libraries after the '.so' suffix. I.e. both 'libstdc++.so.5' and 'libstdc++.so.6' libs will match 'libstdc++.so' entry.

Field Type Default NULL Description
ALsoname varchar(255) '' No Library soname
ALlibname varchar(255) '' No Library 'normal' name. This field is for informational purposes only; the same soname can be actually provided by several distinct libraries, and for such cases only the most common name is stored in this table

CompatSymbol

The CompatSymbol table stores information about libraries' versioned binary symbols whose versions are not the default ones. If the pair (RawLibrary.RLid, RawInterface.RIid) is present in this table, then RIid symbol's version is not the default one in the RLid library.

Note: Compat symbols are currently implemented as a separate table, not as an additional field in the RLibRInt table, in order not to make the latter too big.

Field Type Default NULL Description
CSrlid int(10) unsigned '0' No Index into RawLibrary table (RawLibrary.RLid)
CSriid int(10) unsigned '0' No Index into RawInterface table (RawInterface.RIid)

CompJINT

The CompJINT table is a Relation table that implements the N-to-N relation between Component and JavaInterface, defining Java interfaces provided by the component and list of components where the given interface is present.

Field Type Default NULL Description
CJIcid int(10) unsigned '0' No Index into the Component table (Component.Cid)
CJIjiid int(10) unsigned '0' No Index into the JavaInterface table (JavaInterface.JIid)

CompLDpath

The CompLDpath table stores information about ldconfig search paths added by different components during their installation.

Field Type Default NULL Description
CLDcid int(10) unsigned '0' No Index into the Component table (Component.Cid)
CLDpath varchar(255) '0' No Path value. Note that default ld paths ('/lib', '/usr/lib' + their 64bit analogues) are not stored in this table. We suppose that these paths are always taken into account by ld in any system.

Component

The Component table contains short information about various upstream components (such as glibc, Qt, Gtk etc.).

Field Type Default NULL Description
Cid int(10) unsigned '0' No Unique component identifier
Cname varchar(255) '' No Component name
Cpackages text NULL Yes Package name (or a list of semicolon separated package names) that provides the given component in the distribution it is assigned to
Cversion varchar(255) '' No Component version
Ccomment varchar(255) NULL Yes Simple comment
Carch int(10) unsigned '0' No Architecture this record belongs to (Architecture.Aid). For components that contain shared libraries, Carch is equal to the architecture of these libraries (note that one component should contain libraries only for one architecture); for other components the field doesn't mean a lot and is usually equal to the Darch field of the Distribution the component belongs to.
Cdistr int(10) unsigned '0' No Distribution this record belongs to (Distribution.Did)
Ccompany varchar(255) '' No Name of the company the component is assigned to. This name can be used as a reference to Company table in the authentication database in order to decide whether the user can modify the data for the given component
Calias int(10) unsigned '0' No If this field has non-zero value, then it means that the component is an 'alias' of another component - that is , it has the same contents. The field value in this case is a Cid of the 'base' component. The aliases are used to reduce the size of the db - no elements should be assigned to components with Calias > 0, one should take a look on their base components. Note: There should be no 'aliases on aliases', that is, if some component has Calias = C1 > 0, then component with Cid=C1 should have Calias=0.

CompRILM

The CompRILM table is a Relation table that implements the N-to-N relation between Component and RawILModule, defining interpreted language modules provided by the component and list of components where the given module is present.

Field Type Default NULL Description
CRMcid int(10) unsigned '0' No Index into the Component table (Component.Cid)
CRMrilmid int(10) unsigned '0' No Index into the RawILModule table (RawILModule.RILMid)

Distribution

The Distribution table contains short information about various distributions.

Field Type Default NULL Description
Did int(10) unsigned '0' No Unique distribution identifier
Dname varchar(255) '' No Distribution name
Dversion varchar(255) '' No Distribution version
Dcomment varchar(255) NULL Yes Simple comment. If the comment contains 'unofficial' word, when the record will be ignored by such analyzers as Navigator's Solution Support Center or Futures Tracker.
Darch int(10) unsigned '0' No Architecture this record belongs to (Architecture.Aid)
Dcompany int(10) unsigned 0 No Identifier in the DistrVendor table (DVid) corresponding to the distribution vendor
Durl varchar(255) NULL Yes Distribution homepage
Dreleasedate date No Distribution release date
Dbasereleasedate date No Release date of distribution's base version. For cases, when Dversion is a service pack or an update of some 'base' version, Dreleasedate contains release date of the service pack, and this field contains release date of that 'base' distribution.

DistrVendor

The DistrVendor table contains information about distributions vendors.

Field Type Default NULL Description
DVid int(10) unsigned '0' No Distribution identifier
DVfullname varchar(255) '' No Vendor full name
DVshortname varchar(255) '' No Vendor short name
DVurl varchar(255) NULL Yes Vendor homepage

JavaBaseClass

The JavaBaseClass table contains information about inheritance of Java classes.

Field Type Default NULL Description
JBCjcid int(10) unsigned '0' No Class identifier (JavaClass.JCid)
JBCbaseclass int(10) unsigned '0' No Base class identifier (JavaClass.JCid)
JBCcid int(10) unsigned '0' No Component identifier (Component.Cid) where this inheritance is implemented. This field is necessary, since different Java implementations can have different bases for the same class.

JavaClass

The JavaClass table contains information about Java classes.

Field Type Default NULL Description
JCid int(10) unsigned '0' No Unique class identifier
JCname varchar(1000) '' No Class name
JCaccess enum('public','private','protected','Unknown') 'Unknown' No Class access type

JavaInterface

The JavaInterface table contains information about Java interfaces (methods and fields) presented in different components (described in the Component table) and used by applicatons (described in the Application table).

Field Type Default NULL Description
JIid int(10) unsigned '0' No Unique interface identifier
JIname varchar(750) '' No Interface name (the 'short' one, without a class name prefix)
JIunmangled text NULL Yes Unmangled name of the interface
JItype enum('method','field') 'method' No Interface kind
JIjcid int(10) unsigned No 0 Java class (JavaClass.JCid) this interface belongs to.
JIaccess enum('public', 'private', 'protected', 'Unknown') 'Unknown' No Interface access type
JIstatic enum('Yes', 'No', 'Unknown') 'Unknown' No Is this a static interface
JIsynchronized enum('Yes', 'No', 'Unknown') 'Unknown' No Is this a synchronized interface
JIfinal enum('Yes', 'No', 'Unknown') 'Unknown' No Is this a final interface

RILMBuiltin

The RILMBuiltin table contains information about interpreter modules that can be built-in. Some interpreters (e.g. python) can be compiled with different sets of builtin modules in different distributions, and we can't collect such sets without installing the system. So this is a table of possible builtins.

Field Type Default NULL Description
RILMBlanguage int(10) unsigned 0 No Interpreted language identifier (InterpretedLanguage.ILid)
RILMBname varchar(255) '' No Module name

RLibDeps

The RLibDeps table is a relation table that stores external dependencies of RawLibrary entries and thus implements the N-to-N relation between RawLibrary and RawLibSoname tables.

Field Type Default NULL Description
RLDrlid int(10) unsigned '0' No Index into RawLibrary table (RawLibrary.RLid)
RLDrlsid int(10) unsigned '0' No Index into RawLibSoname table (RawLibSoname.RLSid)
RLDorder tinyint(1) '0' No Dependency ordering

RLibLink

The RLibLink table provides information about symlinks on library file that are provided by the same package as the library itself.

Field Type Default NULL Description
RLLrlid int(10) unsigned '0' No Index into RawLibrary table (RawLibrary.RLid)
RLLlibraryname varchar(255) No Library name built on the basis of symlink name (may differ from RLname pointed by the link).
RLLpath varchar(255) No Symlink location.
RLLlinkname varchar(255) No Symlink name.

RLibRClass

The RLibRClass table is a Relation table that implements the N-to-N relation between RawLibrary and RawClass.

Field Type Default NULL Description
RLRIrlid int(10) unsigned '0' No Index into RawLibrary table (RawLibrary.RLid)
RLRIrcid int(10) unsigned '0' No Index into RawClass table (RawClass.RIid)

RLibRInt

The RLibRInt table is a Relation table that implements the N-to-N relation between RawLibrary and RawInterface.

Field Type Default NULL Description
RLRIrlid int(10) unsigned '0' No Index into RawLibrary table (RawLibrary.RLid)
RLRIriid int(10) unsigned '0' No Index into RawInterface table (RawInterface.RIid)

RawClass

The RawClass table contains information about classes presented in different components (described in Component table).

Field Type Default NULL Description
RCid int(10) unsigned '0' No Unique class identifier
RCname text '' No Class name

RawCommand

The RawCommand table contains information about commands presented in different components (described in the Component table).

Field Type Default NULL Description
RCid int(10) unsigned '0' No Unique command identifier
RCname varchar(255) '' No Command short name
RCpath varchar(255) '' No Path where the command is located
RCcomment varchar(255) NULL Yes Simple comment
RCcomponent int(10) unsigned '0' No Component this command is included into (Component.Cid)

RawILModule

The RawILModule table contains information about interpreted language modules presented in different components (described in the Component table).

Field Type Default NULL Description
RILMid int(10) unsigned 0 No Unique module identifier
RILMname varchar(255) '' No Module name
RILMlanguage int(10) unsigned 0 No Interpreted language identifier (InterpretedLanguage.ILid)

RawInterface

The RawInterface table contains information about interfaces presented in different components (described in Component table) and used by applicatons (described in Application table).

Field Type Default NULL Description
RIid int(10) unsigned '0' No Unique interface identifier
RIname varchar(750) '' No Interface name
RIunmangled text NULL Yes Unmangled name of the interface (if it differs from the RIname; used to simplify interface search in LSB Navigator, cause it is too expensive to unmangle all names on the fly)
RIversion varchar(40) '' No Interface version
RIlibrary varchar(200) No Library name to which this interface is assigned
RIrcid int(10) unsigned '0' No RawClass identifier (RawClass.RCid) this interface belongs to

RawLibSoname

The RawLibSoname table stores sonames of libraries uploaded in the database.

Field Type Default NULL Description
RLSid int(10) unsigned '0' No Unique soname identifier
RLsoname varchar(255) '' No Soname

RawLibrary

The RawLibrary table contains information about libraries presented in different components (described in Component table).

Field Type Default NULL Description
RLid int(10) unsigned '0' No Unique library identifier
RLname varchar(255) '' No Library name
RLrunname varchar(255) '' No Library runname
RLpath varchar(255) '' No Path where the library is located
RLversion varchar(255) '' No Library version
RLcomponent int(10) unsigned '0' No Component identifier (Component.Cid) this interface belongs to
RLsoname varchar(255) '' No Library 'so' name
RLabitag varchar(255) '' No ABI tag of the shared object
RLarch int(2) unsigned 0 No Library's hardware architecture. NOTE: This field is internal and primarily used by upload scripts. Usage of component aliases can lead to situations when the same RawLibrary record belongs to components from different architectures; so if one wants to know library's architecture in the context of a certain distribution or component, one should look at the Carch field and ignore the RLarch one.

WeakSymbol

The WeakSymbol table stores information about symbols with WEAK binding. If the pair (RawLibrary.RLid, RawInterface.RIid) is present in this table, then RIid symbol has weak binding in the RLid library.

Note: Weak symbols are currently implemented as a separate table, not as an additional field in the RLibRInt table, in order not to make the latter too big.

Field Type Default NULL Description
WSrlid int(10) unsigned '0' No Index into RawLibrary table (RawLibrary.RLid)
WSriid int(10) unsigned '0' No Index into RawInterface table (RawInterface.RIid)

[Article] [Discussion] [View source] [History]