summaryrefslogtreecommitdiff
path: root/misc/package-flow.dot
blob: bfede1a4e6ec1264d7eaaf40994f0495ab4294d1 (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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
digraph package_flow {
  rankdir=LR;
  fontname=dejavu;
  packages64 [ label="upstream svn2git (packages)", shape=oval ];
  community64 [ label="upstream svn2git (community)", shape=oval ];
  packages32 [ label="archlinux32 git (packages32)", shape=oval ];

  buildlist [ label="build-list", fontcolor="#0000ff", shape=box ];
  deletionlist [ label="deletion-list", fontcolor="#ff0000", shape=box ];

  staging [ label="[staging]", fontcolor="#006400", shape=box ];
  comstaging [ label="[community-staging]", fontcolor="#006400", shape=box ];

  testing [ label="[testing]", fontcolor="#00c800", shape=box ];
  comtesting [ label="[community-testing]", fontcolor="#00c800", shape=box ];

  tested [ label="[testing] (tested)", fontcolor="#64ff00", shape=box ];
  comtested [ label="[community-testing] (tested)", fontcolor="#64ff00", shape=box ];

  core [ label="[core]", shape=box ];
  extra [ label="[extra]", shape=box ];
  community [ label="[community]", shape=box ];

  merge1 [ label="merge\npackage\nsources", shape=diamond ];
  merge2 [ label="merge\npackage\nsources", shape=diamond ];

  create [ label="create/update\npackage\nentry", shape=diamond ];
  delete [ label="delete\npackage\nentry", shape=diamond ];

  build [ label="build\npackage", shape=diamond ];

  move1 [ label="move\npackage", shape=diamond ];
  move2 [ label="move\npackage", shape=diamond ];
  move3 [ label="move\npackage", shape=diamond ];
  move4 [ label="move\npackage", shape=diamond ];

  test1 [ label="test\npackage", shape=diamond ];
  test2 [ label="test\npackage", shape=diamond ];

  db_update [ label="db-update", shape=hexagon ];
  get_package_updates [ label="get-package-updates", shape=hexagon ];
  build_slave [ label="build slave", shape=hexagon ];
  tester [ label="tester", shape=hexagon ];

  move1 -> db_update [ dir=back ];
  move2 -> db_update [ dir=back ];
  db_update -> move3;
  db_update -> move4;
  tester -> test1;
  tester -> test2;
  build_slave -> build;
  get_package_updates -> create;
  get_package_updates -> delete;
  merge1 -> get_package_updates [ dir=back ];
  merge2 -> get_package_updates [ dir=back ];

  packages64 -> merge1;
  packages32 -> merge1;
  merge1 -> create;
  merge1 -> delete;

  community64 -> merge2;
  packages32 -> merge2;
  merge2 -> create;
  merge2 -> delete;

  create -> buildlist;
  delete -> buildlist [ dir=back ];
  create -> deletionlist [ dir=back ];
  delete -> deletionlist;

  buildlist -> build;
  build -> staging;
  build -> comstaging;

  delete -> staging [ dir=back ];
  delete -> comstaging [ dir=back ];

  staging -> move1;
  move1 -> testing;
  comstaging -> move2;
  move2 -> comtesting;

  delete -> testing [ dir=back ];
  delete -> comtesting [ dir=back ];

  testing -> test1;
  test1 -> tested;
  comtesting -> test2;
  test2 -> comtested;

  delete -> tested [ dir=back ];
  delete -> comtested [ dir=back ];

  tested -> move3;
  move3 -> core;
  move3 -> extra;
  comtested -> move4;
  move4 -> community;

  delete -> core [ dir=back ];
  delete -> extra [ dir=back ];
  delete -> community [ dir=back ];
}