[build] Override timestamps in zip file
authorBernhard M. Wiedemann <bwiedemann@suse.de>
Mon, 17 Jul 2017 11:49:09 +0000 (13:49 +0200)
committerBernhard M. Wiedemann <bwiedemann@suse.de>
Sat, 19 Aug 2017 19:43:48 +0000 (21:43 +0200)
to make build reproducible.
See https://reproducible-builds.org/ for why this is good

Copying files to not interfere with freshness detection.

Makefile

index 84ccce2b33f4e7c8b39cfb0e6593d4a7f3e87e2d..41e3a683a54e959bef53fa584feb28a3f0a3ccee 100644 (file)
--- 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