rabbit-slide-kenhys-debconf2020-online 2020.08.25.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/README.md +14 -0
- data/Rakefile +17 -0
- data/cfp.md +22 -0
- data/config.yaml +22 -0
- data/debconf2020-online.md +383 -0
- data/images/345px-Jean-henri_fabre.jpg +0 -0
- data/images/bugs-d-o.png +0 -0
- data/images/easy-to-find-no-one-working.png +0 -0
- data/images/easy-to-send-control-email.png +0 -0
- data/images/easy-to-view-blocking.png +0 -0
- data/images/fabre-dashboards.png +0 -0
- data/images/fabre-internals.png +0 -0
- data/images/fabre-internals.svg +948 -0
- data/images/libappindicator-blocked-by.png +0 -0
- data/images/libdbus-glib-blocked-by.png +0 -0
- data/images/logo-combination-standard.svg +255 -0
- data/images/profile.png +0 -0
- data/images/udd-blocking-and-usertag.png +0 -0
- data/images/user-tag-ayatana-appindicator.png +0 -0
- data/old.pdf +0 -0
- data/pdf/debconf2020-online-debconf2020-online.pdf +0 -0
- data/presentation-memo.md +390 -0
- data/theme.rb +3 -0
- metadata +81 -0
Binary file
|
Binary file
|
@@ -0,0 +1,255 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
|
3
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
4
|
+
<svg version="1.1" id="レイヤー_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="508.231" height="179.668" viewBox="0 0 508.231 179.668" overflow="visible" enable-background="new 0 0 508.231 179.668" xml:space="preserve">
|
5
|
+
<g>
|
6
|
+
<g>
|
7
|
+
<path fill="#FFFFFF" d="M28.45,151.424l48.079,16.659l1.392-3.559l-53.667-18.596C25.576,147.813,26.974,149.647,28.45,151.424z"/>
|
8
|
+
<path fill="#FFFFFF" d="M21.043,140.978l58.199,20.166l1.392-3.559l-62.377-21.613C19.129,137.671,20.058,139.34,21.043,140.978z"/>
|
9
|
+
<path fill="#FFFFFF" d="M20.888,54.256l27.601,9.563c0.82-1.084,1.667-2.142,2.557-3.155l-28.069-9.726 C22.256,52.023,21.562,53.13,20.888,54.256z"/>
|
10
|
+
<path fill="#FFFFFF" d="M9.288,89.631l27.919,9.674c-0.044-1.339-0.031-2.685,0.022-4.033L9.743,85.748 C9.56,87.043,9.409,88.337,9.288,89.631z"/>
|
11
|
+
<path fill="#FFFFFF" d="M16.048,131.368l65.907,22.837l0.339-0.868l-9.575-3.743c-4.67-1.826-8.95-4.224-12.807-7.067 l-45.747-15.851C14.751,128.257,15.37,129.825,16.048,131.368z"/>
|
12
|
+
<path fill="#FFFFFF" d="M12.696,122.328l40.033,13.871c-1.715-1.795-3.299-3.696-4.75-5.687l-36.533-12.658 C11.823,119.357,12.238,120.849,12.696,122.328z"/>
|
13
|
+
<path fill="#FFFFFF" d="M42.548,30.245l37.423,12.967c2.572-0.625,5.193-1.067,7.846-1.323L46.397,27.538 C45.091,28.405,43.806,29.304,42.548,30.245z"/>
|
14
|
+
<path fill="#FFFFFF" d="M9.3,105.394l31.117,10.782c-0.528-1.487-0.997-2.996-1.398-4.525L9.007,101.251 C9.071,102.637,9.168,104.017,9.3,105.394z"/>
|
15
|
+
<path fill="#FFFFFF" d="M10.514,113.693l34.235,11.862c-0.925-1.599-1.771-3.239-2.534-4.918L9.78,109.398 C9.987,110.837,10.233,112.269,10.514,113.693z"/>
|
16
|
+
<path fill="#FFFFFF" d="M8.921,97.383l29.167,10.106c-0.257-1.405-0.453-2.823-0.602-4.249L9.021,93.376 C8.956,94.714,8.922,96.05,8.921,97.383z"/>
|
17
|
+
<path fill="#FFFFFF" d="M14.679,66.873c-0.114,0.292-0.208,0.586-0.318,0.879l26.716,9.257c0.473-1.198,0.993-2.362,1.538-3.508 l-26.815-9.291C15.419,65.092,15.032,65.971,14.679,66.873z"/>
|
18
|
+
<path fill="#FFFFFF" d="M25.126,47.845l28.664,9.932c1.033-1.018,2.093-2.004,3.196-2.934L27.578,44.654 C26.737,45.694,25.92,46.759,25.126,47.845z"/>
|
19
|
+
<path fill="#FFFFFF" d="M17.314,60.896l26.979,9.348c0.638-1.142,1.304-2.261,2.012-3.343l-27.237-9.438 C18.459,58.589,17.875,59.733,17.314,60.896z"/>
|
20
|
+
<path fill="#FFFFFF" d="M12.021,74.82l26.799,9.286c0.305-1.23,0.648-2.458,1.042-3.68l-26.724-9.26 C12.736,72.381,12.364,73.599,12.021,74.82z"/>
|
21
|
+
<path fill="#FFFFFF" d="M30.087,41.685l30.327,10.508c1.309-0.94,2.654-1.821,4.035-2.643L32.94,38.633 C31.966,39.625,31.014,40.641,30.087,41.685z"/>
|
22
|
+
<path fill="#FFFFFF" d="M10.335,82.115l27.167,9.413c0.138-1.284,0.317-2.568,0.547-3.851l-26.925-9.33 C10.83,79.602,10.57,80.858,10.335,82.115z"/>
|
23
|
+
<path fill="#FFFFFF" d="M35.854,35.805l32.931,11.41c1.716-0.828,3.475-1.565,5.267-2.215L39.165,32.911 C38.039,33.847,36.933,34.808,35.854,35.805z"/>
|
24
|
+
<path fill="#FFFFFF" d="M62.424,175.925L72,179.668l0.495-1.267l-18.896-6.547C56.432,173.356,59.367,174.729,62.424,175.925z"/>
|
25
|
+
<path fill="#FFFFFF" d="M40.989,163.647l32.828,11.374l1.391-3.559l-41.634-14.426C35.901,159.372,38.372,161.583,40.989,163.647z "/>
|
26
|
+
<path fill="#FFFFFF" d="M85.74,13.695l45.05,15.609l1.392-3.558L96.676,13.443C93.008,13.29,89.357,13.372,85.74,13.695z"/>
|
27
|
+
<path fill="#FFFFFF" d="M59.529,20.371l65.835,22.812l1.392-3.559L65.012,18.229C63.162,18.886,61.329,19.588,59.529,20.371z"/>
|
28
|
+
<path fill="#FFFFFF" d="M70.777,16.389l57.3,19.854l1.392-3.559L77.805,14.783C75.438,15.224,73.091,15.75,70.777,16.389z"/>
|
29
|
+
<path fill="#FFFFFF" d="M50.346,25.068l48.72,16.881c4.818,0.518,9.645,1.663,14.37,3.51l9.575,3.744l1.032-2.64L54.853,22.589 C53.326,23.367,51.825,24.198,50.346,25.068z"/>
|
30
|
+
</g>
|
31
|
+
<g>
|
32
|
+
<g>
|
33
|
+
<linearGradient id="XMLID_44_" gradientUnits="userSpaceOnUse" x1="114.9907" y1="86.6646" x2="114.9907" y2="255.8493">
|
34
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
35
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
36
|
+
</linearGradient>
|
37
|
+
<path fill="url(#XMLID_44_)" d="M123.731,19.127c-8.888-3.475-18.014-5.305-27.055-5.684l35.506,12.303l1.124-2.875 L123.731,19.127z"/>
|
38
|
+
<linearGradient id="XMLID_45_" gradientUnits="userSpaceOnUse" x1="104.2974" y1="86.665" x2="104.2974" y2="255.8504">
|
39
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
40
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
41
|
+
</linearGradient>
|
42
|
+
<path fill="url(#XMLID_45_)" d="M77.805,14.783l51.664,17.901l1.321-3.38L85.74,13.695 C83.072,13.933,80.424,14.295,77.805,14.783z"/>
|
43
|
+
<linearGradient id="XMLID_46_" gradientUnits="userSpaceOnUse" x1="96.5449" y1="86.6641" x2="96.5449" y2="255.8498">
|
44
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
45
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
46
|
+
</linearGradient>
|
47
|
+
<path fill="url(#XMLID_46_)" d="M65.012,18.229l61.743,21.394l1.322-3.38l-57.3-19.854 C68.831,16.927,66.913,17.555,65.012,18.229z"/>
|
48
|
+
<linearGradient id="XMLID_47_" gradientUnits="userSpaceOnUse" x1="90.1084" y1="86.665" x2="90.1084" y2="255.849">
|
49
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
50
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
51
|
+
</linearGradient>
|
52
|
+
<path fill="url(#XMLID_47_)" d="M54.853,22.589l69.189,23.974l1.321-3.38L59.529,20.371 C57.946,21.059,56.391,21.806,54.853,22.589z"/>
|
53
|
+
<linearGradient id="XMLID_48_" gradientUnits="userSpaceOnUse" x1="72.7314" y1="86.6646" x2="72.7314" y2="255.8496">
|
54
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
55
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
56
|
+
</linearGradient>
|
57
|
+
<path fill="url(#XMLID_48_)" d="M46.397,27.538L87.818,41.89c3.708-0.357,7.474-0.346,11.248,0.059l-48.72-16.881 C49.008,25.855,47.691,26.677,46.397,27.538z"/>
|
58
|
+
<linearGradient id="XMLID_49_" gradientUnits="userSpaceOnUse" x1="59.5684" y1="86.6646" x2="59.5684" y2="255.8502">
|
59
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
60
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
61
|
+
</linearGradient>
|
62
|
+
<path fill="url(#XMLID_49_)" d="M39.165,32.911L74.052,45c1.937-0.703,3.913-1.3,5.919-1.787L42.548,30.245 C41.4,31.105,40.27,31.991,39.165,32.911z"/>
|
63
|
+
<linearGradient id="XMLID_50_" gradientUnits="userSpaceOnUse" x1="50.8628" y1="86.6636" x2="50.8628" y2="255.8486">
|
64
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
65
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
66
|
+
</linearGradient>
|
67
|
+
<path fill="url(#XMLID_50_)" d="M32.94,38.633L64.449,49.55c1.413-0.841,2.858-1.622,4.337-2.335l-32.931-11.41 C34.862,36.722,33.891,37.665,32.94,38.633z"/>
|
68
|
+
<linearGradient id="XMLID_51_" gradientUnits="userSpaceOnUse" x1="43.9961" y1="86.6636" x2="43.9961" y2="255.8491">
|
69
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
70
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
71
|
+
</linearGradient>
|
72
|
+
<path fill="url(#XMLID_51_)" d="M27.578,44.654l29.408,10.189c1.107-0.933,2.257-1.809,3.429-2.65L30.087,41.685 C29.229,42.651,28.394,43.644,27.578,44.654z"/>
|
73
|
+
<linearGradient id="XMLID_52_" gradientUnits="userSpaceOnUse" x1="38.3833" y1="86.6636" x2="38.3833" y2="255.848">
|
74
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
75
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
76
|
+
</linearGradient>
|
77
|
+
<path fill="url(#XMLID_52_)" d="M22.977,50.939l28.069,9.726c0.88-1.001,1.8-1.958,2.743-2.888l-28.664-9.932 C24.387,48.856,23.674,49.89,22.977,50.939z"/>
|
78
|
+
<linearGradient id="XMLID_53_" gradientUnits="userSpaceOnUse" x1="33.7783" y1="86.6636" x2="33.7783" y2="255.8489">
|
79
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
80
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
81
|
+
</linearGradient>
|
82
|
+
<path fill="url(#XMLID_53_)" d="M19.068,57.463l27.237,9.438c0.693-1.059,1.427-2.081,2.184-3.082l-27.601-9.563 C20.259,55.307,19.654,56.377,19.068,57.463z"/>
|
83
|
+
<linearGradient id="XMLID_54_" gradientUnits="userSpaceOnUse" x1="30.0459" y1="86.6646" x2="30.0459" y2="255.8496">
|
84
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
85
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
86
|
+
</linearGradient>
|
87
|
+
<path fill="url(#XMLID_54_)" d="M15.799,64.209L42.615,73.5c0.527-1.11,1.086-2.196,1.678-3.256l-26.979-9.348 C16.789,61.985,16.282,63.088,15.799,64.209z"/>
|
88
|
+
<linearGradient id="XMLID_55_" gradientUnits="userSpaceOnUse" x1="27.1074" y1="86.6646" x2="27.1074" y2="255.8502">
|
89
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
90
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
91
|
+
</linearGradient>
|
92
|
+
<path fill="url(#XMLID_55_)" d="M13.138,71.167l26.724,9.26c0.351-1.09,0.726-2.177,1.148-3.258 c0.021-0.054,0.046-0.105,0.067-0.16l-26.716-9.257C13.932,68.887,13.515,70.024,13.138,71.167z"/>
|
93
|
+
<linearGradient id="XMLID_56_" gradientUnits="userSpaceOnUse" x1="24.9717" y1="86.6636" x2="24.9717" y2="255.8492">
|
94
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
95
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
96
|
+
</linearGradient>
|
97
|
+
<path fill="url(#XMLID_56_)" d="M11.124,78.347l26.925,9.33c0.214-1.192,0.477-2.383,0.772-3.571L12.021,74.82 C11.691,75.994,11.4,77.17,11.124,78.347z"/>
|
98
|
+
<linearGradient id="XMLID_57_" gradientUnits="userSpaceOnUse" x1="23.6221" y1="86.6636" x2="23.6221" y2="255.8487">
|
99
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
100
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
101
|
+
</linearGradient>
|
102
|
+
<path fill="url(#XMLID_57_)" d="M9.743,85.748l27.486,9.524c0.049-1.247,0.138-2.495,0.272-3.744l-27.167-9.413 C10.109,83.326,9.915,84.537,9.743,85.748z"/>
|
103
|
+
<linearGradient id="XMLID_58_" gradientUnits="userSpaceOnUse" x1="23.2539" y1="86.6641" x2="23.2539" y2="255.849">
|
104
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
105
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
106
|
+
</linearGradient>
|
107
|
+
<path fill="url(#XMLID_58_)" d="M9.021,93.376l28.467,9.864c-0.136-1.306-0.237-2.617-0.281-3.936L9.288,89.631 C9.17,90.881,9.081,92.129,9.021,93.376z"/>
|
108
|
+
<linearGradient id="XMLID_59_" gradientUnits="userSpaceOnUse" x1="23.9702" y1="86.6641" x2="23.9702" y2="255.8489">
|
109
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
110
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
111
|
+
</linearGradient>
|
112
|
+
<path fill="url(#XMLID_59_)" d="M9.007,101.251l30.012,10.399c-0.36-1.374-0.674-2.76-0.93-4.161L8.921,97.383 C8.921,98.675,8.948,99.965,9.007,101.251z"/>
|
113
|
+
<linearGradient id="XMLID_60_" gradientUnits="userSpaceOnUse" x1="25.7578" y1="86.6641" x2="25.7578" y2="255.8495">
|
114
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
115
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
116
|
+
</linearGradient>
|
117
|
+
<path fill="url(#XMLID_60_)" d="M9.78,109.398l32.436,11.239c-0.663-1.46-1.261-2.949-1.798-4.461L9.3,105.394 C9.428,106.734,9.588,108.069,9.78,109.398z"/>
|
118
|
+
<linearGradient id="XMLID_61_" gradientUnits="userSpaceOnUse" x1="29.2466" y1="86.6641" x2="29.2466" y2="255.8498">
|
119
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
120
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
121
|
+
</linearGradient>
|
122
|
+
<path fill="url(#XMLID_61_)" d="M11.446,117.854l36.533,12.658c-1.165-1.598-2.243-3.251-3.23-4.957l-34.235-11.862 C10.79,115.089,11.101,116.476,11.446,117.854z"/>
|
123
|
+
<linearGradient id="XMLID_62_" gradientUnits="userSpaceOnUse" x1="36.3047" y1="86.6631" x2="36.3047" y2="255.8477">
|
124
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
125
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
126
|
+
</linearGradient>
|
127
|
+
<path fill="url(#XMLID_62_)" d="M14.167,126.676l45.747,15.851c-2.596-1.914-4.993-4.034-7.185-6.327l-40.033-13.871 C13.149,123.791,13.635,125.241,14.167,126.676z"/>
|
128
|
+
<linearGradient id="XMLID_63_" gradientUnits="userSpaceOnUse" x1="49.002" y1="86.6631" x2="49.0019" y2="255.8479">
|
129
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
130
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
131
|
+
</linearGradient>
|
132
|
+
<path fill="url(#XMLID_63_)" d="M18.257,135.972l62.377,21.613l1.321-3.38l-65.907-22.837 C16.733,132.927,17.48,134.457,18.257,135.972z"/>
|
133
|
+
<linearGradient id="XMLID_64_" gradientUnits="userSpaceOnUse" x1="50.1431" y1="86.6646" x2="50.1431" y2="255.8489">
|
134
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
135
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
136
|
+
</linearGradient>
|
137
|
+
<path fill="url(#XMLID_64_)" d="M24.254,145.929l53.667,18.596l1.322-3.381l-58.199-20.166 C22.057,142.663,23.124,144.315,24.254,145.929z"/>
|
138
|
+
<linearGradient id="XMLID_65_" gradientUnits="userSpaceOnUse" x1="52.4897" y1="86.6636" x2="52.4897" y2="255.8494">
|
139
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
140
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
141
|
+
</linearGradient>
|
142
|
+
<path fill="url(#XMLID_65_)" d="M33.574,157.037l41.634,14.426l1.322-3.38L28.45,151.424 C30.065,153.367,31.778,155.237,33.574,157.037z"/>
|
143
|
+
<linearGradient id="XMLID_66_" gradientUnits="userSpaceOnUse" x1="57.4023" y1="86.6636" x2="57.4023" y2="255.849">
|
144
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
145
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
146
|
+
</linearGradient>
|
147
|
+
<path fill="url(#XMLID_66_)" d="M53.598,171.854l18.896,6.547l1.322-3.38l-32.828-11.374 C44.885,166.72,49.099,169.468,53.598,171.854z"/>
|
148
|
+
</g>
|
149
|
+
<linearGradient id="XMLID_67_" gradientUnits="userSpaceOnUse" x1="62.2041" y1="86.6709" x2="62.2041" y2="255.8549">
|
150
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
151
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
152
|
+
</linearGradient>
|
153
|
+
<path fill="url(#XMLID_67_)" d="M5.782,53.527L5.782,53.527c-16.902,43.229,4.517,92.149,47.746,109.052l9.575,3.744 l10.295-26.332l-9.575-3.743c-28.71-11.225-42.935-43.715-31.709-72.425c11.225-28.71,43.715-42.935,72.425-31.71l9.575,3.744 l10.295-26.331l-9.575-3.744C71.604-11.12,22.684,10.299,5.782,53.527z"/>
|
154
|
+
</g>
|
155
|
+
<g>
|
156
|
+
<linearGradient id="XMLID_68_" gradientUnits="userSpaceOnUse" x1="294.1226" y1="140.9063" x2="294.1226" y2="211.9397">
|
157
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
158
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
159
|
+
</linearGradient>
|
160
|
+
<path fill="url(#XMLID_68_)" d="M289.752,140.747c-0.168-3.205,0.662-6.361,2.492-9.469c1.828-3.107,5.662-4.773,11.498-4.996 v-5.25c-4.145,0.057-7.289,0.893-9.43,2.508c-2.143,1.615-3.787,3.773-4.936,6.473v-7.855h-4.875v44.125h5.25V140.747z"/>
|
161
|
+
<linearGradient id="XMLID_69_" gradientUnits="userSpaceOnUse" x1="256.895" y1="140.9092" x2="256.895" y2="211.9418">
|
162
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
163
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
164
|
+
</linearGradient>
|
165
|
+
<path fill="url(#XMLID_69_)" d="M267.127,137.224c-0.07,0.672-0.242,1.188-0.52,1.551c-1.15,0.84-3.303,1.391-6.459,1.656 s-6.563,0.699-10.222,1.301c-3.66,0.602-6.809,1.859-9.445,3.773c-2.637,1.916-4.012,4.957-4.123,9.121 c0.027,3.66,1.287,6.678,3.779,9.053s6.076,3.615,10.751,3.729c4.389-0.168,7.918-1.063,10.588-2.682 c2.668-1.619,4.688-3.211,6.059-4.775c-0.168,2.195,0.285,3.854,1.361,4.979s2.719,1.701,4.928,1.729 c1.033-0.057,1.844-0.141,2.432-0.25c0.586-0.111,0.979-0.166,1.174-0.166v-3.709c-0.225,0-0.49,0.021-0.797,0.063 c-0.309,0.043-0.588,0.063-0.838,0.063c-1.326-0.027-2.217-0.246-2.672-0.656c-0.457-0.41-0.67-0.883-0.641-1.422v-27.506 c0.027-3.232-1.27-6.02-3.891-8.361c-2.621-2.34-6.775-3.566-12.463-3.68c-6.094,0.168-10.542,1.693-13.351,4.58 s-4.197,6.127-4.17,9.725h5c0.082-2.602,1.074-4.865,2.973-6.791s5.166-2.93,9.8-3.014c5.592,0.277,8.869,1.607,9.83,3.986 c0.961,2.381,1.301,4.082,1.021,5.105C267.233,135.687,267.198,136.554,267.127,137.224z M267.233,150.851 c-0.168,3.727-1.793,6.66-4.875,8.801c-3.082,2.143-6.682,3.229-10.799,3.256c-3.359-0.084-5.859-0.918-7.496-2.502 c-1.637-1.582-2.455-3.467-2.455-5.654c0.055-2.766,0.986-4.807,2.793-6.121s4.076-2.23,6.806-2.748 c2.73-0.516,5.537-0.928,8.422-1.236c2.883-0.307,5.418-0.781,7.604-1.426V150.851z"/>
|
166
|
+
<linearGradient id="XMLID_70_" gradientUnits="userSpaceOnUse" x1="140.1738" y1="140.9072" x2="140.1738" y2="211.9366">
|
167
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
168
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
169
|
+
</linearGradient>
|
170
|
+
<path fill="url(#XMLID_70_)" d="M141.812,167.907c8.059-0.309,14.08-2.654,18.068-7.041s5.982-9.234,5.982-14.543h-5.5 c-0.057,4.674-1.707,8.613-4.953,11.818s-7.695,4.877-13.348,5.016c-8.227-0.363-13.957-3.355-17.188-8.979 c-3.232-5.623-4.777-11.764-4.637-18.422c0.055-8.557,1.924-15.254,5.604-20.092s8.932-7.299,15.76-7.383 c6.338,0.254,10.953,1.969,13.844,5.148s4.32,6.34,4.293,9.477h5.625c0.027-4.51-1.855-8.838-5.646-12.984 c-3.793-4.146-9.732-6.359-17.82-6.641c-8.549,0.084-15.232,2.959-20.053,8.623s-7.271,13.531-7.355,23.6 c-0.086,8.748,2.023,16.252,6.326,22.51C125.114,164.274,132.114,167.571,141.812,167.907z"/>
|
171
|
+
<linearGradient id="XMLID_71_" gradientUnits="userSpaceOnUse" x1="178.6401" y1="140.9063" x2="178.6401" y2="211.9379">
|
172
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
173
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
174
|
+
</linearGradient>
|
175
|
+
<rect x="176.14" y="105.032" fill="url(#XMLID_71_)" width="5" height="61.25"/>
|
176
|
+
<linearGradient id="XMLID_72_" gradientUnits="userSpaceOnUse" x1="210.1963" y1="140.9092" x2="210.1963" y2="211.9418">
|
177
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
178
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
179
|
+
</linearGradient>
|
180
|
+
<path fill="url(#XMLID_72_)" d="M210.445,167.407c6.076-0.281,10.648-1.998,13.715-5.154s4.6-6.301,4.6-9.43h-5.125 c-0.029,2.445-1.174,4.744-3.436,6.896s-5.373,3.299-9.334,3.438c-5.107-0.168-8.846-2.002-11.217-5.504 s-3.541-7.668-3.514-12.496h33.25c0-4.883-0.453-8.795-1.359-11.74c-0.906-2.943-2.279-5.281-4.119-7.012 c-1.063-1.166-2.678-2.332-4.844-3.498c-2.168-1.166-4.984-1.791-8.449-1.875c-5.988,0.027-10.732,2.037-14.23,6.029 c-3.5,3.992-5.291,9.783-5.373,17.375c-0.057,6.094,1.434,11.383,4.471,15.867C198.516,164.788,203.504,167.155,210.445,167.407z M200.193,130.241c2.482-3,5.871-4.568,10.168-4.709c4.451,0.084,7.832,1.578,10.141,4.48s3.479,6.617,3.508,11.145h-27.625 C196.439,136.88,197.709,133.241,200.193,130.241z"/>
|
181
|
+
<linearGradient id="XMLID_73_" gradientUnits="userSpaceOnUse" x1="489.0425" y1="140.9092" x2="489.0425" y2="211.9418">
|
182
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
183
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
184
|
+
</linearGradient>
|
185
|
+
<path fill="url(#XMLID_73_)" d="M506.872,133.417c-0.906-2.943-2.279-5.281-4.119-7.012c-1.063-1.166-2.678-2.332-4.844-3.498 c-2.168-1.166-4.984-1.791-8.449-1.875c-5.988,0.027-10.732,2.037-14.23,6.029c-3.5,3.992-5.291,9.783-5.373,17.375 c-0.057,6.094,1.434,11.383,4.471,15.867c3.035,4.484,8.023,6.852,14.965,7.104c6.076-0.281,10.648-1.998,13.715-5.154 s4.6-6.301,4.6-9.43h-5.125c-0.029,2.445-1.174,4.744-3.436,6.896s-5.373,3.299-9.334,3.438 c-5.107-0.168-8.846-2.002-11.217-5.504s-3.541-7.668-3.514-12.496h33.25C508.231,140.274,507.778,136.362,506.872,133.417z M475.231,141.157c0.055-4.277,1.324-7.916,3.809-10.916c2.482-3,5.871-4.568,10.168-4.709c4.451,0.084,7.832,1.578,10.141,4.48 s3.479,6.617,3.508,11.145H475.231z"/>
|
186
|
+
<linearGradient id="XMLID_74_" gradientUnits="userSpaceOnUse" x1="440.2271" y1="140.9043" x2="440.2271" y2="211.937">
|
187
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
188
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
189
|
+
</linearGradient>
|
190
|
+
<path fill="url(#XMLID_74_)" d="M455.227,129.845c-1.004-2.145-2.74-4.121-5.209-5.93s-5.654-2.77-9.557-2.883 c-6.898,0.141-12.004,2.381-15.313,6.721s-4.949,9.846-4.922,16.516c0.055,7.127,1.773,12.736,5.152,16.83 s8.07,6.195,14.074,6.309c4.238-0.113,7.621-1.014,10.145-2.701c2.523-1.689,4.4-3.666,5.629-5.93v7.506h5v-61.25h-5V129.845z M451.452,158.509c-2.711,3.043-6.375,4.551-10.99,4.523c-5.527-0.223-9.428-2.24-11.701-6.053 c-2.273-3.811-3.369-8.02-3.283-12.627c-0.057-5.34,1.107-9.777,3.492-13.311s6.342-5.369,11.869-5.51 c4.754,0.057,8.395,1.727,10.926,5.008c2.531,3.283,3.811,7.916,3.838,13.896C455.545,150.776,454.163,155.466,451.452,158.509z"/>
|
191
|
+
<linearGradient id="XMLID_75_" gradientUnits="userSpaceOnUse" x1="392.6978" y1="140.9092" x2="392.6978" y2="211.9418">
|
192
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
193
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
194
|
+
</linearGradient>
|
195
|
+
<path fill="url(#XMLID_75_)" d="M392.68,121.032c-7.473,0.223-12.756,2.609-15.848,7.16s-4.596,9.881-4.512,15.992 c-0.111,6.094,1.371,11.424,4.449,15.992c3.078,4.57,8.381,6.979,15.91,7.23c7.803-0.309,13.188-2.807,16.152-7.502 s4.377-9.936,4.238-15.721c0.082-6.363-1.455-11.764-4.615-16.201S400.036,121.228,392.68,121.032z M404.276,157.608 c-2.391,3.504-6.256,5.313-11.596,5.424c-5.289-0.111-9.135-1.926-11.541-5.445c-2.406-3.518-3.596-8.014-3.568-13.486 c-0.027-5.367,1.203-9.777,3.693-13.227s6.379-5.23,11.668-5.342c5.367,0.168,9.205,2.039,11.512,5.613s3.432,7.949,3.377,13.123 C407.848,149.659,406.667,154.104,404.276,157.608z"/>
|
196
|
+
<g>
|
197
|
+
<linearGradient id="XMLID_76_" gradientUnits="userSpaceOnUse" x1="338.2837" y1="140.9072" x2="338.2837" y2="211.9392">
|
198
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
199
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
200
|
+
</linearGradient>
|
201
|
+
<path fill="url(#XMLID_76_)" d="M338.559,103.364c-7.198,0.132-13.027,1.608-17.498,4.417h34.445 C351.292,104.989,345.659,103.501,338.559,103.364z"/>
|
202
|
+
<linearGradient id="XMLID_77_" gradientUnits="userSpaceOnUse" x1="338.0591" y1="140.9072" x2="338.0591" y2="211.9387">
|
203
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
204
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
205
|
+
</linearGradient>
|
206
|
+
<path fill="url(#XMLID_77_)" d="M338.559,114.489c2.342,0.06,4.392,0.41,6.167,1.032h17.711c-1.063-2.069-2.484-3.978-4.31-5.706 c-0.344-0.325-0.725-0.617-1.095-0.917h-37.586c-1.46,1.112-2.755,2.385-3.874,3.832c-0.688,0.889-1.308,1.827-1.893,2.792 h18.388C333.95,114.897,336.113,114.552,338.559,114.489z"/>
|
207
|
+
<linearGradient id="XMLID_78_" gradientUnits="userSpaceOnUse" x1="319.936" y1="140.9072" x2="319.936" y2="211.9387">
|
208
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
209
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
210
|
+
</linearGradient>
|
211
|
+
<path fill="url(#XMLID_78_)" d="M325.043,120.907c1.113-1.815,2.637-3.223,4.523-4.27H313.05 c-1.128,2.051-2.058,4.249-2.746,6.623h13.511C324.186,122.446,324.585,121.654,325.043,120.907z"/>
|
212
|
+
<linearGradient id="XMLID_79_" gradientUnits="userSpaceOnUse" x1="355.8608" y1="140.9072" x2="355.8608" y2="211.9387">
|
213
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
214
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
215
|
+
</linearGradient>
|
216
|
+
<path fill="url(#XMLID_79_)" d="M348.784,117.825c1.841,1.619,2.979,3.432,3.426,5.436h12.385 c-0.186-2.364-0.716-4.574-1.607-6.623h-15.859C347.72,116.992,348.28,117.381,348.784,117.825z"/>
|
217
|
+
<linearGradient id="XMLID_80_" gradientUnits="userSpaceOnUse" x1="316.1187" y1="140.9072" x2="316.1187" y2="211.9387">
|
218
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
219
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
220
|
+
</linearGradient>
|
221
|
+
<path fill="url(#XMLID_80_)" d="M323.329,124.377h-13.303c-0.535,2.088-0.907,4.296-1.117,6.623h12.797 C322.002,128.603,322.538,126.391,323.329,124.377z"/>
|
222
|
+
<linearGradient id="XMLID_81_" gradientUnits="userSpaceOnUse" x1="315.1274" y1="140.9072" x2="315.1274" y2="211.9387">
|
223
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
224
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
225
|
+
</linearGradient>
|
226
|
+
<path fill="url(#XMLID_81_)" d="M321.43,136.299c-0.026-1.453,0.026-2.843,0.146-4.182h-12.77 c-0.087,1.305-0.139,2.636-0.127,4.014c-0.006,0.889,0.031,1.75,0.07,2.609h12.757 C321.457,137.946,321.426,137.136,321.43,136.299z"/>
|
227
|
+
<linearGradient id="XMLID_82_" gradientUnits="userSpaceOnUse" x1="315.9614" y1="140.9072" x2="315.9614" y2="211.9387">
|
228
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
229
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
230
|
+
</linearGradient>
|
231
|
+
<path fill="url(#XMLID_82_)" d="M321.606,139.857h-12.798c0.164,2.327,0.509,4.53,1.017,6.623h13.29 C322.344,144.486,321.845,142.275,321.606,139.857z"/>
|
232
|
+
<linearGradient id="XMLID_83_" gradientUnits="userSpaceOnUse" x1="319.5532" y1="140.9072" x2="319.5532" y2="211.9387">
|
233
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
234
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
235
|
+
</linearGradient>
|
236
|
+
<path fill="url(#XMLID_83_)" d="M325.502,150.917c-0.744-1.023-1.377-2.135-1.917-3.32h-13.467 c0.655,2.361,1.525,4.574,2.636,6.623h16.233C327.641,153.345,326.473,152.251,325.502,150.917z"/>
|
237
|
+
<linearGradient id="XMLID_84_" gradientUnits="userSpaceOnUse" x1="355.8579" y1="140.9072" x2="355.8579" y2="211.9387">
|
238
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
239
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
240
|
+
</linearGradient>
|
241
|
+
<path fill="url(#XMLID_84_)" d="M348.667,153.017c-0.498,0.445-1.038,0.838-1.598,1.203h15.771 c0.94-2.023,1.542-4.232,1.808-6.623h-12.31C351.787,149.507,350.569,151.313,348.667,153.017z"/>
|
242
|
+
<linearGradient id="XMLID_85_" gradientUnits="userSpaceOnUse" x1="337.8325" y1="140.9072" x2="337.8325" y2="211.9387">
|
243
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
244
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
245
|
+
</linearGradient>
|
246
|
+
<path fill="url(#XMLID_85_)" d="M357.174,161.444c2.159-1.783,3.833-3.828,5.077-6.107h-17.263 c-1.959,0.846-4.209,1.32-6.766,1.402c-2.716-0.053-5.084-0.53-7.129-1.402h-17.682c0.683,1.137,1.413,2.242,2.244,3.277 c1,1.244,2.135,2.355,3.39,3.346h37.438C356.712,161.784,356.953,161.627,357.174,161.444z"/>
|
247
|
+
<linearGradient id="XMLID_86_" gradientUnits="userSpaceOnUse" x1="337.7622" y1="140.9072" x2="337.7622" y2="211.9391">
|
248
|
+
<stop offset="0" style="stop-color:#458CFF"/>
|
249
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
250
|
+
</linearGradient>
|
251
|
+
<path fill="url(#XMLID_86_)" d="M354.931,163.077h-34.339c4.486,2.947,10.359,4.505,17.631,4.662 C344.816,167.618,350.379,166.058,354.931,163.077z"/>
|
252
|
+
</g>
|
253
|
+
</g>
|
254
|
+
</g>
|
255
|
+
</svg>
|
data/images/profile.png
ADDED
Binary file
|
Binary file
|
Binary file
|
data/old.pdf
ADDED
Binary file
|
Binary file
|
@@ -0,0 +1,390 @@
|
|
1
|
+
# Presentation memo
|
2
|
+
|
3
|
+
## NOTE
|
4
|
+
|
5
|
+
This slide is published at Rabbit Slide Show
|
6
|
+
|
7
|
+
## ClearCode Inc.
|
8
|
+
|
9
|
+
* My collegue gave me a feedback for this talk
|
10
|
+
|
11
|
+
## Not talk about
|
12
|
+
|
13
|
+
In this session, I won't talk about bugs.debian.org internal in details.
|
14
|
+
|
15
|
+
# Agenda
|
16
|
+
|
17
|
+
* Why so curious about bugs.d.o?
|
18
|
+
* The troublesome case about bugs.d.o
|
19
|
+
* What is Fabre and why is it needed?
|
20
|
+
* Demonstrate a front-end
|
21
|
+
* Conclusion
|
22
|
+
|
23
|
+
# As a Maintainer
|
24
|
+
|
25
|
+
* Maintain some packages
|
26
|
+
* <https://qa.debian.org/developer.php?login=kenhys>
|
27
|
+
* groonga (Upstream releases monthly updates)
|
28
|
+
* fcitx-imlist
|
29
|
+
* libhinawa
|
30
|
+
* ...
|
31
|
+
|
32
|
+
# We use bugs.d.o
|
33
|
+
|
34
|
+
![](images/bugs-d-o.png){:relative-height="100"}
|
35
|
+
|
36
|
+
# bugs.debian.org
|
37
|
+
|
38
|
+
* Communicate each other by E-mail
|
39
|
+
* Change the bug status by sending E-mail
|
40
|
+
* Sending E-mail to control@bugs.d.o
|
41
|
+
* Use control command in E-mail reply
|
42
|
+
|
43
|
+
# Why so curious about bugs.d.o?
|
44
|
+
|
45
|
+
* I've received deprecated notification bugs
|
46
|
+
* Bug# 956770 growl-for-linux: Depends on deprecated libappindicator
|
47
|
+
* Bug# 955899 growl-for-linux: Depends on deprecated dbus-glib
|
48
|
+
|
49
|
+
# How did you fixed?
|
50
|
+
|
51
|
+
* Bug# 956770 growl-for-linux: Depends on deprecated libappindicator
|
52
|
+
* <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=956770>
|
53
|
+
* Migrated to libayatana-indicator
|
54
|
+
* It is easy because there are enough compatibility
|
55
|
+
* Fixed pkg-config target and include path
|
56
|
+
|
57
|
+
# How did you fixed? (again)
|
58
|
+
|
59
|
+
* Bug# 955899 growl-for-linux: Depends on deprecated dbus-glib
|
60
|
+
* <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=955899>
|
61
|
+
* Migrated to GDBus
|
62
|
+
* Use d-feet to detect interface change (Rhythmbox plugin)
|
63
|
+
* Fixed a interface to follow GDBus API
|
64
|
+
* Send PR to upstream
|
65
|
+
* Fixed a potential Rhythmbox related bug, too
|
66
|
+
|
67
|
+
# growl-for-linux was fixed
|
68
|
+
|
69
|
+
* But...What about other packages? 🤔
|
70
|
+
|
71
|
+
# What about other packages?
|
72
|
+
|
73
|
+
* libappindicator: deprecated in Debian; AppIndicator based applications, please switch to Ayatana (App)Indicator(s)
|
74
|
+
* <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895037>
|
75
|
+
* libdbus-glib-1-dev: is deprecated
|
76
|
+
* <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895291>
|
77
|
+
|
78
|
+
# libappindicator: deprecated in Debian;
|
79
|
+
|
80
|
+
![](images/libappindicator-blocked-by.png){:relative-height="80"}
|
81
|
+
|
82
|
+
* Many blocked bugs
|
83
|
+
|
84
|
+
# libdbus-glib-1-dev: is deprecated
|
85
|
+
|
86
|
+
![](images/libdbus-glib-blocked-by.png){:relative-height="80"}
|
87
|
+
|
88
|
+
* *Too many* blocked bugs (Need to scroll)
|
89
|
+
|
90
|
+
# Can you track blocked bugs?
|
91
|
+
|
92
|
+
![](images/libdbus-glib-blocked-by.png){:relative-height="80"}
|
93
|
+
|
94
|
+
* Feel dizzy 😵
|
95
|
+
|
96
|
+
# How to track many blocked?
|
97
|
+
|
98
|
+
* Use UserTags?
|
99
|
+
* <https://wiki.debian.org/bugs.debian.org/usertags>
|
100
|
+
* <https://udd.debian.org/cgi-bin/bts-usertags.cgi>
|
101
|
+
|
102
|
+
# Does it work with libappindicator?
|
103
|
+
|
104
|
+
![](images/user-tag-ayatana-appindicator.png){:relative-height="80"}
|
105
|
+
|
106
|
+
* UserTag is: *ayatana-appindicator*
|
107
|
+
|
108
|
+
# Does it work with libdbus-glib1-dev?
|
109
|
+
|
110
|
+
* It is a case that UserTag is *not available*
|
111
|
+
* It should be tagged...
|
112
|
+
|
113
|
+
# The troublesome case about bugs.d.o
|
114
|
+
|
115
|
+
* UserTag is not always used
|
116
|
+
* Many blocked bugs may be difficult to see
|
117
|
+
* *How to solve this situation?*
|
118
|
+
|
119
|
+
# Use udd.debian.org!
|
120
|
+
|
121
|
+
![](images/udd-blocking-and-usertag.png){:relative-width="80"}
|
122
|
+
|
123
|
+
* Can track usertags
|
124
|
+
* Can track blocking bugs
|
125
|
+
|
126
|
+
# In my experience, I need
|
127
|
+
|
128
|
+
* Easy to:
|
129
|
+
|
130
|
+
* Track a specified bug (tagged/not tagged)
|
131
|
+
* Find a bug that no one working on
|
132
|
+
* Send control/submitter E-mail
|
133
|
+
* Find affected bugs
|
134
|
+
|
135
|
+
# What I need for?
|
136
|
+
|
137
|
+
* Easy to:
|
138
|
+
|
139
|
+
* ~~Track a specified bug (tagged/not tagged)~~ *Use UDD!*
|
140
|
+
* Find a bug that no one working on 🤔
|
141
|
+
* Send control/submitter E-mail 🤔
|
142
|
+
* Find affected bugs 🤔
|
143
|
+
|
144
|
+
# Starting personal project
|
145
|
+
|
146
|
+
* Concept
|
147
|
+
* Make unstable life comfortable
|
148
|
+
* Find a bug that no one working on
|
149
|
+
* Easy to send control E-mail
|
150
|
+
* Easy to find blocking bugs
|
151
|
+
* Easy to find affected bugs
|
152
|
+
|
153
|
+
# Starting personal project
|
154
|
+
|
155
|
+
* Concept
|
156
|
+
* Make unstable life comfortable
|
157
|
+
* Find a bug that no one working on
|
158
|
+
*Count comment in bug#NNNNNN*
|
159
|
+
* Easy to send control E-mail
|
160
|
+
*Add mailto: link explicitly*
|
161
|
+
* Easy to find blocking bugs
|
162
|
+
*List blocking bugs*
|
163
|
+
* Easy to find affected bugs
|
164
|
+
*Alert affected bugs*
|
165
|
+
|
166
|
+
# What should I do?
|
167
|
+
|
168
|
+
* Name the project 😀
|
169
|
+
* Integrate with salsa.d.o account (optional)
|
170
|
+
* Sync bug information
|
171
|
+
* Import additional metadata
|
172
|
+
* Make it accessible!
|
173
|
+
|
174
|
+
# What should I do?
|
175
|
+
|
176
|
+
* *Name the project 😀*
|
177
|
+
{::note}Naming is important!{:/note}
|
178
|
+
* Integrate with salsa.d.o account (optional)
|
179
|
+
* Sync bug information
|
180
|
+
* Import additional metadata
|
181
|
+
* Make it accessible!
|
182
|
+
|
183
|
+
# Named as Fabre
|
184
|
+
|
185
|
+
![](images/345px-Jean-henri_fabre.jpg){:relative-height="80"}
|
186
|
+
|
187
|
+
cite: <https://en.wikipedia.org/wiki/Jean-Henri_Fabre>
|
188
|
+
|
189
|
+
# Why Fabre?
|
190
|
+
|
191
|
+
* Reuse previous (maybe) similar project
|
192
|
+
* <http://fabre.debian.net>
|
193
|
+
* Around 2005, fulltext search service had been hosted
|
194
|
+
* Undocumented Debian "debbugs internal" {::note}written in Japanese{:/note}
|
195
|
+
* <https://tokyodebian-team.pages.debian.net/pdf2005/debianmeetingresume2005-fuyu.pdf>
|
196
|
+
|
197
|
+
# What should I do?
|
198
|
+
|
199
|
+
* Name the project 😀
|
200
|
+
{::note}Naming is important!{:/note}
|
201
|
+
* *Integrate with salsa.d.o account (optional)*
|
202
|
+
* Sync bug information
|
203
|
+
* Import additional metadata
|
204
|
+
* Make it accessible!
|
205
|
+
|
206
|
+
# Integrate with salsa.d.o account (optional)
|
207
|
+
|
208
|
+
* Use GitLab(salsa.d.o) as an OAuth2 provider
|
209
|
+
* <https://docs.gitlab.com/ee/api/oauth2.html>
|
210
|
+
* No need to store sensitive password
|
211
|
+
|
212
|
+
# What should I do?
|
213
|
+
|
214
|
+
* Name the project 😀
|
215
|
+
{::note}Naming is important!{:/note}
|
216
|
+
* Integrate with salsa.d.o account (optional)
|
217
|
+
* *Sync bug information*
|
218
|
+
* Import additional metadata
|
219
|
+
* Make it accessible!
|
220
|
+
|
221
|
+
# Sync bug information
|
222
|
+
|
223
|
+
* Get E-mail archive with rsync
|
224
|
+
* <https://salsa.debian.org/debbugs-team/debbugs>
|
225
|
+
* rsync -av rsync://bugs-mirror.debian.org/bts-spool-db/
|
226
|
+
{::note}It requires 15GiB!{:/note}
|
227
|
+
* Use *.log and *.summary
|
228
|
+
|
229
|
+
# Extract .log and .summary
|
230
|
+
|
231
|
+
* Use perl module which is used for bugs.d.o (Debbugs)
|
232
|
+
* Debbugs::Log, Debbugs::Status, Debbugs::MIME and so on
|
233
|
+
* *.log contains multiple raw E-mail content with control sequence
|
234
|
+
* *.summary contains metadata of each bug
|
235
|
+
|
236
|
+
# How to parse .log
|
237
|
+
|
238
|
+
my $log = Debbugs::Log->new(log_name => $path);
|
239
|
+
my @records = $log->read_all_records();
|
240
|
+
for my $record (@records) {
|
241
|
+
...
|
242
|
+
my $entity = Debbugs::MIME::parse_to_mime_entity($record);
|
243
|
+
print "From: " . $entity->head->get("From");
|
244
|
+
print "To: " . $entity->head->get("To");
|
245
|
+
print "Subject: " . get_field($entity, "Subject");
|
246
|
+
print "Date: " . $entity->head->get("Date");
|
247
|
+
}
|
248
|
+
{: lang="perl"}
|
249
|
+
|
250
|
+
# How to parse .summary
|
251
|
+
|
252
|
+
Format-Version: 3
|
253
|
+
Submitter: Nis Martensen <nis.martensen@web.de>
|
254
|
+
Subject: libexo-helpers: starting thunderbird fails for some mailto URIs
|
255
|
+
Found-In: exo/0.12.4-1
|
256
|
+
Tags: patch
|
257
|
+
Package: libexo-helpers
|
258
|
+
Message-Id: <159439678897.3833.10774950364480956704.reportbug@siamos.nes.net>
|
259
|
+
Severity: normal
|
260
|
+
Date: 1594396982
|
261
|
+
|
262
|
+
my $summary = Debbugs::Status::read_bug(summary => $path);
|
263
|
+
print $summary->{"tags"}
|
264
|
+
{: lang="perl"}
|
265
|
+
|
266
|
+
# What should I do?
|
267
|
+
|
268
|
+
* Name the project 😀
|
269
|
+
{::note}Naming is important!{:/note}
|
270
|
+
* Integrate with salsa.d.o account (optional)
|
271
|
+
* Sync bug information
|
272
|
+
* *Import additional metadata*
|
273
|
+
* Make it accessible!
|
274
|
+
|
275
|
+
# Import additional metadata
|
276
|
+
|
277
|
+
* UDD: UltimateDebianDatabase
|
278
|
+
* <https://wiki.debian.org/UltimateDebianDatabase>
|
279
|
+
* You can access with:
|
280
|
+
psql --host=udd-mirror.debian.net --user=udd-mirror udd --password
|
281
|
+
* Schema is available: <https://udd.debian.org/schema/udd.html>
|
282
|
+
* Import popcon and package data
|
283
|
+
|
284
|
+
# What should I do?
|
285
|
+
|
286
|
+
* Name the project 😀
|
287
|
+
{::note}Naming is important!{:/note}
|
288
|
+
* Integrate with salsa.d.o account (optional)
|
289
|
+
* Sync bug information
|
290
|
+
* Import additional metadata from UDD
|
291
|
+
* *Make it accessible!*
|
292
|
+
|
293
|
+
# Prepared server specs for experiment
|
294
|
+
|
295
|
+
* Start with small VPS instance (about 3.26 USD/mo)
|
296
|
+
* 1vCPU
|
297
|
+
* 1GiB memory
|
298
|
+
* 20GiB disk space
|
299
|
+
* Max 100Mbps bandwidth
|
300
|
+
|
301
|
+
# Fabre internals
|
302
|
+
|
303
|
+
![](images/fabre-internals.png){:relative-height="100"}
|
304
|
+
|
305
|
+
# What is the trigger of syncing
|
306
|
+
|
307
|
+
* Subscribe debian-bugs-dist@lists.debian.org
|
308
|
+
* Poll subscribed E-mail account
|
309
|
+
* Fetch latest E-mail archives on bugs-mirror.debian.org
|
310
|
+
* Convert & import E-mail archive data
|
311
|
+
|
312
|
+
# Concept of Fabre
|
313
|
+
|
314
|
+
* Easy to find a bug that no one working on
|
315
|
+
* Count comment in bug#NNNNNN
|
316
|
+
* Easy to send control E-mail
|
317
|
+
* Add mailto: link explicitly
|
318
|
+
* Easy to view blocking bugs
|
319
|
+
* List blocking appropriately
|
320
|
+
|
321
|
+
# Easy to find a bug that no one working on
|
322
|
+
|
323
|
+
![](images/easy-to-find-no-one-working.png){:relative-height="80"}
|
324
|
+
|
325
|
+
* Show each number of comments (yellow background color means no one working on yet)
|
326
|
+
|
327
|
+
# Easy to send control E-mail
|
328
|
+
|
329
|
+
![](images/easy-to-send-control-email.png){:relative-height="80"}
|
330
|
+
|
331
|
+
* Show each mailto: button to control
|
332
|
+
|
333
|
+
# Easy to view blocking bugs
|
334
|
+
|
335
|
+
![](images/easy-to-view-blocking.png){:relative-height="80"}
|
336
|
+
|
337
|
+
* List blocking appropriately
|
338
|
+
|
339
|
+
# What comes to next?
|
340
|
+
|
341
|
+
* It looks useful, isn't it?
|
342
|
+
|
343
|
+
# Personalize Fabre!
|
344
|
+
|
345
|
+
* Add bookmark
|
346
|
+
* Show affected bugs
|
347
|
+
* Followup newer comments
|
348
|
+
|
349
|
+
# Personalize Fabre!
|
350
|
+
|
351
|
+
* Add bookmark
|
352
|
+
* *Link account and bug*
|
353
|
+
* Show affected bugs
|
354
|
+
* *Link account and installed packages list*
|
355
|
+
* Followup newer comments
|
356
|
+
* *Link account and search comment information*
|
357
|
+
|
358
|
+
# How to collect installed packages list?
|
359
|
+
|
360
|
+
POPULARITY-CONTEST-0 TIME:1596711793 ID:XXX ARCH:amd64 POPCONVER:1.70 VENDOR:Debian
|
361
|
+
1596672000 1570622400 libgail-common /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so
|
362
|
+
1596672000 1596585600 libavcodec58 /usr/lib/x86_64-linux-gnu/libavcodec.so.58.91.100 <RECENT-CTIME>
|
363
|
+
1596672000 1586736000 libgoa-1.0-0b /usr/lib/x86_64-linux-gnu/libgoa-1.0.so.0.0.0
|
364
|
+
...
|
365
|
+
1596672000 1586217600 libzvbi0 /usr/lib/x86_64-linux-gnu/libzvbi.so.0.13.2
|
366
|
+
1596672000 1590624000 udisks2 /usr/share/locale/ja/LC_MESSAGES/udisks2.mo
|
367
|
+
END-POPULARITY-CONTEST-0 TIME:1596711817
|
368
|
+
|
369
|
+
* Just upload popcon file
|
370
|
+
* /usr/sbin/popularity-contest --su-nobody
|
371
|
+
|
372
|
+
# Personalized Fabre on dashboard
|
373
|
+
|
374
|
+
![](images/fabre-dashboards.png){:relative-height="100"}
|
375
|
+
|
376
|
+
# How Fabre is good enough to work?
|
377
|
+
|
378
|
+
* Now ready to DEMO if there is a time to do
|
379
|
+
|
380
|
+
# Conclusion
|
381
|
+
|
382
|
+
* In my experiment, mashup some data sources may improve UX
|
383
|
+
* bug report
|
384
|
+
* UDD metadata
|
385
|
+
* installed packages list
|
386
|
+
* There are plenty room of improvements to develop
|
387
|
+
|
388
|
+
# Any questions?
|
389
|
+
|
390
|
+
Could you speak slowly if you ask, please?
|