# The databases/sqlports,-main port

## sqlports-2.8 – sqlite database of ports, user version

## Description

    SQLite database of every port in the system. This can be queried through
    e.g., sqlitebrowser, or any kind of programming interface.

    This is more suitable for human consumption, use sqlite-compact for
    more structured information.

    Database Schema:
    - Ports(FULLPKGPATH, ...)
    holds all the information retrieved through various variables, e.g.,:
        AUTOCONF_VERSION
        AUTOMAKE_VERSION
        BROKEN
        *DEPENDS
        CATEGORIES
        COMMENT
        CONFIGURE_STYLE
        DESCR
        DISTFILES
        DISTNAME
        DIST_SUBDIR
        EPOCH
        FLAVORS
        FULLPKGNAME
        HOMEPAGE
        IS_INTERACTIVE
        MAINTAINER
        MASTER_SITES*
        MODULES
        MULTI_PACKAGES
        NO_*
        NOT_FOR_ARCHS
        ONLY_FOR_ARCHS
        PERMIT_*
        PKGNAME
        PKGSPEC
        PKG_ARCH
        PREFIX
        PSEUDO_FLAVOR
        PSEUDO_FLAVORS
        TEST_IS_INTERACTIVE
        REVISION
        SEPARATE_BUILD
        SHARED_LIBS
        SHARED_ONLY
        SUBPACKAGE
        SUPDISTFILES
        TARGETS
        USE_*
        WANTLIB
        README

    This information is mostly unchanged, except for replacing Yes/No variables
    with 1/0. Variables not present in a given port are left undefined.

    README corresponds to README files (full text value) and only exists when
    such files are present.

    Note that USE_LIBTOOL is 3-valued: 2 is gnu, 1 is yes, undef is no.

    The FULLPKGPATH is complete, including flavor and pseudo-flavors markers.
    For every port with MULTI_PACKAGES settings, one entry is written for
    each SUBPACKAGE.

    - Paths (FULLPKGPATH, PKGPATH, CANONICAL)
    PKGPATH is the stripped down version or FULLPKGPATH, without flavors
    or subpackage markers.
    CANONICAL points to the reduced version.

    - Flavors(FULLPKGPATH, VALUE)
    - Categories(FULLPKGPATH, VALUE)
    - Multi(FULLPKGPATH, VALUE, SUBPKGPATH)
    - Modules(FULLPKGPATH, VALUE)
    - Configure(FULLPKGPATH, VALUE)
    - ConfigureArgs(FULLPKGPATH, VALUE)
    - NotForArch(FULLPKGPATH, VALUE)
    - OnlyForArch(FULLPKGPATH, VALUE)
    - Targets(FULLPKGPATH, VALUE)
    All of these variable values are actually lists. These lists are taken apart
    and result in many entries in these secondary tables (or none if the list
    is completely empty)

    - Depends(FULLPKGPATH, FULLDEPENDS, PKGSPEC, REST, DEPENDSPATH, TYPE)
    All depends are stored in a single table, including the type:
    R -> run
    L -> lib
    B -> build
    T -> test
    with FULLDEPENDS the full text of the dependency, DEPENDSPATH the PKGPATH
    we depend upon, PKGSPEC the spec we depend upon (if explicit), and REST
    the rest.
    - Wantlib(FULLPKGPATH, VALUE)
    All the libraries the FULLPKGPATH depends upon, with and without version number,
    coming from either the WANTLIB variable or various LIB_DEPENDS.

    - Multi(FULLPKGPATH, VALUE, SUBPKGPATH)
    with SUBPKGPATH the normalized pkgpath for that subpackage.

    - BROKEN(FULLPKGPATH, ARCH, VALUE)
    All the broken entries, which might be arch-dependent.

    - Shared_Libs(FULLPKGPATH, LIBNAME, VERSION)

No homepage

Multi-packages
  sqlports-compact-2.8 sqlports-2.8
Categories:
  databases

## Library dependencies

## Build dependencies

- databases/p5-DBD-SQLite

## Run dependencies