Nick Howitt wrote:Just to double check: Was it my spec file that you needed to tweak or was it Koji? If it was the Domoticz spec file (or any of the source files, then I rather do the change myself too, bump the revision and upload a new version...
It was not with the correct options so I've manually tagged it into clearos-contribs-testing. Hopefully it will build correctly next time without the manual tagging. I can't test until there is a version bump.
That was a lot of python packages you pulled in... I think it was only the python3-devel that you actually needed.
OK, I have now made a domoticz-2022.1-3 release. The only change is that at installation time it now will make sure python3 (incl python3-devel) is installed instead of python34. python3 defaults to 3.6, so it will mean that domoticz now should run python 3.6 even on a complete new system instead of 3.4.
Since you have already installed python 3.6 (among other) in your system, there is no need to update.
If you do want to update anyway, you either follow the original build instructions (for a new build-machine), or if you still have your build-machine around you can do this on it:
After an hour or so the resulting file will be in /var/lib/mock/clearos-7-x86_64/
copy the domoticz-2022.1-3.v7.x86_64.rpm file to the ClearOS machine where you want domoticz installed and on that machine (as root) type:
In ClearOS/Centos there is no package called libpython3 to my knowledge, instead I think you mean python3-libs...
Anyway, I will likely update my instruction above to do in the build machine before doing the rpmbuild -bs domoticz.spec command. I am not sure if it is needed, but it will at least take care of an error message. Also, I will try to update the spec-file itself to make sure python 3.6 is installed together with domoticz.
Expect a domoticz-2022.1-3 update in a day or so.
Domoticz 2022.1 is now possible to install in ClearOS 7.
But, things are not as smooth as they should be unfortunately. The koji build system does not want to play along, and Nick has a bit of a backlog to handle which has higher priority. So for now, the only thing I can do is to offer those of you who like to use the latest stable version of Domoticz is an fairly detailed description on how you can build the package yourself.
Hopefully Nick will have some time next month to look into the koji issue and fix it. In such case the instruction below is no longer needed. The instructions should be easy to follow even for someone that is not used to compile linux programs.
My recommendation is that unless you already have a ClearOS developer environment setup that you will create a virtual machine on your normal PC or laptop, dedicated for just building this package (and any other ClearOS application it that is the case). If you are running Windows, Oracles VirtualBox is a good alternative and that is what I have used in the example below:
On your PC/Laptop download the ClearOS installation iso: ClearOS-DVD-x86_64.iso
In Oracle VM Virutual Box:
Create new virtual machine, use the following settings:
Version: Other Linux 64-bit
Memory: 4096MB (or more)
Storage size: Dynamic or Fixed at 8GB (minimum)
Go to settings and adjust number of processors to maximum of the green indicator
Under storage: "Attach" your downloaded ClearOS iso file to the virtual optical drive
Under Network I prefer to use "Bridged Adapter" which will give your virtual machine an IP address on your normal DHCP LAN so you easily can ssh to it later on etc.
Choose OK. Double click the new virtual machine to start it up. Select "Install ClearOS"
Set language, keyboard, minimal install, select harddrive, start the network adapter (make sure it gets an IP address).
Set root password
After the installation finish, reboot
Connect to your machine on the IP address you can see with a web browser. Please note that you connect to port 81 (for instance https://192.168.0.10:81)
Private Server Mode
Community edition is fine for this build-machine
Register the machine with your account at Clear
If it suggest you should update any package, do it.
Do not install any apps (for now at least), select "Skip Wizard"
Now, open a ssh terminal on your host computer or any other computer on your LAN (Putty is a good program on Windows) and connect to your build machine.
Login with user "root" and your admin password you defined in the installation process.
type the following commands:
your ssh connection will now be lost. After that the virtual machine is up and running again connect again with your ssh terminal
Enter your "normal" user-id that you want to use when you are working with the building machine
Now, let the root-ssh window be aside for a while and open another ssh login.
Login to your machine as the developer (non-root) user you configured in the clearos setup.
download the domoticz package from my github account:
Prepare a build directory, if you already have it since before, make sure it is empty:
copy the files into place:
download some other needed source files:
Now all needed files should be in place and you should be able to start building. Note the mock command can easily take more than one hour to execute depending on your CPU.
You now should have the domoticz rpm file available at: /var/lib/mock/clearos-7-x86_64/result/domoticz-2022.1-2.v7.x86_64.rpm
copy your domoticz installation file to the machine(s) where you want to install it. (Depending on transfer method you need to install ftp, samba etc on your build-machine)
For instance, from the web-interface you can access the Marketplace and install "Flexshares" and "Windows Networking(Samba)" and then use LDAP and "simple server". Then you need to add a user, my suggestion is to use the same name and password as you configured for the development user earlier. I tend to remember that the developer account should be setup before activating LDAP, so that is why I skiped to install these apps at the installation of the ClearOS operating system. However, I could be wrong.
When you have transfered to domoticz rpm file it is time to shut down the build-machine:
from the "root" ssh window to your build-machine, type "poweroff" to shut it down.
On the machine where you want to install/update domoticz do the following:
login as root (command console, not the webinterface)
make sure you have your domoticz rpm file you have built in the same directory where you are.
Nick Howitt wrote:
@Fredrik, the build has failed. It looks like the certificate for https://pilotfiber.dl.sourceforge.net/project/boost/boost/1.72.0/boost_1_72_0.tar.bz2 has expired.
Yes, that download mirror is no longer good. I have updated the source file to fetch it from another mirror. I pushed the updated files to ClearOS build system, but Koji yet again needs a push from someone...
Actually I have made an update to 2022.1 that I have uploaded during the weekend. However, since quite a while back the build system (Koji) used by ClearOS has some hickups, and now it seems worse than ever and it has therefore not "discovered" my upload at all. In fact it has not built anything for 3 weeks.
When it was fully working it would automatically build and put the Domoticz package in contribs-testing, but for the last year or so, I have had to contact Nick every time so he could get the build going as he had access to systems that I do not. With Nick gone, without anyone else replacing him for the moment, I have reached out to a person that (at least before) used to be involved on an occasional level (once or twice a month I think). He has all the required knowledge to trigger the build.
So I have not given up, I am just waiting for someone on the "inside" to respond.
Yes a new version of Domoticz have been released upstsream. This time I think there are no major changes on the build requirements, so I think it should be a fairly easy process. I expect it needs a couple of extra patches but nothing major. And as always, I like to wait a couple of weeks to see that it does not have any major hickups...
But even if it is easy put together the new Domoticz package there is something I want to sort out first:
Many people, including myself, have a z-wave network connected to the Domoticz server. Up until now it has been using libopenzwave as driver (which I also maintain for ClearOS) with a lot of built in functionality in Domoticz itself. But libopenzwave is a more or less abandonned project upstream and the Domoticz team (and others) have moved on to the very new open source initiative zwave-js which is a node-js based driver together with zwavejs2mqtt acting as a mqtt gateway inbetween.
This creates a few things to consider:
1. zwave-js and zwavejs2mqtt needs to be packaged for the ClearOS environment. But since they are based on node-js based they cannot just be compiled and released as if they would have been written in C or similar. They need the node-js environment too. I have a feeling that running these in a docker container would be the easiest thing, but then docker is needed... I myself have no expericence with Docker and I guess it will need to be tested for different scenarios including when the whole ClearOS machine is runnning in a container. Is it bad to run a docker system inside a docker container?
2. Domoticz can not run libopenzwave and zwave-js in parallell, so any old user will need to do a "hard" switch if they want to use the new setup. General instructions are found on the Internet, but still I feel I need to make sure that an upgrade does not "kill a working system" for someone that just happen to receive the new Domoticz release in an auto-update.
3. Zwave-js have recently also added a websocket interface, omitting the need for a mqtt gateway running. This is actually the recommended way to use it by the people that develop zwave-js if I understand it correctly. However, status right now is that Domoticz has not implemented support for that and have just fixed an autodiscovery MQTT implementation leading up to the release a few days ago. I would hate to see a switch by the Domoticz team to the websocket method if/when I just have implemented the mqtt way in ClearOS... (Do not want to bet on the wrong horse)
4. Since this new setup means adding Docker (likely), zwave-js and zwavejs2mqtt into the equation, Therefore I also need to think about if the app-domoticz in ClearOS needs to be expanded with new functionality to run and manage the whole "domoticz environment".
5. On the (very) positive side though is that zwave-js has a very active community and have managed in a very short time period to implement many more functions than what libopenzwave provides. Also, compared to libopenzwave that was built by reverse engineering the z-wave protocol, the zwave-js developers have had access to the now publicly available zwave specifications allowing them to build it in a proper way. From the reports that I have seen it seems to perform better than libopenzwave already today. I did take it for a test-spin a couple of weeks ago and it did work without problems for my small test system. However I did notice new behaviours compared to libopenzwave that I did not like for some sensors even if I am pretty sure zwave-js do it by the book and it is actually libopenzwave doing it wrong...
So to sumarize: Yes you can expect a new release of Domoticz in ClearOS. I just need to think and play around with it a little bit first.
For 2.5 years Serviio 2.x has been sitting in the contribs-testing repo for anyone who would like to upgrade their 1.x version. The reason for not introducing this as a "mandatory" upgrade by placing it in the contribs repo has been to allow for any user that earlier had bought an (optional) pro license for the 1.x version to continue to use Serviio without forcing them to buy a new 2.x compatible pro license.
Serviio 1.x is not maintained upstream, and I have seriously been thinking about how long we can continue with this "parallell track" in ClearOS. The latest Serviio 2.2.1 release contains an important bug fix for the log4j vulnerability. While I am honostly not sure to which extent a ClearOS system could be affected, I think it is time to take the step and finally retire the Serviio 1.x package in ClearOS.
I will therefore ask Nick to go ahead and push the Serviio 2.2.1 package to the contribs repo for ClearOS 7 as soon as possible which means that all of you that are running Serviio on ClearOS 7 will have it upgraded within the next 24 hours if you have not already upgraded before.
Please note: Serviio will work perfectly without a pro license, but with a few features disabled such as a media browser and Internet API access.
Free vs. Pro version
OK, just as I expected: For some reason the fail2ban process no longer identify itself as "f2b" anymore. Instead it now uses "fail2ban". I therefore need to change app-domoticz so it check if "fail2ban" is running instead of "f2b". I will try to fix this early next week.
Note: There are no "real" problem here. As long as fail2ban is running, everything is fine. It is just that app-domoticz is indicating a "false" alarm when it can not find "f2b" running...