-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update domoticz to v2020.2 #4674
Conversation
domoticz is now ready for testing. Still todo:
|
@hgy59 Can you tell me were/how I can get a domoticz.spk to test with? |
Under "Actions" select a terminated "Build" (not Lint) Action. Under "Artifacts" you can download a zip archive containing all successfully built spk files. |
I have installed and tested domoticz and it works fine beside some minor issues. Because the package is running as a user and not (like jahdal's package) as root, the package has no privileges to access usb devices and that is of course needed. I would suggest during installation of the package to create a group called "domotica" and make the user "sc-domoticz" a member of that group.
And of course these rules should be reloaded with this command: Some minor remarks: Please add the loglevel to the service command, otherwise all measurement data domoticz is getting will be logged. In the service-setup there are some definitions used that are available as package variables like:
They are already defines in the INFO file, so it would be better to use the package variables for those like this:
One last remark. |
- update domoticz and add new dependencies - use generic service setup (includes DSM7 compatibility) - add native/cmake to fulfill minimal required version for domoticz build - add Makefile variable to use native cmake - update boost to v1.66.0 - remove cross/busybox and remove dsm5->dsm6 user migration
- patch source code to show reasonable version information - add openzwave (needs some workaround) - add boost:serialization for cross/cereal
- update mosquitto - remove busybox stuff (and dsm5->dsm6 user migration)
- use BUILD_DEPENDS instead of DEPENDS to build native/cmake first
- fix mosquitto for DSM7 - update cross/c-ares
@BenjV Thanks for your detailed testing. The intention is to install the package for I was focused on DSM7 where the privileges file is created by the framework on demand. And I still have the focus on "advance packages for DSM7".
This will not be supported with DSM7 and must be configured manually by a user of the admin group.
Good idea. As we currently have no solution for shared folders in DSM7, I propose to postpone this for a later update.
Okey, will add this. |
I have tested domoticz only on DSM 7-41882 If you change the group name in the udev rules to sc-domoticz everything will work fine.
If you do not add this to the package lots of people will not be able to create those rules and it is very simple for the package to do this during installation. Below a part of the service-setup:
As you can see the SERVICE_PORT is hard coded to 8084 and used in WWW_PORT which is used WWW_OPTIONS which is used in the SERVICE_COMMAND By the way the privileges files are not new, they also work exactly the same way on DSM 6 as on DSM 7, the only difference is that in DSM 7 they are mandatory.
|
A short description is under 6) in #4524 The wizards for shared folders must be redesigned as the The target is to redesign the wizards of all packages with shared folders to use resouce definition for DSM6 and DSM7. |
The service port is NOT hardcoded, it is only defined in spk/domoticz/Makefile. The top 5 lines in the The |
Did you test this with DSM7? |
Yes I tested with DSM 7
See page 86 of the DSM 7 development guide. To my opinion this privilege file should be used for all packages, because lots of them need root privilege to correctly be installed. And these lines should be added to the service-setup script.
I don't have knowledge of SynoCommunity framework only of how packages work so the translation of were to put it in the framework I don't know, I only see the end result (the .spk) |
The problem is, that DSM7 does not accept any ctrl script entry
Even with only one entry like the one above, (or an empty ctrl-script array) the DSM7 installer fails with the Message, that the package requires root privileges. @publicarray can you report this error to synology please? |
Very strange, I checked several packages from Synology themselves and the all have ctrl_script settings in the privilege file. |
DSM7 packages from synology are encrypted (or signed?) so such packages are handled differently than thirdparty packages not published by synology. |
I found this statement from Synology. So it seems they only allow package signed by Synology to run as root. If Synology does not change this, then the only solution I see is to add a bash script to the package which the user has to run from the commandline with correct bprivs. |
- install/uninstall udev rules for usb devices (DSM<=6 only) - configure log level
@BenjV just updated the service installation
As I do not have devices available that can send data to domoticz, can you please validate that measurement values are kept away from the log with the current settings (I suppose that one of the debuglevels hardware,received,eventsystem would add measurement value logs). |
@hgy59 |
I can build one for you. What arch do you need? |
DS116 armada_38x |
x64 and armv7 packages are available here: https://github.com/hgy59/spksrc/releases/tag/domoticz_2020.2 |
@hgy59 |
Motivation: Domoticz does not run and does not use generic serivce support yet (and jadahl.com will not create further updates).
Linked issues: #4069, #4124, fixes #4673, (older issues; #1478, #1769)
Checklist
all-supported
completed successfullyTODO:
cross/jsoncpp
fails forarch-qoriq
(fails only in context of spk/domoticz, build succeeds in cross/jsoncpp)Finally solved by fixing the CMAKE CFLAGS for PPC Archs (ppc arch has multiple cflags, issue is is for newer cmake of native/cmake only as building in cross/jsoncpp native/cmake is not used)
Domoticz V2020.2 (c)2012-1970 GizMoCuz
andBuild Hash: 0, Date: 1970-01-01 01:00:00
)This is by design, as domoticz does not support build from source package, but only within a git repository (see [Question] no version information when compiling downloaded source domoticz/domoticz#4859)
Solution: create custom domoticz version information. As we cannot support automatic updates anyway this solution helps to display reasonable version info.
Remarks