summaryrefslogtreecommitdiff
path: root/package.proto
blob: 7c8436bb4398cd5012e3ef35fd82ccf6aaf144ff (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
syntax = "proto3";

package gitpb;

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

// Note: 'autogenpb' treats all .proto variable names as case insensitive

// DebInfo has the information displayed by "dpkg -I moon-buggy.deb"
// The order here is the order they will be written into the
// /home/mirrors/debian/sid/main/binary-riscv64/Packages file

message DebInfo {
        string                      Package          = 1;  // `autogenpb:unique` `autogenpb:sort`
        string                      Filename         = 2;  // `autogenpb:unique` `autogenpb:sort`
        string                      Namespace        = 3;  // path to the sources (go.wit.com/apps/zookeeper)
        string                      Version          = 4;  // version: 0.0.3
        string                      Architecture     = 5;  //
        string                      Depends          = 6;  //
        string                      Maintainer       = 7;  //
        string                      Homepage         = 8;  //
        string                      Description      = 9;  //
        string                      Packager         = 10; //
        string                      Source           = 11; //
        string                      Size             = 12; //
        string                      Conflicts        = 13; //
        string                      BuildDepends     = 14; //
        string                      URL              = 15; //
        string                      SHA1             = 16; // probably not used anymore
        string                      MD5SUM           = 17; // deprecate
        string                      SHA256           = 18; //
        string                      SHA512           = 19; //
}

message Package {
        string                      Package          = 1;  // `autogenpb:sort`
        string                      Filename         = 2;  // `autogenpb:unique` `autogenpb:sort`
        string                      Namespace        = 3;  // namespace path to the sources (go.wit.com/apps/zookeeper)
        string                      Version          = 4;  //
        string                      Architecture     = 5;  //
        DebInfo                     debInfo          = 6;  // the information given by "dpkg -I pingus.deb"
        bool                        installed        = 7;  // if installed on your machine, this should be set to true
        google.protobuf.Timestamp   ctime            = 8;  // the ctime of the file on the mirrors
        google.protobuf.Timestamp   buildDate        = 9;  // when the package was built
        google.protobuf.Timestamp   gitDate          = 10; // the tiem of the last git commit
        google.protobuf.Timestamp   gitHash          = 11; // the git hash it was built from
        map<string, string>         custom           = 12; // for custom strings
}

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.3`
        repeated Package            packages         = 3;
        string                      filename         = 4;  // `autogenpb:save` -- this enables autogenerated pb.Load() and pb.Save()
        bool                        changed          = 5;  // only writes to disk on Save() if changed == true
        string                      gpgKeyID         = 6;  // the gpg key used to sign the debian mirror Package files
        string                      baseDir          = 7;  // where your mirrors repo starts "/home/mirrors/debian"
        repeated string             Errors           = 8;  // where your mirrors repo starts "/home/mirrors/debian"
}