./databases/sqlports [sqlite database of ports]
[+] Add this package to your ports tracker

[ CVSweb ] [ Homepage ] [ RSS feed ]

Version: 1.10, Package name: sqlports-1.10
Maintained by: Marc Espie
Required to build:
[databases/p5-DBD-SQLite]
Master sites:
Description-compact
SQLite database of every port in the system. This can be queried through
e.g., sqlitebrowser, or any kind of programming interface.

This schema is mostly optimized for tools, and cumbersome to query by
hand.

Database Schema:
- Paths (ID, FULLPKGPATH, PKGPATH)
PKGPATH points to a PATHS entry corresponding to the stripped down version of
FULLPKGPATH, without flavors or subpackage markers, or is null if FULLPKGPATH
is already stripped. Every other FULLPKGPATH, PKGPATH, DEPENDSPATH entry
in the database points to this table.

- Ports(FULLPKGPATH, ...)
holds all the information retrieved through various variables that is not
stored in specialized tables, e.g.,:
AUTOCONF_VERSION
AUTOMAKE_VERSION
BROKEN
COMMENT
DESCR
DISTFILES
DISTNAME
DIST_SUBDIR
FLAVORS
HOMEPAGE
IS_INTERACTIVE
MAINTAINER
MULTI_PACKAGES
NO_*
PERMIT_*
PKGNAME
PKG_ARCH
PSEUDO_FLAVORS
REGRESS_IS_INTERACTIVE
SEPARATE_BUILD
SHARED_ONLY
SUBPACKAGE
SUPDISTFILES
USE_*

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

MULTI_PACKAGES ports hold several entries with corresponding FULLPKGPATH

- Flavors(FULLPKGPATH, VALUE)
- PseudoFlavors(FULLPKGPATH, VALUE)
- Categories(FULLPKGPATH, VALUE)
- Multi(FULLPKGPATH, VALUE) ('-' values are not stored)
- Modules(FULLPKGPATH, VALUE)
- Configure(FULLPKGPATH, VALUE) (corresponds to CONFIGURE_STYLE)
- ConfigureArgs(FULLPKGPATH, VALUE)
- MasterSites(FULLPKGPATH, N, VALUE)
- NotForArch(FULLPKGPATH, VALUE)
- OnlyForArch(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)


Each keyword table follows the same scheme
TABLENAME(KEYREF, VALUE)


- Depends(FULLPKGPATH, FULLDEPENDS, PKGSPEC, REST, DEPENDSPATH, TYPE)
All depends are stored in a single table, including the type:
0 -> library
1 -> run
2 -> build
3 -> regress
with FULLDEPENDS the full text of the dependency, and DEPENDSPATH the key to
the FULLPKGPATH we depend upon.
- Wantlib(FULLPKGPATH, VALUE, EXTRA)
All the libraries the FULLPKGPATH depends upon, with optional version
number specification stored in EXTRA
coming from either the WANTLIB variable or various LIB_DEPENDS.

- Broken(FULLPKGPATH, ARCH, TEXT)
This is stored both in the main table (for now) and in a separate table, with
keywords since it may be arch-dependent

- Shared_Libs(FULLPKGPATH, LIBNAME, VERSION)

Some information, both in the main table and in secondary tables
is stored as keyword references to other tables:
AUTOCONF_VERSION, AUTOMAKE_VERSION -> AUTOVERSION
MAINTAINER -> EMAIL
CATEGORIES -> CATEGORYKEYS
CONFIGURE -> CONFIGURE_KEYS
MODULES -> MODULEKEYS
WANTLIB.VALUE, SHARED_LIBS.LIBNAME -> LIBRARY
PERMIT_*, SEPARATE_BUILD -> KEYWORDS2
FLAVORS, PSEUDO_FLAVORS -> KEYWORDS
NOT_FOR_ARCHS, ONLY_FOR_ARCHS, PKG_ARCH -> ARCH

Description-main
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
FLAVORS
HOMEPAGE
IS_INTERACTIVE
MAINTAINER
MASTER_SITES*
MODULES
MULTI_PACKAGES
NO_*
NOT_FOR_ARCHS
ONLY_FOR_ARCHS
PERMIT_*
PKGNAME
PKG_ARCH
PSEUDO_FLAVORS
REGRESS_IS_INTERACTIVE
SEPARATE_BUILD
SHARED_LIBS
SHARED_ONLY
SUBPACKAGE
SUPDISTFILES
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.

The FULLPKGPATH is complete, including flavors markers. For each port with
MULTI_PACKAGES setting, another entry is written with the correct SUBPACKAGE.

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

- Flavors(FULLPKGPATH, VALUE)
- Categories(FULLPKGPATH, VALUE)
- Multi(FULLPKGPATH, VALUE)
- Modules(FULLPKGPATH, VALUE)
- Configure(FULLPKGPATH, VALUE)
- ConfigureArgs(FULLPKGPATH, VALUE)
- NotForArch(FULLPKGPATH, VALUE)
- OnlyForArch(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, 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, and DEPENDSPATH the PKGPATH
we depend upon.
- 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.

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

- Shared_Libs(FULLPKGPATH, LIBNAME, VERSION)



Package available on: cdrom(), ftp()
Distfile available on: cdrom(), ftp()

Version History (View Complete History)
  • (2010-04-17) Updated to version: sqlports-1.10
  • (2010-04-17) Updated to version: sqlports-1.9
  • (2010-02-12) Updated to version: sqlports-1.8
  • (2009-12-02) Updated to version: sqlports-1.7
  • (2009-09-09) Updated to version: sqlports-1.6
  • (2009-08-15) Updated to version: sqlports-1.5
  • (2009-08-14) Updated to version: sqlports-1.4
  • (2008-11-26) Updated to version: sqlports-1.0p0
  • (2008-08-20) Updated to version: sqlports-1.0
  • (2006-12-27) Updated to version: sqlports-0.5p0
[show/hide] View available PLISTS (Can be a lot of data)
[show/hide] View known vulnerabilities

CVS Commit History:

   2010-04-26 04:20:51 by Marc Espie | Files touched by this commit (3)
Log message:
whitespace
   2010-04-26 04:19:02 by Marc Espie | Files touched by this commit (1)
Log message:
get ready to coalesce columns
   2010-04-26 02:52:09 by Marc Espie | Files touched by this commit (2)
Log message:
minor tweaks + whitespace
   2010-04-25 06:35:26 by Marc Espie | Files touched by this commit (1)
Log message:
view_schema always follows the same format, so just do that...
   2010-04-19 03:21:31 by Marc Espie | Files touched by this commit (1)
Log message:
fix, should build correctly even if SUBDIR is defined
   2010-04-17 08:48:15 by Marc Espie | Files touched by this commit (2)
Log message:
simplify mapping slightly for now...
   2010-04-17 08:37:02 by Marc Espie | Files touched by this commit (3)
Log message:
turn on foreign key constraints, as they seem to work ;-)
   2010-04-17 07:06:49 by Marc Espie | Files touched by this commit (7)
Log message:
a few minor tidying.
commit to db only at end of port (referential integrity for later)
handle BROKEN-arch and create new table/view based on that.
   2010-04-17 03:33:18 by Marc Espie | Files touched by this commit (3)
Log message:
sanitize code, no functional changes
   2010-04-13 04:56:42 by Marc Espie | Files touched by this commit (3)
Log message:
rename stuff to try to make it clearer.
   2010-04-13 04:23:53 by Marc Espie | Files touched by this commit (4)
Log message:
cut script into smaller pieces, since it becomes hard to manage
   2010-02-12 04:53:09 by Marc Espie | Files touched by this commit (2)
Log message:
get mksqlitedb to handle IGNORE and COMES_WITH if they show up.
Also don't spazz out if we meet variables we don't know. This makes us
safe from changes in dump-vars.
   2009-12-01 11:27:46 by Marc Espie | Files touched by this commit (3)
Log message:
tag sqlports as "always-update".
If you don't have current pkgtools, *this will break*.
(@option always-update was introduced over a month ago).
   2009-08-25 03:23:03 by Marc Espie | Files touched by this commit (1)
Log message:
oops
   2009-08-25 03:15:43 by Marc Espie | Files touched by this commit (2)
Log message:
use left join on optional values, otherwise we lose a lot of _ports entries.
   2009-08-15 21:24:28 by Marc Espie | Files touched by this commit (1)
Log message:
make internals more consistent
   2009-08-15 06:43:58 by Marc Espie | Files touched by this commit (2)
Log message:
start building the _Ports view.
   2009-08-14 08:02:12 by Marc Espie | Files touched by this commit (1)
Log message:
consistent capitalization
   2009-08-14 06:41:56 by Marc Espie | Files touched by this commit (2)
Log message:
create views for most of the subsidiary tables
   2009-08-14 05:31:37 by Marc Espie | Files touched by this commit (2)
Log message:
create the ports table in the same way
   2009-08-14 04:45:52 by Marc Espie | Files touched by this commit (2)
Log message:
higher level table creation for individual tables except Ports:
create column objects, and ask the inserter to "render" them.
   2009-08-14 03:23:10 by Marc Espie | Files touched by this commit (2)
Log message:
even though sqlite doesn't really care, this fixes the column types and adds
foreign key constraints to all the sql compact stuff.
   2008-11-25 11:01:15 by Marc Espie | Files touched by this commit (2)
Log message:
kill oldish wantlib syntax that no longer exists, results in saner wantlib
tables.
   2008-10-26 17:42:24 by Marc Espie | Files touched by this commit (1)
Log message:
fixes some inheritance issues. Problem noticed by bernd@
   2008-10-26 09:12:30 by Marc Espie | Files touched by this commit (1)
Log message:
recognize more wrong depends errors
   2008-08-20 15:02:47 by Marc Espie | Files touched by this commit (1)
Log message:
style nitpick, no functional changes
   2008-08-19 17:50:54 by Marc Espie | Files touched by this commit (8)
Log message:
new version, lots of code refactoring, and a new compact database.
   2007-09-15 16:27:39 by Simon Bertrang | Files touched by this commit (29)
Log message:
remove surrounding quotes from COMMENT/BROKEN/PERMIT_*
   2007-02-15 01:04:49 by Steven Mestdagh | Files touched by this commit (2)
Log message:
NO_CHECKSUM and remove empty distinfo
from mikolaj.kucharski at gmail.com
go for it espie@


   2006-12-27 04:16:10 by Steven Mestdagh | Files touched by this commit (2)
Log message:
put USE_X11 in the table.
sure espie@
   2006-11-03 16:26:41 by Marc Espie | Files touched by this commit (2)
Log message:
optimize table structure, idea from Martynas Venckus
   2006-11-03 16:03:09 by Marc Espie | Files touched by this commit (2)
Log message:
use DROP IF EXISTS (from Martynas Venckus)
fix WANTLIB, regexp to strip version was totally wrong...
(more to come)
   2006-10-15 03:41:44 by Marc Espie | Files touched by this commit (2)
Log message:
move mksqlitedb in the port that uses it.
   2006-08-01 10:22:22 by Marc Espie | Files touched by this commit (2)
Log message:
tweak for PKGPATH, name it correctly as FULLPKGPATH, and add a subsidiary
table to map FULLPKGPATH to PKGPATH, e.g.,
SELECT DISTINCT PKGPATH, VALUE FROM Wantlib,Paths WHERE Wantlib.FULLPKGPATH=Paths.FULLPKGPATH ORDER BY PKGPATH


   2006-07-10 08:34:01 by Marc Espie | Files touched by this commit (2)
Log message:
Handle CONFIGURE_ARGS as a list, e.g.,
SELECT DISTINCT VALUE FROM ConfigureArgs
makes sense.


   2006-07-10 05:44:30 by Marc Espie | Files touched by this commit (2)
Log message:
Really process SHARED_LIBS