Posted to tcl by jenglish at Sat Nov 10 18:28:39 GMT 2007view pretty

create table provides {
    instance integer,
    package string,
    version string,

    primary key (instance, package)
    foreign key (instance) references instance(id)
}

-- meaning: if (instance, package, version) in `provides`,
-- then after installing $instance, [package require $package $version]
-- is expected to succeed.

create table requires {
    instance integer,
    package string,
    versionspec string,         -- TIP#268-style version range specifier

    primary key (instance, package)
    foreign key (instance) references instance(id)
}

-- meaning: if (instance, package, vspec) in `requires`,
-- then something in $instance calls [package require $package $vspec]