summaryrefslogtreecommitdiff
path: root/package.proto
blob: a4627ec661e5823dda3b0a059da4e49fb983c3be (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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

// The order here is the order they will be written into the
// /home/mirrors/debian/sid/main/binary-riscv64/Packages file

// Package: 0ad-data
// Version: 0.27.1-1
// Installed-Size: 3433612
// Maintainer: Debian Games Team <[email protected]>
// Architecture: all
// Pre-Depends: dpkg (>= 1.15.6~)
// Suggests: 0ad
// Description: Real-time strategy game of ancient warfare (data files)
// Multi-Arch: foreign
// Homepage: https://play0ad.com/
// Description-md5: 26581e685027d5ae84824362a4ba59ee
// Tag: role::app-data
// Section: games
// Priority: optional
// Filename: pool/main/0/0ad-data/0ad-data_0.27.1-1_all.deb
// Size: 1389932984
// MD5sum: 484817df4b5163b34e71081cd2232690
// SHA256: 8b5922987ef2b4d6268300c473364301cca1cfa6a9b1d4fbc7a912dbff36a3ba

message DebInfo {
        string                      Package           = 1;  // `autogenpb:unique` `autogenpb:sort`
        string                      Namespace         = 2;  // path to the sources (go.wit.com/apps/zookeeper)
        string                      Version           = 3;  // version: 0.0.3
        string                      Architecture      = 4;  //
        string                      Maintainer        = 5;  //
        string                      Packager          = 6;  //
        string                      URL               = 7;  //
        string                      Homepage          = 8;  // deprecate
        string                      Depends           = 9;  //
        string                      PreDepends        = 10; //
        string                      BuildDepends      = 11; //
        string                      Conflicts         = 12; //
        string                      Breaks            = 13; //
        string                      Replaces          = 14; //
        string                      Recommends        = 15; //
        string                      Suggests          = 16; //
        string                      MultiArch         = 17; //
        string                      Tag               = 18; //
        string                      Section           = 19; //
        string                      Source            = 20; //
        string                      DebCtime          = 21; //
        string                      BuildDate         = 22; //
        string                      GitHash           = 23; //
        string                      GitDate           = 24; //
        string                      Filename          = 25; // `autogenpb:unique` `autogenpb:sort`
        string                      Size              = 26; //
        string                      InstalledSize     = 27; //
        string                      MD5SUM            = 28; //
        string                      SHA256            = 29; //
        string                      Description       = 30; //
}

message Package {
        string                      Package           = 1;  // `autogenpb:unique` `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
        string                      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.6`
        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;  // expirement. probably a dumb one
}