mirror of
				https://github.com/bensuperpc/dockcross.git
				synced 2025-10-30 23:56:23 +01:00 
			
		
		
		
	Compare commits
	
		
			23 Commits
		
	
	
		
			add_lts_ar
			...
			improve_sc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d239acabfc | |||
| d2fb4755f0 | |||
| 76d1ec682f | |||
| cc949d6a85 | |||
| 601d68697c | |||
| e25f67aea9 | |||
| aa4bcf4a34 | |||
| 7ec0eaa3c9 | |||
| 09e8f01e94 | |||
| d0e3fe912c | |||
| 3802117f88 | |||
| 41fb6ce09d | |||
| 97c3a4a4f6 | |||
| ae6855835d | |||
| 6c758bf71c | |||
| 501b1b84dc | |||
| 77da067e8e | |||
| 54f73cbb65 | |||
| d30a795408 | |||
| afd21c490e | |||
| a38a7920ac | |||
| 55138d52e0 | |||
| 4fd8fb9e09 | 
							
								
								
									
										11
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							| @@ -46,7 +46,16 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         arch_name: [android-arm, android-arm64, android-x86, android-x86_64, web-wasm, linux-arm64, linux-arm64-musl, linux-armv5, linux-armv5-musl, linux-armv6, linux-armv6-lts, linux-armv6-musl, linux-armv7, linux-armv7a, linux-armv7l-musl, linux-x64-clang, linux-s390x, linux-x64, linux-x86, linux-mips, linux-ppc64le, manylinux1-x64, manylinux1-x86, manylinux2010-x64, manylinux2010-x86, manylinux2014-x64, manylinux2014-x86, manylinux2014-aarch64, windows-static-x64, windows-static-x64-posix, windows-static-x86, windows-shared-x64, windows-shared-x64-posix, windows-shared-x86, linux-riscv64, linux-riscv32, linux-m68k-uclibc] |         arch_name: [android-arm, android-arm64, android-x86, android-x86_64,  | ||||||
|  |           linux-arm64, linux-arm64-musl, linux-armv5, linux-armv5-musl,  | ||||||
|  |           linux-armv6, linux-armv6-lts, linux-armv6-musl,  | ||||||
|  |           linux-armv7, linux-armv7a, linux-armv7l-musl,  | ||||||
|  |           linux-x64-clang, linux-s390x, linux-x64, linux-x86,  | ||||||
|  |           linux-mips, linux-ppc64le, web-wasm, | ||||||
|  |           manylinux2014-x64, manylinux2014-x86, manylinux2014-aarch64,  | ||||||
|  |           windows-static-x64, windows-static-x64-posix, windows-static-x86,  | ||||||
|  |           windows-shared-x64, windows-shared-x64-posix, windows-shared-x86,  | ||||||
|  |           linux-riscv64, linux-riscv32, linux-m68k-uclibc] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v2 |       - uses: actions/checkout@v2 | ||||||
|       - uses: actions/download-artifact@v2 |       - uses: actions/download-artifact@v2 | ||||||
|   | |||||||
							
								
								
									
										131
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										131
									
								
								Makefile
									
									
									
									
									
								
							| @@ -9,22 +9,40 @@ DOCKER = docker | |||||||
| # Docker organization to pull the images from | # Docker organization to pull the images from | ||||||
| ORG = dockcross | ORG = dockcross | ||||||
|  |  | ||||||
| # Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux1-x64) | # Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux2014-x64) | ||||||
| BIN = ./bin | BIN = ./bin | ||||||
|  |  | ||||||
| # These images are built using the "build implicit rule" | # These images are built using the "build implicit rule" | ||||||
| STANDARD_IMAGES = linux-s390x android-arm android-arm64 android-x86 android-x86_64 linux-x86 linux-x64 linux-arm64 linux-x64-clang linux-arm64-musl linux-armv5 linux-armv5-musl linux-armv6 linux-armv6-musl linux-armv7 linux-armv7a linux-armv7l-musl linux-mips linux-ppc64le windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-armv6-lts | STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \ | ||||||
|  | 	linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl \ | ||||||
|  | 	linux-armv5 linux-armv5-musl linux-m68k-uclibc linux-s390x \ | ||||||
|  | 	linux-armv6 linux-armv6-lts linux-armv6-musl \ | ||||||
|  | 	linux-armv7l-musl linux-armv7 linux-armv7a \ | ||||||
|  | 	linux-mips linux-ppc64le linux-riscv64 linux-riscv32 \ | ||||||
|  | 	windows-static-x86 windows-static-x64 windows-static-x64-posix \ | ||||||
|  | 	windows-shared-x86 windows-shared-x64 windows-shared-x64-posix | ||||||
|  |  | ||||||
| # Generated Dockerfiles. | # Generated Dockerfiles. | ||||||
| GEN_IMAGES = linux-s390x android-arm android-arm64 linux-x86 linux-x64 linux-mips linux-x64-clang manylinux1-x64 manylinux1-x86 manylinux2010-x64 manylinux2010-x86 manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 web-wasm linux-arm64 linux-arm64-musl windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix linux-armv7 linux-armv7a linux-armv7l-musl linux-armv6 linux-armv6-musl linux-armv5 linux-armv5-musl linux-ppc64le linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-armv6-lts | GEN_IMAGES = android-arm android-arm64 \ | ||||||
|  | 	linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl \ | ||||||
|  | 	manylinux2014-x64 manylinux2014-x86 \ | ||||||
|  | 	manylinux2014-aarch64 web-wasm linux-mips \ | ||||||
|  | 	windows-static-x86 windows-static-x64 windows-static-x64-posix \ | ||||||
|  | 	windows-shared-x86 windows-shared-x64 windows-shared-x64-posix \ | ||||||
|  | 	linux-armv7 linux-armv7a linux-armv7l-musl \ | ||||||
|  | 	linux-armv6 linux-armv6-lts linux-armv6-musl \ | ||||||
|  | 	linux-armv5 linux-armv5-musl linux-ppc64le linux-s390x \ | ||||||
|  | 	linux-riscv64 linux-riscv32 linux-m68k-uclibc | ||||||
|  |  | ||||||
| GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES)) | GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES)) | ||||||
|  |  | ||||||
| # These images are expected to have explicit rules for *both* build and testing | # These images are expected to have explicit rules for *both* build and testing | ||||||
| NON_STANDARD_IMAGES = web-wasm manylinux1-x64 manylinux1-x86 manylinux2010-x64 manylinux2010-x86 manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 | NON_STANDARD_IMAGES = manylinux2014-x64 manylinux2014-x86 \ | ||||||
|  | 	manylinux2014-aarch64 web-wasm | ||||||
|  |  | ||||||
| # Docker composite files | # Docker composite files | ||||||
| DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.crosstool common.windows common-manylinux.crosstool common.dockcross common.label-and-env | DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux \ | ||||||
|  | 	common.crosstool common.windows common-manylinux.crosstool common.dockcross common.label-and-env | ||||||
| DOCKER_COMPOSITE_FOLDER_PATH = common/ | DOCKER_COMPOSITE_FOLDER_PATH = common/ | ||||||
| DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES)) | DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES)) | ||||||
|  |  | ||||||
| @@ -32,7 +50,7 @@ DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COM | |||||||
| IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES) | IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES) | ||||||
|  |  | ||||||
| # Optional arguments for test runner (test/run.py) associated with "testing implicit rule" | # Optional arguments for test runner (test/run.py) associated with "testing implicit rule" | ||||||
| linux-ppc64le.test_ARGS = --languages C | linux-x64-tinycc.test_ARGS = --languages C | ||||||
| windows-static-x86.test_ARGS = --exe-suffix ".exe" | windows-static-x86.test_ARGS = --exe-suffix ".exe" | ||||||
| windows-static-x64.test_ARGS = --exe-suffix ".exe" | windows-static-x64.test_ARGS = --exe-suffix ".exe" | ||||||
| windows-static-x64-posix.test_ARGS = --exe-suffix ".exe" | windows-static-x64-posix.test_ARGS = --exe-suffix ".exe" | ||||||
| @@ -119,7 +137,8 @@ manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile | |||||||
| 	rm -rf $@/imagefiles | 	rm -rf $@/imagefiles | ||||||
|  |  | ||||||
| manylinux2014-aarch64.test: manylinux2014-aarch64 | manylinux2014-aarch64.test: manylinux2014-aarch64 | ||||||
| 	$(DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64 > $(BIN)/dockcross-manylinux2014-aarch64 && chmod +x $(BIN)/dockcross-manylinux2014-aarch64 | 	$(DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64 > $(BIN)/dockcross-manylinux2014-aarch64 \ | ||||||
|  | 		&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64 | ||||||
| 	$(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py | 	$(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py | ||||||
|  |  | ||||||
| # | # | ||||||
| @@ -137,7 +156,8 @@ manylinux2014-x64: manylinux2014-x64/Dockerfile | |||||||
| 	rm -rf $@/imagefiles | 	rm -rf $@/imagefiles | ||||||
|  |  | ||||||
| manylinux2014-x64.test: manylinux2014-x64 | manylinux2014-x64.test: manylinux2014-x64 | ||||||
| 	$(DOCKER) run $(RM) $(ORG)/manylinux2014-x64 > $(BIN)/dockcross-manylinux2014-x64 && chmod +x $(BIN)/dockcross-manylinux2014-x64 | 	$(DOCKER) run $(RM) $(ORG)/manylinux2014-x64 > $(BIN)/dockcross-manylinux2014-x64 \ | ||||||
|  | 		&& chmod +x $(BIN)/dockcross-manylinux2014-x64 | ||||||
| 	$(BIN)/dockcross-manylinux2014-x64 /opt/python/cp38-cp38/bin/python test/run.py | 	$(BIN)/dockcross-manylinux2014-x64 /opt/python/cp38-cp38/bin/python test/run.py | ||||||
|  |  | ||||||
| # | # | ||||||
| @@ -155,89 +175,10 @@ manylinux2014-x86: manylinux2014-x86/Dockerfile | |||||||
| 	rm -rf $@/imagefiles | 	rm -rf $@/imagefiles | ||||||
|  |  | ||||||
| manylinux2014-x86.test: manylinux2014-x86 | manylinux2014-x86.test: manylinux2014-x86 | ||||||
| 	$(DOCKER) run $(RM) $(ORG)/manylinux2014-x86 > $(BIN)/dockcross-manylinux2014-x86 && chmod +x $(BIN)/dockcross-manylinux2014-x86 | 	$(DOCKER) run $(RM) $(ORG)/manylinux2014-x86 > $(BIN)/dockcross-manylinux2014-x86 \ | ||||||
|  | 		&& chmod +x $(BIN)/dockcross-manylinux2014-x86 | ||||||
| 	$(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py | 	$(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py | ||||||
|  |  | ||||||
| # |  | ||||||
| # manylinux2010-x64 |  | ||||||
| # |  | ||||||
|  |  | ||||||
| manylinux2010-x64: manylinux2010-x64/Dockerfile |  | ||||||
| 	mkdir -p $@/imagefiles && cp -r imagefiles $@/ |  | ||||||
| 	$(DOCKER) build -t $(ORG)/manylinux2010-x64:latest \ |  | ||||||
| 		-t $(ORG)/manylinux2010-x64:$(TAG) \ |  | ||||||
| 		--build-arg IMAGE=$(ORG)/manylinux2010-x64 \ |  | ||||||
| 		--build-arg VCS_REF=`git rev-parse --short HEAD` \ |  | ||||||
| 		--build-arg VCS_URL=`git config --get remote.origin.url` \ |  | ||||||
| 		--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ |  | ||||||
| 		-f manylinux2010-x64/Dockerfile . |  | ||||||
| 	rm -rf $@/imagefiles |  | ||||||
|  |  | ||||||
| manylinux2010-x64.test: manylinux2010-x64 |  | ||||||
| 	$(DOCKER) run $(RM) dockcross/manylinux2010-x64 > $(BIN)/dockcross-manylinux2010-x64 && chmod +x $(BIN)/dockcross-manylinux2010-x64 |  | ||||||
| 	$(BIN)/dockcross-manylinux2010-x64 /opt/python/cp38-cp38/bin/python test/run.py |  | ||||||
|  |  | ||||||
| # |  | ||||||
| # manylinux2010-x86 |  | ||||||
| # |  | ||||||
|  |  | ||||||
| manylinux2010-x86: manylinux2010-x86/Dockerfile |  | ||||||
| 	mkdir -p $@/imagefiles && cp -r imagefiles $@/ |  | ||||||
| 	$(DOCKER) build -t $(ORG)/manylinux2010-x86:latest \ |  | ||||||
| 		-t $(ORG)/manylinux2010-x86:$(TAG) \ |  | ||||||
| 		--build-arg IMAGE=$(ORG)/manylinux2010-x86 \ |  | ||||||
| 		--build-arg VCS_REF=`git rev-parse --short HEAD` \ |  | ||||||
| 		--build-arg VCS_URL=`git config --get remote.origin.url` \ |  | ||||||
| 		--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ |  | ||||||
| 		-f manylinux2010-x86/Dockerfile . |  | ||||||
| 	rm -rf $@/imagefiles |  | ||||||
|  |  | ||||||
| manylinux2010-x86.test: manylinux2010-x86 |  | ||||||
| 	$(DOCKER) run $(RM) $(ORG)/manylinux2010-x86 > $(BIN)/dockcross-manylinux2010-x86 && chmod +x $(BIN)/dockcross-manylinux2010-x86 |  | ||||||
| 	$(BIN)/dockcross-manylinux2010-x86 /opt/python/cp38-cp38/bin/python test/run.py |  | ||||||
|  |  | ||||||
| # |  | ||||||
| # manylinux1-x64 |  | ||||||
| # |  | ||||||
|  |  | ||||||
| manylinux1-x64: manylinux1-x64/Dockerfile |  | ||||||
| 	mkdir -p $@/imagefiles && cp -r imagefiles $@/ |  | ||||||
| 	$(DOCKER) build -t $(ORG)/manylinux1-x64:latest \ |  | ||||||
| 		-t $(ORG)/manylinux1-x64:$(TAG) \ |  | ||||||
| 		--build-arg IMAGE=$(ORG)/manylinux1-x64 \ |  | ||||||
| 		--build-arg VCS_REF=`git rev-parse --short HEAD` \ |  | ||||||
| 		--build-arg VCS_URL=`git config --get remote.origin.url` \ |  | ||||||
| 		--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ |  | ||||||
| 		-f manylinux1-x64/Dockerfile . |  | ||||||
| 	rm -rf $@/imagefiles |  | ||||||
|  |  | ||||||
| manylinux1-x64.test: manylinux1-x64 |  | ||||||
| 	$(DOCKER) run $(RM) $(ORG)/manylinux1-x64 > $(BIN)/dockcross-manylinux1-x64 && chmod +x $(BIN)/dockcross-manylinux1-x64 |  | ||||||
| 	$(BIN)/dockcross-manylinux1-x64 /opt/python/cp38-cp38/bin/python test/run.py |  | ||||||
|  |  | ||||||
| # |  | ||||||
| # manylinux1-x86 |  | ||||||
| # |  | ||||||
|  |  | ||||||
| manylinux1-x86: manylinux1-x86/Dockerfile |  | ||||||
| 	mkdir -p $@/imagefiles && cp -r imagefiles $@/ |  | ||||||
| 	$(DOCKER) build -t $(ORG)/manylinux1-x86:latest \ |  | ||||||
| 		-t $(ORG)/manylinux1-x86:$(TAG) \ |  | ||||||
| 		--build-arg IMAGE=$(ORG)/manylinux1-x86 \ |  | ||||||
| 		--build-arg VCS_REF=`git rev-parse --short HEAD` \ |  | ||||||
| 		--build-arg VCS_URL=`git config --get remote.origin.url` \ |  | ||||||
| 		--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ |  | ||||||
| 		-f manylinux1-x86/Dockerfile . |  | ||||||
| 	rm -rf $@/imagefiles |  | ||||||
|  |  | ||||||
| manylinux1-x86.test: manylinux1-x86 |  | ||||||
| 	$(DOCKER) run $(RM) $(ORG)/manylinux1-x86 > $(BIN)/dockcross-manylinux1-x86 && chmod +x $(BIN)/dockcross-manylinux1-x86 |  | ||||||
| 	$(BIN)/dockcross-manylinux1-x86 /opt/python/cp38-cp38/bin/python test/run.py |  | ||||||
|  |  | ||||||
| # |  | ||||||
| # base |  | ||||||
| # |  | ||||||
|  |  | ||||||
| base: Dockerfile imagefiles/ | base: Dockerfile imagefiles/ | ||||||
| 	$(DOCKER) build -t $(ORG)/base:latest \ | 	$(DOCKER) build -t $(ORG)/base:latest \ | ||||||
| 		-t $(ORG)/base:$(TAG) \ | 		-t $(ORG)/base:$(TAG) \ | ||||||
| @@ -271,27 +212,29 @@ $(STANDARD_IMAGES): %: %/Dockerfile base | |||||||
| 	rm -rf $@/imagefiles | 	rm -rf $@/imagefiles | ||||||
|  |  | ||||||
| clean: | clean: | ||||||
| 	for d in $(STANDARD_IMAGES) ; do rm -rf $$d/imagefiles ; done | 	for d in $(IMAGES) ; do rm -rf $$d/imagefiles ; done | ||||||
|  | 	for d in $(IMAGES) ; do rm -rf $(BIN)/dockcross-$$d ; done | ||||||
| 	for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d ; done | 	for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d ; done | ||||||
| 	rm -f Dockerfile | 	rm -f Dockerfile | ||||||
|  |  | ||||||
| purge: clean | purge: clean | ||||||
| # Remove all untagged images | # Remove all untagged images | ||||||
| 	$(DOCKER) container ls -aq | xargs --no-run-if-empty $(DOCKER) container rm -f | 	$(DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f | ||||||
| # Remove all images with organization (ex dockcross/*) | # Remove all images with organization (ex dockcross/*) | ||||||
| 	$(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f | 	$(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f | ||||||
|  |  | ||||||
| # Check bash syntax | # Check bash syntax | ||||||
| bash-check: | bash-check: | ||||||
| 	find . -type f \( -name "*.sh" -o -name "*.bash" \) -print0 | xargs -0 -P"$(shell nproc)" -I{} \ | 	find . -type f \( -name "*.sh" -o -name "*.bash" \) -print0 | xargs -0 -P"$(shell nproc)" -I{} \ | ||||||
| 		$(SHELLCHECK) --check-sourced --color=auto --format=gcc --severity=error --shell=bash --enable=all "{}" | 		$(SHELLCHECK) --check-sourced --color=auto --format=gcc --severity=warning --shell=bash --enable=all "{}" | ||||||
|  |  | ||||||
| # | # | ||||||
| # testing implicit rule | # testing implicit rule | ||||||
| # | # | ||||||
| .SECONDEXPANSION: | .SECONDEXPANSION: | ||||||
| $(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@) | $(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@) | ||||||
| 	$(DOCKER) run $(RM) $(ORG)/$(basename $@) > $(BIN)/dockcross-$(basename $@) && chmod +x $(BIN)/dockcross-$(basename $@) | 	$(DOCKER) run $(RM) $(ORG)/$(basename $@) > $(BIN)/dockcross-$(basename $@) \ | ||||||
|  | 		&& chmod +x $(BIN)/dockcross-$(basename $@) | ||||||
| 	$(BIN)/dockcross-$(basename $@) python3 test/run.py $($@_ARGS) | 	$(BIN)/dockcross-$(basename $@) python3 test/run.py $($@_ARGS) | ||||||
|  |  | ||||||
| # | # | ||||||
| @@ -302,4 +245,4 @@ test.prerequisites: | |||||||
|  |  | ||||||
| $(addsuffix .test,base $(IMAGES)): test.prerequisites | $(addsuffix .test,base $(IMAGES)): test.prerequisites | ||||||
|  |  | ||||||
| .PHONY: base images $(IMAGES) test %.test clean purge | .PHONY: base images $(IMAGES) test %.test clean purge bash-check display_images | ||||||
|   | |||||||
							
								
								
									
										56
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								README.md
									
									
									
									
									
								
							| @@ -149,7 +149,13 @@ Linux armv5 cross compiler toolchain using | |||||||
|  |  | ||||||
|    |    | ||||||
|  |  | ||||||
| Linux ARMv6 cross compiler toolchain for the Raspberry Pi, etc. | Linux ARMv6 cross compiler toolchain for the Raspberry Pi | ||||||
|  |  | ||||||
|  | ### dockcross/linux-armv6-lts | ||||||
|  |  | ||||||
|  |    | ||||||
|  |  | ||||||
|  | Linux ARMv6 cross compiler toolchain for the Raspberry Pi (Debian buster...) | ||||||
|  |  | ||||||
| ### dockcross/linux-armv6-musl | ### dockcross/linux-armv6-musl | ||||||
|  |  | ||||||
| @@ -280,54 +286,6 @@ has installations of CMake, Ninja, and | |||||||
| [scikit-build](http://scikit-build.org). For CMake, it sets | [scikit-build](http://scikit-build.org). For CMake, it sets | ||||||
| [MANYLINUX2014]{.title-ref} to \"TRUE\" in the toolchain. | [MANYLINUX2014]{.title-ref} to \"TRUE\" in the toolchain. | ||||||
|  |  | ||||||
| ### dockcross/manylinux2010-x64 |  | ||||||
|  |  | ||||||
|    |  | ||||||
|  |  | ||||||
| Docker [manylinux2010](https://github.com/pypa/manylinux) |  | ||||||
| image for building Linux x86_64 / amd64 [Python wheel |  | ||||||
| packages](http://pythonwheels.com/). It includes Python 2.7, 3.4, |  | ||||||
| 3.5, 3.6, 3.7 and 3.8. Also has support for the dockcross script, |  | ||||||
| and it has installations of CMake, Ninja, and |  | ||||||
| [scikit-build](http://scikit-build.org). For CMake, it sets |  | ||||||
| [MANYLINUX2010]{.title-ref} to \"TRUE\" in the toolchain. |  | ||||||
|  |  | ||||||
| ### dockcross/manylinux2010-x86 |  | ||||||
|  |  | ||||||
|    |  | ||||||
|  |  | ||||||
| Docker [manylinux2010](https://github.com/pypa/manylinux) image for |  | ||||||
| building Linux i686 [Python wheel |  | ||||||
| packages](http://pythonwheels.com/). It includes Python 2.7, 3.4, |  | ||||||
| 3.5, 3.6, 3.7 and 3.8. Also has support for the dockcross script, |  | ||||||
| and it has installations of CMake, Ninja, and |  | ||||||
| [scikit-build](http://scikit-build.org). For CMake, it sets |  | ||||||
| [MANYLINUX2010]{.title-ref} to \"TRUE\" in the toolchain. |  | ||||||
|  |  | ||||||
| ### dockcross/manylinux1-x64 |  | ||||||
|  |  | ||||||
|    |  | ||||||
|  |  | ||||||
| Docker [manylinux1](https://github.com/pypa/manylinux/tree/manylinux1) |  | ||||||
| image for building Linux x86_64 / amd64 [Python wheel |  | ||||||
| packages](http://pythonwheels.com/). It includes Python 2.7, 3.4, |  | ||||||
| 3.5, 3.6, 3.7 and 3.8. Also has support for the dockcross script, |  | ||||||
| and it has installations of CMake, Ninja, and |  | ||||||
| [scikit-build](http://scikit-build.org). For CMake, it sets |  | ||||||
| [MANYLINUX1]{.title-ref} to \"TRUE\" in the toolchain. |  | ||||||
|  |  | ||||||
| ### dockcross/manylinux1-x86 |  | ||||||
|  |  | ||||||
|     |  | ||||||
|  |  | ||||||
| Docker [manylinux1](https://github.com/pypa/manylinux/tree/manylinux1) |  | ||||||
| image for building Linux i686 [Python wheel |  | ||||||
| packages](http://pythonwheels.com/). It includes Python 2.7, 3.4, |  | ||||||
| 3.5, 3.6, 3.7 and 3.8. Also has support for the dockcross script, |  | ||||||
| and it has installations of CMake, Ninja, and |  | ||||||
| [scikit-build](http://scikit-build.org). For CMake, it sets |  | ||||||
| [MANYLINUX1]{.title-ref} to \"TRUE\" in the toolchain. |  | ||||||
|  |  | ||||||
| ### dockcross/web-wasm | ### dockcross/web-wasm | ||||||
|  |  | ||||||
|    |    | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ ENV MANYLINUX_DEPS="glibc-devel glibc-devel.i686 libstdc++-devel glib2-devel lib | |||||||
|  |  | ||||||
| ENV PYTHON_COMPILE_DEPS="python-devel zlib-devel bzip2-devel expat-devel ncurses-devel readline-devel tk-devel gdbm-devel libdb-devel libpcap-devel xz-devel openssl-devel keyutils-libs-devel krb5-devel libcom_err-devel libidn-devel curl-devel perl-devel" | ENV PYTHON_COMPILE_DEPS="python-devel zlib-devel bzip2-devel expat-devel ncurses-devel readline-devel tk-devel gdbm-devel libdb-devel libpcap-devel xz-devel openssl-devel keyutils-libs-devel krb5-devel libcom_err-devel libidn-devel curl-devel perl-devel" | ||||||
|  |  | ||||||
| ENV TOOLCHAIN_DEPS="devtoolset-9-binutils devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-gcc-gfortran" | ENV TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran" | ||||||
|  |  | ||||||
| # Install dependent packages required for `ct-ng`. | # Install dependent packages required for `ct-ng`. | ||||||
| RUN \ | RUN \ | ||||||
| @@ -62,7 +62,7 @@ RUN \ | |||||||
|   rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh && \ |   rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh && \ | ||||||
|   # Remove sudo provided by devtoolset since it doesn't work with |   # Remove sudo provided by devtoolset since it doesn't work with | ||||||
|   # our sudo wrapper calling gosu. |   # our sudo wrapper calling gosu. | ||||||
|   rm -f /opt/rh/devtoolset-9/root/usr/bin/sudo |   rm -f /opt/rh/devtoolset-10/root/usr/bin/sudo | ||||||
|  |  | ||||||
| # Restore our default workdir (from "dockcross/base"). | # Restore our default workdir (from "dockcross/base"). | ||||||
| WORKDIR /work | WORKDIR /work | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ COPY \ | |||||||
|   /buildscripts/ |   /buildscripts/ | ||||||
|  |  | ||||||
| RUN \ | RUN \ | ||||||
|   X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux1-x86" -o "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2010-x86" -o "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "-32" || echo "") && \ |   X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "-32" || echo "") && \ | ||||||
|   /buildscripts/build-and-install-openssl.sh $X86_FLAG && \ |   /buildscripts/build-and-install-openssl.sh $X86_FLAG && \ | ||||||
|   /buildscripts/build-and-install-openssh.sh && \ |   /buildscripts/build-and-install-openssh.sh && \ | ||||||
|   /buildscripts/build-and-install-curl.sh && \ |   /buildscripts/build-and-install-curl.sh && \ | ||||||
|   | |||||||
| @@ -23,6 +23,7 @@ RUN \ | |||||||
|   rm -f /opt/rh/devtoolset-7/root/usr/bin/sudo && \ |   rm -f /opt/rh/devtoolset-7/root/usr/bin/sudo && \ | ||||||
|   rm -f /opt/rh/devtoolset-8/root/usr/bin/sudo && \ |   rm -f /opt/rh/devtoolset-8/root/usr/bin/sudo && \ | ||||||
|   rm -f /opt/rh/devtoolset-9/root/usr/bin/sudo && \ |   rm -f /opt/rh/devtoolset-9/root/usr/bin/sudo && \ | ||||||
|  |   rm -f /opt/rh/devtoolset-10/root/usr/bin/sudo && \ | ||||||
|   /buildscripts/install-python-packages.sh && \ |   /buildscripts/install-python-packages.sh && \ | ||||||
|   rm -rf /buildscripts |   rm -rf /buildscripts | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,6 +4,9 @@ set -ex | |||||||
|  |  | ||||||
| WRAPPER="" | WRAPPER="" | ||||||
|  |  | ||||||
|  | CMAKE_URL="https://gitlab.kitware.com/cmake/cmake.git" | ||||||
|  | CMAKE_MIRROR_URL="https://github.com/Kitware/CMake.git" | ||||||
|  |  | ||||||
| while [ $# -gt 0 ]; do | while [ $# -gt 0 ]; do | ||||||
|   case "$1" in |   case "$1" in | ||||||
|     -32) |     -32) | ||||||
| @@ -22,22 +25,24 @@ if ! command -v git &> /dev/null; then | |||||||
| 	exit 1 | 	exit 1 | ||||||
| fi | fi | ||||||
|  |  | ||||||
| if [[ "${CMAKE_VERSION}" == "" ]]; then | if [[ -z "${CMAKE_VERSION}" ]]; then | ||||||
|   echo >&2 'error: CMAKE_VERSION env. variable must be set to a non-empty value' |   echo >&2 'error: CMAKE_VERSION env. variable must be set to a non-empty value' | ||||||
|   exit 1 |   exit 1 | ||||||
| fi | fi | ||||||
|  |  | ||||||
| cd /usr/src | cd /usr/src | ||||||
|  |  | ||||||
| git clone https://gitlab.kitware.com/cmake/cmake.git CMake -b v$CMAKE_VERSION --depth 1 | # If the first link doesn't work, it will use the mirror on github | ||||||
|  | git clone "$CMAKE_URL" CMake -b v$CMAKE_VERSION --depth 1 \ | ||||||
|  |   || git clone "$CMAKE_MIRROR_URL" CMake -b v$CMAKE_VERSION --depth 1 | ||||||
|  |  | ||||||
| mkdir /usr/src/CMake-build | mkdir /usr/src/CMake-build | ||||||
| cd /usr/src/CMake-build | cd /usr/src/CMake-build | ||||||
|  |  | ||||||
| ${WRAPPER} /usr/src/CMake/bootstrap \ | ${WRAPPER} /usr/src/CMake/bootstrap \ | ||||||
|   --parallel=$(nproc) \ |   --parallel="$(nproc)" \ | ||||||
|   -- -DCMAKE_USE_OPENSSL=OFF |   -- -DCMAKE_USE_OPENSSL=OFF | ||||||
| ${WRAPPER} make -j$(nproc) | ${WRAPPER} make -j"$(nproc)" | ||||||
|  |  | ||||||
|  |  | ||||||
| mkdir /usr/src/CMake-ssl-build | mkdir /usr/src/CMake-ssl-build | ||||||
| @@ -50,10 +55,10 @@ ${WRAPPER} /usr/src/CMake-build/bin/cmake \ | |||||||
|   -DCMAKE_USE_OPENSSL:BOOL=ON \ |   -DCMAKE_USE_OPENSSL:BOOL=ON \ | ||||||
|   -DOPENSSL_ROOT_DIR:PATH=/usr/local/ssl \ |   -DOPENSSL_ROOT_DIR:PATH=/usr/local/ssl \ | ||||||
|   ../CMake |   ../CMake | ||||||
| ${WRAPPER} make -j$(nproc) install | ${WRAPPER} make -j"$(nproc)" install | ||||||
|  |  | ||||||
| # Cleanup install tree | # Cleanup install tree | ||||||
| cd /usr/src/cmake-$CMAKE_VERSION | cd "/usr/src/cmake-$CMAKE_VERSION" | ||||||
| rm -rf doc man | rm -rf doc man | ||||||
|  |  | ||||||
| # Install files | # Install files | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ function do_curl_build { | |||||||
|     # We do this shared to avoid obnoxious linker issues where git couldn't |     # We do this shared to avoid obnoxious linker issues where git couldn't | ||||||
|     # link properly. If anyone wants to make this build statically go for it. |     # link properly. If anyone wants to make this build statically go for it. | ||||||
|     LIBS=-ldl CFLAGS=-Wl,--exclude-libs,ALL ./configure --with-ssl --disable-static > /dev/null |     LIBS=-ldl CFLAGS=-Wl,--exclude-libs,ALL ./configure --with-ssl --disable-static > /dev/null | ||||||
|     make -j$(nproc) > /dev/null |     make -j"$(nproc)" > /dev/null | ||||||
|     make install > /dev/null |     make install > /dev/null | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -29,7 +29,13 @@ function build_curl { | |||||||
|     local curl_sha256=$2 |     local curl_sha256=$2 | ||||||
|     check_var ${curl_sha256} |     check_var ${curl_sha256} | ||||||
|     check_var ${CURL_DOWNLOAD_URL} |     check_var ${CURL_DOWNLOAD_URL} | ||||||
|     curl -fsSLO ${CURL_DOWNLOAD_URL}/${curl_fname}.tar.gz |     curl --connect-timeout 30 \ | ||||||
|  |         --max-time 10 \ | ||||||
|  |         --retry 5 \ | ||||||
|  |         --retry-delay 10 \ | ||||||
|  |         --retry-max-time 30 \ | ||||||
|  |         -fsSLO ${CURL_DOWNLOAD_URL}/${curl_fname}.tar.gz | ||||||
|  |  | ||||||
|     check_sha256sum ${curl_fname}.tar.gz ${curl_sha256} |     check_sha256sum ${curl_fname}.tar.gz ${curl_sha256} | ||||||
|     tar -zxf ${curl_fname}.tar.gz |     tar -zxf ${curl_fname}.tar.gz | ||||||
|     (cd curl-*/ && do_curl_build) |     (cd curl-*/ && do_curl_build) | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ if ! command -v tar &> /dev/null; then | |||||||
| 	exit 1 | 	exit 1 | ||||||
| fi | fi | ||||||
|  |  | ||||||
| if [[ "${GIT_VERSION}" == "" ]]; then | if [[ -z "${GIT_VERSION}" ]]; then | ||||||
|   echo >&2 'error: GIT_VERSION env. variable must be set to a non-empty value' |   echo >&2 'error: GIT_VERSION env. variable must be set to a non-empty value' | ||||||
|   exit 1 |   exit 1 | ||||||
| fi | fi | ||||||
| @@ -25,14 +25,19 @@ cd /usr/src | |||||||
|  |  | ||||||
| url="https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz" | url="https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz" | ||||||
| echo "Downloading $url" | echo "Downloading $url" | ||||||
| curl -# -LO $url | curl --connect-timeout 20 \ | ||||||
|  |     --max-time 10 \ | ||||||
|  |     --retry 5 \ | ||||||
|  |     --retry-delay 10 \ | ||||||
|  |     --retry-max-time 40 \ | ||||||
|  |     -# -LO $url | ||||||
|  |  | ||||||
| tar xvzf git-${GIT_VERSION}.tar.gz  --no-same-owner | tar xvzf git-${GIT_VERSION}.tar.gz  --no-same-owner | ||||||
| rm -f git-${GIT_VERSION}.tar.gz | rm -f git-${GIT_VERSION}.tar.gz | ||||||
|  |  | ||||||
| pushd git-${GIT_VERSION} | pushd git-${GIT_VERSION} | ||||||
| ./configure --prefix=/usr/local --with-curl | ./configure --prefix=/usr/local --with-curl | ||||||
| make -j$(nproc) | make -j"$(nproc)" | ||||||
| make install | make install | ||||||
| popd | popd | ||||||
|  |  | ||||||
|   | |||||||
| @@ -27,7 +27,13 @@ done | |||||||
|  |  | ||||||
| # Download | # Download | ||||||
| REV=v1.10.2 | REV=v1.10.2 | ||||||
| curl -# -o ninja.tar.gz -LO https://github.com/ninja-build/ninja/archive/$REV.tar.gz | curl --connect-timeout 30 \ | ||||||
|  |     --max-time 10 \ | ||||||
|  |     --retry 5 \ | ||||||
|  |     --retry-delay 10 \ | ||||||
|  |     --retry-max-time 30 \ | ||||||
|  |     -# -o ninja.tar.gz -LO https://github.com/ninja-build/ninja/archive/$REV.tar.gz | ||||||
|  |  | ||||||
| mkdir ninja | mkdir ninja | ||||||
| tar -xzvf ./ninja.tar.gz --strip-components=1 -C ./ninja | tar -xzvf ./ninja.tar.gz --strip-components=1 -C ./ninja | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,7 +5,13 @@ set -ex | |||||||
| OPENSSH_ROOT=V_8_5_P1 | OPENSSH_ROOT=V_8_5_P1 | ||||||
|  |  | ||||||
| cd /usr/src | cd /usr/src | ||||||
| curl -LO https://github.com/openssh/openssh-portable/archive/${OPENSSH_ROOT}.tar.gz | curl --connect-timeout 20 \ | ||||||
|  |     --max-time 10 \ | ||||||
|  |     --retry 5 \ | ||||||
|  |     --retry-delay 10 \ | ||||||
|  |     --retry-max-time 40 \ | ||||||
|  |     -LO https://github.com/openssh/openssh-portable/archive/${OPENSSH_ROOT}.tar.gz | ||||||
|  |  | ||||||
| tar -xvf ${OPENSSH_ROOT}.tar.gz | tar -xvf ${OPENSSH_ROOT}.tar.gz | ||||||
| rm -f ${OPENSSH_ROOT}.tar.gz | rm -f ${OPENSSH_ROOT}.tar.gz | ||||||
|  |  | ||||||
|   | |||||||
| @@ -53,13 +53,13 @@ OPENSSL_HASH=892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5 | |||||||
| OPENSSL_DOWNLOAD_URL=http://www.openssl.org/source/ | OPENSSL_DOWNLOAD_URL=http://www.openssl.org/source/ | ||||||
|  |  | ||||||
| # a recent enough perl is needed to build openssl | # a recent enough perl is needed to build openssl | ||||||
| PERL_ROOT=perl-5.32.1 | PERL_ROOT=perl-5.32.2 | ||||||
| PERL_HASH=03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c | PERL_HASH=03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c | ||||||
| PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0 | PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0 | ||||||
|  |  | ||||||
| function do_perl_build { | function do_perl_build { | ||||||
|     ${WRAPPER} sh Configure -des -Dprefix=/opt/perl > /dev/null |     ${WRAPPER} sh Configure -des -Dprefix=/opt/perl > /dev/null | ||||||
|     ${WRAPPER} make -j$(nproc) > /dev/null |     ${WRAPPER} make -j"$(nproc)" > /dev/null | ||||||
|     ${WRAPPER} make install > /dev/null |     ${WRAPPER} make install > /dev/null | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -69,7 +69,13 @@ function build_perl { | |||||||
|     local perl_sha256=$2 |     local perl_sha256=$2 | ||||||
|     check_var ${perl_sha256} |     check_var ${perl_sha256} | ||||||
|     check_var ${PERL_DOWNLOAD_URL} |     check_var ${PERL_DOWNLOAD_URL} | ||||||
|     curl -fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz |     curl --connect-timeout 30 \ | ||||||
|  |         --max-time 10 \ | ||||||
|  |         --retry 5 \ | ||||||
|  |         --retry-delay 10 \ | ||||||
|  |         --retry-max-time 30 \ | ||||||
|  |         -fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz | ||||||
|  |  | ||||||
|     check_sha256sum ${perl_fname}.tar.gz ${perl_sha256} |     check_sha256sum ${perl_fname}.tar.gz ${perl_sha256} | ||||||
|     tar -xzf ${perl_fname}.tar.gz |     tar -xzf ${perl_fname}.tar.gz | ||||||
|     (cd ${perl_fname} && do_perl_build) |     (cd ${perl_fname} && do_perl_build) | ||||||
| @@ -78,7 +84,7 @@ function build_perl { | |||||||
|  |  | ||||||
| function do_openssl_build { | function do_openssl_build { | ||||||
|     ${WRAPPER} ./config no-shared -fPIC $CONFIG_FLAG --prefix=/usr/local/ssl --openssldir=/usr/local/ssl > /dev/null |     ${WRAPPER} ./config no-shared -fPIC $CONFIG_FLAG --prefix=/usr/local/ssl --openssldir=/usr/local/ssl > /dev/null | ||||||
|     ${WRAPPER} make -j$(nproc) > /dev/null |     ${WRAPPER} make -j"$(nproc)" > /dev/null | ||||||
|     ${WRAPPER} make install_sw > /dev/null |     ${WRAPPER} make install_sw > /dev/null | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -88,7 +94,13 @@ function build_openssl { | |||||||
|     local openssl_sha256=$2 |     local openssl_sha256=$2 | ||||||
|     check_var ${openssl_sha256} |     check_var ${openssl_sha256} | ||||||
|     check_var ${OPENSSL_DOWNLOAD_URL} |     check_var ${OPENSSL_DOWNLOAD_URL} | ||||||
|     curl -fsSLO ${OPENSSL_DOWNLOAD_URL}/${openssl_fname}.tar.gz |     curl --connect-timeout 30 \ | ||||||
|  |         --max-time 10 \ | ||||||
|  |         --retry 5 \ | ||||||
|  |         --retry-delay 10 \ | ||||||
|  |         --retry-max-time 30 \ | ||||||
|  |         -fsSLO ${OPENSSL_DOWNLOAD_URL}/${openssl_fname}.tar.gz | ||||||
|  |  | ||||||
|     check_sha256sum ${openssl_fname}.tar.gz ${openssl_sha256} |     check_sha256sum ${openssl_fname}.tar.gz ${openssl_sha256} | ||||||
|     tar -xzf ${openssl_fname}.tar.gz |     tar -xzf ${openssl_fname}.tar.gz | ||||||
|     (cd ${openssl_fname} && PATH=/opt/perl/bin:${PATH} do_openssl_build) |     (cd ${openssl_fname} && PATH=/opt/perl/bin:${PATH} do_openssl_build) | ||||||
|   | |||||||
| @@ -26,12 +26,12 @@ done | |||||||
|  |  | ||||||
| # Download | # Download | ||||||
| wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz | wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz | ||||||
| tar xvf Python-${PYTHON_VERSION}.tgz | tar xvf "Python-${PYTHON_VERSION}.tgz" | ||||||
| # Configure, build and install | # Configure, build and install | ||||||
| cd Python-${PYTHON_VERSION} | cd "Python-${PYTHON_VERSION}" | ||||||
| # Disable --enable-shared --enable-optimizations --prefix=/usr/local/python-${PYTHON_VERSION} | # Disable --enable-shared --enable-optimizations --prefix=/usr/local/python-${PYTHON_VERSION} | ||||||
| ./configure --with-ensurepip=install | ./configure --with-ensurepip=install | ||||||
| make -j$(nproc)  | make -j"$(nproc)" | ||||||
| make install #altinstall | make install #altinstall | ||||||
|  |  | ||||||
| ln -s /usr/local/bin/python3 /usr/local/bin/python | ln -s /usr/local/bin/python3 /usr/local/bin/python | ||||||
| @@ -39,4 +39,4 @@ ln -s /usr/local/bin/pip3 /usr/local/bin/pip | |||||||
|  |  | ||||||
| # Clean | # Clean | ||||||
| cd .. | cd .. | ||||||
| rm -rf Python-${PYTHON_VERSION} | rm -rf "Python-${PYTHON_VERSION}" | ||||||
|   | |||||||
| @@ -37,8 +37,8 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then | |||||||
|     fi |     fi | ||||||
|  |  | ||||||
|     # Enable passwordless sudo capabilities for the user |     # Enable passwordless sudo capabilities for the user | ||||||
|     chown root:$BUILDER_GID $(which gosu) |     chown root:$BUILDER_GID "$(which gosu)" | ||||||
|     chmod +s $(which gosu); sync |     chmod +s "$(which gosu)"; sync | ||||||
|  |  | ||||||
|     # Execute project specific pre execution hook |     # Execute project specific pre execution hook | ||||||
|     if [[ -e /work/.dockcross ]]; then |     if [[ -e /work/.dockcross ]]; then | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ if ! command -v tar &> /dev/null; then | |||||||
| 	exit 1 | 	exit 1 | ||||||
| fi | fi | ||||||
|  |  | ||||||
| if [[ "${CMAKE_VERSION}" == "" ]]; then | if [[ -z "${CMAKE_VERSION}" ]]; then | ||||||
|   echo >&2 'error: CMAKE_VERSION env. variable must be set to a non-empty value' |   echo >&2 'error: CMAKE_VERSION env. variable must be set to a non-empty value' | ||||||
|   exit 1 |   exit 1 | ||||||
| fi | fi | ||||||
| @@ -38,7 +38,12 @@ cd /usr/src | |||||||
| CMAKE_ROOT=cmake-${CMAKE_VERSION}-Centos5-${ARCH} | CMAKE_ROOT=cmake-${CMAKE_VERSION}-Centos5-${ARCH} | ||||||
| url=https://github.com/dockbuild/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_ROOT}.tar.gz | url=https://github.com/dockbuild/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_ROOT}.tar.gz | ||||||
| echo "Downloading $url" | echo "Downloading $url" | ||||||
| curl -# -LO $url | curl --connect-timeout 30 \ | ||||||
|  |     --max-time 10 \ | ||||||
|  |     --retry 5 \ | ||||||
|  |     --retry-delay 10 \ | ||||||
|  |     --retry-max-time 30 \ | ||||||
|  |     -# -LO $url | ||||||
|  |  | ||||||
| tar -xzvf ${CMAKE_ROOT}.tar.gz | tar -xzvf ${CMAKE_ROOT}.tar.gz | ||||||
| rm -f ${CMAKE_ROOT}.tar.gz | rm -f ${CMAKE_ROOT}.tar.gz | ||||||
|   | |||||||
| @@ -89,7 +89,7 @@ BOOTSTRAP_PREFIX="${CTNG}/prefix" | |||||||
| ./bootstrap | ./bootstrap | ||||||
| ./configure \ | ./configure \ | ||||||
|   --prefix "${BOOTSTRAP_PREFIX}" |   --prefix "${BOOTSTRAP_PREFIX}" | ||||||
| make -j$(nproc) | make -j"$(nproc)" | ||||||
| make install | make install | ||||||
|  |  | ||||||
| ## | ## | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ if ! command -v gpg &> /dev/null; then | |||||||
| fi | fi | ||||||
|  |  | ||||||
| GOSU_VERSION=1.12 | GOSU_VERSION=1.12 | ||||||
| dpkgArch=$(if test $(uname -m) = "x86_64"; then echo amd64; else echo i386; fi) | dpkgArch=$(if test "$(uname -m)" = "x86_64"; then echo amd64; else echo i386; fi) | ||||||
| url="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}" | url="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}" | ||||||
| url_key="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}.asc" | url_key="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}.asc" | ||||||
|  |  | ||||||
| @@ -26,10 +26,20 @@ gpg --keyserver hkp://pgp.key-server.io:80 --recv-keys B42F6819007F00F88E364FD40 | |||||||
| gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 | gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 | ||||||
|  |  | ||||||
| echo "Downloading $url" | echo "Downloading $url" | ||||||
| curl -o /usr/local/bin/gosu -# -SL $url | curl --connect-timeout 30 \ | ||||||
|  |     --max-time 10 \ | ||||||
|  |     --retry 5 \ | ||||||
|  |     --retry-delay 10 \ | ||||||
|  |     --retry-max-time 30 \ | ||||||
|  |     -o /usr/local/bin/gosu -# -SL $url | ||||||
|  |  | ||||||
| echo "Downloading $url_key" | echo "Downloading $url_key" | ||||||
| curl -o /usr/local/bin/gosu.asc -# -SL $url_key | curl --connect-timeout 30 \ | ||||||
|  |     --max-time 10 \ | ||||||
|  |     --retry 5 \ | ||||||
|  |     --retry-delay 10 \ | ||||||
|  |     --retry-max-time 30 \ | ||||||
|  |     -o /usr/local/bin/gosu.asc -# -SL $url_key | ||||||
|  |  | ||||||
| gpg --verify /usr/local/bin/gosu.asc | gpg --verify /usr/local/bin/gosu.asc | ||||||
|  |  | ||||||
|   | |||||||
| @@ -22,8 +22,13 @@ cd /tmp | |||||||
|  |  | ||||||
| # Todo: Need to update base image from Debian Stretch for the required Python | # Todo: Need to update base image from Debian Stretch for the required Python | ||||||
| # 3.6 or later | # 3.6 or later | ||||||
| curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py | curl --connect-timeout 30 \ | ||||||
| #curl -# -LO https://bootstrap.pypa.io/pip/2.7/get-pip.py |         --max-time 10 \ | ||||||
|  |         --retry 5 \ | ||||||
|  |         --retry-delay 10 \ | ||||||
|  |         --retry-max-time 30 \ | ||||||
|  |         -# -LO https://bootstrap.pypa.io/pip/get-pip.py | ||||||
|  |  | ||||||
| ${PYTHON} get-pip.py --ignore-installed | ${PYTHON} get-pip.py --ignore-installed | ||||||
| rm get-pip.py | rm get-pip.py | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,28 +0,0 @@ | |||||||
| FROM quay.io/pypa/manylinux1_x86_64:latest |  | ||||||
| MAINTAINER Matt McCormick "matt.mccormick@kitware.com" |  | ||||||
|  |  | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux1-x64 |  | ||||||
| ENV CMAKE_BIN true |  | ||||||
|  |  | ||||||
| #include "common.manylinux" |  | ||||||
|  |  | ||||||
| #include "common.dockcross" |  | ||||||
|  |  | ||||||
| #include "common.docker" |  | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE x86_64-linux-gnu |  | ||||||
| ENV CROSS_ROOT /opt/rh/devtoolset-2/root/usr/bin |  | ||||||
| ENV AS=${CROSS_ROOT}/as \ |  | ||||||
|     AR=${CROSS_ROOT}/ar \ |  | ||||||
|     CC=${CROSS_ROOT}/gcc \ |  | ||||||
|     CPP=${CROSS_ROOT}/cpp \ |  | ||||||
|     CXX=${CROSS_ROOT}/g++ \ |  | ||||||
|     LD=${CROSS_ROOT}/ld \ |  | ||||||
|     FC=${CROSS_ROOT}/gfortran |  | ||||||
|  |  | ||||||
| COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop |  | ||||||
|  |  | ||||||
| COPY manylinux1-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/ |  | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake |  | ||||||
|  |  | ||||||
| #include "common.label-and-env" |  | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| set(CMAKE_SYSTEM_NAME Linux) |  | ||||||
| set(CMAKE_CROSSCOMPILING FALSE) |  | ||||||
| set(CMAKE_SYSTEM_VERSION 1) |  | ||||||
| set(CMAKE_SYSTEM_PROCESSOR x86_64) |  | ||||||
|  |  | ||||||
| set(MANYLINUX1 TRUE) |  | ||||||
|  |  | ||||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-2/root/usr/bin/gcc) |  | ||||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-2/root/usr/bin/g++) |  | ||||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) |  | ||||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-2/root/usr/bin/gfortran) |  | ||||||
| @@ -1,31 +0,0 @@ | |||||||
| FROM quay.io/pypa/manylinux1_i686:latest |  | ||||||
| MAINTAINER Matt McCormick "matt.mccormick@kitware.com" |  | ||||||
|  |  | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux1-x86 |  | ||||||
| ENV CMAKE_BIN true |  | ||||||
|  |  | ||||||
| #include "common.manylinux" |  | ||||||
|  |  | ||||||
| #include "common.dockcross" |  | ||||||
|  |  | ||||||
| #include "common.docker" |  | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE i686-linux-gnu |  | ||||||
| ENV CROSS_ROOT /opt/rh/devtoolset-2/root/usr/bin |  | ||||||
| ENV AS=${CROSS_ROOT}/as \ |  | ||||||
|     AR=${CROSS_ROOT}/ar \ |  | ||||||
|     CC=${CROSS_ROOT}/gcc \ |  | ||||||
|     CPP=${CROSS_ROOT}/cpp \ |  | ||||||
|     CXX=${CROSS_ROOT}/g++ \ |  | ||||||
|     LD=${CROSS_ROOT}/ld \ |  | ||||||
|     FC=${CROSS_ROOT}/gfortran |  | ||||||
|  |  | ||||||
| COPY linux-x86/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop |  | ||||||
|  |  | ||||||
| COPY manylinux1-x86/Toolchain.cmake ${CROSS_ROOT}/../lib/ |  | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake |  | ||||||
|  |  | ||||||
| COPY linux-x86/linux32-entrypoint.sh /dockcross/ |  | ||||||
| ENTRYPOINT ["/dockcross/linux32-entrypoint.sh"] |  | ||||||
|  |  | ||||||
| #include "common.label-and-env" |  | ||||||
| @@ -1,15 +0,0 @@ | |||||||
| set(CMAKE_SYSTEM_NAME Linux) |  | ||||||
| set(CMAKE_CROSSCOMPILING FALSE) |  | ||||||
| set(CMAKE_SYSTEM_VERSION 1) |  | ||||||
| set(CMAKE_SYSTEM_PROCESSOR i686) |  | ||||||
|  |  | ||||||
| set(MANYLINUX1 TRUE) |  | ||||||
|  |  | ||||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-2/root/usr/bin/gcc) |  | ||||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-2/root/usr/bin/g++) |  | ||||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) |  | ||||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-2/root/usr/bin/gfortran) |  | ||||||
|  |  | ||||||
| # Discard path returned by pkg-config and associated with HINTS in module |  | ||||||
| # like FindOpenSSL. |  | ||||||
| set(CMAKE_IGNORE_PATH /usr/lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/lib/) |  | ||||||
| @@ -1,32 +0,0 @@ | |||||||
| FROM quay.io/pypa/manylinux2010_x86_64:latest |  | ||||||
| MAINTAINER Matt McCormick "matt.mccormick@kitware.com" |  | ||||||
|  |  | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2010-x64 |  | ||||||
|  |  | ||||||
| #include "common.manylinux" |  | ||||||
|  |  | ||||||
| #include "common.dockcross" |  | ||||||
|  |  | ||||||
| #include "common.docker" |  | ||||||
|  |  | ||||||
| # Override yum to work around the problem with newly built libcurl.so.4 |  | ||||||
| # https://access.redhat.com/solutions/641093 |  | ||||||
| RUN echo $'#!/bin/bash\n\ |  | ||||||
| LD_PRELOAD=/usr/lib/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum |  | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE x86_64-linux-gnu |  | ||||||
| ENV CROSS_ROOT /opt/rh/devtoolset-8/root/usr/bin |  | ||||||
| ENV AS=${CROSS_ROOT}/as \ |  | ||||||
|     AR=${CROSS_ROOT}/ar \ |  | ||||||
|     CC=${CROSS_ROOT}/gcc \ |  | ||||||
|     CPP=${CROSS_ROOT}/cpp \ |  | ||||||
|     CXX=${CROSS_ROOT}/g++ \ |  | ||||||
|     LD=${CROSS_ROOT}/ld \ |  | ||||||
|     FC=${CROSS_ROOT}/gfortran |  | ||||||
|  |  | ||||||
| COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop |  | ||||||
|  |  | ||||||
| COPY manylinux2010-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/ |  | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake |  | ||||||
|  |  | ||||||
| #include "common.label-and-env" |  | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| set(CMAKE_SYSTEM_NAME Linux) |  | ||||||
| set(CMAKE_CROSSCOMPILING FALSE) |  | ||||||
| set(CMAKE_SYSTEM_VERSION 1) |  | ||||||
| set(CMAKE_SYSTEM_PROCESSOR x86_64) |  | ||||||
|  |  | ||||||
| set(MANYLINUX2010 TRUE) |  | ||||||
|  |  | ||||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gcc) |  | ||||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-8/root/usr/bin/g++) |  | ||||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) |  | ||||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gfortran) |  | ||||||
| @@ -1,35 +0,0 @@ | |||||||
| FROM quay.io/pypa/manylinux2010_i686:latest |  | ||||||
| MAINTAINER Matt McCormick "matt.mccormick@kitware.com" |  | ||||||
|  |  | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2010-x86 |  | ||||||
|  |  | ||||||
| #include "common.manylinux" |  | ||||||
|  |  | ||||||
| #include "common.dockcross" |  | ||||||
|  |  | ||||||
| #include "common.docker" |  | ||||||
|  |  | ||||||
| # Override yum to work around the problem with newly built libcurl.so.4 |  | ||||||
| # https://access.redhat.com/solutions/641093 |  | ||||||
| RUN echo $'#!/bin/bash\n\ |  | ||||||
| LD_PRELOAD=/usr/lib/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum |  | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE i686-linux-gnu |  | ||||||
| ENV CROSS_ROOT /opt/rh/devtoolset-8/root/usr/bin |  | ||||||
| ENV AS=${CROSS_ROOT}/as \ |  | ||||||
|     AR=${CROSS_ROOT}/ar \ |  | ||||||
|     CC=${CROSS_ROOT}/gcc \ |  | ||||||
|     CPP=${CROSS_ROOT}/cpp \ |  | ||||||
|     CXX=${CROSS_ROOT}/g++ \ |  | ||||||
|     LD=${CROSS_ROOT}/ld \ |  | ||||||
|     FC=${CROSS_ROOT}/gfortran |  | ||||||
|  |  | ||||||
| COPY linux-x86/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop |  | ||||||
|  |  | ||||||
| COPY manylinux2010-x86/Toolchain.cmake ${CROSS_ROOT}/../lib/ |  | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake |  | ||||||
|  |  | ||||||
| COPY linux-x86/linux32-entrypoint.sh /dockcross/ |  | ||||||
| ENTRYPOINT ["/dockcross/linux32-entrypoint.sh"] |  | ||||||
|  |  | ||||||
| #include "common.label-and-env" |  | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| set(CMAKE_SYSTEM_NAME Linux) |  | ||||||
| set(CMAKE_CROSSCOMPILING FALSE) |  | ||||||
| set(CMAKE_SYSTEM_VERSION 1) |  | ||||||
| set(CMAKE_SYSTEM_PROCESSOR i686) |  | ||||||
|  |  | ||||||
| set(MANYLINUX2010 TRUE) |  | ||||||
|  |  | ||||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gcc) |  | ||||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-8/root/usr/bin/g++) |  | ||||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) |  | ||||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-8/root/usr/bin/gfortran) |  | ||||||
| @@ -16,7 +16,7 @@ RUN echo $'#!/bin/bash\n\ | |||||||
| LD_PRELOAD=/usr/lib64/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum | LD_PRELOAD=/usr/lib64/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE x86_64-linux-gnu | ENV CROSS_TRIPLE x86_64-linux-gnu | ||||||
| ENV CROSS_ROOT /opt/rh/devtoolset-9/root/usr/bin | ENV CROSS_ROOT /opt/rh/devtoolset-10/root/usr/bin | ||||||
| ENV AS=${CROSS_ROOT}/as \ | ENV AS=${CROSS_ROOT}/as \ | ||||||
|     AR=${CROSS_ROOT}/ar \ |     AR=${CROSS_ROOT}/ar \ | ||||||
|     CC=${CROSS_ROOT}/gcc \ |     CC=${CROSS_ROOT}/gcc \ | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ set(CMAKE_SYSTEM_PROCESSOR x86_64) | |||||||
|  |  | ||||||
| set(MANYLINUX2014 TRUE) | set(MANYLINUX2014 TRUE) | ||||||
|  |  | ||||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-9/root/usr/bin/gcc) | set(CMAKE_C_COMPILER /opt/rh/devtoolset-10/root/usr/bin/gcc) | ||||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-9/root/usr/bin/g++) | set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-10/root/usr/bin/g++) | ||||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | ||||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-9/root/usr/bin/gfortran) | set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-10/root/usr/bin/gfortran) | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ RUN echo $'#!/bin/bash\n\ | |||||||
| LD_PRELOAD=/usr/lib/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum | LD_PRELOAD=/usr/lib/libcurl.so.4 /usr/bin/yum "$@"' > /usr/local/bin/yum && chmod a+x /usr/local/bin/yum | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE i686-linux-gnu | ENV CROSS_TRIPLE i686-linux-gnu | ||||||
| ENV CROSS_ROOT /opt/rh/devtoolset-9/root/usr/bin | ENV CROSS_ROOT /opt/rh/devtoolset-10/root/usr/bin | ||||||
| ENV AS=${CROSS_ROOT}/as \ | ENV AS=${CROSS_ROOT}/as \ | ||||||
|     AR=${CROSS_ROOT}/ar \ |     AR=${CROSS_ROOT}/ar \ | ||||||
|     CC=${CROSS_ROOT}/gcc \ |     CC=${CROSS_ROOT}/gcc \ | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ set(CMAKE_SYSTEM_PROCESSOR i686) | |||||||
|  |  | ||||||
| set(MANYLINUX2014 TRUE) | set(MANYLINUX2014 TRUE) | ||||||
|  |  | ||||||
| set(CMAKE_C_COMPILER /opt/rh/devtoolset-9/root/usr/bin/gcc) | set(CMAKE_C_COMPILER /opt/rh/devtoolset-10/root/usr/bin/gcc) | ||||||
| set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-9/root/usr/bin/g++) | set(CMAKE_CXX_COMPILER /opt/rh/devtoolset-10/root/usr/bin/g++) | ||||||
| set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) | ||||||
| set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-9/root/usr/bin/gfortran) | set(CMAKE_Fortran_COMPILER /opt/rh/devtoolset-10/root/usr/bin/gfortran) | ||||||
|   | |||||||
| @@ -1,26 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| set -euo pipefail |  | ||||||
|  |  | ||||||
| # More info: https://github.com/GoogleContainerTools/container-diff |  | ||||||
|  |  | ||||||
| if (( $# < 1 || $# > 2  )); then |  | ||||||
|     echo "Need 1 or 2 arguments: <img1> <img2>" |  | ||||||
|     exit 1 |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| if (( $# == 1 )); then |  | ||||||
|     container-diff analyze $1 --type=history 2>&1 | tee -a analyze-history.txt |  | ||||||
|     container-diff analyze $1 --type=file 2>&1 | tee -a analyze-file.txt |  | ||||||
|     container-diff analyze $1 --type=size 2>&1 | tee -a analyze-size.txt |  | ||||||
|     container-diff analyze $1 --type=apt 2>&1 | tee -a analyze-apt.txt |  | ||||||
|     container-diff analyze $1 --type=pip 2>&1 | tee -a analyze-pip.txt |  | ||||||
|  |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| if (( $# == 2 )); then |  | ||||||
|     container-diff diff $1 $2 --type=history 2>&1 | tee -a diff-history.txt |  | ||||||
|     container-diff diff $1 $2 --type=file 2>&1 | tee -a diff-file.txt |  | ||||||
|     container-diff diff $1 $2 --type=size 2>&1 | tee -a diff-size.txt |  | ||||||
|     container-diff diff $1 $2 --type=apt 2>&1 | tee -a diff-apt.txt |  | ||||||
|     container-diff diff $1 $2 --type=pip 2>&1 | tee -a diff-pip.txt |  | ||||||
| fi |  | ||||||
							
								
								
									
										24
									
								
								tools/dockcross-builder.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								tools/dockcross-builder.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | if (( $# >= 1 )); then | ||||||
|  |     image=$1 | ||||||
|  |     build_file=build-${image%:*} | ||||||
|  |     shift 1 | ||||||
|  |  | ||||||
|  |     cmake_arg=$* | ||||||
|  |     echo "cmake arg: $cmake_arg" | ||||||
|  |  | ||||||
|  |     echo "Pulling dockcross/$image" | ||||||
|  |     docker pull dockcross/"$image" | ||||||
|  |  | ||||||
|  |     echo "Make script dockcross-$image" | ||||||
|  |     docker run --rm dockcross/"$image" > ./dockcross-"$image" | ||||||
|  |     chmod +x ./dockcross-"$image" | ||||||
|  |  | ||||||
|  |     echo "Build $build_file" | ||||||
|  |     ./dockcross-"$image" cmake -B "$build_file" -S . -G Ninja "$cmake_arg" | ||||||
|  |     ./dockcross-"$image" ninja -C "$build_file" | ||||||
|  | else | ||||||
|  |     echo "Usage: ${0##*/} <docker imag (ex: linux-x64/linux-x64-clang/linux-arm64/windows-shared-x64/windows-static-x64...)> <cmake arg.>" | ||||||
|  |     exit 1 | ||||||
|  | fi | ||||||
							
								
								
									
										26
									
								
								tools/docker-container-diff.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								tools/docker-container-diff.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | if (( $# < 1 || $# > 2  )); then | ||||||
|  |     echo "Need 1 or 2 arguments: <img1> <img2>" | ||||||
|  |     echo "For local image: daemon://<img>" | ||||||
|  |     echo "For remote image: remote://<img>" | ||||||
|  |     echo "More info: https://github.com/GoogleContainerTools/container-diff" | ||||||
|  |     exit 1 | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if (( $# == 1 )); then | ||||||
|  |     container-diff analyze "$1" --type=history 2>&1 | tee -a analyze-history.txt | ||||||
|  |     container-diff analyze "$1" --type=file 2>&1 | tee -a analyze-file.txt | ||||||
|  |     container-diff analyze "$1" --type=size 2>&1 | tee -a analyze-size.txt | ||||||
|  |     container-diff analyze "$1" --type=apt 2>&1 | tee -a analyze-apt.txt | ||||||
|  |     container-diff analyze "$1" --type=pip 2>&1 | tee -a analyze-pip.txt | ||||||
|  |  | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if (( $# == 2 )); then | ||||||
|  |     container-diff diff "$1" "$2" --type=history 2>&1 | tee -a diff-history.txt | ||||||
|  |     container-diff diff "$1" "$2" --type=file 2>&1 | tee -a diff-file.txt | ||||||
|  |     container-diff diff "$1" "$2" --type=size 2>&1 | tee -a diff-size.txt | ||||||
|  |     container-diff diff "$1" "$2" --type=apt 2>&1 | tee -a diff-apt.txt | ||||||
|  |     container-diff diff "$1" "$2" --type=pip 2>&1 | tee -a diff-pip.txt | ||||||
|  | fi | ||||||
		Reference in New Issue
	
	Block a user