+++ /dev/null
-From 601e5fb16232a7984885e67fdddaf5b9c9dd8105 Mon Sep 17 00:00:00 2001
-From: Justin Hammond <justin@dynam.ac>
-Date: Mon, 6 May 2019 17:05:17 +0800
-Subject: [PATCH] update spec files
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Retrieved from:
-https://github.com/OpenZWave/open-zwave/commit/601e5fb16232a7984885e67fdddaf5b9c9dd8105]
----
- cpp/build/Makefile | 22 ++-
- cpp/build/support.mk | 7 +-
- cpp/src/command_classes/DoorLockLogging.cpp | 4 +-
- cpp/src/command_classes/UserCode.cpp | 4 +-
- dist/libopenzwave.spec | 152 --------------------
- dist/openzwave.spec.in | 145 +++++++++++++++++++
- distfiles.mk | 2 +-
- 7 files changed, 174 insertions(+), 162 deletions(-)
- delete mode 100644 dist/libopenzwave.spec
- create mode 100644 dist/openzwave.spec.in
-
-diff --git a/cpp/build/Makefile b/cpp/build/Makefile
-index bd9463c86..b404a87fd 100644
---- a/cpp/build/Makefile
-+++ b/cpp/build/Makefile
-@@ -84,7 +84,19 @@ endif
- #where to put the temporary library
- LIBDIR ?= $(top_builddir)
-
--INCLUDES := -I $(top_srcdir)/cpp/src -I $(top_srcdir)/cpp/tinyxml/
-+INCLUDES := -I $(top_srcdir)/cpp/src
-+
-+
-+ifeq ($(USE_BI_TXML), 1)
-+INCLUDES += -I $(top_srcdir)/cpp/tinyxml/
-+SOURCES_TXML =$(top_srcdir)/cpp/tinyxml/
-+tinyxml := $(notdir $(wildcard $(top_srcdir)/cpp/tinyxml/*.cpp))
-+else
-+LIBS+= -ltinyxml
-+endif
-+
-+
-+
-
-
- ifeq ($(USE_HID),1)
-@@ -105,12 +117,11 @@ LIBS += -ludev
- endif
- endif # USE_HID
-
--SOURCES := $(top_srcdir)/cpp/src $(top_srcdir)/cpp/src/command_classes $(top_srcdir)/cpp/tinyxml \
-+SOURCES := $(top_srcdir)/cpp/src $(top_srcdir)/cpp/src/command_classes $(SOURCES_TXML) \
- $(top_srcdir)/cpp/src/value_classes $(top_srcdir)/cpp/src/platform $(top_srcdir)/cpp/src/platform/unix $(SOURCES_HIDAPI) $(top_srcdir)/cpp/src/aes/
--VPATH = $(top_srcdir)/cpp/src:$(top_srcdir)/cpp/src/command_classes:$(top_srcdir)/cpp/tinyxml:\
-+VPATH = $(top_srcdir)/cpp/src:$(top_srcdir)/cpp/src/command_classes:$(SOURCES_TXML):\
- $(top_srcdir)/cpp/src/value_classes:$(top_srcdir)/cpp/src/platform:$(top_srcdir)/cpp/src/platform/unix:$(SOURCES_HIDAPI):$(top_srcdir)/cpp/src/aes/
-
--tinyxml := $(notdir $(wildcard $(top_srcdir)/cpp/tinyxml/*.cpp))
-
- ifeq ($(USE_HID),1)
- ifeq ($(UNAME),Darwin)
-@@ -163,6 +174,9 @@ $(top_srcdir)/cpp/src/vers.cpp:
- @echo 'uint16_t ozw_vers_minor = $(VERSION_MIN);' >> $(top_srcdir)/cpp/src/vers.cpp
- @echo 'uint16_t ozw_vers_revision = $(VERSION_REV);' >> $(top_srcdir)/cpp/src/vers.cpp
- @echo 'char ozw_version_string[] = "$(GITVERSION)";' >> $(top_srcdir)/cpp/src/vers.cpp
-+ @$(SED) \
-+ -e 's|[@]VERSION@|$(VERSION).$(VERSION_REV)|g' \
-+ < "$(top_srcdir)/dist/openzwave.spec.in" > "$(top_srcdir)/dist/openzwave.spec"
-
-
- #$(OBJDIR)/vers.o: $(top_builddir)/vers.cpp
-diff --git a/cpp/build/support.mk b/cpp/build/support.mk
-index 562a9b280..3ffd17e48 100644
---- a/cpp/build/support.mk
-+++ b/cpp/build/support.mk
-@@ -8,8 +8,11 @@ BUILD ?= release
- #the prefix to install the library into
- PREFIX ?= /usr/local
-
--# build HID support by default
--USE_HID ?= 1
-+# dont build HID support by default
-+USE_HID ?= 0
-+
-+# use builtin tinyXML by default
-+USE_BI_TXML ?= 1
-
- #the System we are building on
- UNAME := $(shell uname -s)
-diff --git a/cpp/src/command_classes/DoorLockLogging.cpp b/cpp/src/command_classes/DoorLockLogging.cpp
-index a8d824cd5..f318b3e59 100644
---- a/cpp/src/command_classes/DoorLockLogging.cpp
-+++ b/cpp/src/command_classes/DoorLockLogging.cpp
-@@ -268,13 +268,13 @@ bool DoorLockLogging::HandleMsg
- }
- uint8 userid = (_data[10]);
- uint8 usercodelength = (_data[11]);
-- char usercode[254], tmpusercode[254];
-+ char usercode[254], tmpusercode[10];
- snprintf(usercode, sizeof(usercode), "UserCode:");
- if (usercodelength > 0)
- for (int i = 0; i < usercodelength; i++ )
- {
- snprintf(tmpusercode, sizeof(tmpusercode), "%d", (int)_data[12+i]);
-- strncat(usercode, tmpusercode, sizeof(usercode) - strlen(usercode) - 1 );
-+ strncat(usercode, tmpusercode, 10);
- }
-
- if (valid) {
-diff --git a/cpp/src/command_classes/UserCode.cpp b/cpp/src/command_classes/UserCode.cpp
-index a58091aca..dab006731 100644
---- a/cpp/src/command_classes/UserCode.cpp
-+++ b/cpp/src/command_classes/UserCode.cpp
-@@ -466,7 +466,9 @@ bool UserCode::HandleMsg
- node->CreateValueString( ValueID::ValueGenre_User, GetCommandClassId(), _instance, i, str, "", false, false, data, 0 );
- }
- m_userCode[i].status = UserCode_Available;
-- memcpy(&m_userCode[i].usercode, 0, 10);
-+ /* silly compilers */
-+ for (int j = 0; j < 10; j++)
-+ m_userCode[i].usercode[i] = 0;
- }
- if (m_com.GetFlagBool(COMPAT_FLAG_UC_EXPOSERAWVALUE)) {
- node->CreateValueRaw( ValueID::ValueGenre_User, GetCommandClassId(), _instance, UserCodeIndex_RawValue, "Raw UserCode", "", false, false, 0, 0, 0);
-diff --git a/dist/libopenzwave.spec b/dist/libopenzwave.spec
-deleted file mode 100644
-index 3f29473dd..000000000
---- a/dist/libopenzwave.spec
-+++ /dev/null
-@@ -1,152 +0,0 @@
--Name: libopenzwave
--%if 0%{?fedora} > 0
--Group: Development/Libraries
--%else
--Group: Productivity/Networking/Other
--%endif
--Summary: Library to access Z-Wave interfaces
--URL:http://code.google.com/p/open-zwave/
--%if 0%{?suse_version} > 0
--License: LGPL-2.0+
--%else
--License: LGPLv2+
--%endif
--Version: 1.6.0
--Release: 1
--BuildRequires: gcc-c++ make libudev-devel doxygen graphviz
--%if 0%{?fedora} >= 18
--BuildRequires: systemd-devel pkgconfig
--%else
--%if 0%{?suse_version} >= 1220
--BuildRequires: systemd-devel pkg-config
--%else
--BuildRequires: libudev-devel pkgconfig
--%endif
--%endif
--Source0: open-zwave-%{version}.tar.gz
--
--
--BuildRoot: %{_tmppath}/libopenzwave-root
--
--%description
--OpenZWave is an open-source, cross-platform library designed to enable anyone to
--add support for Z-Wave home-automation devices to their applications, without
--requiring any in depth knowledge of the Z-Wave protocol.
--
--Z-Wave employs a proprietary protocol which the owners, Sigma Designs, have
--chosen not to release into the public domain. There is also no official free
--or low-cost SDK that can be used to develop applications (The ControlThink SDK
--is now tied exclusively to their own Z-Wave PC interface). The only way to
--obtain the protocol documentation and sample code is to purchase an expensive
--development kit, and sign a non-disclosure agreement (NDA) preventing the
--release of that knowledge.
--
--OpenZWave was created to fill that gap. We do not have the official
--documentation, have signed no NDA, and are free to develop the library as we
--see fit. Our knowledge comes from existing bodies of open-source code
--(principally the Z-Wave parts of LinuxMCE), and through examining the
--messages sent by Z-Wave devices.
--
--The goal of the project is to make a positive contribution to the Z-Wave
--community by creating a library that supports as much of the Z-Wave
--specification as possible, and that can be used as a "black-box" solution
--by anyone wanting to add Z-Wave to their application. It is NOT our aim
--to publish alternative documentation of the Z-Wave protocol, or to
--attempt to "punish" Sigma Designs for their decision to keep the
--protocol closed.
--
--%package -n libopenzwave-devel
--Summary: Open-ZWave header files
--%if 0%{?fedora} > 0
--Group: Development/Libraries
--%else
--Group: Development/Libraries/C and C++
--%endif
--Requires: %{name} = %{version}-%{release}
--
--%description -n libopenzwave-devel
--header files needed when you want to compile your own
--applications using openzwave
--
--%package -n openzwave
--Summary: Open-ZWave Sample Executables
--%if 0%{?fedora} > 0
--Group: Development/Libraries
--%else
--Group: Development/Libraries/C and C++
--%endif
--Requires: %{name} = %{version}-%{release}
--
--%description -n openzwave
--Sample Executables for OpenZWave
--
--%prep
--
--%setup -q -n open-zwave-%{version}
--
--
--
--
--%build
--major_ver=$(echo %{version} | awk -F \. {'print $1'})
--minor_ver=$(echo %{version} | awk -F \. {'print $2'})
--revision=$(echo %{version} | awk -F \. {'print $3'})
--CPPFLAGS=-g VERSION_MAJ=$major_ver VERSION_MIN=$minor_ver VERSION_REV=$revision PREFIX=/usr sysconfdir=%{_sysconfdir}/openzwave/ includedir=%{_includedir} docdir=%{_defaultdocdir}/openzwave-%{version} instlibdir=%{_libdir} make %{?_smp_mflags}
--
--%install
--rm -rf %{buildroot}/*
--major_ver=$(echo %{version} | awk -F \. {'print $1'})
--minor_ver=$(echo %{version} | awk -F \. {'print $2'})
--revision=$(echo %{version} | awk -F \. {'print $3'})
--mkdir -p %{buildroot}/%{_bindir}
--mkdir -p %{buildroot}/%{_libdir}
--mkdir -p %{buildroot}/%{_defaultdocdir}/openzwave-%{version}/
--mkdir -p %{buildroot}/%{_sysconfdir}/
--mkdir -p %{buildroot}/%{_includedir}/openzwave/
--DESTDIR=%{buildroot} VERSION_MAJ=$major_ver VERSION_MIN=$minor_ver VERSION_REV=$revision PREFIX=/usr sysconfdir=%{_sysconfdir}/openzwave/ includedir=%{_includedir}/openzwave/ docdir=%{_defaultdocdir}/openzwave-%{version} instlibdir=%{_libdir} make install
--cp -p INSTALL %{buildroot}/%{_defaultdocdir}/openzwave-%{version}/
--cp -pr license %{buildroot}/%{_defaultdocdir}/openzwave-%{version}/
--rm %{buildroot}%{_defaultdocdir}/openzwave-%{version}/Doxyfile.in
--rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/html/
--
--%files
--%defattr(-,root,root,-)
--%{_libdir}/libopenzwave.so.*
--%dir %{_defaultdocdir}/openzwave-%{version}
--%doc %{_defaultdocdir}/openzwave-%{version}/default.htm
--%doc %{_defaultdocdir}/openzwave-%{version}/general/
--%doc %{_defaultdocdir}/openzwave-%{version}/images+css/
--%doc %{_defaultdocdir}/openzwave-%{version}/license/
--%doc %{_defaultdocdir}/openzwave-%{version}/INSTALL
--%config(noreplace) %{_sysconfdir}/openzwave/
--
--
--
--%files -n libopenzwave-devel
--%defattr(-,root,root,-)
--%{_bindir}/ozw_config
--%{_includedir}/openzwave/
--%{_libdir}/libopenzwave.so
--%{_libdir}/pkgconfig/libopenzwave.pc
--%dir %{_defaultdocdir}/openzwave-%{version}
--%doc %{_defaultdocdir}/openzwave-%{version}/api/
--
--
--%files -n openzwave
--%defattr(-,root,root,-)
--%{_bindir}/MinOZW
--
--
--%post
--/sbin/ldconfig
--
--%post -n libopenzwave-devel
--/sbin/ldconfig
--
--%postun
--/sbin/ldconfig
--
--%changelog
--* Tue Feb 04 2014 Justin Hammond+justin@dynam.ac - 1.0.730-1
--- Initial Release
--
-diff --git a/dist/openzwave.spec.in b/dist/openzwave.spec.in
-new file mode 100644
-index 000000000..4d7d22151
---- /dev/null
-+++ b/dist/openzwave.spec.in
-@@ -0,0 +1,145 @@
-+Name: openzwave
-+Version: @VERSION@
-+Release: 1.0%{?dist}
-+Summary: Sample Executables for OpenZWave
-+URL: http://www.openzwave.net
-+License: LGPLv3+
-+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: hidapi-devel
-+BuildRequires: systemd-devel
-+BuildRequires: tinyxml-devel
-+
-+
-+%description
-+OpenZWave is an open-source, cross-platform library designed to enable anyone to
-+add support for Z-Wave home-automation devices to their applications, without
-+requiring any in depth knowledge of the Z-Wave protocol.
-+
-+
-+%package -n libopenzwave
-+Summary: Library to access Z-Wave interfaces
-+
-+
-+%description -n libopenzwave
-+OpenZWave is an open-source, cross-platform library designed to enable anyone to
-+add support for Z-Wave home-automation devices to their applications, without
-+requiring any in depth knowledge of the Z-Wave protocol.
-+
-+
-+%package -n libopenzwave-devel
-+Summary: Open-ZWave header files
-+Requires: libopenzwave%{?_isa} = %{version}-%{release}
-+
-+
-+%description -n libopenzwave-devel
-+Header files needed when you want to compile your own
-+applications using openzwave
-+
-+
-+%package -n libopenzwave-devel-doc
-+Summary: Open-ZWave API documentation files
-+Requires: libopenzwave-devel%{?_isa} = %{version}-%{release}
-+
-+
-+%description -n libopenzwave-devel-doc
-+API documentation files needed when you want to compile your own
-+applications using openzwave
-+
-+
-+%prep
-+%setup -q -n openzwave-%{version}
-+#%patch1 -p1 -b.tinyxml
-+#%patch2 -p1 -b.hidapi
-+#%patch3 -p1 -b.format
-+
-+
-+%build
-+major_ver=$(echo %{version} | awk -F \. {'print $1'})
-+minor_ver=$(echo %{version} | awk -F \. {'print $2'})
-+revision=$(echo %{version} | awk -F \. {'print $3'})
-+CPPFLAGS="%{optflags} -Wformat -DOPENZWAVE_ENABLE_EXCEPTIONS" LDFLAGS="%{__global_ldflags}" VERSION_MAJ=$major_ver VERSION_MIN=$minor_ver VERSION_REV=$revision PREFIX=/usr sysconfdir=%{_sysconfdir}/openzwave/ includedir=%{_includedir} docdir=%{_defaultdocdir}/openzwave-%{version} instlibdir=%{_libdir} make %{?_smp_mflags}
-+
-+
-+%install
-+rm -rf %{buildroot}/*
-+major_ver=$(echo %{version} | awk -F \. {'print $1'})
-+minor_ver=$(echo %{version} | awk -F \. {'print $2'})
-+revision=$(echo %{version} | awk -F \. {'print $3'})
-+mkdir -p %{buildroot}/%{_bindir}
-+mkdir -p %{buildroot}/%{_libdir}
-+mkdir -p %{buildroot}/%{_defaultdocdir}/openzwave-%{version}/
-+mkdir -p %{buildroot}/%{_sysconfdir}/
-+mkdir -p %{buildroot}/%{_includedir}/openzwave/
-+DESTDIR=%{buildroot} VERSION_MAJ=$major_ver VERSION_MIN=$minor_ver VERSION_REV=$revision PREFIX=/usr sysconfdir=%{_sysconfdir}/openzwave/ includedir=%{_includedir}/openzwave/ docdir=%{_defaultdocdir}/openzwave-%{version} instlibdir=%{_libdir} make install
-+rm %{buildroot}%{_defaultdocdir}/openzwave-%{version}/Doxyfile.in
-+rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/html/
-+rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/default.htm
-+rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/general/
-+rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/images+css/
-+rm -rf %{buildroot}%{_defaultdocdir}/openzwave-%{version}/api/
-+
-+
-+%files
-+%{_bindir}/MinOZW
-+
-+
-+%files -n libopenzwave
-+%license license/*.txt
-+%doc docs/default.htm docs/general/ docs/images+css/
-+%{_libdir}/libopenzwave.so.*
-+%dir %{_sysconfdir}/openzwave/
-+%config(noreplace) %{_sysconfdir}/openzwave/*
-+
-+
-+%files -n libopenzwave-devel
-+%{_bindir}/ozw_config
-+%{_includedir}/openzwave/
-+%{_libdir}/libopenzwave.so
-+%{_libdir}/pkgconfig/libopenzwave.pc
-+
-+
-+%files -n libopenzwave-devel-doc
-+%doc docs/api/
-+
-+
-+%ldconfig_scriptlets -n libopenzwave
-+
-+
-+%changelog
-+* 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
-+
-+* Wed Jul 18 2018 Michael Cronenworth <mike@cchtml.com> - 1.5.0-0.20180623git1e36dcc.0
-+- Update to 20180623 git checkout to fix FTBFS
-+- Drop patches that revert BARRIER_OPERATOR support and use newer version
-+
-+* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-0.20171212gitc3b0e31.0
-+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-+
-+* Mon Feb 26 2018 Michael Cronenworth <mike@cchtml.com> - 1.5.0-0.20171211gitc3b0e31.0
-+- Update to 20171211 git checkout
-+- Revert new BARRIER_OPERATOR support and use older version
-+
-+* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-0.20170725gitde1c0e6
-+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-+
-+* Mon Jul 31 2017 Michael Cronenworth <mike@cchtml.com> - 1.5.0-0.20170724gitde1c0e6
-+- Update to a git checkout, execeptions patch is upstream
-+- Fixes crashing issues with domoticz
-+
-+* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.164-2
-+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-+
-+* Wed Jul 12 2017 Michael Cronenworth <mike@cchtml.com> - 1.4.164-1
-+- Initial spec
-diff --git a/distfiles.mk b/distfiles.mk
-index e68082967..9cf436a6f 100644
---- a/distfiles.mk
-+++ b/distfiles.mk
-@@ -1273,7 +1273,7 @@ DISTFILES = .gitignore \
- debian/watch \
- dist.mk \
- dist/libopenzwave.changes \
-- dist/libopenzwave.spec \
-+ dist/openzwave.spec \
- distfiles.mk \
- docs/Doxyfile.in \
- docs/default.htm \