Description of problem: Version-Release number of selected component (if applicable): How reproducible: Always occurs. gnucash has never worked since clean install of Fedora 7 (three days ago). Steps to Reproduce: 1. $ gnucash 2. 3. Actual results: bash-3.2$ gnucash ERROR: In procedure open-file: ERROR: Permission denied: "/usr/share/guile/site/slibcat" Expected results: gnucash should start. Additional info: This error can be eliminated by adding read permission to file "slibcat" installed permissions: bash-3.2$ ls -l /usr/share/guile/site/slibcat -rw------- 1 root root 7643 2007-06-05 01:44 /usr/share/guile/site/slibcat However, there is also this: bash-3.2$ rpm -q --file /usr/share/guile/site/slibcat file /usr/share/guile/site/slibcat is not owned by any package Isn't that wrong? bash-3.2$ rpm -q --all --list | grep slibcat
The file is generated during guile and slib installation, so it's not listed in the rpm database. Probably wrong ulimit is somewhere set. Can you reproduce the problem? Does guile reinstalling create the file with wrong permission?
I mean wrong umask. How were the packages originally installed?
I'm pretty sure I installed gnucash using the Software Manager GUI (Add/Remove Software) when I added 50+ programs after initial install. I have installed some applications (xfce4 stuff and pine from LIVNA) using 'sudo yum install ...', but I remember selecting gnucash from the menu. I'm surprised that umasks can get confused with RPM, even if it's a generated file. But I understand what you mean. My default umask is 0077, so, that could make sense. I promise to test by reinstalling, later. If you want me to follow a specific test procedure, so can be sure, just let me know.
Ok, I can reproduce the problem. Just setting umask for root.
I was also able to correct the problem by uninstalling gnucash and slib, then reinstalling. I set my umask to 022, used yum to erase gnucash and slib, and then used yum to install slib gnucash. In the end, gnucash started without error and the file "/usr/share/guile/site/slibcat" was world readable. So, thanks so much for your help. This wasn't a bug, at all. Sorry. Two things, though, if you don't mind. 1) When you say "set umask for root", what do you mean? /root/.bash_profile? 2) Isn't there some way to insulate YUM or RPM from the umask of the user who runs them? I use sudo all the time and it doesn't seem right that rpm should take umask for post-install scripts from the environment. I realize this bug report log isn't the right place for this discussion. Feel free to return a reference or just ignore. Many thanks! Paul
Well, it actually is a bug, I'm just not sure if this should be fixed in rpm or in every scriptlet that creates files (and there are many of them). It's related to bug #83006.
guile-1.8.3-2.fc9 sets umask to 0022 in the scriptlet.