rabbit-slide-kenhys-tokyodebian-timet-transition-202404 2024.04.20.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 +28 -0
- data/Rakefile +24 -0
- data/config.yaml +24 -0
- data/images/debcheck20240315.jpeg +0 -0
- data/images/debcheck20240406.png +0 -0
- data/images/debcheck20240408.png +0 -0
- data/images/debcheck20240410.min.png +0 -0
- data/images/debcheck20240410.png +0 -0
- data/images/debcheck20240415.min.png +0 -0
- data/images/debcheck20240415.png +0 -0
- data/images/dpkg-testing-migrations.png +0 -0
- data/images/groonga.no-recommends.svg +245 -0
- data/pdf/tokyodebian-timet-transition-202404-timet-transition.pdf +0 -0
- data/theme.rb +5 -0
- data/timet-transition.md +345 -0
- metadata +73 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: dfded33b92cd01db0d9694e160cbdfb0719c0f7cd4629047d0ea7ea6a0cd88d0
|
4
|
+
data.tar.gz: dc5d0a5586c5cb252e9948fbfb14f3b641e64987da2459ecb45e45a72f8612b6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 814e1d02a09d22efaf1f2acb80fafc94e182c9680da75ea715423b34ecc7d3649e1cf1254baa889112e3e6460ad0115b0b22ae233af274c9198f12991d4a3a54
|
7
|
+
data.tar.gz: 5817a31f35c0d8d51bc9234d64df7e25565761f61200eeff9be01d5b1100c95a670c32f89ae35b92fea1be043dc572c1ca0dfcffb5cb591c4172a94b50e72d77
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--size=1920,1080 timet-transition.md
|
data/README.md
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# Tokyo Debian 64bit time_t transition
|
2
|
+
|
3
|
+
## How to show
|
4
|
+
|
5
|
+
% rabbit
|
6
|
+
|
7
|
+
## How to install
|
8
|
+
|
9
|
+
% gem install rabbit-slide-kenhys-tokyodebian-timet-transition-202404
|
10
|
+
|
11
|
+
## How to create PDF
|
12
|
+
|
13
|
+
% rake pdf
|
14
|
+
|
15
|
+
|
16
|
+
# References
|
17
|
+
|
18
|
+
* time_t transition and bugs
|
19
|
+
* https://lists.debian.org/debian-devel/2024/03/msg00026.html
|
20
|
+
* time_tの進展状況に疑問を呈する投稿
|
21
|
+
* Re: 64-bit time_t transition in progress in unstable
|
22
|
+
* https://lists.debian.org/debian-devel/2024/03/msg00090.html
|
23
|
+
* dist-upgradeできないことに対する反応 libuuid1t64がrevertされたことによる影響などの話題
|
24
|
+
* Re: Re: time_t progress report
|
25
|
+
* https://lists.debian.org/debian-devel/2024/03/msg00289.html
|
26
|
+
* マイルストーンの進展状況に関する疑念に関する投稿 ブロッカーの進展が数週間ないことについて
|
27
|
+
* https://lists.debian.org/debian-devel/2024/03/msg00291.html
|
28
|
+
* 状況を改善するためにできることについての意見
|
data/Rakefile
ADDED
@@ -0,0 +1,24 @@
|
|
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 "Generate graph"
|
20
|
+
task :graph do
|
21
|
+
sh("debtree", "--no-recommends", "--skiplist=groonga.skip", "groonga", {out: "groonga.no-recommends.dot"}) do |out, status|
|
22
|
+
sh("dot", "-Tsvg", "groonga.no-recommends.dot", "-o", "images/groonga.no-recommends.svg")
|
23
|
+
end
|
24
|
+
end
|
data/config.yaml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
id: tokyodebian-timet-transition-202404
|
3
|
+
base_name: timet-transition
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- debian
|
7
|
+
presentation_date: 2024-04-20
|
8
|
+
presentation_start_time:
|
9
|
+
presentation_end_time:
|
10
|
+
slideshare_id:
|
11
|
+
version: 2024.04.20.1
|
12
|
+
licenses:
|
13
|
+
- CC-BY-SA-4.0
|
14
|
+
slideshare_id: kenhys
|
15
|
+
speaker_deck_id:
|
16
|
+
vimeo_id:
|
17
|
+
youtube_id:
|
18
|
+
author:
|
19
|
+
markup_language: :md
|
20
|
+
name: Kentaro Hayashi
|
21
|
+
email: kenhys@gmail.com
|
22
|
+
rubygems_user: kenhys
|
23
|
+
slideshare_user:
|
24
|
+
speaker_deck_user: kenhys
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,245 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
4
|
+
<!-- Generated by graphviz version 2.43.0 (0)
|
5
|
+
-->
|
6
|
+
<!-- Title: groonga Pages: 1 -->
|
7
|
+
<svg width="1040pt" height="530pt"
|
8
|
+
viewBox="0.00 0.00 1040.00 530.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 526)">
|
10
|
+
<title>groonga</title>
|
11
|
+
<polygon fill="white" stroke="transparent" points="-4,4 -4,-526 1036,-526 1036,4 -4,4"/>
|
12
|
+
<!-- groonga -->
|
13
|
+
<g id="node1" class="node">
|
14
|
+
<title>groonga</title>
|
15
|
+
<polygon fill="none" stroke="black" stroke-width="2" points="75,-192 0,-192 0,-156 75,-156 75,-192"/>
|
16
|
+
<text text-anchor="middle" x="37.5" y="-170.3" font-family="Times,serif" font-size="14.00">groonga</text>
|
17
|
+
</g>
|
18
|
+
<!-- groonga-bin -->
|
19
|
+
<g id="node2" class="node">
|
20
|
+
<title>groonga-bin</title>
|
21
|
+
<polygon fill="none" stroke="black" points="383.5,-132 281.5,-132 281.5,-96 383.5,-96 383.5,-132"/>
|
22
|
+
<text text-anchor="middle" x="332.5" y="-110.3" font-family="Times,serif" font-size="14.00">groonga-bin</text>
|
23
|
+
</g>
|
24
|
+
<!-- groonga->groonga-bin -->
|
25
|
+
<g id="edge1" class="edge">
|
26
|
+
<title>groonga->groonga-bin</title>
|
27
|
+
<path fill="none" stroke="blue" d="M75.02,-166.52C124.18,-156.46 212.28,-138.41 271.31,-126.33"/>
|
28
|
+
<polygon fill="blue" stroke="blue" points="272.16,-129.72 281.25,-124.29 270.75,-122.87 272.16,-129.72"/>
|
29
|
+
<text text-anchor="middle" x="157.5" y="-165.8" font-family="Times,serif" font-size="14.00">(= 13.1.1+dfsg-3)</text>
|
30
|
+
</g>
|
31
|
+
<!-- groonga-plugin-suggest -->
|
32
|
+
<g id="node10" class="node">
|
33
|
+
<title>groonga-plugin-suggest</title>
|
34
|
+
<polygon fill="none" stroke="black" points="425,-252 240,-252 240,-216 425,-216 425,-252"/>
|
35
|
+
<text text-anchor="middle" x="332.5" y="-230.3" font-family="Times,serif" font-size="14.00">groonga-plugin-suggest</text>
|
36
|
+
</g>
|
37
|
+
<!-- groonga->groonga-plugin-suggest -->
|
38
|
+
<g id="edge10" class="edge">
|
39
|
+
<title>groonga->groonga-plugin-suggest</title>
|
40
|
+
<path fill="none" stroke="blue" d="M75.02,-181.48C114.44,-189.55 178.91,-202.75 233.35,-213.9"/>
|
41
|
+
<polygon fill="blue" stroke="blue" points="232.89,-217.38 243.39,-215.96 234.3,-210.52 232.89,-217.38"/>
|
42
|
+
<text text-anchor="middle" x="157.5" y="-214.8" font-family="Times,serif" font-size="14.00">(= 13.1.1+dfsg-3)</text>
|
43
|
+
</g>
|
44
|
+
<!-- libgroonga0t64 -->
|
45
|
+
<g id="node3" class="node">
|
46
|
+
<title>libgroonga0t64</title>
|
47
|
+
<polygon fill="none" stroke="black" points="722.5,-169 596.5,-169 596.5,-133 722.5,-133 722.5,-169"/>
|
48
|
+
<text text-anchor="middle" x="659.5" y="-147.3" font-family="Times,serif" font-size="14.00">libgroonga0t64</text>
|
49
|
+
</g>
|
50
|
+
<!-- groonga-bin->libgroonga0t64 -->
|
51
|
+
<g id="edge2" class="edge">
|
52
|
+
<title>groonga-bin->libgroonga0t64</title>
|
53
|
+
<path fill="none" stroke="blue" d="M383.95,-116.18C432.37,-118.7 507.45,-123.75 572,-133 576.69,-133.67 581.5,-134.44 586.35,-135.28"/>
|
54
|
+
<polygon fill="blue" stroke="blue" points="585.84,-138.74 596.3,-137.08 587.08,-131.86 585.84,-138.74"/>
|
55
|
+
<text text-anchor="middle" x="507.5" y="-136.8" font-family="Times,serif" font-size="14.00">(= 13.1.1+dfsg-3)</text>
|
56
|
+
</g>
|
57
|
+
<!-- libjs-jquery -->
|
58
|
+
<g id="node8" class="node">
|
59
|
+
<title>libjs-jquery</title>
|
60
|
+
<polygon fill="none" stroke="black" points="1015,-36 918,-36 918,0 1015,0 1015,-36"/>
|
61
|
+
<text text-anchor="middle" x="966.5" y="-14.3" font-family="Times,serif" font-size="14.00">libjs-jquery</text>
|
62
|
+
</g>
|
63
|
+
<!-- groonga-bin->libjs-jquery -->
|
64
|
+
<g id="edge7" class="edge">
|
65
|
+
<title>groonga-bin->libjs-jquery</title>
|
66
|
+
<path fill="none" stroke="blue" d="M383.67,-97.01C402.21,-90.98 423.47,-84.37 443,-79 507.66,-61.22 523.75,-55.35 590,-45 659.18,-34.19 677.17,-37.13 747,-32 801.4,-28.01 863.47,-24.09 907.51,-21.42"/>
|
67
|
+
<polygon fill="blue" stroke="blue" points="907.97,-24.9 917.74,-20.8 907.55,-17.91 907.97,-24.9"/>
|
68
|
+
</g>
|
69
|
+
<!-- libjs-jquery-flot -->
|
70
|
+
<g id="node9" class="node">
|
71
|
+
<title>libjs-jquery-flot</title>
|
72
|
+
<polygon fill="none" stroke="black" points="722,-90 597,-90 597,-54 722,-54 722,-90"/>
|
73
|
+
<text text-anchor="middle" x="659.5" y="-68.3" font-family="Times,serif" font-size="14.00">libjs-jquery-flot</text>
|
74
|
+
</g>
|
75
|
+
<!-- groonga-bin->libjs-jquery-flot -->
|
76
|
+
<g id="edge8" class="edge">
|
77
|
+
<title>groonga-bin->libjs-jquery-flot</title>
|
78
|
+
<path fill="none" stroke="blue" d="M383.57,-107.53C437.96,-100.5 525.33,-89.21 586.95,-81.25"/>
|
79
|
+
<polygon fill="blue" stroke="blue" points="587.52,-84.7 596.99,-79.95 586.63,-77.76 587.52,-84.7"/>
|
80
|
+
</g>
|
81
|
+
<!-- liblz4-1 -->
|
82
|
+
<g id="node4" class="node">
|
83
|
+
<title>liblz4-1</title>
|
84
|
+
<polygon fill="none" stroke="black" points="1001,-144 932,-144 932,-108 1001,-108 1001,-144"/>
|
85
|
+
<text text-anchor="middle" x="966.5" y="-122.3" font-family="Times,serif" font-size="14.00">liblz4-1</text>
|
86
|
+
</g>
|
87
|
+
<!-- libgroonga0t64->liblz4-1 -->
|
88
|
+
<g id="edge3" class="edge">
|
89
|
+
<title>libgroonga0t64->liblz4-1</title>
|
90
|
+
<path fill="none" stroke="blue" d="M722.53,-133.37C730.7,-131.59 739.01,-130.06 747,-129 807.06,-121.06 877.22,-121.86 921.5,-123.58"/>
|
91
|
+
<polygon fill="blue" stroke="blue" points="921.49,-127.09 931.63,-124.01 921.79,-120.09 921.49,-127.09"/>
|
92
|
+
<text text-anchor="middle" x="815" y="-132.8" font-family="Times,serif" font-size="14.00">(>= 0.0~r130)</text>
|
93
|
+
</g>
|
94
|
+
<!-- libmsgpackc2 -->
|
95
|
+
<g id="node5" class="node">
|
96
|
+
<title>libmsgpackc2</title>
|
97
|
+
<polygon fill="none" stroke="black" points="1023.5,-252 909.5,-252 909.5,-216 1023.5,-216 1023.5,-252"/>
|
98
|
+
<text text-anchor="middle" x="966.5" y="-230.3" font-family="Times,serif" font-size="14.00">libmsgpackc2</text>
|
99
|
+
</g>
|
100
|
+
<!-- libgroonga0t64->libmsgpackc2 -->
|
101
|
+
<g id="edge4" class="edge">
|
102
|
+
<title>libgroonga0t64->libmsgpackc2</title>
|
103
|
+
<path fill="none" stroke="blue" d="M706.26,-169.1C719.28,-173.78 733.57,-178.49 747,-182 806.31,-197.51 823.65,-189.67 883,-205 891.44,-207.18 900.24,-209.84 908.82,-212.65"/>
|
104
|
+
<polygon fill="blue" stroke="blue" points="907.78,-216 918.37,-215.88 910.02,-209.37 907.78,-216"/>
|
105
|
+
<text text-anchor="middle" x="815" y="-208.8" font-family="Times,serif" font-size="14.00">(>= 2.1.0)</text>
|
106
|
+
</g>
|
107
|
+
<!-- libzstd1 -->
|
108
|
+
<g id="node6" class="node">
|
109
|
+
<title>libzstd1</title>
|
110
|
+
<polygon fill="none" stroke="black" points="1003.5,-90 929.5,-90 929.5,-54 1003.5,-54 1003.5,-90"/>
|
111
|
+
<text text-anchor="middle" x="966.5" y="-68.3" font-family="Times,serif" font-size="14.00">libzstd1</text>
|
112
|
+
</g>
|
113
|
+
<!-- libgroonga0t64->libzstd1 -->
|
114
|
+
<g id="edge5" class="edge">
|
115
|
+
<title>libgroonga0t64->libzstd1</title>
|
116
|
+
<path fill="none" stroke="blue" d="M686.97,-132.96C703.52,-122.56 725.67,-110.16 747,-103 804.46,-83.72 874.33,-76.43 919.34,-73.67"/>
|
117
|
+
<polygon fill="blue" stroke="blue" points="919.6,-77.17 929.39,-73.11 919.21,-70.18 919.6,-77.17"/>
|
118
|
+
<text text-anchor="middle" x="815" y="-106.8" font-family="Times,serif" font-size="14.00">(>= 1.5.5)</text>
|
119
|
+
</g>
|
120
|
+
<!-- zlib1g -->
|
121
|
+
<g id="node7" class="node">
|
122
|
+
<title>zlib1g</title>
|
123
|
+
<polygon fill="none" stroke="black" points="996.5,-198 936.5,-198 936.5,-162 996.5,-162 996.5,-198"/>
|
124
|
+
<text text-anchor="middle" x="966.5" y="-176.3" font-family="Times,serif" font-size="14.00">zlib1g</text>
|
125
|
+
</g>
|
126
|
+
<!-- libgroonga0t64->zlib1g -->
|
127
|
+
<g id="edge6" class="edge">
|
128
|
+
<title>libgroonga0t64->zlib1g</title>
|
129
|
+
<path fill="none" stroke="blue" d="M722.97,-154.08C767.64,-156.62 829.13,-160.83 883,-167 897.12,-168.62 912.52,-170.9 926.15,-173.11"/>
|
130
|
+
<polygon fill="blue" stroke="blue" points="925.74,-176.59 936.18,-174.76 926.89,-169.68 925.74,-176.59"/>
|
131
|
+
<text text-anchor="middle" x="815" y="-170.8" font-family="Times,serif" font-size="14.00">(>= 1:1.2.0)</text>
|
132
|
+
</g>
|
133
|
+
<!-- libjs-jquery-flot->libjs-jquery -->
|
134
|
+
<g id="edge9" class="edge">
|
135
|
+
<title>libjs-jquery-flot->libjs-jquery</title>
|
136
|
+
<path fill="none" stroke="blue" d="M722.22,-61.07C776.51,-51.46 854.94,-37.58 907.95,-28.19"/>
|
137
|
+
<polygon fill="blue" stroke="blue" points="908.63,-31.62 917.86,-26.43 907.41,-24.73 908.63,-31.62"/>
|
138
|
+
</g>
|
139
|
+
<!-- groonga-plugin-suggest->libgroonga0t64 -->
|
140
|
+
<g id="edge12" class="edge">
|
141
|
+
<title>groonga-plugin-suggest->libgroonga0t64</title>
|
142
|
+
<path fill="none" stroke="blue" d="M400.93,-215.99C414.83,-212.32 429.38,-208.51 443,-205 490.72,-192.7 544.48,-179.23 586.37,-168.82"/>
|
143
|
+
<polygon fill="blue" stroke="blue" points="587.34,-172.18 596.2,-166.38 585.66,-165.39 587.34,-172.18"/>
|
144
|
+
<text text-anchor="middle" x="507.5" y="-208.8" font-family="Times,serif" font-size="14.00">(= 13.1.1+dfsg-3)</text>
|
145
|
+
</g>
|
146
|
+
<!-- groonga-plugin-suggest->libmsgpackc2 -->
|
147
|
+
<g id="edge13" class="edge">
|
148
|
+
<title>groonga-plugin-suggest->libmsgpackc2</title>
|
149
|
+
<path fill="none" stroke="blue" d="M425.06,-234C553.77,-234 785.17,-234 898.82,-234"/>
|
150
|
+
<polygon fill="blue" stroke="blue" points="899.11,-237.5 909.11,-234 899.11,-230.5 899.11,-237.5"/>
|
151
|
+
<text text-anchor="middle" x="659.5" y="-237.8" font-family="Times,serif" font-size="14.00">(>= 2.1.0)</text>
|
152
|
+
</g>
|
153
|
+
<!-- libevent-2.1-7t64 -->
|
154
|
+
<g id="node11" class="node">
|
155
|
+
<title>libevent-2.1-7t64</title>
|
156
|
+
<polygon fill="none" stroke="black" points="729,-303 590,-303 590,-267 729,-267 729,-303"/>
|
157
|
+
<text text-anchor="middle" x="659.5" y="-281.3" font-family="Times,serif" font-size="14.00">libevent-2.1-7t64</text>
|
158
|
+
</g>
|
159
|
+
<!-- groonga-plugin-suggest->libevent-2.1-7t64 -->
|
160
|
+
<g id="edge11" class="edge">
|
161
|
+
<title>groonga-plugin-suggest->libevent-2.1-7t64</title>
|
162
|
+
<path fill="none" stroke="blue" d="M425.33,-248.41C474.03,-256.05 533.25,-265.35 579.83,-272.65"/>
|
163
|
+
<polygon fill="blue" stroke="blue" points="579.44,-276.14 589.86,-274.23 580.53,-269.22 579.44,-276.14"/>
|
164
|
+
<text text-anchor="middle" x="507.5" y="-274.8" font-family="Times,serif" font-size="14.00">(>= 2.1.8-stable)</text>
|
165
|
+
</g>
|
166
|
+
<!-- libzmq5 -->
|
167
|
+
<g id="node12" class="node">
|
168
|
+
<title>libzmq5</title>
|
169
|
+
<polygon fill="none" stroke="black" points="696.5,-387 622.5,-387 622.5,-351 696.5,-351 696.5,-387"/>
|
170
|
+
<text text-anchor="middle" x="659.5" y="-365.3" font-family="Times,serif" font-size="14.00">libzmq5</text>
|
171
|
+
</g>
|
172
|
+
<!-- groonga-plugin-suggest->libzmq5 -->
|
173
|
+
<g id="edge14" class="edge">
|
174
|
+
<title>groonga-plugin-suggest->libzmq5</title>
|
175
|
+
<path fill="none" stroke="blue" d="M366.54,-252.23C388.01,-263.73 416.78,-278.54 443,-290 500.37,-315.07 568.49,-339.13 612.56,-353.97"/>
|
176
|
+
<polygon fill="blue" stroke="blue" points="611.54,-357.32 622.13,-357.17 613.76,-350.68 611.54,-357.32"/>
|
177
|
+
<text text-anchor="middle" x="507.5" y="-342.8" font-family="Times,serif" font-size="14.00">(>= 3.2.3+dfsg)</text>
|
178
|
+
</g>
|
179
|
+
<!-- libbsd0 -->
|
180
|
+
<g id="node13" class="node">
|
181
|
+
<title>libbsd0</title>
|
182
|
+
<polygon fill="none" stroke="black" points="1001,-414 932,-414 932,-378 1001,-378 1001,-414"/>
|
183
|
+
<text text-anchor="middle" x="966.5" y="-392.3" font-family="Times,serif" font-size="14.00">libbsd0</text>
|
184
|
+
</g>
|
185
|
+
<!-- libzmq5->libbsd0 -->
|
186
|
+
<g id="edge15" class="edge">
|
187
|
+
<title>libzmq5->libbsd0</title>
|
188
|
+
<path fill="none" stroke="blue" d="M696.69,-372.2C752.92,-377.18 861.11,-386.76 921.68,-392.12"/>
|
189
|
+
<polygon fill="blue" stroke="blue" points="921.43,-395.61 931.7,-393.01 922.04,-388.64 921.43,-395.61"/>
|
190
|
+
<text text-anchor="middle" x="815" y="-391.8" font-family="Times,serif" font-size="14.00">(>= 0.0)</text>
|
191
|
+
</g>
|
192
|
+
<!-- libgssapi-krb5-2 -->
|
193
|
+
<g id="node14" class="node">
|
194
|
+
<title>libgssapi-krb5-2</title>
|
195
|
+
<polygon fill="none" stroke="black" points="1032,-360 901,-360 901,-324 1032,-324 1032,-360"/>
|
196
|
+
<text text-anchor="middle" x="966.5" y="-338.3" font-family="Times,serif" font-size="14.00">libgssapi-krb5-2</text>
|
197
|
+
</g>
|
198
|
+
<!-- libzmq5->libgssapi-krb5-2 -->
|
199
|
+
<g id="edge16" class="edge">
|
200
|
+
<title>libzmq5->libgssapi-krb5-2</title>
|
201
|
+
<path fill="none" stroke="blue" d="M696.63,-363.42C712.11,-361.18 730.41,-358.72 747,-357 794.69,-352.06 848.42,-348.35 890.66,-345.85"/>
|
202
|
+
<polygon fill="blue" stroke="blue" points="891.08,-349.33 900.86,-345.26 890.68,-342.34 891.08,-349.33"/>
|
203
|
+
<text text-anchor="middle" x="815" y="-360.8" font-family="Times,serif" font-size="14.00">(>= 1.17)</text>
|
204
|
+
</g>
|
205
|
+
<!-- libnorm1t64 -->
|
206
|
+
<g id="node15" class="node">
|
207
|
+
<title>libnorm1t64</title>
|
208
|
+
<polygon fill="none" stroke="black" points="1019,-306 914,-306 914,-270 1019,-270 1019,-306"/>
|
209
|
+
<text text-anchor="middle" x="966.5" y="-284.3" font-family="Times,serif" font-size="14.00">libnorm1t64</text>
|
210
|
+
</g>
|
211
|
+
<!-- libzmq5->libnorm1t64 -->
|
212
|
+
<g id="edge17" class="edge">
|
213
|
+
<title>libzmq5->libnorm1t64</title>
|
214
|
+
<path fill="none" stroke="blue" d="M692.48,-350.85C708.42,-342.49 728.27,-333.09 747,-327 798.51,-310.26 859.32,-300.14 903.69,-294.42"/>
|
215
|
+
<polygon fill="blue" stroke="blue" points="904.26,-297.88 913.75,-293.17 903.39,-290.93 904.26,-297.88"/>
|
216
|
+
<text text-anchor="middle" x="815" y="-330.8" font-family="Times,serif" font-size="14.00">(>= 1.5r6)</text>
|
217
|
+
</g>
|
218
|
+
<!-- libpgm-5.3-0t64 -->
|
219
|
+
<g id="node16" class="node">
|
220
|
+
<title>libpgm-5.3-0t64</title>
|
221
|
+
<polygon fill="none" stroke="black" points="1032,-522 901,-522 901,-486 1032,-486 1032,-522"/>
|
222
|
+
<text text-anchor="middle" x="966.5" y="-500.3" font-family="Times,serif" font-size="14.00">libpgm-5.3-0t64</text>
|
223
|
+
</g>
|
224
|
+
<!-- libzmq5->libpgm-5.3-0t64 -->
|
225
|
+
<g id="edge18" class="edge">
|
226
|
+
<title>libzmq5->libpgm-5.3-0t64</title>
|
227
|
+
<path fill="none" stroke="blue" d="M673.29,-387.03C688.51,-407.07 715.82,-438.88 747,-456 791.21,-480.28 846.81,-492.28 890.85,-498.21"/>
|
228
|
+
<polygon fill="blue" stroke="blue" points="890.56,-501.7 900.92,-499.49 891.44,-494.76 890.56,-501.7"/>
|
229
|
+
<text text-anchor="middle" x="815" y="-499.8" font-family="Times,serif" font-size="14.00">(>= 5.1.116~dfsg)</text>
|
230
|
+
</g>
|
231
|
+
<!-- libsodium23 -->
|
232
|
+
<g id="node17" class="node">
|
233
|
+
<title>libsodium23</title>
|
234
|
+
<polygon fill="none" stroke="black" points="1018.5,-468 914.5,-468 914.5,-432 1018.5,-432 1018.5,-468"/>
|
235
|
+
<text text-anchor="middle" x="966.5" y="-446.3" font-family="Times,serif" font-size="14.00">libsodium23</text>
|
236
|
+
</g>
|
237
|
+
<!-- libzmq5->libsodium23 -->
|
238
|
+
<g id="edge19" class="edge">
|
239
|
+
<title>libzmq5->libsodium23</title>
|
240
|
+
<path fill="none" stroke="blue" d="M696.86,-387.1C712.06,-394.1 730.1,-401.7 747,-407 799.02,-423.33 860.03,-434.71 904.34,-441.65"/>
|
241
|
+
<polygon fill="blue" stroke="blue" points="903.96,-445.13 914.38,-443.19 905.02,-438.21 903.96,-445.13"/>
|
242
|
+
<text text-anchor="middle" x="815" y="-440.8" font-family="Times,serif" font-size="14.00">(>= 1.0.3)</text>
|
243
|
+
</g>
|
244
|
+
</g>
|
245
|
+
</svg>
|
Binary file
|
data/theme.rb
ADDED
data/timet-transition.md
ADDED
@@ -0,0 +1,345 @@
|
|
1
|
+
# Debianの64bit time_t移行は\\n今どうなっているのか
|
2
|
+
|
3
|
+
subtitle
|
4
|
+
: 64bit time_tの進展状況をながめてみよう
|
5
|
+
|
6
|
+
author
|
7
|
+
: Kentaro Hayashi
|
8
|
+
|
9
|
+
institution
|
10
|
+
: ClearCode Inc.
|
11
|
+
|
12
|
+
content-source
|
13
|
+
: 2024年04月 東京エリア・関西合同Debian勉強会
|
14
|
+
|
15
|
+
allotted-time
|
16
|
+
: 25m
|
17
|
+
|
18
|
+
theme
|
19
|
+
: .
|
20
|
+
|
21
|
+
# スライドは\\nRabbit Slide Showにて公開済み
|
22
|
+
|
23
|
+
* Debianの64bit time_t移行は今どうなっているのか
|
24
|
+
* {::note}<https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-timet-transition-202404>{:/note}
|
25
|
+
|
26
|
+
# 本日の内容
|
27
|
+
|
28
|
+
* Debianの64bit time_t transitionを追いかけてみよう
|
29
|
+
* 64bit time_t移行はなぜ必要なのか
|
30
|
+
* 移行計画はどのようになっているのか
|
31
|
+
* 移行の進展状況は
|
32
|
+
|
33
|
+
## note
|
34
|
+
|
35
|
+
今日の発表の狙いは64bit time_tへの移行の状況を知ってもらって、自身が利用しているパッケージの
|
36
|
+
対応がすすんでいないとか、パッケージがビルドできない問題を抱えているとかいうのを見つけたら
|
37
|
+
そういった対応作業の手助けをしてもらえるとよい
|
38
|
+
|
39
|
+
# 本日の内容
|
40
|
+
|
41
|
+
* Debianの64bit time_t transitionを追いかけてみよう
|
42
|
+
* **64bit time_t移行はなぜ必要なのか**
|
43
|
+
* 移行計画はどのようになっているのか
|
44
|
+
* 移行の進展状況は
|
45
|
+
|
46
|
+
# 64bit time_t移行はなぜ必要なのか
|
47
|
+
|
48
|
+
* Linuxディストリビューションの動向
|
49
|
+
* 32bitアーキテクチャのサポートは廃止ないしは縮小の流れ
|
50
|
+
* Debianではarmel,armhf,i386が残っている
|
51
|
+
* 32bit time_tのままでは2038年問題不可避
|
52
|
+
* signed 32bit で扱える範囲 (〜2147483647)
|
53
|
+
|
54
|
+
# 2038年問題
|
55
|
+
|
56
|
+
* Xデーは2038年1月19日
|
57
|
+
* time_tが32bitで時刻を保持しているため32bitアーキテクチャでオーバーフローが発生する問題
|
58
|
+
|
59
|
+
```
|
60
|
+
Time.at(2147483647)
|
61
|
+
=> 2038-01-19 12:14:07 +0900
|
62
|
+
```
|
63
|
+
|
64
|
+
## note
|
65
|
+
|
66
|
+
2038年問題というが具体的にいつなのかというと1月19日の昼過ぎ(日本時間)
|
67
|
+
2**31-1=2,147,483,647
|
68
|
+
|
69
|
+
# かつての2000年問題との比較
|
70
|
+
|
71
|
+
* 2000年問題
|
72
|
+
* 西暦下2桁処理で節約したリソースが問題を引き起こす
|
73
|
+
* 上記前提で実装されたアプリケーションによる障害発生
|
74
|
+
* 事前の対策が進められたことから大混乱は回避された
|
75
|
+
* 2038年問題
|
76
|
+
* システム全体で障害発生{::note}(32bitアーキテクチャにおいて){:/note}
|
77
|
+
|
78
|
+
|
79
|
+
# Debianにおける\\n2038年問題対策の構成要素
|
80
|
+
|
81
|
+
* カーネル
|
82
|
+
* glibc
|
83
|
+
* ファイルシステム
|
84
|
+
* アプリケーション/ライブラリー etc...
|
85
|
+
|
86
|
+
# 2038年問題を踏んだらどうなるか(1)
|
87
|
+
|
88
|
+
|
89
|
+
* シェルでの操作不能に陥る
|
90
|
+
|
91
|
+
* 試すならqemuイメージなどがおすすめ
|
92
|
+
|
93
|
+
```
|
94
|
+
$ sudo date --set="2038-01-19 12:14:00"
|
95
|
+
Tue Jan 19 12:14:00 UTC 2038
|
96
|
+
$ sudo ls
|
97
|
+
sudo: unable to open /etc/sudo.conf: Value too large for defined data type
|
98
|
+
sudo: unable to determine tty: Value too large for defined data type
|
99
|
+
sudo: unable to get time of day: Value too large for defined data type
|
100
|
+
sudo: error initializing audit plugin sudoers_audit
|
101
|
+
```
|
102
|
+
|
103
|
+
|
104
|
+
# Debianにおける\\n2038年問題対策の構成要素
|
105
|
+
|
106
|
+
* カーネル (kernel 5.6以降対応済み)
|
107
|
+
* glibc (2.34以降対応済み)
|
108
|
+
* ファイルシステム (ext4など対応済み)
|
109
|
+
* **アプリケーション/ライブラリー** etc...
|
110
|
+
|
111
|
+
## note
|
112
|
+
|
113
|
+
https://www.lineo.co.jp/blog/yocto/vol03-2038.html
|
114
|
+
ext2は対応していないし、kernel 6.9でdeprecated扱いになった
|
115
|
+
/bootにext2使っている場合は注意が必要かも
|
116
|
+
|
117
|
+
https://www.phoronix.com/news/Linux-6.9-Deprecates-EXT2
|
118
|
+
|
119
|
+
# アプリケーション・ライブラリーの点検が必要
|
120
|
+
|
121
|
+
* 内部で時刻を扱うケースはないか?
|
122
|
+
* 時刻をどのように保存するようにしているか?
|
123
|
+
|
124
|
+
# 事例: Groongaの場合 (1)
|
125
|
+
|
126
|
+
* <https://github.com/groonga/groonga/discussions/1698>
|
127
|
+
* データベースで時刻を扱う型がある
|
128
|
+
* Timeカラムは int64_tでマイクロ秒を保持 => 問題なし
|
129
|
+
|
130
|
+
```
|
131
|
+
Time.at(9223372036854775807 / 10**6)
|
132
|
+
=> 294247-01-10 13:00:54 +0900
|
133
|
+
```
|
134
|
+
|
135
|
+
# 事例: Groongaの場合 (2)
|
136
|
+
|
137
|
+
* データベースの内部表現(オブジェクトヘッダ)で時刻(更新)を扱う
|
138
|
+
* データベース内のオブジェクトを区別するためのシステム情報
|
139
|
+
* uint32_tなのでもうすこし頑張れる(2106年問題)
|
140
|
+
|
141
|
+
```
|
142
|
+
Time.at(4294967295)
|
143
|
+
=> 2106-02-07 15:28:15 +0900
|
144
|
+
```
|
145
|
+
|
146
|
+
|
147
|
+
# 2038年問題を踏んだらどうなるか(2)
|
148
|
+
|
149
|
+
* 実験: Xデー以降にデータベースを更新する
|
150
|
+
* → データベース更新中にクラッシュする💣
|
151
|
+
|
152
|
+
```
|
153
|
+
root@debian:/home/debian/bug1062131# date --set="2038-01-19 12:14:00"
|
154
|
+
Tue Jan 19 12:14:00 UTC 2038
|
155
|
+
root@debian:/home/debian/bug1062131# groonga db/test < update-last-modified.grn
|
156
|
+
Segmentation fault
|
157
|
+
```
|
158
|
+
|
159
|
+
# 本日の内容
|
160
|
+
|
161
|
+
* Debianの64bit time_t transitionを追いかけてみよう
|
162
|
+
* 64bit time_t移行はなぜ必要なのか
|
163
|
+
* **移行計画はどのようになっているのか**
|
164
|
+
* 移行の進展状況は
|
165
|
+
|
166
|
+
# Debianにおける64bit time_t transition (1)
|
167
|
+
|
168
|
+
* <https://wiki.debian.org/ReleaseGoals/64bit-time>
|
169
|
+
|
170
|
+
* ✅ transitionが必要なABIの変更対象をリストアップする
|
171
|
+
* <https://lists.debian.org/debian-devel/2023/05/msg00168.html>
|
172
|
+
* 当初少なくとも4900ソースパッケージが影響を受けると考えられていた
|
173
|
+
* ✅ dpkg-buildflagが-D_FILE_OFFSET_BITS=64と-D_TIME_BITS=64 を既定で有効にする(i386系を除く)
|
174
|
+
* dpkg 1.22.5以降で有効
|
175
|
+
|
176
|
+
# Debianにおける64bit time_t transition (2)
|
177
|
+
|
178
|
+
* ✅ NMUでライブラリー名変更を実施
|
179
|
+
* 進行中は依存関係を満たせずインストールできない、意図せず削除される等が発生
|
180
|
+
* ✅依存ライブラリーを大量にリビルドしなおす(進行中)
|
181
|
+
|
182
|
+
|
183
|
+
# NMUでライブラリー名変更を実施
|
184
|
+
|
185
|
+
|
186
|
+
* d/controlの例
|
187
|
+
|
188
|
+
```diff
|
189
|
+
-Package: libfoo0
|
190
|
+
+Package: libfoo0t64
|
191
|
+
+Provides: ${t64:Provides}
|
192
|
+
+Replaces: libfoo0
|
193
|
+
+Breaks: libfoo0 (<< ${source:Version})
|
194
|
+
```
|
195
|
+
|
196
|
+
# t64:Providesの役割
|
197
|
+
|
198
|
+
* debhelper 13.14で実装されているマクロ
|
199
|
+
* dh_makeshlibsを参照するとよい
|
200
|
+
* 32bitアーキテクチャでない or abi=time64が定義されていない
|
201
|
+
* 64bit time_t transition関係ないアーキテクチャではt64サフィックスなしのProvides:を定義
|
202
|
+
* t64:Providesに `libfoo0 = ${binary:Version}`を設定
|
203
|
+
|
204
|
+
## note
|
205
|
+
|
206
|
+
libfoo0に依存しているパッケージがあって、libfoo0からlibfoo0t64へ円滑に
|
207
|
+
アップグレードできるようにするためのもの。
|
208
|
+
|
209
|
+
# i386で64bit time_tを\\n有効にするには
|
210
|
+
|
211
|
+
* <https://lists.debian.org/debian-devel/2024/02/msg00100.html>
|
212
|
+
* 従来i386では既定で64bit time_tは有効にしない
|
213
|
+
* パッケージのメンテナーが明示的に指定したら有効になる
|
214
|
+
* `DEB_BUILD_OPTIONS=abi=+time64`
|
215
|
+
|
216
|
+
# リリースチームやメンテナーの動き
|
217
|
+
|
218
|
+
* 64bit time_t移行のためのパッチをメンテナーに提供
|
219
|
+
* 各パッケージメンテナーは必要に応じてexperimentalでテスト
|
220
|
+
* NMUでライブラリー名変更まで実施済み
|
221
|
+
* メンテナーとしてはFTBFSとかに遭遇しなければとくになし
|
222
|
+
|
223
|
+
# 例: 依存関係の\\nトラブルシューティング
|
224
|
+
|
225
|
+
* 例えばbuild-depに失敗したときにどうやって調べるか
|
226
|
+
|
227
|
+
```
|
228
|
+
$ apt build-dep groonga
|
229
|
+
dd-schroot-cmd -c $sid apt-get
|
230
|
+
Reading package lists...
|
231
|
+
Reading package lists...
|
232
|
+
Building dependency tree...
|
233
|
+
Reading state information...
|
234
|
+
...
|
235
|
+
|
236
|
+
The following packages have unmet dependencies:
|
237
|
+
libnorm1t64 : Breaks: libnorm1 (< 1.5.9+dfsg-3.1) but 1.5.9+dfsg-3 is to be installed
|
238
|
+
libpgm-5.3-0t64 : Breaks: libpgm-5.3-0 (< 5.3.128~dfsg-2.1) but 5.3.128~dfsg-2 is to be installed
|
239
|
+
E: Unable to correct problems, you have held broken packages.
|
240
|
+
Command apt-get --dry-run build-dep -- groonga exited with exit code 1.
|
241
|
+
```
|
242
|
+
|
243
|
+
# 依存関係を調べるのに便利なもの
|
244
|
+
|
245
|
+
* apt depends
|
246
|
+
* 直接の依存関係を知るのに便利
|
247
|
+
* 再帰的な依存関係は一度ではわからない
|
248
|
+
* apt-rdepends
|
249
|
+
* 再帰的な依存関係もわかる
|
250
|
+
* debtree
|
251
|
+
* 再帰的な依存関係を可視化できる
|
252
|
+
|
253
|
+
# debtreeによる依存関係の可視化
|
254
|
+
|
255
|
+
* 例: groongaの依存関係を可視化
|
256
|
+
|
257
|
+
```
|
258
|
+
debtree --no-recommends groonga > groonga.dot
|
259
|
+
dot -Tsvg groonga.dot > groonga.svg
|
260
|
+
```
|
261
|
+
|
262
|
+
# debtreeで可視化(一部省略)
|
263
|
+
|
264
|
+
![](images/groonga.no-recommends.svg){:relative-height="100"}
|
265
|
+
|
266
|
+
# debtreeで可視化するときのヒント
|
267
|
+
|
268
|
+
* `--no-recommends`を指定して余計な依存関係を省く
|
269
|
+
* `--skiplist=`を指定して特定の依存先を省く
|
270
|
+
* libc6やドキュメント関係を指定するとわかりやすくなる
|
271
|
+
|
272
|
+
```
|
273
|
+
python3-sphinx
|
274
|
+
groonga-doc
|
275
|
+
libc6
|
276
|
+
gcc-14-base
|
277
|
+
...
|
278
|
+
```
|
279
|
+
|
280
|
+
# 本日の内容
|
281
|
+
|
282
|
+
* Debianの64bit time_t transitionを追いかけてみよう
|
283
|
+
* 64bit time_t移行はなぜ必要なのか
|
284
|
+
* 移行計画はどのようになっているのか
|
285
|
+
* **移行の進展状況は**
|
286
|
+
|
287
|
+
# 64bit time_t transitionの進捗状況
|
288
|
+
|
289
|
+
* <https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=debian-arm@lists.debian.org;tag=time-t>
|
290
|
+
* time-t でタグ付けされているバグを参照するとよい
|
291
|
+
* すでに1100近くNMUされている
|
292
|
+
* debian-develメーリングリストを購読していると定期的に進捗報告あり
|
293
|
+
|
294
|
+
## note
|
295
|
+
|
296
|
+
|
297
|
+
# 64bit time_t transitionの進捗状況
|
298
|
+
|
299
|
+
* <https://qa.debian.org/dose/debcheck/unstable_main/index.html>
|
300
|
+
* Packages not installable in scenario unstable_main
|
301
|
+
* transition中は頻繁に衝突する
|
302
|
+
* => リビルド状況の変化は64bit time_t移行の進展をみるのに使えそう
|
303
|
+
|
304
|
+
# およそ一ヶ月ほど前 2024/03/15
|
305
|
+
|
306
|
+
![](images/debcheck20240315.jpeg){:relative-height="100"}
|
307
|
+
|
308
|
+
# 先週の状況 2024/04/10
|
309
|
+
|
310
|
+
![](images/debcheck20240410.min.png){:relative-height="100"}
|
311
|
+
|
312
|
+
# 今週の状況 2024/04/15
|
313
|
+
|
314
|
+
![](images/debcheck20240415.min.png){:relative-height="100"}
|
315
|
+
|
316
|
+
# dpkgはまだ移行できていない
|
317
|
+
|
318
|
+
![](images/dpkg-testing-migrations.png){:relative-height="70"}
|
319
|
+
|
320
|
+
* dpkg 1.22.5 はまだtestingに入っていない
|
321
|
+
* dpkg >= 1.22.5の指定があるものもtestingに入らない
|
322
|
+
|
323
|
+
# 移行進捗の停滞ぎみ(1)
|
324
|
+
|
325
|
+
* <https://lists.debian.org/debian-devel/2024/04/msg00331.html>
|
326
|
+
* そもそもインストールできない状態のまま
|
327
|
+
* FTBFSだけどバグが立っていないので見落とされている
|
328
|
+
* 移行前のライブラリ名がハードコーディングされている
|
329
|
+
* 移行前と移行後のライブラリー双方への依存で衝突
|
330
|
+
|
331
|
+
# 移行進捗の停滞ぎみ(2)
|
332
|
+
|
333
|
+
* 完全に依存先の問題が解消される前にリビルドされた(ので古い)
|
334
|
+
* symbol/shlibsが正しくない依存関係になっている
|
335
|
+
* まだbinNMUされていない
|
336
|
+
|
337
|
+
# 64bit time_tでの懸念事項
|
338
|
+
|
339
|
+
* <https://lists.debian.org/debian-devel/2024/03/msg00294.html>
|
340
|
+
* transitionを進めるため、機能を無効化することがある。再度有効化しないと機能差が発生するかも
|
341
|
+
* FTBFSが原因でパッケージが削除される方向にすすむことがある
|
342
|
+
* FTBFSが原因でパッケージが32bitアーキテクチャのサポートをやめてしまうことがある
|
343
|
+
* 使っているパッケージが該当していないかは注視が必要
|
344
|
+
|
345
|
+
|
metadata
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-kenhys-tokyodebian-timet-transition-202404
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2024.04.20.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kentaro Hayashi
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-04-20 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/debcheck20240315.jpeg
|
39
|
+
- images/debcheck20240406.png
|
40
|
+
- images/debcheck20240408.png
|
41
|
+
- images/debcheck20240410.min.png
|
42
|
+
- images/debcheck20240410.png
|
43
|
+
- images/debcheck20240415.min.png
|
44
|
+
- images/debcheck20240415.png
|
45
|
+
- images/dpkg-testing-migrations.png
|
46
|
+
- images/groonga.no-recommends.svg
|
47
|
+
- pdf/tokyodebian-timet-transition-202404-timet-transition.pdf
|
48
|
+
- theme.rb
|
49
|
+
- timet-transition.md
|
50
|
+
homepage: https://slide.rabbit-shocker.org/authors/kenhys/tokyodebian-timet-transition-202404/
|
51
|
+
licenses:
|
52
|
+
- CC-BY-SA-4.0
|
53
|
+
metadata: {}
|
54
|
+
post_install_message:
|
55
|
+
rdoc_options: []
|
56
|
+
require_paths:
|
57
|
+
- lib
|
58
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
requirements: []
|
69
|
+
rubygems_version: 3.3.26
|
70
|
+
signing_key:
|
71
|
+
specification_version: 4
|
72
|
+
summary: Tokyo Debian 64bit time_t transition
|
73
|
+
test_files: []
|