+++ /dev/null
-this file documents some of R/db.R -- the DB interface code.
-
-
-table: sysreq_override
-fields: depend_alias TEXT, r_pattern TEXT
-
-SystemRequirements LIKE r_pattern are mapped onto the dependency alias
-depend_alias (this is a foreign key in debian_dependency).
-
-table: debian_dependency
-fields: id INTEGER PRIMARY KEY AUTOINCREMENT,
- alias TEXT,
- build INTEGER NOT NULL,
- debian_pkg TEXT NOT NULL,
- UNIQUE (alias,build,debian_pkg)
-
-sets up a dependency alias. each row is a Debian dependency entry, debian_pkg, which
-may be added to Depends: (and Build-Depends: if build = 1).
-
-table: forced_depends
-fields: r_name TEXT.
- depend_alias TEXT,
- PRIMARY KEY (r_name,depend_alias)'
-
-forces the R package r_name to have the dependencies implied by depend_alias (a foriegn
-key in debian_dependency).
-
-table: license_override
-fields: name TEXT PRIMARY KEY,
- accept INT NOT NULL
-
-specifies whether the license, name, is accepted or rejected.
-
-table: license_hashes
-fields: name TEXT
- sha1 TEXT PRIMARY KEY
-
-matches an SHA1 hash of the LICEN[CS]E file or part of the License: field to
-a particular license name (a foreign key in license_override).
-
-table: database_versions
-fields: version INTEGER PRIMARY KEY AUTOINCREMENT,
- version_date INTEGER,
- base_epoch INTEGER
-
-a version of the database. each time one of the above tables (but not the below
-tables) is updated, a new record is added to this table, indicating significant
-changes to the database. version_date indicates when this change occurred
-(seconds since UNIX epoch) and base_epoch is the Debian version epoch.
-
-in future, all of the above fields should be versioned and somehow linked to
-the packages that used them, so we only rebuild what is necessary.
-
-table: packages
-fields: package TEXT PRIMARY KEY,
- latest_r_version TEXT
-
-a package, and its latest R version. this is a copy of the 'available'
-structure in the cran2deb R cache, and it is here as it allows queries on the
-'builds' table to be much simpler (and perhaps faster).
-
-table: builds
-fields: id INTEGER PRIMARY KEY AUTOINCREMENT,
- package TEXT,
- r_version TEXT,
- deb_epoch INTEGER,
- deb_revision INTEGER,
- db_version INTEGER,
- date_stamp TEXT,
- git_revision TEXT,
- success INTEGER,
- log TEXT,
- UNIQUE(package,r_version,deb_epoch,deb_revision,db_version)
-
-Each time a 'package' is built, its 'success' is logged, along with the
-particular database, cran2deb, R and Debian version information (db_version,
-git_revision, r_version, deb_epoch, deb_revision) and the current date
-(date_stamp). 'log' contains the output of the build process.
-
-A new 'deb_revision' is assigned to each successful build.
-