Thanks Dominig for sharing your comments,
I have looked at your documentation provided as pointers and I would like to make a few comments :
1) you are mixing repo. The Vagrant image is made on OpenSUSE 15.0 but I notice that you pull some packages from "openSUSE-Tumbleweed-Oss". Mixing repo from different release is a ticket for problem. I guess it's an error. Rather than to ignore key, it's better to import them once for all.
Agree, my typos. I initially launched a Tumbleweed based Vagrant image and did not remove the content. The steps were finally installed in one Leap 15.0 based. My Documentation needs to be updated.
2) dependencies The easier way to manage complex software installation, is to create a meta package in OBS. It's a package that only has "Required:" statement an calls for needed packages. If the called packages are in spread out in directories which are not commonly referenced by default, it can be 'User Friendly' to create aggregate version of the target packages in the same directory than the meta package, to ease the end use life.
When do you decide this require dependencies should be in the Specfile or in that meta package? In case the meta package is the right option, should we create one per component (ha)? per package (sm-tools)? Can you please point me into the specific documentation to learn about this concept, not a clear result from google. Also a OBS example of some other project? :)
3) pip Using pip to upload python module is not the preferred method, as those modules will not be updated when the distro is updated and their release is unknown as it depends of the installation timing.
Understood, this was an temporal step to be able to use the package binaries (e.g. sm-dump)
The packages that you are calling are available from OpenSUSE repo in Python2 and 3, so a call from the meta package could be done automatically.
S | Name | Summary | Type ---+----------------+-----------------------------------------+-------- i+ | psutils | Tools for Manipulating PostScript Files | package | python2-psutil | A process utilities module for Python | package | python3-psutil | A process utilities module for Python | package
Would a package not be available, it would be better to create a virtual package which does the install as part of a simple %post and call it from the meta package. Which such model, to enforce the update, we would just have to increase the version number.
Work in progress to learn about this meta package concept...
4) DB and various Config file initialisation Rather than to do them by hand, it would be better to trigger them in a %post statement of the meta package.
Agree, same as with pip package dependencies, only a temporal step to be able to finally use package binaries (e.g. sm-tools) I will work in a change proposal.
Which such solution, the could be fully automated via a "1 click Install" (works only from Firefox).
A special test might be required to not break changes during update.
Have a nice day
You too! I am taking vacations for the following 3 days so please bear with me if I do not reply back soon.