CVSweb ] [
Homepage ] [ | 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( Distfile available on: cdrom( |
| Version History (View Complete 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 |