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 PSEUDO_FLAVOR PSEUDO_FLAVORS REGRESS_IS_INTERACTIVE REVISION SEPARATE_BUILD SHARED_LIBS SHARED_ONLY SUBPACKAGE SUPDISTFILES TARGETS USE_* WANTLIB This information is mostly unchanged, except for replacing Yes/No variables with 1/0. Variables not present in a given port are left undefined. 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 Regress -> regress 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)