rabbit-slide-kenhys-tokyodebian-repack-howto-202211 2022.11.19.1

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: 2d9219bd98e15bb409710d9efcaaa9171aa5c1a47631f3fb5715178a77991240
4
+ data.tar.gz: 98790f2bff9ea9cc63bc436e895c46bc690cbdedb75d8d42e550a99ed201f998
5
+ SHA512:
6
+ metadata.gz: e58ec6cd36e0cb098cb983b209cd97fb279c6048195a00297664766a6b0d0788a66c64bdcf92e5e98da7697d5de2e155a7b482cb01a22be6c67adb8ce2489845
7
+ data.tar.gz: e74f1acc5a47dc9db6f675bcefa2a905f33251fe501c62c11d98c1da53a332340d16a214f6ed5b78fb8eaeda607823258134c8ab6151bc324d9ba31de7116145
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ --size=1024,768 tokyodebian-repack-howto.md
data/README.md ADDED
@@ -0,0 +1,14 @@
1
+ # Tokyo Debian Repack Howto 202211
2
+
3
+ ## How to show
4
+
5
+ % rabbit
6
+
7
+ ## How to install
8
+
9
+ % gem install rabbit-slide-kenhys-tokyodebian-repack-howto-202211
10
+
11
+ ## How to create PDF
12
+
13
+ % rake pdf
14
+
data/Rakefile ADDED
@@ -0,0 +1,17 @@
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
data/config.yaml ADDED
@@ -0,0 +1,26 @@
1
+ ---
2
+ id: tokyodebian-repack-howto-202211
3
+ base_name: tokyodebian-repack-howto
4
+ tags:
5
+ - rabbit
6
+ - debian
7
+ - repack
8
+ - files-excluded
9
+ presentation_date: 2022-11-19
10
+ presentation_start_time:
11
+ presentation_end_time:
12
+ slideshare_id:
13
+ version: 2022.11.19.1
14
+ licenses:
15
+ - CC-BY-SA-4.0
16
+ slideshare_id: kenhys
17
+ speaker_deck_id:
18
+ vimeo_id:
19
+ youtube_id:
20
+ author:
21
+ markup_language: :md
22
+ name: Kentaro Hayashi
23
+ email: kenhys@gmail.com
24
+ rubygems_user: kenhys
25
+ slideshare_user:
26
+ speaker_deck_user:
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
@@ -0,0 +1,175 @@
1
+ # Debianパッケージング\\nrepack編
2
+
3
+ subtitle
4
+ : そのソフトウェア、そのまま配布して大丈夫だっけ
5
+
6
+ author
7
+ : Kentaro Hayashi
8
+
9
+ institution
10
+ : ClearCode Inc.
11
+
12
+ content-source
13
+ : 2022年11月 東京エリア・関西合同Debian勉強会
14
+
15
+ allotted-time
16
+ : 20m
17
+
18
+ theme
19
+ : .
20
+
21
+ # スライドはRabbit Slide Showにて公開済みです
22
+
23
+ * Debianパッケージング repack編
24
+ * <https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-repack-howto-202211/>
25
+
26
+ # 本日の内容
27
+
28
+ * 自由なソフトウェア・不自由なソフトウェア
29
+ * バージョンによる区別のしかた(+dfsg or +ds)
30
+ * 再パッケージングどうやる問題
31
+
32
+ # Debian(たまに)あるある
33
+
34
+ * 使いたいソフトウェアはまだaptでインストール不可
35
+ * そうだ、パッケージングしよう!!
36
+ * 自由なソフトウェアである
37
+ * 今回の話題の対象外
38
+ * (Debian的には) **不自由なソフトウェアである** 😢
39
+
40
+ # 自由なソフトウェアでない
41
+
42
+ * いろんなパターンがある
43
+ * 自由でないのが主要構成部分か
44
+ * さすがにどうしようもないので諦める 😭
45
+ * 自由でないのは一部である
46
+ * 例: rapidjson (JSONライセンス)
47
+ * <https://wiki.debian.org/qa.debian.org/jsonevil>
48
+ * バンドルしているソフトウェアが自由でない
49
+
50
+ # 自由でないのは一部である
51
+
52
+ * **問題のある部分を除去**してmainとして配布する
53
+
54
+ # 再配布できるようにしたソフトウェアの見分け方
55
+
56
+ * パッケージに+dfsg or +dsがついている
57
+ * 参考: lintianに新規ルールを追加する方法
58
+ <https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-lintian-howto-202112/>
59
+
60
+ # +dfsg と +ds の区別
61
+
62
+ * +dfsg
63
+ * DFSGに適合しないものを除去した
64
+ * 例: rapidjson-dev 1.1.0+dfsg2-7.1
65
+ * +ds
66
+ * DFSGとの適合云々とは別の理由で除去した
67
+ * 例: バンドルしているソフトウェアを削除
68
+
69
+ # 再パッケージングのしかた
70
+
71
+ * 必要なもの
72
+ * (パッケージ名)_(バージョン)+dfsg.orig.tar.gz
73
+ * (パッケージ名)_(バージョン)+ds.orig.tar.gz
74
+ * +dfsgや+dsなアーカイブはどうつくる?
75
+
76
+ # repackして除去
77
+
78
+ * debian/copyrightにFiles-Excluded:を書く
79
+ * debian/watchでrepackルールを記述する
80
+ * debian/rulesでget-orig-sourceルールでrepackするのは古いやりかた
81
+
82
+ # Files-Excluded:について
83
+
84
+ * Files-Excluded:の仕様に関するバグ
85
+ * <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685506>
86
+
87
+ * Files-Excluded:のドキュメント化に関するバグ
88
+ * <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000771>
89
+
90
+ * <https://wiki.debian.org/UscanEnhancements>
91
+
92
+ # debian/copyrightにどう書くか
93
+
94
+ ```
95
+ Files-Excluded:
96
+ (削除対象のファイル・ディレクトリにマッチするパターンを列挙)
97
+ Comment:
98
+ (削除対象のファイル・ディレクトリに関する説明)
99
+ ```
100
+
101
+
102
+ # debian/copyrightの例
103
+
104
+ * groonga-12.0.9+dfsg-1
105
+
106
+ ```
107
+ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
108
+ Upstream-Name: Groonga
109
+ Upstream-Contact: Groonga Project <packages@groonga.org>
110
+ Source: http://packages.groonga.org/source/groonga/
111
+ Files-Excluded:
112
+ doc/locale/en/html/*.html
113
+ doc/locale/en/html/_static
114
+ doc/locale/en/html/searchindex.js
115
+ doc/locale/ja/html/*.html
116
+ doc/locale/ja/html/searchindex.js
117
+ doc/locale/ja/html/_static
118
+ vendor/rapidjson-1.1.0
119
+ Comment: The following files were removed because
120
+ doc/locale/en/html/*.html: regenerated during building package
121
+ ...
122
+
123
+ Files: *
124
+ ```
125
+
126
+ # Files-Excluded:の注意
127
+
128
+ * 必ずヘッダパラグラフに書くこと
129
+ * 以下のように改行入れると機能しなくてはまる
130
+
131
+ ```
132
+ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
133
+ Upstream-Name: Groonga
134
+ Upstream-Contact: Groonga Project <packages@groonga.org>
135
+ Source: http://packages.groonga.org/source/groonga/
136
+
137
+ Files-Excluded:
138
+ doc/locale/en/html/*.html
139
+ ...
140
+ vendor/rapidjson-1.1.0
141
+ Comment: The following files were removed because
142
+ doc/locale/en/html/*.html: regenerated during building package
143
+ ...
144
+
145
+ Files: *
146
+ ```
147
+
148
+ # debian/watchの例
149
+
150
+ * repackとrepacksuffix=+dfsgを指定する
151
+
152
+ ```
153
+ version=4
154
+ opts=\
155
+ repack,\
156
+ dversionmangle=auto,\
157
+ repacksuffix=+dfsg,\
158
+ pgpsigurlmangle=s/$/.asc/ \
159
+ https://packages.groonga.org/source/@PACKAGE@/@PACKAGE@-@ANY_VERSION@@ARCHIVE_EXT@
160
+ ```
161
+
162
+ # パッケージングの流れ
163
+
164
+ * gbp import-orig --uscan
165
+ * +dfsgなアーカイブが作成される
166
+ * upstream/(バージョン)+dfsgタグ付与
167
+ * pristine-tarブランチに`(パッケージ)_(バージョン)+dfsg.orig.tar.xz.(delta|id)`が作成される
168
+ * gbp dchでdebian/changelogを更新 & もろもろ作業
169
+ * debsign & dputでアップロード
170
+
171
+ # さいごに
172
+
173
+ * 部分的に不自由なソフトウェアを再配布可能にするには
174
+ * d/copyrightでFiles-Excluded:を使え
175
+ * d/watchでrepack,repacksuffixを記述
metadata ADDED
@@ -0,0 +1,64 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-kenhys-tokyodebian-repack-howto-202211
3
+ version: !ruby/object:Gem::Version
4
+ version: 2022.11.19.1
5
+ platform: ruby
6
+ authors:
7
+ - Kentaro Hayashi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-11-13 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
+ - pdf/tokyodebian-repack-howto-202211-tokyodebian-repack-howto.pdf
39
+ - theme.rb
40
+ - tokyodebian-repack-howto.md
41
+ homepage: https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-repack-howto-202211/
42
+ licenses:
43
+ - CC-BY-SA-4.0
44
+ metadata: {}
45
+ post_install_message:
46
+ rdoc_options: []
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ requirements: []
60
+ rubygems_version: 3.3.7
61
+ signing_key:
62
+ specification_version: 4
63
+ summary: Tokyo Debian Repack Howto 202211
64
+ test_files: []