Update rpm and deb build files. (#1786)

update debian and rpm spec files
This commit is contained in:
Justin Hammond 2019-05-08 19:31:58 +08:00 committed by GitHub
parent 5d8e1ced2b
commit d75185c823
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 95 additions and 151 deletions

View file

@ -13,10 +13,10 @@
# what flags we will use for compiling in debug mode
DEBUG_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-inline -Wno-format -Werror -Wno-error=sequence-point -Wno-sequence-point -ggdb -DDEBUG -fPIC -DSYSCONFDIR="\"$(PREFIX)/etc/openzwave/\"" -DOPENZWAVE_ENABLE_EXCEPTIONS=1
DEBUG_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-inline -Werror -Wno-error=sequence-point -Wno-sequence-point -ggdb -DDEBUG -fPIC -DSYSCONFDIR="\"$(PREFIX)/etc/openzwave/\"" -DOPENZWAVE_ENABLE_EXCEPTIONS=1
DEBUG_CPPFLAGS := -std=c++11
# what flags we will use for compiling in release mode
RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Werror -Wno-format -Wno-error=sequence-point -Wno-sequence-point -O3 -DNDEBUG -fPIC -DSYSCONFDIR="\"$(PREFIX)/etc/openzwave/\"" -DOPENZWAVE_ENABLE_EXCEPTIONS=1
RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Werror -Wno-error=sequence-point -Wno-sequence-point -O3 -DNDEBUG -fPIC -DSYSCONFDIR="\"$(PREFIX)/etc/openzwave/\"" -DOPENZWAVE_ENABLE_EXCEPTIONS=1
RELEASE_CPPFLAGS := -std=c++11
#what flags we will use for linking in debug mode
DEBUG_LDFLAGS := -g

View file

@ -10,8 +10,8 @@
.PHONY: default clean
DEBUG_CFLAGS := -Wall -Wno-format -ggdb -DDEBUG $(CPPFLAGS)
RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -O3 $(CPPFLAGS)
DEBUG_CFLAGS := -Wall -ggdb -DDEBUG $(CPPFLAGS)
RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -O3 $(CPPFLAGS)
DEBUG_LDFLAGS := -g
@ -71,7 +71,7 @@ $(OBJDIR)/%.o : %.cc
$(top_builddir)/gtest-main: $(patsubst %.cc,$(OBJDIR)/%.o,$(gtestsrc)) \
$(patsubst %.cpp,$(OBJDIR)/%.o,$(testsrc))
@echo "Linking $@"
$(LD) $(LDFLAGS) $(TARCH) -o $@ $+ $(LIBS) -pthread
@$(LD) $(LDFLAGS) $(TARCH) -o $@ $+ $(LIBS) -pthread
test: $(top_builddir)/gtest-main
$(top_builddir)/gtest-main

5
debian/changelog vendored
View file

@ -1,5 +0,0 @@
openzwave (1.4+ds-1) unstable; urgency=medium
* Initial release
-- Justin Hammond <justin@dynam.ac> Thur, 16 July 2018 22:36:00 +0800

2
debian/compat vendored
View file

@ -1 +1 @@
10
11

21
debian/control vendored
View file

@ -1,23 +1,24 @@
Source: openzwave
Maintainer: Justin Hammond <justin@dynam.ac>
Uploaders: Justin Hammond <justin@dynam.ac>
Maintainer: Debian IoT Maintainers <debian-iot-maintainers@lists.alioth.debian.org>
Uploaders: Thorsten Alteholz <debian@alteholz.de>
Section: devel
Priority: optional
Build-Depends: debhelper
Build-Depends: debhelper (>= 10)
, dh-exec (>=0.2)
, g++ (>= 4.4)
, quilt
, libudev-dev
, libxml2-utils
, gcc, g++
, libtinyxml-dev
Standards-Version: 4.1.5
Homepage: http://www.openzwave.com/
Vcs-Browser: https://salsa.debian.org/debian-iot-team/openzwave
Vcs-Git: https://salsa.debian.org/debian-iot-team/openzwave.git
Package: libopenzwave1.4
Package: libopenzwave1.6
Section: libs
Architecture: any
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}, libtinyxml2.6.2v5
Description: API to use a Z-Wave controller
OpenZWave is an open-source, cross-platform library designed to enable
anyone to add support for Z-Wave home-automation devices to their
@ -26,9 +27,9 @@ Description: API to use a Z-Wave controller
.
This package contains the library.
Package: libopenzwave1.4-dev
Package: libopenzwave1.6-dev
Section: libdevel
Depends: ${misc:Depends}, libopenzwave1.4 (= ${binary:Version})
Depends: ${misc:Depends}, libopenzwave1.6 (= ${binary:Version})
Suggests: libopenzwave-doc
Architecture: any
Description: header files for the openzwave library
@ -54,7 +55,7 @@ Description: documentation for the openzwave library
Package: openzwave
Section: misc
Architecture: any
Depends: libopenzwave1.4 (>= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
Depends: libopenzwave1.6 (>= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
Description: Sample Program for libopenzwave
OpenZWave is an open-source, cross-platform library designed to enable
anyone to add support for Z-Wave home-automation devices to their

View file

@ -7,5 +7,5 @@ Abstract: OpenZWave is a library which provides an API for applications
Section: Programming
Format: HTML
Index: /usr/share/doc/openzwave-1.4.0/default.htm
Files: /usr/share/doc/openzwave-1.4.0/*.htm
Index: /usr/share/doc/openzwave-1.6.0/default.htm
Files: /usr/share/doc/openzwave-1.6.0/*.htm

View file

@ -1,2 +1,2 @@
# this is not jquery but some stuff added by doxygen
libopenzwave-doc: embedded-javascript-library usr/share/doc/openzwave-1.4.0/api/html/jquery.js please use libjs-jquery
libopenzwave-doc: embedded-javascript-library usr/share/doc/openzwave-1.6.0/api/html/jquery.js please use libjs-jquery

View file

@ -1,8 +0,0 @@
# this is a modified version
libopenzwave1.4: embedded-library usr/lib/*/libopenzwave.so.1.4: tinyxml
#due to arch- and optimisation-dependent symbols the symbols-file is not
#maintainable and FTBSs occur on lots of architectures
libopenzwave1.4: no-symbols-control-file
# this is a false positive
libopenzwave1.4: spelling-error-in-binary usr/lib/x86_64-linux-gnu/libopenzwave.so.1.4 LengH Length

View file

@ -0,0 +1,6 @@
#due to arch- and optimisation-dependent symbols the symbols-file is not
#maintainable and FTBSs occur on lots of architectures
libopenzwave1.6: no-symbols-control-file
# this is a false positive
libopenzwave1.6: spelling-error-in-binary # usr/lib/x86_64-linux-gnu/libopenzwave.so.1.6 LengH Length

6
debian/libopenzwave1.6.postinst vendored Normal file
View file

@ -0,0 +1,6 @@
#!/bin/sh
#Create the zwave user and change our permissions
getent group zwave >/dev/null || groupadd -f -r zwave
chgrp -R zwave /etc/openzwave
find /etc/openzwave/ -type d -exec chmod 775 {} \;
find /etc/openzwave/ -type f -exec chmod 664 {} \;

22
debian/openzwave.dsc vendored
View file

@ -1,26 +1,26 @@
Format: 3.0 (quilt)
Source: openzwave
Binary: libopenzwave1.4, libopenzwave1.4-dev, libopenzwave-doc, openzwave
Binary: libopenzwave1.6, libopenzwave1.6-dev, libopenzwave-doc, openzwave
Architecture: any all
Version: 1.4+ds-4
Version: 1.6+ds-4
Maintainer: justin@dynam.ac
Uploaders: justin@dynam.ac
Homepage: http://www.openzwave.com/
Standards-Version: 3.9.8
Vcs-Browser: https://anonscm.debian.org/cgit/debian-iot/openzwave.git
Vcs-Git: https://anonscm.debian.org/git/debian-iot/openzwave.git
Build-Depends: debhelper (>= 9), dh-exec (>= 0.2), g++ (>= 4.4), quilt, libudev-dev, libxml2-utils
Build-Depends: debhelper (>= 10), dh-exec (>= 0.2), g++ (>= 4.4), quilt, libxml2-utils, libtinyxml-dev
Package-List:
libopenzwave-doc deb doc optional arch=all
libopenzwave1.4 deb libs optional arch=any
libopenzwave1.4-dev deb libdevel optional arch=any
libopenzwave1.6 deb libs optional arch=any
libopenzwave1.6-dev deb libdevel optional arch=any
openzwave deb misc optional arch=any
Checksums-Sha1:
65fafb40a2efd63cc4f54e42a3968e29aa6d97a9 948050 openzwave_1.4+ds.orig.tar.gz
b150e03f58aab805535db7cf3e666a9827c87b11 7600 openzwave_1.4+ds-4.debian.tar.xz
65fafb40a2efd63cc4f54e42a3968e29aa6d97a9 948050 openzwave_1.6+ds.orig.tar.gz
b150e03f58aab805535db7cf3e666a9827c87b11 7600 openzwave_1.6+ds-4.debian.tar.xz
Checksums-Sha256:
e46322bbb7570003cb2d46b9062a02addc08effc45582e1221de6c7e4b30df56 948050 openzwave_1.4+ds.orig.tar.gz
8495ccaa5859b6378707d3bd2c4f76c12b72c245616e39621604ed53c44d42da 7600 openzwave_1.4+ds-4.debian.tar.xz
e46322bbb7570003cb2d46b9062a02addc08effc45582e1221de6c7e4b30df56 948050 openzwave_1.6+ds.orig.tar.gz
8495ccaa5859b6378707d3bd2c4f76c12b72c245616e39621604ed53c44d42da 7600 openzwave_1.6+ds-4.debian.tar.xz
Files:
63e765f96014f6877bcd34b462855f01 948050 openzwave_1.4+ds.orig.tar.gz
04e053edf2899486f4b1dd23503e8fe9 7600 openzwave_1.4+ds-4.debian.tar.xz
63e765f96014f6877bcd34b462855f01 948050 openzwave_1.6+ds.orig.tar.gz
04e053edf2899486f4b1dd23503e8fe9 7600 openzwave_1.6+ds-4.debian.tar.xz

View file

@ -1,26 +0,0 @@
Author: Thorsten Alteholz <debian@alteholz.de>
Description: allow CPPFLAGS with spaces
Index: openzwave/Makefile
===================================================================
--- openzwave.orig/Makefile 2016-09-05 13:49:48.000000000 +0200
+++ openzwave/Makefile 2016-09-05 13:50:31.000000000 +0200
@@ -17,8 +17,8 @@
export PREFIX
all:
- CPPFLAGS=$(CPPFLAGS) $(MAKE) -C $(top_srcdir)/cpp/build/ -$(MAKEFLAGS)
- CPPFLAGS=$(CPPFLAGS) $(MAKE) -C $(top_srcdir)/cpp/examples/MinOZW/ -$(MAKEFLAGS)
+ LDFLAGS="$(LDFLAGS)" CPPFLAGS="$(CPPFLAGS)" $(MAKE) -C $(top_srcdir)/cpp/build/ -$(MAKEFLAGS)
+ LDFLAGS="$(LDFLAGS)" CPPFLAGS="$(CPPFLAGS)" $(MAKE) -C $(top_srcdir)/cpp/examples/MinOZW/ -$(MAKEFLAGS)
install:
$(MAKE) -C $(top_srcdir)/cpp/build/ -$(MAKEFLAGS) $(MAKECMDGOALS)
@@ -29,7 +29,7 @@
$(MAKE) -C $(top_srcdir)/cpp/examples/MinOZW/ -$(MAKEFLAGS) $(MAKECMDGOALS)
cpp/src/vers.cpp:
- CPPFLAGS=$(CPPFLAGS) $(MAKE) -C $(top_srcdir)/cpp/build/ -$(MAKEFLAGS) cpp/src/vers.cpp
+ LDFLAGS="$(LDFLAGS)" CPPFLAGS="$(CPPFLAGS)" $(MAKE) -C $(top_srcdir)/cpp/build/ -$(MAKEFLAGS) cpp/src/vers.cpp
check: xmltest

View file

@ -1,40 +0,0 @@
Description: avoid FTBFS with gcc8
Author: Thorsten Alteholz <debian@alteholz.de>
#Index: openzwave-1.5+ds/cpp/build/support.mk
#===================================================================
#--- openzwave-1.5+ds.orig/cpp/build/support.mk 2018-07-09 13:53:57.470848046 +0200
#+++ openzwave-1.5+ds/cpp/build/support.mk 2018-07-09 13:53:57.458848046 +0200
#@@ -50,9 +50,9 @@
# CXX := $(CROSS_COMPILE)c++
# LD := $(CROSS_COMPILE)c++
# else
#-CC := $(CROSS_COMPILE)gcc
#-CXX := $(CROSS_COMPILE)g++
#-LD := $(CROSS_COMPILE)g++
#+CC := $(CROSS_COMPILE)gcc-8
#+CXX := $(CROSS_COMPILE)g++-8
#+LD := $(CROSS_COMPILE)g++-8
# endif
# ifeq ($(UNAME),Darwin)
# AR := libtool -static -o
Index: openzwave-1.5+ds/cpp/src/command_classes/DoorLockLogging.cpp
===================================================================
--- openzwave-1.5+ds.orig/cpp/src/command_classes/DoorLockLogging.cpp 2018-07-09 13:53:57.470848046 +0200
+++ openzwave-1.5+ds/cpp/src/command_classes/DoorLockLogging.cpp 2018-07-09 14:46:19.842753846 +0200
@@ -304,12 +304,14 @@
}
uint8 userid = (_data[10]);
uint8 usercodelength = (_data[11]);
- char usercode[254];
+ #define USERCODESIZE 254
+ char usercode[USERCODESIZE], tmpusercode[USERCODESIZE+4];
snprintf(usercode, sizeof(usercode), "UserCode:");
if (usercodelength > 0)
for (int i = 0; i < usercodelength; i++ )
{
- snprintf(usercode, sizeof(usercode), "%s %d", usercode, (int)_data[12+i]);
+ snprintf(tmpusercode, sizeof(tmpusercode), "%s %d", usercode, (int)_data[12+i]);
+ snprintf(usercode, USERCODESIZE, "%.253s",tmpusercode);
}
if (valid) {

View file

@ -1,4 +1,2 @@
#hardening.patch
#spelling.patch
#cppflags.patch
#gcc8.patch

18
debian/rules vendored
View file

@ -2,13 +2,13 @@
export DH_VERBOSE=1
CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
# because of a issue un Ubuntu - cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]
CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS | sed -e "s/-Wformat-security//g" -e "s/-Wformat//g" -e "s/-Werror\=format-security//g")
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS | sed -e "s/-Wformat-security//g" -e "s/-Wformat//g" -e "s/-Werror\=format-security//g")
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS | sed -e "s/-Wformat-security//g" -e "s/-Wformat//g" -e "s/-Werror\=format-security//g")
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
#XXX: MORECPPFLAGS=-fPIE -pie
# add CFLAGS here as upstream make does not care about them and we need -Wformat
MORECPPFLAGS=$(CFLAGS)
MORECPPFLAGS:=$(CFLAGS)
MORELDFLAGS:=-Wl,-z,now
export CC=gcc-8
@ -39,16 +39,16 @@ override_dh_clean:
override_dh_auto_build:
echo "Build version: >$(MAJOR).$(MINOR).$(REV)<"
LDFLAGS="$(LDFLAGS) $(MORELDFLAGS)" CPPFLAGS="$(CPPFLAGS) $(MORECPPFLAGS)" VERSION_MAJ=$(MAJOR) VERSION_MIN=$(MINOR) VERSION_REV=$(REV) PREFIX=/usr SYSCONFDIR=/etc/openzwave instlibdir=$(LIBDIR) make
LDFLAGS="$(LDFLAGS) $(MORELDFLAGS)" CPPFLAGS="$(CPPFLAGS) $(MORECPPFLAGS)" USE_HID=0 USE_BI_TXML=0 VERSION_MAJ=$(MAJOR) VERSION_MIN=$(MINOR) VERSION_REV=$(REV) PREFIX=/usr SYSCONFDIR=/etc/openzwave instlibdir=$(LIBDIR) make
override_dh_auto_install:
VERSION_MAJ=$(MAJOR) VERSION_MIN=$(MINOR) VERSION_REV=$(REV) DESTDIR=$(DESTDIR) PREFIX=/usr SYSCONFDIR=/etc/openzwave instlibdir=$(LIBDIR) make install
USE_HID=0 USE_BI_TXML=0 VERSION_MAJ=$(MAJOR) VERSION_MIN=$(MINOR) VERSION_REV=$(REV) DESTDIR=$(DESTDIR) PREFIX=/usr SYSCONFDIR=/etc/openzwave instlibdir=$(LIBDIR) make install
# install docs in /usr/share/doc/openzwave/, not openzwave-VERSION
install -d debian/libopenzwave-doc/usr/share/doc
###mv debian/tmp/usr/share/doc/openzwave-1* debian/libopenzwave-doc/usr/share/doc/openzwave
# install config files in /etc/
install -d debian/libopenzwave1.4/etc
mv debian/tmp/usr/etc/openzwave debian/libopenzwave1.4/etc/
install -d debian/libopenzwave1.6/etc
mv debian/tmp/usr/etc/openzwave debian/libopenzwave1.6/etc/
update_debian_version:
sed -i '1 s/(.*)/($(shell git describe --long --tags --dirty | sed s/-/./g | sed s/^v// ))/' debian/changelog

38
dist/openzwave.spec vendored
View file

@ -1,5 +1,9 @@
%if 0%{?is_opensuse}
%define __global_ldflags %{nil}
%endif
Name: openzwave
Version: 1.6.10
Version: 1.6.46
Release: 1.0%{?dist}
Summary: Sample Executables for OpenZWave
URL: http://www.openzwave.net
@ -10,25 +14,15 @@ License: LGPLv3+
%endif
Source0: http://old.openzwave.com/downloads/openzwave-%{version}.tar.gz
# Use system tinyxml
#Patch1: openzwave-tinyxml.patch
# Use system hidapi
#Patch2: openzwave-hidapi.patch
# Fix FTBFS
#Patch3: openzwave-1.5.0-format.patch
BuildRequires: gcc-c++
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: tinyxml-devel
%if 0%{?fedora} >= 18
%if 0%{?fedora}
BuildRequires: systemd-devel pkgconfig
%else
%if 0%{?suse_version} >= 1220
BuildRequires: systemd-devel pkg-config
%else
BuildRequires: libudev-devel pkgconfig
%endif
%if 0%{?is_opensuse}
BuildRequires: systemd-devel pkg-config
%endif
%description
@ -39,6 +33,11 @@ requiring any in depth knowledge of the Z-Wave protocol.
%package -n libopenzwave
Summary: Library to access Z-Wave interfaces
%if 0%{?is_opensuse}
Requires(pre): shadow
%else
Requires(pre): shadow-utils
%endif
%description -n libopenzwave
@ -105,6 +104,7 @@ rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/api/
%license license/*.txt
%doc docs/default.htm docs/general/ docs/images+css/
%{_libdir}/libopenzwave.so.*
%defattr(664, root, zwave, 775)
%dir %{_sysconfdir}/openzwave/
%config(noreplace) %{_sysconfdir}/openzwave/*
@ -120,17 +120,23 @@ rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/api/
%doc docs/api/
%post
%post -n libopenzwave
/sbin/ldconfig
%post -n libopenzwave-devel
/sbin/ldconfig
%postun
%postun -n libopenzwave
/sbin/ldconfig
%pre -n libopenzwave
getent group zwave >/dev/null || groupadd -f -r zwave
%changelog
* Wed May 08 2019 Justin Hammond <justin@dynam.ac> - 1.6.46
- Update to new release of OpenZwave - 1.6
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-0.20180624git1e36dcc.0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

View file

@ -1,3 +1,7 @@
%if 0%{?is_opensuse}
%define __global_ldflags %{nil}
%endif
Name: openzwave
Version: @VERSION@
Release: 1.0%{?dist}
@ -10,25 +14,15 @@ License: LGPLv3+
%endif
Source0: http://old.openzwave.com/downloads/openzwave-%{version}.tar.gz
# Use system tinyxml
#Patch1: openzwave-tinyxml.patch
# Use system hidapi
#Patch2: openzwave-hidapi.patch
# Fix FTBFS
#Patch3: openzwave-1.5.0-format.patch
BuildRequires: gcc-c++
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: tinyxml-devel
%if 0%{?fedora} >= 18
%if 0%{?fedora}
BuildRequires: systemd-devel pkgconfig
%else
%if 0%{?suse_version} >= 1220
BuildRequires: systemd-devel pkg-config
%else
BuildRequires: libudev-devel pkgconfig
%endif
%if 0%{?is_opensuse}
BuildRequires: systemd-devel pkg-config
%endif
%description
@ -39,6 +33,11 @@ requiring any in depth knowledge of the Z-Wave protocol.
%package -n libopenzwave
Summary: Library to access Z-Wave interfaces
%if 0%{?is_opensuse}
Requires(pre): shadow
%else
Requires(pre): shadow-utils
%endif
%description -n libopenzwave
@ -105,6 +104,7 @@ rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/api/
%license license/*.txt
%doc docs/default.htm docs/general/ docs/images+css/
%{_libdir}/libopenzwave.so.*
%defattr(664, root, zwave, 775)
%dir %{_sysconfdir}/openzwave/
%config(noreplace) %{_sysconfdir}/openzwave/*
@ -120,17 +120,23 @@ rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/api/
%doc docs/api/
%post
%post -n libopenzwave
/sbin/ldconfig
%post -n libopenzwave-devel
/sbin/ldconfig
%postun
%postun -n libopenzwave
/sbin/ldconfig
%pre -n libopenzwave
getent group zwave >/dev/null || groupadd -f -r zwave
%changelog
* Wed May 08 2019 Justin Hammond <justin@dynam.ac> - @VERSION@
- Update to new release of OpenZwave - 1.6
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-0.20180624git1e36dcc.0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild