Bug 242936 - gnucash fails to start: ERROR: Permission denied: "/usr/share/guile/site/slibcat"
gnucash fails to start: ERROR: Permission denied: "/usr/share/guile/site/slib...
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: guile (Show other bugs)
7
x86_64 Linux
low Severity low
: ---
: ---
Assigned To: Miroslav Lichvar
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-06-06 11:06 EDT by Paul DeStefano
Modified: 2008-01-09 11:29 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-01-09 11:29:12 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Paul DeStefano 2007-06-06 11:06:31 EDT
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
Comment 1 Miroslav Lichvar 2007-06-06 12:13:06 EDT
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?
Comment 2 Miroslav Lichvar 2007-06-06 12:19:51 EDT
I mean wrong umask. How were the packages originally installed?
Comment 3 Paul DeStefano 2007-06-06 12:59:42 EDT
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.
Comment 4 Miroslav Lichvar 2007-06-07 09:40:52 EDT
Ok, I can reproduce the problem. Just setting umask for root.
Comment 5 Paul DeStefano 2007-06-08 12:35:22 EDT
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
Comment 6 Miroslav Lichvar 2007-06-08 13:01:56 EDT
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.
Comment 7 Miroslav Lichvar 2008-01-09 11:29:12 EST
guile-1.8.3-2.fc9 sets umask to 0022 in the scriptlet.

Note You need to log in before you can comment on or make changes to this bug.