--- a/src/main.go Fri Dec 19 23:02:38 2025 +0100 +++ b/src/main.go Sat Dec 20 23:10:56 2025 +0100 @@ -2,6 +2,7 @@ import ( "bytes" + "database/sql" "encoding/json" "encoding/xml" "errors" @@ -13,6 +14,8 @@ "strconv" "strings" "text/template" + + _ "modernc.org/sqlite" ) type Config struct { @@ -85,6 +88,17 @@ log.Fatal(err) } + db, err := sql.Open("sqlite", "uwbuild.db") + if err != nil { + log.Fatal(err) + } + defer db.Close() + + err = prepare_db(db) + if err != nil { + log.Fatal(err) + } + config := &Config{} if err := xml.Unmarshal(data, &config); err != nil { log.Fatal(err) @@ -164,6 +178,25 @@ } } +func prepare_db(db *sql.DB) error { + _, err := db.Exec(` + create table Repository ( + id integer primary key autoincrement, + path text not null, + name text not null + ); + create table RepoCommit ( + id integer primary key autoincrement, + repository_id integer not null, + node text, + node_short text, + author text, + description text, + date text + );`) + return err +} + func create_repo_archive(repo *Repository, tpl *template.Template, tpl2 *template.Template, tmp_dir string) error { // create a build directory, that contains the repository source // and build scripts