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 | ### This file is part of Laminar | ||||||
| ### | ### | ||||||
| @ -22,7 +22,7 @@ cmake_policy(SET CMP0058 NEW) | |||||||
| 
 | 
 | ||||||
| set(CMAKE_INCLUDE_CURRENT_DIR ON) | 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") | 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 | # 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