From 0851a1f90468716dc08d48607ca4a609c4e80e16 Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Mon, 28 Oct 2019 22:05:55 +0100 Subject: [PATCH] 3rdparty: check GPG signatures when available --- .gitlab-ci.yml | 4 +- 3rdparty/Makefile | 22 ++- 3rdparty/gpgkeys/SDL2-slouken-pubkey.asc | 25 ++++ 3rdparty/gpgkeys/freetype.wl.gnu.org.asc | 23 ++++ 3rdparty/gpgkeys/tiff-bfriesen.pubkey.asc | 158 ++++++++++++++++++++++ Makefile | 1 + 6 files changed, 229 insertions(+), 4 deletions(-) create mode 100644 3rdparty/gpgkeys/SDL2-slouken-pubkey.asc create mode 100644 3rdparty/gpgkeys/freetype.wl.gnu.org.asc create mode 100644 3rdparty/gpgkeys/tiff-bfriesen.pubkey.asc diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0dd9ee28..d7f00fec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -61,7 +61,7 @@ pages: job_win32: stage: build before_script: - - apt-get update -qq && apt-get install -y -qq zip dos2unix + - apt-get update -qq && apt-get install -y -qq zip dos2unix gpg - apt-get install -y -qq gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools nsis script: - "WIN32CROSS=1 make 3rdparty -j2 || exit 1" @@ -86,7 +86,7 @@ job_win32: job_atari: stage: build before_script: - - apt-get update -qq && apt-get install -y -qq zip dos2unix lsb-release + - apt-get update -qq && apt-get install -y -qq zip dos2unix lsb-release gpg - "sh ./.install-cross-mint.sh" script: - "ATARICROSS=1 make 3rdparty -j2 || exit 1" diff --git a/3rdparty/Makefile b/3rdparty/Makefile index b6e071ff..1e710f28 100644 --- a/3rdparty/Makefile +++ b/3rdparty/Makefile @@ -23,7 +23,9 @@ PLATFORM = $(shell uname) SDL = SDL-1.2.15 SDLARCH = $(SDL).tar.gz +SDLSIG = $(SDLARCH).sig SDLURL = https://www.libsdl.org/release/$(SDLARCH) +SDLURLSIG = $(SDLURL).sig SDLSHA256 = d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00 SDLPATCHES = SDL-1.2.15-patch-src_video_x11_SDL_x11sym.h \ SDL-1.2.15-quartzvideo.patch \ @@ -54,6 +56,8 @@ LATESTSDL2VER = $(shell curl -s -S http://www.libsdl.org/ | grep current | grep SDL2 = SDL2-$(SDL2VER) SDL2ARCH = $(SDL2).tar.gz SDL2URL = https://www.libsdl.org/release/$(SDL2ARCH) +SDL2SIG = $(SDL2ARCH).sig +SDL2SIGURL = $(SDL2URL).sig SDL2SHA256 = 349268f695c02efbc9b9148a70b85e58cefbbf704abd3e91be654db7f1e2c863 SDL2PATCHES = SDL2-NSOSVersion.patch SDL2DEVEL = SDL2-devel-$(SDL2VER)-mingw.tar.gz @@ -95,7 +99,9 @@ LIBTIFFURLALT = https://fossies.org/linux/misc/$(LIBTIFFARCH) LIBTIFFPATCHES = tiff-uint64_long_long.patch # additionnal variables for the generic rules to work : TIFFARCH = $(LIBTIFFARCH) +TIFFSIG = $(TIFFARCH).sig TIFFURL = $(LIBTIFFURL) +TIFFSIGURL = $(TIFFURL).sig TIFFURLALT = $(LIBTIFFURLALT) TIFFPATCHES = $(LIBTIFFPATCHES) TIFFSHA256 = eb0484e568ead8fa23b513e9b0041df7e327f4ee2d22db5a533929dfc19633cb @@ -109,8 +115,10 @@ ZLIBSHA256=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 FREETYPEVER=2.10.4 FREETYPE=freetype-$(FREETYPEVER) FREETYPEARCH=$(FREETYPE).tar.gz +FREETYPESIG=$(FREETYPEARCH).sig FREETYPEURL=https://download.savannah.gnu.org/releases/freetype/$(FREETYPEARCH) FREETYPEURLALT=https://sourceforge.net/projects/freetype/files/freetype2/$(FREETYPEVER)/$(FREETYPEARCH) +FREETYPESIGURL=$(FREETYPEURL).sig FREETYPESHA256=5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac LATESTFREETYPEVER = $(shell curl -s -S -I "https://sourceforge.net/projects/freetype/files/latest/download" |grep -i '^location:' | sed 's:.*/\([0-9.]*\)/.*:\1:' ) LUAVER=5.3.6 @@ -150,6 +158,7 @@ PREFIX = $(PWD)/usr$(PLATFORMDIR) MKDIR = mkdir -p CP = cp -v TAR = $(shell which tar) +GPG = gpg SHA256CMD = $(shell SHASUM=`which shasum 2> /dev/null` ; if [ "$$?" = "0" ] && [ -x "$$SHASUM" ] ; \ then echo "(\"$$SHASUM\" -a 256 | cut -f1 -d' ')" ; \ else OPENSSL=`which openssl` ; if [ "$$?" = "0" ] && [ -x "$$OPENSSL" ] ; \ @@ -223,7 +232,7 @@ DATE = $(shell date -R) libsdl libsdl_image libsdl_ttf \ libsdl2 libsdl2_image libsdl2_ttf \ libjpeg libtiff zlib freetype lua recoil \ - checkversions + checkversions importgpgkeys all: libs @@ -621,6 +630,12 @@ recoil: $(RECOIL)/.ok cd $(@D) ; for p in $(REDCODE6502PATCHES) ; do echo "applying $$p" ; patch -p1 < ../$$p ; done touch $@ +importgpgkeys: gpgkeys/imported.ok + +gpgkeys/imported.ok: $(filter-out gpgkeys/imported.ok,$(wildcard gpgkeys/*)) + $(GPG) --import $^ + touch $@ + # generic rule to unpack tarball and apply patches %/.ok: archives/%.tar.gz $(TAR) xzf $< @@ -644,8 +659,11 @@ archives/%.tar.gz: $(eval URL = $($(BASE)URL)) $(eval URLALT = $($(BASE)URLALT)) $(eval SHA256 = $($(BASE)SHA256)) - @echo "$*: fetching $(URL) (or $(URLALT))" + $(eval SIG = $($(BASE)SIG)) + $(eval SIGURL = $($(BASE)SIGURL)) + @echo "$*: fetching $(URL) (or $(URLALT)) $(SIG)" @cd $(@D) && ( $(GETURL) $(URL) || ( [ -n "$(URLALT)" ] && $(GETURL) $(URLALT) ) ) + @[ -z "$(SIGURL)" ] || ( cd $(@D) && $(GETURL) $(SIGURL) && $(GPG) --verify $(SIG) ) || ( $(RM) $@ && false ) @[ -z "$(SHA256)" ] || [ "`$(SHA256CMD) < $@`" = "$(SHA256)" ] || ( $(RM) $@ && echo "$@ SHA256 mismatch !" && false ) # generic rule to check package version diff --git a/3rdparty/gpgkeys/SDL2-slouken-pubkey.asc b/3rdparty/gpgkeys/SDL2-slouken-pubkey.asc new file mode 100644 index 00000000..dab99372 --- /dev/null +++ b/3rdparty/gpgkeys/SDL2-slouken-pubkey.asc @@ -0,0 +1,25 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.0.4 (GNU/Linux) +Comment: For info see http://www.gnupg.org + +mQGiBDpWOb0RBADQwd3d9mzt6KzqlsgXf9mikBuMbpKzYs1SBKYpdzUs9sRY0CnH +vCQTrL5sI57yKLnqEl6SbIiE75ZwrSWwvUDFFTh35Jew5nPZwv64en2kw2y4qrnJ +kBZCHDSU4KgfUZtoJ25Tmeru5MLNbXxCOoMszO5L5OchwMrGMtmFLRA/bwCgy5Th +d1/vJo+bej9tbgv++SJ05o0D/3MPK7EBoxWkQ0I+ScqOsvSMRQXWc/hXy4lyIp8e +xJByBApkv0LiiT3KlPpq/K2gTlDlCZ/JTt6Rv8Ug0g47R3a0aoz9kfc15UjHdiap +UOfF9MWmmbw59Lyx6+y2e0/C5xWzNOR1G4G5y4RZL/GXrp67xz/0fEhI85R+eASq +AEfSBAC5ZxwnBwyl+h+PXeJYKrPQjSUlgtSAkKp7PNBywwlue1LcSb7j4cc+cmgH +QMVuM883LPE59btNzFTAZjlzzIMiaXf5h9EkDARTGQ1wFiO3V5vIbVLh4kAoNfpT +egy7bYn3UrlbKg3V2DbCdEXm1zQufZzK7T0yenA5Ps8xXX7mNrQhU2FtIExhbnRp +bmdhIDxzbG91a2VuQGxpYnNkbC5vcmc+iFcEExECABcFAjpWOb0FCwcKAwQDFQMC +AxYCAQIXgAAKCRAwpZN3p3Y75t9RAJ48WI+nOPes0WK7t381Ij4JfSYxWQCgjpMa +Dg3/ah23HZhYtTKtHUzD9zi5AQ0EOlY5wxAEAPvjB0B5RNAj8hBF/Lq78w5rJ1/f +5RqWXmdfxApuEE/9OEFXUSUXms9f/IWvySdyf48Pk4t2h8b8i7F0f3R+tcCp6m0P +t1BSNHYumfmtonTy5FHqpwBVlEi7I0s5mD3kxO+k8PQbATHH5smFnoz2UTc+MzQj +UdtTzXUkUgqvf9zTAAMGA/9Y/h6rhi3YYXeI6SmbXqcmzsQKzaWVhLew67szejnY +sKIJ1ja4MefYlthCXgmIBriNftxIGtBI0Pcmzwpn0eknRNK6NgpmESbGKCWh59Je +iAK5hdBPe47LSFVct5zSO9vQhRDyLzhzPPtB3XeoKTUkLWxBSLbeZVwcHPIK/wLa +l4hGBBgRAgAGBQI6VjnDAAoJEDClk3endjvmxmUAn3Ne6Z3UULpie8RJP15RBt6K +2MWFAJ9hK/Ls/FeBJ9d50qxmYdZ2RrTXNg== +=toqC +-----END PGP PUBLIC KEY BLOCK----- diff --git a/3rdparty/gpgkeys/freetype.wl.gnu.org.asc b/3rdparty/gpgkeys/freetype.wl.gnu.org.asc new file mode 100644 index 00000000..9d7fb606 --- /dev/null +++ b/3rdparty/gpgkeys/freetype.wl.gnu.org.asc @@ -0,0 +1,23 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGiBD+Z+pwRBACnK1FszJzA033xBE6MVbjhP1DLFNBLwhw+2hcTLOWvcsdbQh74 +BTSjR61QnFj0JcfmGXa2Qk6wsLL8r3mY2CrAtYf3MnXDU7ZImmVO4VJ4YvVO7FMz +7Xl7TyEfz32aWT/FUMRbFsT8HTIv0gVimpvnOC5z0U53LbgI7TK2gp+UXwCgiNJC ++/0b9pskbjH8V5lyNPTR6pMD/0pjqPrWynPfuG015Bpc4GtfduB7RR7wWJwQq1s7 +5E/peGYqPk/yyGWfnSlhyW9+OuPxnCIxtoosqD5/gcaEK64qTzSmvdhP7csU6zk6 +Emb2RLfMX17fOWKTF5cfjpvGvhr0P4jukJ3q3q4JL+ZQLNuxW0ZrItujorG44jlc +dSIZA/9VEegNNz5OnvrvWfU/jK/inXoSisdNunkxDpIshxCpph0xdMJqKcIsAfG0 +CsuNkDlDQSW1bGIS9zrK41PcYWs/2P/6lgEStiEPVXziqMZsXnDKuMRN32edLM9Z +oGCoUFxWkGl8gtZqJUtOS86IABPG/5unldCfAulL1qDU267QcLQbV2VybmVyIExl +bWJlcmcgPHdsQGdudS5vcmc+iF8EExECABcFAj+Z+pwFCwcKAwQDFQMCAxYCAQIX +gAASCRDBpg6s5wf9pQdlR1BHAAEBTb0An2+FGaqF6B+L98SwovRKTj6RNHRDAKCH +8XAgZBXmnJkuFZdehXUeaELcMLkBDQQ/mfqiEAQA/GIc47GVhBUfmH1QzUhm4Y6W +YY+i2Rc6+ZpY94VUgZfF4Uc6T7bcNI/lsKfp7JlU3NOMnCbSpPDbWnlJk3O/w79y +Eq5uxSGxIkXQSNd6X7K31DpgdhO05GDXGlmy9uQIknqxyT5J2LVp3T8UXFMDdPkh +MfDLwo5Ku9PxTmMajUsAAwUEAKIZgRV4Hn4sbgFz0oYVuwa/RywQ25t5j4fCh2D9 +F2dN+RvacgqZS4JJVKJgXT9dVkXMo/3CBPx5gXTyJv/Xfk5GZxX3i1Cf6xn7Bz4z +sy5P1dapDdI+wpnqn/S7Zm6oqJQJkrKl3F0JiReo7xZZuuoEyOxPI/6MLSKpBnjL +Vx6giE4EGBECAAYFAj+Z+qIAEgkQwaYOrOcH/aUHZUdQRwABAVwZAKCBYF9/CYty +NErAzbX8HQVZqExjKwCfctp0iVHu49WYBxGYpTb6kiuRL7c= +=wMZR +-----END PGP PUBLIC KEY BLOCK----- diff --git a/3rdparty/gpgkeys/tiff-bfriesen.pubkey.asc b/3rdparty/gpgkeys/tiff-bfriesen.pubkey.asc new file mode 100644 index 00000000..c677d17f --- /dev/null +++ b/3rdparty/gpgkeys/tiff-bfriesen.pubkey.asc @@ -0,0 +1,158 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +akWaTz0WKIOiD9Lm2ylI9J0= +=td5L +-----END PGP PUBLIC KEY BLOCK----- diff --git a/Makefile b/Makefile index f221c984..dbdc960a 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,7 @@ tools: src/version.c $(MAKE) -C tools/ 3rdparty: + cd 3rdparty/ && $(OPT)$(MAKE) importgpgkeys cd 3rdparty/ && $(OPT)$(MAKE) win32installer: