Commit 3741cb4
committed
Support reproducible builds (except packages)
See docker-library/official-images issue 16044
- `SOURCE_DATE_EPOCH` is added.
The value is consumed by the build scripts to make the binary reproducible.
- For Debian, `/var/log/*` is removed as they contain timestamps
- For Debian, `/var/cache/ldconfig/aux-cache` is removed as they contain inode numbers, etc.
- For Alpine, virtual package versions are pinned to "0" to eliminate
the timestamp-based version numbers that appear in `/etc/apk/world` and `/lib/apk/db/installed`
- For Alpine, `/var/cache/fontconfig` is removed
> [!NOTE]
> The following topics are NOT covered by this commit:
>
> - To reproduce file timestamps in layers, BuildKit has to be executed with
> `--output type=<TYPE>,rewrite-timestamp=true`.
> Needs BuildKit v0.13 or later.
>
> - To reproduce the base image by the hash, reproducers may:
> - modify the `FROM` instruction in Dockerfile manually
> - or, use the `CONVERT` action of source policies to replace the base image.
> <https://github.com/moby/buildkit/blob/v0.13.2/docs/build-repro.md>
>
> - To reproduce packages, see the `RUN` instruction hook proposed in
> moby/buildkit issue 4576
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>1 parent d6690c7 commit 3741cb4
File tree
22 files changed
+198
-44
lines changed- beta
- php8.1
- apache
- fpm-alpine
- fpm
- php8.2
- apache
- fpm-alpine
- fpm
- php8.3
- apache
- fpm-alpine
- fpm
- cli
- php8.1/alpine
- php8.2/alpine
- php8.3/alpine
- latest
- php8.1
- apache
- fpm-alpine
- fpm
- php8.2
- apache
- fpm-alpine
- fpm
- php8.3
- apache
- fpm-alpine
- fpm
22 files changed
+198
-44
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
7 | 11 | | |
8 | 12 | | |
9 | 13 | | |
| |||
15 | 19 | | |
16 | 20 | | |
17 | 21 | | |
18 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
19 | 25 | | |
20 | 26 | | |
21 | 27 | | |
22 | 28 | | |
23 | 29 | | |
24 | 30 | | |
25 | 31 | | |
26 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
27 | 35 | | |
28 | 36 | | |
29 | 37 | | |
| |||
43 | 51 | | |
44 | 52 | | |
45 | 53 | | |
46 | | - | |
| 54 | + | |
47 | 55 | | |
48 | 56 | | |
49 | 57 | | |
| |||
123 | 131 | | |
124 | 132 | | |
125 | 133 | | |
126 | | - | |
| 134 | + | |
127 | 135 | | |
128 | 136 | | |
129 | 137 | | |
| |||
139 | 147 | | |
140 | 148 | | |
141 | 149 | | |
| 150 | + | |
| 151 | + | |
142 | 152 | | |
143 | 153 | | |
144 | 154 | | |
| |||
247 | 257 | | |
248 | 258 | | |
249 | 259 | | |
250 | | - | |
| 260 | + | |
251 | 261 | | |
252 | 262 | | |
253 | 263 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments