mirror of
https://github.com/ohwgiles/laminar.git
synced 2024-10-27 20:34:20 +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