mirror of
				https://github.com/ohwgiles/laminar.git
				synced 2025-06-13 12:54:29 +00:00 
			
		
		
		
	use c++17, deprecate debian 9 (stretch) packaging
C++17 has some nice new features, but Debian Stretch doesn't support a compiler which can use it. Stretch is oldstable for a while now anyway, so just deprecate support.
This commit is contained in:
		
							parent
							
								
									c690be3a90
								
							
						
					
					
						commit
						0f2e601692
					
				| @ -1,5 +1,5 @@ | ||||
| ### | ||||
| ### Copyright 2015-2019 Oliver Giles | ||||
| ### Copyright 2015-2020 Oliver Giles | ||||
| ### | ||||
| ### This file is part of Laminar | ||||
| ### | ||||
| @ -22,7 +22,7 @@ cmake_policy(SET CMP0058 NEW) | ||||
| 
 | ||||
| set(CMAKE_INCLUDE_CURRENT_DIR ON) | ||||
| 
 | ||||
| add_definitions("-std=c++14 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare") | ||||
| add_definitions("-std=c++17 -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare") | ||||
| set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Werror -DDEBUG") | ||||
| 
 | ||||
| # This macro takes a list of files, gzips them and converts the output into | ||||
|  | ||||
| @ -1,68 +0,0 @@ | ||||
| #!/bin/bash -e | ||||
| 
 | ||||
| OUTPUT_DIR=$PWD | ||||
| 
 | ||||
| SOURCE_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]})/..) | ||||
| 
 | ||||
| VERSION=$(cd "$SOURCE_DIR" && git describe --tags --abbrev=8 --dirty)-1~upstream-debian9 | ||||
| 
 | ||||
| DOCKER_TAG=$(docker build -q - <<EOS | ||||
| FROM debian:9-slim | ||||
| RUN apt-get update && apt-get install -y wget cmake g++ libsqlite3-dev libboost-dev zlib1g-dev | ||||
| EOS | ||||
| ) | ||||
| 
 | ||||
| docker run --rm -i -v $SOURCE_DIR:/laminar:ro -v $OUTPUT_DIR:/output $DOCKER_TAG bash -xe <<EOS | ||||
| 
 | ||||
| mkdir /build | ||||
| cd /build | ||||
| 
 | ||||
| wget -O capnproto.tar.gz https://github.com/capnproto/capnproto/archive/v0.7.0.tar.gz | ||||
| wget -O rapidjson.tar.gz https://github.com/miloyip/rapidjson/archive/v1.1.0.tar.gz | ||||
| md5sum -c <<EOF | ||||
| a9de5f042f4cf05515c2d7dfc7f5df21  capnproto.tar.gz | ||||
| badd12c511e081fec6c89c43a7027bce  rapidjson.tar.gz | ||||
| EOF | ||||
| 
 | ||||
| tar xzf capnproto.tar.gz | ||||
| tar xzf rapidjson.tar.gz | ||||
| 
 | ||||
| cd /build/capnproto-0.7.0/c++/ | ||||
| cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=off . | ||||
| make -j4 | ||||
| make install | ||||
| 
 | ||||
| cd /build/rapidjson-1.1.0/ | ||||
| cmake -DRAPIDJSON_BUILD_EXAMPLES=off . | ||||
| make install | ||||
| 
 | ||||
| cd /build | ||||
| cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/ -DZSH_COMPLETIONS_DIR=/usr/share/zsh/functions/Completion/Unix /laminar | ||||
| make -j4 | ||||
| mkdir laminar | ||||
| make DESTDIR=laminar install/strip | ||||
| 
 | ||||
| mkdir laminar/DEBIAN | ||||
| cat <<EOF > laminar/DEBIAN/control | ||||
| Package: laminar | ||||
| Version: $VERSION | ||||
| Section:  | ||||
| Priority: optional | ||||
| Architecture: amd64 | ||||
| Maintainer: Oliver Giles <web ohwg net> | ||||
| Depends: libsqlite3-0, zlib1g | ||||
| Description: Lightweight Continuous Integration Service | ||||
| EOF | ||||
| echo /etc/laminar.conf > laminar/DEBIAN/conffiles | ||||
| cat <<EOF > laminar/DEBIAN/postinst | ||||
| #!/bin/bash | ||||
| echo Creating laminar user with home in /var/lib/laminar | ||||
| useradd -r -d /var/lib/laminar -s /usr/sbin/nologin laminar | ||||
| mkdir -p /var/lib/laminar/cfg/{jobs,contexts,scripts} | ||||
| chown -R laminar: /var/lib/laminar | ||||
| EOF | ||||
| chmod +x laminar/DEBIAN/postinst | ||||
| 
 | ||||
| dpkg-deb --build laminar | ||||
| mv laminar.deb /output/laminar_${VERSION}_amd64.deb | ||||
| EOS | ||||
| @ -1,88 +0,0 @@ | ||||
| #!/bin/bash -e | ||||
| 
 | ||||
| OUTPUT_DIR=$PWD | ||||
| 
 | ||||
| SOURCE_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]})/..) | ||||
| 
 | ||||
| VERSION=$(cd "$SOURCE_DIR" && git describe --tags --abbrev=8 --dirty)-1~upstream-debian9 | ||||
| 
 | ||||
| DOCKER_TAG=$(docker build -q - <<EOS | ||||
| FROM debian:9-slim | ||||
| RUN dpkg --add-architecture armhf && apt-get update && apt-get install -y wget cmake crossbuild-essential-armhf libsqlite3-dev:armhf libboost-dev:armhf zlib1g-dev:armhf | ||||
| EOS | ||||
| ) | ||||
| 
 | ||||
| docker run --rm -i -v $SOURCE_DIR:/laminar:ro -v $OUTPUT_DIR:/output $DOCKER_TAG bash -xe <<EOS | ||||
| 
 | ||||
| mkdir /build | ||||
| cd /build | ||||
| 
 | ||||
| cat > toolchain.cmake <<EOF | ||||
| SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) | ||||
| SET(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) | ||||
| set(CMAKE_LIBRARY_ARCHITECTURE arm-linux-gnueabihf) | ||||
| EOF | ||||
| 
 | ||||
| wget -O capnproto.tar.gz https://github.com/capnproto/capnproto/archive/v0.7.0.tar.gz | ||||
| wget -O rapidjson.tar.gz https://github.com/miloyip/rapidjson/archive/v1.1.0.tar.gz | ||||
| md5sum -c <<EOF | ||||
| a9de5f042f4cf05515c2d7dfc7f5df21  capnproto.tar.gz | ||||
| badd12c511e081fec6c89c43a7027bce  rapidjson.tar.gz | ||||
| EOF | ||||
| 
 | ||||
| tar xzf capnproto.tar.gz | ||||
| tar xzf rapidjson.tar.gz | ||||
| 
 | ||||
| mkdir capnproto-host | ||||
| cd capnproto-host | ||||
| cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=off /build/capnproto-0.7.0/c++/ | ||||
| make -j4 | ||||
| make install | ||||
| 
 | ||||
| cd /build/capnproto-0.7.0/c++/ | ||||
| cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/usr/arm-linux-gnueabihf/ . | ||||
| make -j4 | ||||
| make install | ||||
| 
 | ||||
| cd /build/rapidjson-1.1.0/ | ||||
| cmake -DRAPIDJSON_BUILD_EXAMPLES=off -DCMAKE_INSTALL_PREFIX=/usr/arm-linux-gnueabihf/ . | ||||
| make install | ||||
| 
 | ||||
| cd /build | ||||
| cmake \ | ||||
| 	-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \ | ||||
| 	-DCMAKE_LINKER=/usr/bin/arm-linux-gnueabihf-ld \ | ||||
| 	-DCMAKE_OBJCOPY=/usr/bin/arm-linux-gnueabihf-objcopy \ | ||||
| 	-DCMAKE_STRIP=/usr/bin/arm-linux-gnueabihf-strip \ | ||||
| 	-DCMAKE_BUILD_TYPE=Release \ | ||||
| 	-DCMAKE_INSTALL_PREFIX=/ \ | ||||
| 	-DZSH_COMPLETIONS_DIR=/usr/share/zsh/functions/Completion/Unix \ | ||||
| 	/laminar | ||||
| make -j4 | ||||
| mkdir laminar | ||||
| make DESTDIR=laminar install/strip | ||||
| 
 | ||||
| mkdir laminar/DEBIAN | ||||
| cat <<EOF > laminar/DEBIAN/control | ||||
| Package: laminar | ||||
| Version: $VERSION | ||||
| Section:  | ||||
| Priority: optional | ||||
| Architecture: armhf | ||||
| Maintainer: Oliver Giles <web ohwg net> | ||||
| Depends: libsqlite3-0, zlib1g | ||||
| Description: Lightweight Continuous Integration Service | ||||
| EOF | ||||
| echo /etc/laminar.conf > laminar/DEBIAN/conffiles | ||||
| cat <<EOF > laminar/DEBIAN/postinst | ||||
| #!/bin/bash | ||||
| echo Creating laminar user with home in /var/lib/laminar | ||||
| useradd -r -d /var/lib/laminar -s /usr/sbin/nologin laminar | ||||
| mkdir -p /var/lib/laminar/cfg/{jobs,contexts,scripts} | ||||
| chown -R laminar: /var/lib/laminar | ||||
| EOF | ||||
| chmod +x laminar/DEBIAN/postinst | ||||
| 
 | ||||
| dpkg-deb --build laminar | ||||
| mv laminar.deb /output/laminar_${VERSION}_armhf.deb | ||||
| EOS | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user