about summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
authorBernhard M. Wiedemann <bwiedemann@suse.de>2017-07-17 13:49:09 +0200
committerBernhard M. Wiedemann <bwiedemann@suse.de>2017-08-19 21:43:48 +0200
commit305d99f0bd1effc0e164792199bf93a872da2962 (patch)
tree955b38ae2f2f3ac375c7ddd1ff80a4e4a9e5d4bd /Makefile
parent83d00044c1c9aef487f1c30bb50246e9ad039636 (diff)
downloadyoutube-dl-305d99f0bd1effc0e164792199bf93a872da2962.tar.gz
youtube-dl-305d99f0bd1effc0e164792199bf93a872da2962.tar.xz
youtube-dl-305d99f0bd1effc0e164792199bf93a872da2962.zip
[build] Override timestamps in zip file
to make build reproducible.
See https://reproducible-builds.org/ for why this is good

Copying files to not interfere with freshness detection.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile11
1 files changed, 9 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 84ccce2b3..41e3a683a 100644
--- a/Makefile
+++ b/Makefile
@@ -46,8 +46,15 @@ tar: youtube-dl.tar.gz
 pypi-files: youtube-dl.bash-completion README.txt youtube-dl.1 youtube-dl.fish
 
 youtube-dl: youtube_dl/*.py youtube_dl/*/*.py
-	zip --quiet youtube-dl youtube_dl/*.py youtube_dl/*/*.py
-	zip --quiet --junk-paths youtube-dl youtube_dl/__main__.py
+	mkdir -p zip
+	for d in youtube_dl youtube_dl/downloader youtube_dl/extractor youtube_dl/postprocessor ; do \
+	  mkdir -p zip/$$d ;\
+	  cp -a $$d/*.py zip/$$d/ ;\
+	done
+	touch -t 200001010101 zip/youtube_dl/*.py zip/youtube_dl/*/*.py
+	mv zip/youtube_dl/__main__.py zip/
+	cd zip ; zip --quiet ../youtube-dl youtube_dl/*.py youtube_dl/*/*.py __main__.py
+	rm -rf zip
 	echo '#!$(PYTHON)' > youtube-dl
 	cat youtube-dl.zip >> youtube-dl
 	rm youtube-dl.zip