Hi Stefan, IMHO, especially /srv/susemanager is essential and completely internal, so we should prefer to do it on build time to make sure it never changes, and definitely not let users configure these on their own, so probably not in 'rhn.conf'. And actually the .spec file doesn't sound that bad to me. This way we can have the folders served properly with rpm. We can have a tiny post script that somehow writes the OS-specific locations somewhere for Java to read (maybe in the DB?) On 13.01.22 09:20, Stefan Bluhm wrote:
Hello,
I started working on removing hard coded file/folder locations to make Uyuni less OS dependent.
In the end, thic COULD boil down to these used folders (ignoring folders defined in test cases and giving them a tag for discussion): /srv/www/htdocs (WEBROOT) /srv/www/os-images (OSIMAGES) /srv/susemanager (SUSEMANAGER_DIR)
code/src/com/suse/manager/webui/services/SaltConstants.java
Where would be the best place to parameterise them?
- rhn.conf WEBROOT is already in there. I would think that this would be the best place to put ALL folder locations in there to keep it central. This would need a migration script for existing systems to add the folders.
- spec file Doesn't sound like the best idea.
- build.xml Not sure how to detect the right OS. So maybe a flag can be passed on to use SUSE or RHEL file structure. Then we copy the relevant config file to the build folder.
- java class This would be double maintenance and just increasing the amount of hard coding.
I would see two approaches:
1. Add all folders (starting with the ones above as common denominator) into rhn.conf. Put an update logic into the SPEC file for existing systems. Adapt the existing Java classes and constant files (i.e. SaltConstants.java) to read the value from rhn.conf.
2. Adapt Java classes to use a central OS dependent constant file (like SaltConstants.java). Get build.xml to use the right one during build. Control the ant build via the spec file (as I am not sure we can detect the OS reliably/easily with ant).
Would be great to hear your thoughs.
Best wishes,
Stefan