The Linux Foundation is a non-profit consortium dedicated to fostering the growth of Linux.
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.
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. |
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. |
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 '#!'. |
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 |
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 |
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) |
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) |
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) |
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). |
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 |
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 |
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) |
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) |
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. |
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. |
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) |
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. |
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 |
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. |
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 |
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 |
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 |
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 |
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. |
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) |
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) |
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 |
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) |
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) |
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 |
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 |
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. |
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) |