File tree Expand file tree Collapse file tree 3 files changed +10
-7
lines changed Expand file tree Collapse file tree 3 files changed +10
-7
lines changed Original file line number Diff line number Diff line change 40
40
run : launchctl print system/io.github.lima-vm.socket_vmnet
41
41
- name : Install test dependencies
42
42
run : |
43
- brew install qemu bash coreutils
43
+ brew install qemu bash
44
44
- name : Test (shared mode)
45
45
run : ./test/test.sh /var/run/socket_vmnet
46
46
# Bridged mode cannot be tested on GHA
Original file line number Diff line number Diff line change 32
32
fetch-depth : 0
33
33
ref : ${{ github.event.pull_request.head.sha }}
34
34
- name : " Install dependencies"
35
- # coreutils: For `gtouch -d @${SOURCE_DATE_EPOCH}`
36
35
# diffoscope: For `make test.repro`
37
- run : brew install coreutils diffoscope
36
+ run : brew install diffoscope
38
37
- name : " Test reproducibility"
39
38
run : |
40
39
make test.repro
Original file line number Diff line number Diff line change @@ -5,9 +5,10 @@ PREFIX ?= /opt/socket_vmnet
5
5
DEBUG ?=
6
6
7
7
export SOURCE_DATE_EPOCH ?= $(shell git log -1 --pretty=% ct)
8
- # https://reproducible-builds.org/docs/archives/
9
- TAR ?= gtar --sort=name --mtime="@$(SOURCE_DATE_EPOCH ) " --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime
10
- TOUCH ?= gtouch -d @$(SOURCE_DATE_EPOCH )
8
+ SOURCE_DATE_EPOCH_ISO8601 := $(shell date -u -Iseconds -r $(SOURCE_DATE_EPOCH ) | sed -e s/+00:00/Z/)
9
+
10
+ TAR ?= tar --uid=0 --gid=0 --numeric-owner
11
+ TOUCH ?= touch -d $(SOURCE_DATE_EPOCH_ISO8601 )
11
12
# Not necessary to use GNU's gzip
12
13
GZIP ?= gzip -9 -n
13
14
DIFFOSCOPE ?= diffoscope
@@ -130,7 +131,10 @@ define make_artifacts
130
131
rm -rf _artifacts/$(1 )
131
132
$(MAKE ) ARCH=$(1 ) DESTDIR=_artifacts/$(1 ) install.bin install.doc
132
133
file -bp _artifacts/$(1 ) /$(PREFIX ) /bin/socket_vmnet | grep -q "Mach-O 64-bit executable $(1 ) "
133
- $(TAR ) -C _artifacts/$(1 ) -cf _artifacts/socket_vmnet-$(VERSION_TRIMMED ) -$(1 ) .tar ./
134
+ # BSD tar does not have `--mtime=TIMESTAMP` option
135
+ find _artifacts/$(1 ) -exec $(TOUCH ) {} \;
136
+ # BSD tar does not have `--sort=name` option
137
+ (cd _artifacts/$(1 ) && find -s . -print0 | $(TAR ) -cf ../socket_vmnet-$(VERSION_TRIMMED ) -$(1 ) .tar --null -n --files-from /dev/stdin)
134
138
$(GZIP ) _artifacts/socket_vmnet-$(VERSION_TRIMMED ) -$(1 ) .tar
135
139
rm -rf _artifacts/$(1 )
136
140
$(MAKE ) clean
You can’t perform that action at this time.
0 commit comments