rabbit-slide-kenhys-tokyodebian-tag2upload 2024.07.20.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 539b157f4bbff905a64814df8034911d4163a7049127cabda9bb56c7debff540
4
+ data.tar.gz: 9020834e1785eeff8888705987dca9dd3376248c086cafcefcdc3dd5b31b055f
5
+ SHA512:
6
+ metadata.gz: f31418015b3130a1a41eb07e7be45fba292b17c9dd7190abdfd89f51502f8bfd2c572a65f2f388d05cd7321d01743176181c2ecc38ed6d092976d7643c316ff5
7
+ data.tar.gz: cc895dfd29cf46f0333c5ec8689646b7b060fedf7a64f53cb96139a71ac98b673af8eda032a62095d3c7d9172e6b3261a60687756e0fe4fa57dbaaa6b23fc7e5
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ --size=1920,1080 tag2upload.md
data/README.md ADDED
@@ -0,0 +1,42 @@
1
+ # Tokyo Debian tag2upload
2
+
3
+ ## How to show
4
+
5
+ % rabbit
6
+
7
+ ## How to install
8
+
9
+ % gem install rabbit-slide-kenhys-tokyodebian-tag2upload
10
+
11
+ ## How to create PDF
12
+
13
+ % rake pdf
14
+
15
+ # References
16
+
17
+ * tag2upload (git-debpush) service architecture - draft
18
+ * https://lists.debian.org/debian-dak/2019/07/msg00025.html
19
+ * Ian Jackson氏によるドラフトの投稿
20
+
21
+ * [tag2upload - uploads, made automatically and fully traceably, from git](https://www.youtube.com/watch?v=1ohpZ4Xj0iQ)
22
+ * MiniDebConf Cambridge 2023 (2023年11月開催)のプレゼンテーション
23
+
24
+ * General Resolution to deploy tag2upload
25
+ * https://lists.debian.org/debian-vote/2024/06/msg00561.html
26
+ * Sean Whitton氏によるGRの提案
27
+
28
+ * Security review of tag2upload
29
+ * https://lists.debian.org/debian-vote/2024/06/msg00004.html
30
+ * Russ Allbery氏による設計のレビュー
31
+
32
+ * Summary of the current state of the tag2upload discussion
33
+ * https://lists.debian.org/debian-vote/2024/06/msg00456.html
34
+ * Russ Allbery氏による議論のまとめ
35
+
36
+ * Answers to some Frequently Asked Questions (FAQ)
37
+ * https://salsa.debian.org/dgit-team/dgit/-/blob/master/TAG2UPLOAD-FAQ.md
38
+ * tag2uploadに関するFAQ
39
+
40
+ * Debian debate over tag2upload reaches compromise
41
+ * https://lwn.net/Articles/978324/
42
+ * tag2uploadに関するあれこれをまとめている記事
data/Rakefile ADDED
@@ -0,0 +1,30 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ # spec.add_runtime_dependency("rabbit-theme-YOUR-THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
18
+
19
+ desc "Extract slide as a image"
20
+ task :extract do
21
+ 9.times do |i|
22
+ sh("pdftk", "slides.pdf", "cat", "#{i+1}", "output", "images/slides#{i+1}.pdf")
23
+ sh("pdftocairo", "-png", "-singlefile", "images/slides#{i+1}.pdf", "images/slides#{i+1}")
24
+ end
25
+ end
26
+
27
+ desc "Show mini slide to preview"
28
+ task :minislide do
29
+ sh("rabbit", "-w", "960", "-h", "540")
30
+ end
data/config.yaml ADDED
@@ -0,0 +1,25 @@
1
+ ---
2
+ id: tokyodebian-tag2upload
3
+ base_name: tag2upload
4
+ tags:
5
+ - rabbit
6
+ - debian
7
+ - tag2upload
8
+ presentation_date: 2024-07-20
9
+ presentation_start_time:
10
+ presentation_end_time:
11
+ slideshare_id:
12
+ version: 2024.07.20.2
13
+ licenses:
14
+ - CC-BY-SA-4.0
15
+ slideshare_id: kenhys
16
+ speaker_deck_id:
17
+ vimeo_id:
18
+ youtube_id:
19
+ author:
20
+ markup_language: :md
21
+ name: Kentaro Hayashi
22
+ email: kenhys@gmail.com
23
+ rubygems_user: kenhys
24
+ slideshare_user:
25
+ speaker_deck_user: kenhys
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/q.md ADDED
@@ -0,0 +1,13 @@
1
+ ## 疑問点
2
+
3
+ * タグ打ったあと、rejectされたらどうするのだろうか
4
+ * salsa.d.oとdgit.d.oの内容って一致するのかそれとも、リリースごとのコミットになるのかどうなんだろう
5
+ * salsa.d.oだけだと、salsa.d.oが改ざんされると気づきにくい dgit.d.oがあることで、改ざんされても記録はdgit.d.oに残るのでトレースできる
6
+ https://lists.debian.org/debian-vote/2024/06/msg00004.html
7
+ * どこかのチームで導入して、それから本格導入するのがいいんじゃないの?なんでいきなりGRに持ち込んだんだろう
8
+ * dgit.d.oがすでにあるのかと思ったけどそうじゃない? 別のgitホスティングを立ち上げる必要がないというのがよくわからん
9
+
10
+ * dgit.d.oからソースパッケージを生成して検証するような仕組みがないといけないのではないか。
11
+ * でもいまもuploaderの内容を信頼しているのでデグレしているわけではないという判断
12
+ * TCじゃなくてGRになったのはなぜか
13
+ * FAQだと
data/slides.pdf ADDED
Binary file
data/tag2upload.md ADDED
@@ -0,0 +1,236 @@
1
+ # General Resolution:\\ntag2uploadは\\nDebianにどんな変化を\\nもたらすのか
2
+
3
+ subtitle
4
+ : GR: tag2uploadの内容をふんわり理解する
5
+
6
+ author
7
+ : Kentaro Hayashi
8
+
9
+ institution
10
+ : ClearCode Inc.
11
+
12
+ content-source
13
+ : 2024年07月 東京エリア・関西合同Debian勉強会
14
+
15
+ allotted-time
16
+ : 25m
17
+
18
+ theme
19
+ : .
20
+
21
+ # スライドは\\nRabbit Slide Showにて公開済み
22
+
23
+ * General Resolution: tag2upload Debianにどんな変革をもたらすのか
24
+ * {::note}<https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-tag2upload-202407>{:/note}
25
+
26
+ # 本日の内容
27
+
28
+ * DebianのGR: tag2uploadについて
29
+ * tag2uploadはどういうものなのか
30
+ * tag2uploadが議論となった背景
31
+ * tag2uploadで解決される問題
32
+
33
+ ## note
34
+
35
+ # 本日の内容
36
+
37
+ * **DebianのGR: tag2uploadについて**
38
+ * tag2uploadはどういうものなのか
39
+ * tag2uploadが議論となった背景
40
+ * tag2uploadで解決される問題
41
+
42
+ # General Resolution to deploy tag2upload
43
+
44
+ ![](images/tag2upload-gr.png){:relative-height="90"}
45
+
46
+ {:.center}
47
+ {::note}<https://www.debian.org/vote/2024/vote_002>{:/note}
48
+
49
+ # General Resolution to deploy tag2upload (1)
50
+
51
+ tag2uploadでDDやDMがgit-debpush(1)を使ってgit tagに署名してアップロードできるようにする
52
+
53
+ * tag2uploadをDebian公式なインフラへと組み込む
54
+ * Debian憲章にもとづいて、tag2uploadサービスからのアップロードを信頼できるものとして受け入れるようにする(ftpmasterはこの決定に従ってね)
55
+
56
+ # General Resolution to deploy tag2upload (2)
57
+
58
+ * tag2uploadの将来的な変更はGRとかじゃなくて通常のDebianの開発プロセスに則って実施するよ
59
+ * この決定はメンテナに特定のgitでのワークフローを強制するものではないよ
60
+
61
+ # GR: tag2upload, text of proposal
62
+
63
+ * <https://lists.debian.org/debian-vote/2024/06/msg00561.html>
64
+ * 2024/06/27 Sean Whitton氏によってtag2uploadが提案がなされる
65
+ * Sean Whitton氏やIan Jackson氏が中心になってtag2uploadのしくみを設計
66
+
67
+ # General Resolution to deploy tag2upload (要約)
68
+
69
+ * tag2uploadはgit tagに署名されていたらそれをもとにソースパッケージのアップロードまで代行してくれるしくみを導入するもの
70
+ * **GRによってtag2uploadのしくみをftpmasterに採用してもらうことをねらっている**
71
+ * GRによる解決を図るのはある意味最終手段
72
+ * ftpmasterの方針をひっくり返すには(説得に失敗したら)GRしかない
73
+
74
+ # GR: tag2uploadの最新情報
75
+
76
+ * Re: General Resolution to deploy tag2upload
77
+ * <https://lists.debian.org/debian-vote/2024/07/msg00025.html>
78
+ * GRはSean氏によって撤回された
79
+ * tag2uploadの仕様を変更することによりftpmasterとの合意形成できたため
80
+
81
+ ## note
82
+
83
+ GRがvoteまですすんだら、ルールに則っているとはいえこじれたままになってしまう危険があった。
84
+
85
+ # 本日の内容
86
+
87
+ * DebianのGR: tag2uploadについて
88
+ * **tag2uploadはどういうものなのか**
89
+ * tag2uploadが議論となった背景
90
+ * tag2uploadで解決される問題
91
+
92
+ # MiniDebConf Cambridge 2023
93
+
94
+ * tag2upload - uploads, made automatically and fully traceably, from git
95
+ * MiniDebConf Cambridge 2023 (2023年11月開催)のプレゼンが参考になる
96
+ * <https://www.youtube.com/watch?v=1ohpZ4Xj0iQ>
97
+
98
+ # 伝統的なパッケージの更新
99
+
100
+ ![](images/slides2.png){:relative-height="90"}
101
+
102
+ {:.center}
103
+ {::note}<https://www.youtube.com/watch?v=1ohpZ4Xj0iQ> より引用{:/note}
104
+
105
+ # 最近のパッケージの更新
106
+
107
+ ![](images/slides4.png){:relative-height="90"}
108
+
109
+ {:.center}
110
+ {::note}<https://www.youtube.com/watch?v=1ohpZ4Xj0iQ> より引用{:/note}
111
+
112
+ ## note
113
+
114
+ salsaが導入されたけどどのようにソースパッケージが生成されるかは不透明
115
+
116
+ # tag2uploadの導入でどうなるか
117
+
118
+ ![](images/slides5.png){:relative-height="90"}
119
+
120
+ {:.center}
121
+ {::note}<https://www.youtube.com/watch?v=1ohpZ4Xj0iQ> より引用{:/note}
122
+
123
+ # tag2uploadの進行状況
124
+
125
+ * ✅tag2uploadのしくみのデザイン
126
+ * ✅git tagに署名するgit-debpushの実装
127
+ * ✅dgitサーバーの稼働 (git.dgit.debian.org)
128
+ * ✅ソースパッケージ(.dsc)を生成するしくみの実装
129
+ * ✅tag2uploadのしくみのレビュー
130
+
131
+ # tag2uploadのこれから
132
+
133
+ * ❌webhookとジョブを動かすサービスの検討(DSAと議論が必要)
134
+ * ❌tag2uploadを試験稼働させる(DSAと議論が必要)
135
+ * ❌ベータ稼働、ユーザーからのフィードバック等
136
+
137
+
138
+ # 本日の内容
139
+
140
+ * DebianのGR: tag2uploadについて
141
+ * tag2uploadはどういうものなのか
142
+ * **tag2uploadが議論となった背景**
143
+ * tag2uploadで解決される問題
144
+
145
+ # tag2uploadは急にでてきたわけじゃない
146
+
147
+ * 2019年7月: Ian Jackson氏により設計の草稿が示される
148
+ * <https://lists.debian.org/debian-dak/2019/07/msg00025.html>
149
+ * 当時ftpmasterを説得しきれず立ち消えになった模様
150
+
151
+ # [RFC] General Resolution to deploy tag2upload
152
+
153
+ * 2024年6月 Sean WhittonさんによりGRの草稿が提示される
154
+ * <https://lists.debian.org/debian-vote/2024/06/msg00000.html>
155
+ * tagに署名をするだけでは不十分ではないか(ftpmaster)
156
+ * リリースを意図したアーカイブになっていることを担保すべき
157
+ * 例: 手元でビルドしないと得られないメタデータ(チェックサム)の付与
158
+ * tag2uploadのコンセプトと相容れない(tag2upload推進派)
159
+
160
+ # なぜGeneral Resolutionが提案されたのか
161
+
162
+ * GR: General Resolution
163
+ * Debianにおいて物事を投票で決めるしくみ
164
+ * DPLや権限を委譲されたチームの決定を**覆すことができる**(Debian憲章より)
165
+ * 2019年のときと同じような議論が繰り返された(tag2upload推進派)
166
+ * tag2upload推進派は現状のデザインをそのまま採用させたい
167
+
168
+ # どのような合意形成が行われたか
169
+
170
+ * t2u in the archive (was: General Resolution to deploy tag2upload)
171
+ * <https://lists.debian.org/debian-vote/2024/06/msg00602.html>
172
+ * タグに署名をするのに加えて:
173
+ * tagにひもづいた`git ls-files --format="%(objectmode) %(objectname) %(path)"`を含める
174
+ * gitのアーカイブ(SOURCE_VERSION.git.tar.xz)を.changesに含める
175
+ * メンテナーが意図したアーカイブの内容であることを検証できるようにする
176
+
177
+ # 本日の内容
178
+
179
+ * DebianのGR: tag2uploadについて
180
+ * tag2uploadはどういうものなのか
181
+ * tag2uploadが議論となった背景
182
+ * **tag2uploadで解決される問題**
183
+
184
+ # tag2uploadの導入でどうなるか(再掲)
185
+
186
+ ![](images/slides5.png){:relative-height="90"}
187
+
188
+ {:.center}
189
+ {::note}<https://www.youtube.com/watch?v=1ohpZ4Xj0iQ> より引用{:/note}
190
+
191
+ # 開発者にとって何が変わるか
192
+
193
+ * パッケージメンテナー(DD or DM)のやること
194
+ * ソースパッケージのアップロードは不要になる
195
+ * tagを打つときに署名を付与してsalsa.d.oにgit debpushするだけでよい
196
+ * tag2uploadは利用しなくてもよい(オプションだから)
197
+
198
+ # ユーザーにとって何が変わるか
199
+
200
+ * git.dgit.d.oからタグの打たれたソースコードを入手できる
201
+ * gitを経由してソースを取得し、より再現性のあるビルドが行える(salsa.d.oとの比較)
202
+ * 一般ユーザーにはあんまり影響はない
203
+
204
+ # Debianにとって何が変わるか
205
+
206
+ * トレーサビリティの向上
207
+ * ソースパッケージを一貫したやりかたで生成できることが担保される
208
+ * 変なコードの混入を防ぎやすくなる
209
+ * git.dgit.d.oは追記のみなのであとから検証できる
210
+ * salsa.d.oが現状を正しく反映するようになる
211
+ * salsa.d.oと最新のソースパッケージの内容が違うとかありがち
212
+
213
+ # tag2uploadを使うには
214
+
215
+ * 次のようにして初期セットアップする(gbp使っている場合)
216
+ * (アップロード前の)新バージョンの準備ができたら実施する
217
+ * 既定でgit pushするので注意
218
+
219
+ ```
220
+ $ sudo apt install git-debpush
221
+ $ cd (salsa.d.oからcloneしたディレクトリ)
222
+ $ git debpush --gbp
223
+ ```
224
+
225
+ # さいごに
226
+
227
+ * tag2uploadによりパッケージの透明性が高まるかも
228
+ * DSAとの調整次第なのでいつ導入されるかは不明
229
+ * またtag2uploadを採用するかどうかはメンテナー次第
230
+ * 単一リポジトリはサポートされていないのが課題(Rubyパッケージとか)
231
+
232
+ # 参考
233
+
234
+ * Debian debate over tag2upload reaches compromise
235
+ * https://lwn.net/Articles/978324/
236
+ * tag2uploadに関するあれこれをまとめている記事
data/theme.rb ADDED
@@ -0,0 +1,5 @@
1
+ @default_font = "Ubuntu"
2
+ @monospace_font = "Ubuntu"
3
+ include_theme("debian")
4
+ #@slide_show_span = 1300
5
+ @slide_show_loop = true
metadata ADDED
@@ -0,0 +1,79 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-kenhys-tokyodebian-tag2upload
3
+ version: !ruby/object:Gem::Version
4
+ version: 2024.07.20.2
5
+ platform: ruby
6
+ authors:
7
+ - Kentaro Hayashi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-07-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ description: ''
28
+ email:
29
+ - kenhys@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".rabbit"
35
+ - README.md
36
+ - Rakefile
37
+ - config.yaml
38
+ - images/slides1.pdf
39
+ - images/slides2.pdf
40
+ - images/slides2.png
41
+ - images/slides3.pdf
42
+ - images/slides4.pdf
43
+ - images/slides4.png
44
+ - images/slides5.pdf
45
+ - images/slides5.png
46
+ - images/slides6.pdf
47
+ - images/slides7.pdf
48
+ - images/slides8.pdf
49
+ - images/slides9.pdf
50
+ - images/tag2upload-gr.png
51
+ - pdf/tokyodebian-tag2upload-tag2upload.pdf
52
+ - q.md
53
+ - slides.pdf
54
+ - tag2upload.md
55
+ - theme.rb
56
+ homepage: https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-tag2upload/
57
+ licenses:
58
+ - CC-BY-SA-4.0
59
+ metadata: {}
60
+ post_install_message:
61
+ rdoc_options: []
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ required_rubygems_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ requirements: []
75
+ rubygems_version: 3.4.19
76
+ signing_key:
77
+ specification_version: 4
78
+ summary: Tokyo Debian tag2upload
79
+ test_files: []