I have packaged my software as rpm and everything is working just fine with software however there is one part of contents of rpm which I can't find proper way to update.

Every user in system has ~/public folder which holds small web accessible UI for software which is my software's subpackage. So my question is how do I update ~/public contents for every user while every user can have different UI subpackage. (defined in /etc/software-config/user.ini)

I tried to let rpm to put UI package contents to /var/www/html/software/UI/theme-name and own it by webserver and then make softlink ~/public/theme-name /var/www/html/software/UI/theme-name

but that wont work because users do not and can not belong to same group. What is the best way to get around that problem? Could it be /usr/share etc.

1 Answer 1


Generally rpm should not change data in a user's home directory. The reason those files are in the home directory probably is that the user can change them. To support such a scheme you'd have to make your software backwards compatible, so that old user configs stay working.

On the other hand, if you really want to use those symlinks, just put the original file somewhere where everybody has read access like /usr/share if your /var/www/html/software is not readable for others. Then there is no need for a common group.

  • Thank you for your answer these thoughts went through my head already. However I'm not fan of symlinks and were searching this "Non General" solution to change data in user's home. Something like cat /etc/passwd | grep -E ':/home|:/home1|:/home2' | cut -d: -f1 then check ~/public/theme/conf-file does user use this theme if yes then copy contents
    – mkungla
    Oct 23, 2013 at 9:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.