diff --git a/debian/control b/debian/control index b7da5c84..31a486f6 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: nymea Section: utils Priority: optional -Maintainer: Nymea GmbH +Maintainer: nymea GmbH Standards-Version: 3.9.7 Homepage: https://nymea.io Vcs-Git: https://github.com/nymea/nymea.git @@ -30,6 +30,7 @@ Build-Depends: debhelper (>= 9.0.0), libqt5serialport5-dev, libqt5serialbus5-dev + Package: nymea Architecture: any Section: metapackages @@ -39,13 +40,9 @@ Depends: nymead (= ${binary:Version}), Recommends: qml-module-qtquick2 Suggests: nymea-doc Description: An open source IoT server - meta package - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package will install the server and the default plugins. + The nymea daemon is a plugin based IoT (Internet of Things) server. + The server works like a translator for devices, things and services + and allows them to interact. Package: nymead @@ -65,29 +62,18 @@ Recommends: nymea-cli, nymea-zeroconf-plugin-impl, nymea-apikeysprovider-plugin-impl, Description: An open source IoT server - daemon - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package will install the daemon. + The nymea daemon is a plugin based IoT (Internet of Things) server. + The server works like a translator for devices, things and services + and allows them to interact. Package: nymea-data Section: misc Architecture: all Depends: ${misc:Depends} -Recommends: nymea -Description: Optional data for extending functionality in nymea daemon - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package provides the MAC address database for nymead and for the plugins in - order to get the manufacturer name for a given MAC address. +Recommends: nymead +Description: Optional data for extending functionality in nymea daemon - data + Provides application data used by nymea:core Package: nymea-doc @@ -96,14 +82,8 @@ Architecture: all Depends: ${misc:Depends} Recommends: nymea Build-Profiles: -Description: Documentation for the nymea package (on-site) - documentation - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package contains documentation for developing nymea. +Description: Documentation for the nymea library - documentation + This package contains documentation for developing nymea plugins. Package: nymea-translations @@ -111,14 +91,32 @@ Section: misc Architecture: all Depends: ${misc:Depends} Recommends: nymea -Description: Translation files for nymead and plugins - translations - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package provides the translation files for nymead and for the plugins. +Description: Translation files for nymead - translations + Translation files for the nymea daemon. + + +Package: libnymea-tests +Section: libs +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libnymea-core (= ${binary:Version}) +Description: nymea-tests library - library + Shared resources for nymea-tests. + + +Package: libnymea-tests-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libnymea-tests (= ${binary:Version}), + libnymea-core-dev (= ${binary:Version}) +Description: nymea-tests library - development files + Provides the nymea-tests development files for building + automated tests. Package: nymea-tests @@ -127,15 +125,10 @@ Architecture: any Multi-Arch: same Depends: nymea (= ${binary:Version}), ${shlibs:Depends}, - ${misc:Depends} -Description: Tests and mock plugin for the nymea daemon - tests - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package will install the mock-plugin and the corresponding tests. + ${misc:Depends}, + libnymea-tests (= ${binary:Version}) +Description: nymea automated tests and mock plugin - tests + Automated tests and mock plugin for the nymea daemon. Package: libnymea1 @@ -147,14 +140,8 @@ Depends: ${shlibs:Depends}, Provides: nymea-update-plugin-api-1, nymea-zeroconf-plugin-api-1, nymea-system-plugin-api-3 -Description: An open source IoT server - library - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package will install shared libraries for nymea. +Description: nymea shared resources - library + Shared resources for nymea plugins. Package: libnymea-dev @@ -169,14 +156,8 @@ Depends: ${shlibs:Depends}, Replaces: libnymea1-dev Breaks: libnymea1-dev Provides: libnymea1-dev -Description: The main libraries and header files for developing with nymea. - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package will install the development files for nymea. +Description: nymea plugin development API library - development files + Shared resources for developing nymea plugins. Package: libnymea-core @@ -201,14 +182,8 @@ Depends: ${shlibs:Depends}, iputils-ping, qml-module-qtquick2, dnsutils, -Description: An open source IoT server - core library - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package will install shared libraries for nymea core. +Description: nymea:core internal - library + Internal library for nymea:core. Package: libnymea-core-dev @@ -219,14 +194,8 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, libnymea-core (= ${binary:Version}), libnymea-dev (= ${binary:Version}) -Description: The main libraries and header files for developing with nymea core. - The nymea daemon is a plugin based IoT (Internet of Things) server. The - server works like a translator for devices, things and services and - allows them to interact. - With the powerful rule engine you are able to connect any device available - in the system and create individual scenes and behaviors for your environment. - . - This package will install the development files for nymea core. +Description: nymea:core internal library - development files + Development files for the internal nymea:core library. Package: nymea-dev-tools @@ -238,9 +207,9 @@ Depends: ${shlibs:Depends}, qttools5-dev-tools, rsync, Description: Tools for developing nymea plugins. - . This package will install the nymea-plugininfocompiler. + Package: nymea-sdk Section: devel Architecture: all @@ -251,5 +220,4 @@ Recommends: nymea-qtcreator-wizards, crossbuilder, Suggests: libnymea-core-dev (= ${binary:Version}) Description: The nymea SDK. - . Meta-Package for everything required to develop on nymea. diff --git a/debian/libnymea-tests-dev.install.in b/debian/libnymea-tests-dev.install.in new file mode 100644 index 00000000..ed5f889c --- /dev/null +++ b/debian/libnymea-tests-dev.install.in @@ -0,0 +1,3 @@ +usr/lib/@DEB_HOST_MULTIARCH@/libnymea-tests.so +usr/include/nymea-tests +usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/nymea-tests.pc diff --git a/debian/libnymea-tests.install.in b/debian/libnymea-tests.install.in new file mode 100644 index 00000000..acf94743 --- /dev/null +++ b/debian/libnymea-tests.install.in @@ -0,0 +1,3 @@ +usr/lib/@DEB_HOST_MULTIARCH@/libnymea-tests.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/libnymea-tests.so.1.0 +usr/lib/@DEB_HOST_MULTIARCH@/libnymea-tests.so.1.0.0 diff --git a/debian/nymea-tests.install.in b/debian/nymea-tests.install.in index 7ac11677..b68fb716 100644 --- a/debian/nymea-tests.install.in +++ b/debian/nymea-tests.install.in @@ -1,3 +1,2 @@ -usr/tests/* +usr/bin/nymeatest* usr/lib/@DEB_HOST_MULTIARCH@/nymea/plugins/libnymea_integrationpluginmock.so -usr/lib/@DEB_HOST_MULTIARCH@/libnymea-testlib.so* diff --git a/tests/auto/autotests.pri b/tests/auto/autotests.pri index f9dc2517..8e32e8bb 100644 --- a/tests/auto/autotests.pri +++ b/tests/auto/autotests.pri @@ -16,11 +16,11 @@ INCLUDEPATH += $$top_srcdir/libnymea \ LIBS += -L$$top_builddir/libnymea/ -lnymea \ -L$$top_builddir/libnymea-core/ -lnymea-core \ - -L$$top_builddir/tests/testlib/ -lnymea-testlib \ + -L$$top_builddir/tests/testlib/ -lnymea-tests \ -L$$top_builddir/plugins/mock/ \ -lssl -lcrypto -lnymea-remoteproxyclient -target.path = /usr/tests +target.path = $$[QT_INSTALL_PREFIX]/bin INSTALLS += target test.commands = LD_LIBRARY_PATH=../../../libnymea:../../../libnymea-core/:../../testlib/ make check TESTRUNNER=\"dbus-test-runner --bus-type=both --task\" diff --git a/tests/auto/configurations/configurations.pro b/tests/auto/configurations/configurations.pro index 3c08eefa..9c0cb333 100644 --- a/tests/auto/configurations/configurations.pro +++ b/tests/auto/configurations/configurations.pro @@ -1,4 +1,4 @@ -TARGET = testconfigurations +TARGET = nymeatestconfigurations include(../../../nymea.pri) include(../autotests.pri) diff --git a/tests/auto/integrations/integrations.pro b/tests/auto/integrations/integrations.pro index de612a5b..65eeb77d 100644 --- a/tests/auto/integrations/integrations.pro +++ b/tests/auto/integrations/integrations.pro @@ -1,5 +1,5 @@ include(../../../nymea.pri) include(../autotests.pri) -TARGET = testintegrations +TARGET = nymeatestintegrations SOURCES += testintegrations.cpp diff --git a/tests/auto/ioconnections/ioconnections.pro b/tests/auto/ioconnections/ioconnections.pro index 0ea01980..b07e27ff 100644 --- a/tests/auto/ioconnections/ioconnections.pro +++ b/tests/auto/ioconnections/ioconnections.pro @@ -1,5 +1,5 @@ include(../../../nymea.pri) include(../autotests.pri) -TARGET = testioconnections +TARGET = nymeatestioconnections SOURCES += testioconnections.cpp diff --git a/tests/auto/jsonrpc/jsonrpc.pro b/tests/auto/jsonrpc/jsonrpc.pro index 6dc7fea1..5b35ecf6 100644 --- a/tests/auto/jsonrpc/jsonrpc.pro +++ b/tests/auto/jsonrpc/jsonrpc.pro @@ -1,7 +1,7 @@ include(../../../nymea.pri) include(../autotests.pri) -TARGET = testjsonrpc +TARGET = nymeatestjsonrpc SOURCES += testjsonrpc.cpp \ ../../utils/pushbuttonagent.cpp diff --git a/tests/auto/logging/logging.pro b/tests/auto/logging/logging.pro index fa3f89ab..a364329e 100644 --- a/tests/auto/logging/logging.pro +++ b/tests/auto/logging/logging.pro @@ -1,5 +1,5 @@ include(../../../nymea.pri) include(../autotests.pri) -TARGET = testlogging +TARGET = nymeatestlogging SOURCES += testlogging.cpp diff --git a/tests/auto/loggingdirect/loggingdirect.pro b/tests/auto/loggingdirect/loggingdirect.pro index ea35fcc3..eb347595 100644 --- a/tests/auto/loggingdirect/loggingdirect.pro +++ b/tests/auto/loggingdirect/loggingdirect.pro @@ -1,5 +1,5 @@ include(../../../nymea.pri) include(../autotests.pri) -TARGET = testloggingdirect +TARGET = nymeatestloggingdirect SOURCES += testloggingdirect.cpp diff --git a/tests/auto/loggingloading/loggingloading.pro b/tests/auto/loggingloading/loggingloading.pro index 05baa6ef..fc63aeb2 100644 --- a/tests/auto/loggingloading/loggingloading.pro +++ b/tests/auto/loggingloading/loggingloading.pro @@ -2,5 +2,5 @@ include(../../../nymea.pri) include(../autotests.pri) RESOURCES += loggingloading.qrc -TARGET = loggingloading +TARGET = nymeatestloggingloading SOURCES += testloggingloading.cpp diff --git a/tests/auto/macaddress/macaddress.pro b/tests/auto/macaddress/macaddress.pro index a45951b8..d7f3fb83 100644 --- a/tests/auto/macaddress/macaddress.pro +++ b/tests/auto/macaddress/macaddress.pro @@ -1,4 +1,4 @@ -TARGET = testmacaddress +TARGET = nymeatestmacaddress include(../../../nymea.pri) include(../autotests.pri) diff --git a/tests/auto/mqttbroker/mqttbroker.pro b/tests/auto/mqttbroker/mqttbroker.pro index 3d1e2e7b..8937d736 100644 --- a/tests/auto/mqttbroker/mqttbroker.pro +++ b/tests/auto/mqttbroker/mqttbroker.pro @@ -4,6 +4,6 @@ include(../autotests.pri) QT += xml PKGCONFIG += nymea-mqtt -TARGET = mqttbroker +TARGET = nymeatestmqttbroker SOURCES += testmqttbroker.cpp diff --git a/tests/auto/plugins/plugins.pro b/tests/auto/plugins/plugins.pro index 90e3faed..d2dbe9d5 100644 --- a/tests/auto/plugins/plugins.pro +++ b/tests/auto/plugins/plugins.pro @@ -1,4 +1,4 @@ -TARGET = testactions +TARGET = nymeatestplugins include(../../../nymea.pri) include(../autotests.pri) diff --git a/tests/auto/pythonplugins/pythonplugins.pro b/tests/auto/pythonplugins/pythonplugins.pro index 36d4b792..8e7533a6 100644 --- a/tests/auto/pythonplugins/pythonplugins.pro +++ b/tests/auto/pythonplugins/pythonplugins.pro @@ -1,4 +1,4 @@ -TARGET = testpythonplugins +TARGET = nymeatestpythonplugins include(../../../nymea.pri) include(../autotests.pri) diff --git a/tests/auto/rules/rules.pro b/tests/auto/rules/rules.pro index d8603b75..1cc2ddd8 100644 --- a/tests/auto/rules/rules.pro +++ b/tests/auto/rules/rules.pro @@ -1,5 +1,5 @@ include(../../../nymea.pri) include(../autotests.pri) -TARGET = rules +TARGET = nymeatestrules SOURCES += testrules.cpp diff --git a/tests/auto/scripts/scripts.pro b/tests/auto/scripts/scripts.pro index eab7746c..d0372c7c 100644 --- a/tests/auto/scripts/scripts.pro +++ b/tests/auto/scripts/scripts.pro @@ -1,7 +1,7 @@ include(../../../nymea.pri) include(../autotests.pri) -TARGET = scripts +TARGET = nymeatestscripts SOURCES += testscripts.cpp \ testhelper.cpp diff --git a/tests/auto/tags/tags.pro b/tests/auto/tags/tags.pro index 9e68fe61..1c8d2550 100644 --- a/tests/auto/tags/tags.pro +++ b/tests/auto/tags/tags.pro @@ -1,5 +1,5 @@ include(../../../nymea.pri) include(../autotests.pri) -TARGET = testtags +TARGET = nymeatesttags SOURCES += testtags.cpp diff --git a/tests/auto/timemanager/timemanager.pro b/tests/auto/timemanager/timemanager.pro index 53b331c1..a2b9af8e 100644 --- a/tests/auto/timemanager/timemanager.pro +++ b/tests/auto/timemanager/timemanager.pro @@ -1,4 +1,4 @@ -TARGET = testtimemanager +TARGET = nymeatesttimemanager include(../../../nymea.pri) include(../autotests.pri) diff --git a/tests/auto/userloading/userloading.pro b/tests/auto/userloading/userloading.pro index e1585bfb..2516cb87 100644 --- a/tests/auto/userloading/userloading.pro +++ b/tests/auto/userloading/userloading.pro @@ -2,5 +2,5 @@ include(../../../nymea.pri) include(../autotests.pri) RESOURCES += userloading.qrc -TARGET = userloading +TARGET = nymeatestuserloading SOURCES += testuserloading.cpp diff --git a/tests/auto/usermanager/usermanager.pro b/tests/auto/usermanager/usermanager.pro index 9744201d..636688fc 100644 --- a/tests/auto/usermanager/usermanager.pro +++ b/tests/auto/usermanager/usermanager.pro @@ -1,7 +1,7 @@ include(../../../nymea.pri) include(../autotests.pri) -TARGET = testusermanager +TARGET = nymeatestusermanager HEADERS += ../../utils/pushbuttonagent.h diff --git a/tests/auto/versioning/versioning.pro b/tests/auto/versioning/versioning.pro index 6eda7219..e8de4333 100644 --- a/tests/auto/versioning/versioning.pro +++ b/tests/auto/versioning/versioning.pro @@ -1,4 +1,4 @@ -TARGET = testversioning +TARGET = nymeatestversioning include(../../../nymea.pri) include(../autotests.pri) diff --git a/tests/auto/webserver/webserver.pro b/tests/auto/webserver/webserver.pro index fe8bce8f..12ea234b 100644 --- a/tests/auto/webserver/webserver.pro +++ b/tests/auto/webserver/webserver.pro @@ -3,5 +3,5 @@ include(../autotests.pri) QT += xml -TARGET = webserver +TARGET = nymeatestwebserver SOURCES += testwebserver.cpp diff --git a/tests/auto/websocketserver/websocketserver.pro b/tests/auto/websocketserver/websocketserver.pro index 222f3a32..0ead2080 100644 --- a/tests/auto/websocketserver/websocketserver.pro +++ b/tests/auto/websocketserver/websocketserver.pro @@ -3,6 +3,6 @@ include(../autotests.pri) QT += websockets -TARGET = websocketserver +TARGET = nymeatestwebsocketserver SOURCES += testwebsocketserver.cpp diff --git a/tests/testlib/testlib.pro b/tests/testlib/testlib.pro index dbcf00b1..a9c8f52a 100644 --- a/tests/testlib/testlib.pro +++ b/tests/testlib/testlib.pro @@ -1,5 +1,5 @@ TEMPLATE = lib -TARGET = nymea-testlib +TARGET = nymea-tests include(../../nymea.pri) @@ -28,3 +28,22 @@ SOURCES += nymeatestbase.cpp target.path = $$[QT_INSTALL_LIBS] INSTALLS += target + +# install header file with relative subdirectory +for(header, HEADERS) { + path = $$[QT_INSTALL_PREFIX]/include/nymea-tests/$${dirname(header)} + eval(headers_$${path}.files += $${header}) + eval(headers_$${path}.path = $${path}) + eval(INSTALLS *= headers_$${path}) +} + +# Create pkgconfig file +CONFIG += create_pc create_prl no_install_prl +QMAKE_PKGCONFIG_NAME = libnymea-tests +QMAKE_PKGCONFIG_DESCRIPTION = nymea-tests development library +QMAKE_PKGCONFIG_PREFIX = $$[QT_INSTALL_PREFIX] +QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_PREFIX]/include/nymea-tests/ +QMAKE_PKGCONFIG_LIBDIR = $$target.path +QMAKE_PKGCONFIG_VERSION = $$NYMEA_VERSION_STRING +QMAKE_PKGCONFIG_FILE = nymea-tests +QMAKE_PKGCONFIG_DESTDIR = pkgconfig