X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=db.sql;h=2c03a4a43d1827e3cce1b159b2522ad587485fe5;hb=84e08226b00a2fc1d248d9df9ee2dbc1c5deef50;hp=e1c1a5ed9a2b13c19ab95547f22a58b5df0f5856;hpb=b318e4a2b4ca7b24bf7766038e003cbd4ac2d764;p=zpackage diff --git a/db.sql b/db.sql index e1c1a5e..2c03a4a 100644 --- a/db.sql +++ b/db.sql @@ -28,6 +28,7 @@ create table packages ( description text, architecture text, url text, + status text, licenses text, -- hash of actual license? need table for more than one? packager text, build_time integer default (strftime('%s', 'now')), @@ -38,6 +39,13 @@ create table packages ( without rowid ; +-- handle package status history with a logging trigger. +create trigger logpkgstatus after update of status on packages +begin insert into zpmlog (action,target,info) + values (printf('status change %s %s', OLD.status, NEW.status), + printf('%s-%s-%s', NEW.package, NEW.version, NEW.release), + NULL); END; + create table packagetags ( -- package id triple package text, @@ -104,10 +112,22 @@ without rowid ; create table elfinfo ( - file text, -- hash of blob + file text primary key, -- hash of blob elftype text, foreign key (file) references files on delete cascade -); +) +without rowid +; + +create table elfdeps ( + file text, + soname text, + dependency text, + primary key (file, soname, dependency), + foreign key (file) references files on delete cascade +) +without rowid +; -- TODO just elf information? -- and just hash, not package? @@ -178,7 +198,8 @@ create table packagegroups ( -- sub-invocations, probably an environment variable set if not -- already set by zpm, probably a uuid or a timestamp create table zpmlog ( - ts integer, -- timestamp of action, may need sub-second + ts text default (strftime('%Y-%m-%d %H:%M:%f', 'now')), + -- timestamp of action action text, target text, -- packagename, repo name, etc info text -- human readable