On Mon, Apr 11, 2022 at 08:43:25PM +0200, Peter Boy wrote:
I'd love to have a more slick solution here, but it requires some development (and possibly some changes to samba packaging). I definitely don't have time for that, but I can throw ideas at anyone who is interested in working on it.
And I would be eager to get to know those ideas. I can’t do that work either, I suppose, but we can develop a more or less detailed and „overseeable“ project plan. And I'm optimistic that we will someone stepping up to make it happen.
I'd like it to be automated as possible, so, first, if the proper RPMs aren't installed, each tab should include a button which will cause them to be installed. That part is fairly straightforward.
The more complicated part is the configuration. The tool works by using Samba's ability to read its config from a Windows-like registry. This is a pretty big change. There may be later docs — I'm not a Samba expert _at all_ — but https://www.samba.org/~obnox/presentations/linux-kongress-2008/lk2008-obnox.... gives some detail which is probably still mostly relevant. The section on disadvantages of the text-file config approach is particularly relevant, and particuarly:
""" * When changing one parameter, the whole configuration needs to be written and re-read.
* When writing application such as GUIs for configuring Samba, one always has to write whole configuration files. There is no procetion for concurrent access to the configuration file by multiple porocesses. For a certain level of safety, applications need to prepare their own temporary version of the configuration file and copy it over the real one. Other applications may overwrite your changes """
Right now, the setup uses "mixed mode", where the tool asks you to add "include = registry" in the config. I think we should instead make it so that it uses the _entirely_ registry-based mode, with "config backend = registry".
I think that if the Samba package config file is unmodified, the tool should replace that unmodified config file with one that just has this minimal config pointing to the registry (along with a suitable comment). If, on the other hand, the config is non-default, the tool should warn and _offer_ to do that, noting that it will replace existing configuration (and of course, it should make a backup).
And then it should start the service, of course. :)