summaryrefslogtreecommitdiff
path: root/package.proto
blob: 9ba9055c489bd5d2fed416c5bf8ad2a785c59c14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
syntax = "proto3";

package gitpb;

// import "google/protobuf/duration.proto"; // Import the well-known type for Timestamp
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp

// global settings for autogenpb `autogenpb:mutex`

message Package {
        string                      name                 = 1;  // `autogenpb:unique` `autogenpb:sort`
        google.protobuf.Timestamp   laststamp            = 2;  // the last time this package was seen (used to timeout entries)
        google.protobuf.Timestamp   ctime                = 3;  // the last time this package was seen (used to timeout entries)
        string                      Namespace            = 4;  // path to the sources (go.wit.com/apps/zookeeper)
        bool                        installed            = 5;  // if installed on your machine, this should be set to true
        string                      pkgName              = 6;  // the apt filename pool/main/f/foo/foo_2.2.2_riscv64.deb
        string                      Version              = 7;  // version: 0.0.3
        string                      Architecture         = 8;  //
        string                      Source               = 9;  //
        string                      Package              = 10; //
        string                      Size                 = 11; //
        string                      Depends              = 12; //
        string                      Maintainer           = 13; //
        string                      Filename             = 14; //
        string                      Description          = 15; //
        string                      Packager             = 16; //
        string                      Conflicts            = 17; //
        string                      BuildDepends         = 18; //
        string                      PackageBuildDate     = 19; //
        string                      GitTagDate           = 20; //
        string                      URL                  = 21; //
        string                      SHA1                 = 22; //
        string                      MD5SUM               = 23; //
        string                      SHA256               = 24; //
        string                      SHA512               = 25; //
        map<string, string>         core                 = 26; // catch all for whatever is left over
}

message Packages {                                             // `autogenpb:marshal` `autogenpb:gui` `autogenpb:http`
        string                      uuid                 = 1;  // `autogenpb:uuid:2f26cc03-ea30-4481-a333-ad0acc86e1d3`
        string                      version              = 2;  // `autogenpb:version:v0.0.1`
        repeated Package            packages             = 3;
        string                      filename             = 4;  // `autogenpb:save` -- this enables autogenerated pb.Load() and pb.Save()
}