Skip to content
This repository was archived by the owner on Jan 1, 2024. It is now read-only.

Commit e41cb4c

Browse files
committed
Bump alpine to 3.5 including fixes for telldus-core to compile
1 parent 4b16bbb commit e41cb4c

File tree

2 files changed

+84
-12
lines changed

2 files changed

+84
-12
lines changed

Dockerfile

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM lsiobase/alpine
1+
FROM lsiobase/alpine:3.5
22
MAINTAINER saarg
33

44
# set version label
@@ -20,18 +20,21 @@ RUN \
2020
boost-dev \
2121
cmake \
2222
curl-dev \
23+
doxygen \
2324
eudev-dev \
2425
g++ \
2526
gcc \
2627
git \
2728
libcurl \
29+
libftdi1-dev \
2830
libusb-compat-dev \
2931
libusb-dev \
3032
linux-headers \
3133
lua5.2-dev \
3234
make \
3335
mosquitto-dev \
34-
openssl-dev \
36+
musl-dev \
37+
libressl-dev \
3538
pkgconf \
3639
sqlite-dev \
3740
tar \
@@ -45,13 +48,6 @@ RUN \
4548
curl \
4649
gzip && \
4750

48-
# install telldus-core build-dependencies from edge
49-
apk add --no-cache --virtual=telldus-build-dependencies-edge \
50-
--repository http://nl.alpinelinux.org/alpine/edge/community \
51-
doxygen \
52-
libftdi1-dev && \
53-
54-
5551
# add runtime packages required in build stage
5652
apk add --no-cache \
5753
python3-dev && \
@@ -72,6 +68,7 @@ RUN \
7268
https://raw.githubusercontent.com/telldus/telldus/master/telldus-core/Doxyfile.in && \
7369
cp /tmp/patches/Socket_unix.cpp /tmp/telldus-core/common/Socket_unix.cpp && \
7470
cp /tmp/patches/ConnectionListener_unix.cpp /tmp/telldus-core/service/ConnectionListener_unix.cpp && \
71+
cp /tmp/patches/CMakeLists.txt /tmp/telldus-core/CMakeLists.txt && \
7572
cd /tmp/telldus-core && \
7673
cmake -DBUILD_TDADMIN=false -DCMAKE_INSTALL_PREFIX=/tmp/telldus-core . && \
7774
make && \
@@ -97,7 +94,7 @@ RUN \
9794
# build domoticz
9895
git clone https://github.com/domoticz/domoticz.git /tmp/domoticz && \
9996
cd /tmp/domoticz && \
100-
cmake \
97+
cmake \
10198
-DBUILD_SHARED_LIBS=True \
10299
-DCMAKE_BUILD_TYPE=Release \
103100
-DCMAKE_INSTALL_PREFIX=/var/lib/domoticz \
@@ -128,8 +125,7 @@ cmake \
128125
# cleanup build dependencies
129126
apk del --purge \
130127
build-dependencies \
131-
telldus-build-dependencies \
132-
telldus-build-dependencies-edge && \
128+
telldus-build-dependencies && \
133129

134130

135131
# add abc to dialout and cron group trying to fix different GID for dialout group

patches/tmp/patches/CMakeLists.txt

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
PROJECT( telldus-core )
2+
3+
CMAKE_MINIMUM_REQUIRED( VERSION 2.6.0 )
4+
SET(CMAKE_CXX_STANDARD 98)
5+
6+
CMAKE_POLICY(SET CMP0003 NEW)
7+
8+
SET(PACKAGE_MAJOR_VERSION 2)
9+
SET(PACKAGE_MINOR_VERSION 1)
10+
SET(PACKAGE_PATCH_VERSION 2)
11+
SET(PACKAGE_VERSION "${PACKAGE_MAJOR_VERSION}.${PACKAGE_MINOR_VERSION}.${PACKAGE_PATCH_VERSION}")
12+
SET(PACKAGE_SUBVERSION "")
13+
SET(PACKAGE_SOVERSION 2)
14+
15+
SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
16+
17+
IF (PACKAGE_SUBVERSION)
18+
SET(DISPLAYED_VERSION "${PACKAGE_VERSION}_${PACKAGE_SUBVERSION}")
19+
ELSE (PACKAGE_SUBVERSION)
20+
SET(DISPLAYED_VERSION ${PACKAGE_VERSION})
21+
ENDIF(PACKAGE_SUBVERSION)
22+
23+
SET(BUILD_LIBTELLDUS-CORE TRUE CACHE BOOL "Build libtelldus-core")
24+
25+
IF (WIN32)
26+
SET(TDADMIN_DEFAULT FALSE)
27+
ELSEIF(APPLE)
28+
SET(TDADMIN_DEFAULT FALSE)
29+
ELSE (WIN32)
30+
SET(TDADMIN_DEFAULT TRUE)
31+
ENDIF (WIN32)
32+
33+
IF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
34+
INCLUDE_DIRECTORIES(/usr/local/include)
35+
LINK_DIRECTORIES(/usr/local/lib)
36+
ENDIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
37+
38+
SET(BUILD_TDTOOL TRUE CACHE BOOL "Build tdtool")
39+
SET(BUILD_TDADMIN ${TDADMIN_DEFAULT} CACHE BOOL "Build tdadmin")
40+
41+
SET(GENERATE_MAN FALSE CACHE BOOL "Enable generation of man-files")
42+
43+
ADD_SUBDIRECTORY(common)
44+
ADD_SUBDIRECTORY(service)
45+
ADD_SUBDIRECTORY(client)
46+
47+
IF(BUILD_TDTOOL)
48+
IF(WIN32)
49+
ADD_SUBDIRECTORY(3rdparty/openbsd-getopt)
50+
ENDIF()
51+
ADD_SUBDIRECTORY(tdtool)
52+
ENDIF(BUILD_TDTOOL)
53+
IF(BUILD_TDADMIN)
54+
ADD_SUBDIRECTORY(tdadmin)
55+
ENDIF(BUILD_TDADMIN)
56+
57+
ENABLE_TESTING()
58+
ADD_SUBDIRECTORY(tests)
59+
60+
FIND_PACKAGE(Doxygen)
61+
62+
IF(DOXYGEN_FOUND)
63+
SET(DOXY_CONFIG ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
64+
65+
CONFIGURE_FILE(
66+
"${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in"
67+
${DOXY_CONFIG} @ONLY
68+
)
69+
70+
ADD_CUSTOM_TARGET(docs
71+
${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG}
72+
DEPENDS ${DOXY_CONFIG}
73+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
74+
COMMENT "Generating doxygen documentation" VERBATIM
75+
)
76+
ENDIF()

0 commit comments

Comments
 (0)