From: Keith W. <kr...@va...> - 2005-10-27 20:21:34
|
* <ke...@ha...> [27/10/2005 1555EDT]: > On Thu, October 27, 2005 11:12 am, Thomas Leonard said: > > On Thu, Oct 27, 2005 at 01:38:21AM -0200, Jonatan Liljedahl wrote: > > [...] > >> Yes, of course. The problem is that rox 2.3 ignores the executable bit, > >> and the option seems to be taken out since 2.2. > >> Anyhow, even if it ignores the exec bit for known types, it should tre= at > >> application/x-shellscript (especially those that DO have +x) as > >> executables. With 2.3 (for me at least) there's no way to handle > >> shellscripts as executables. > > > > Check that: > > > > - You have shared-mime-info >=3D 0.16 > > > > - Your /usr/local/share/mime/packages/rox.xml contains the rule: > > <mime-type type=3D"application/x-shellscript"> > > <sub-class-of type=3D"application/x-executable"/> > > </mime-type> > > > > This gets installed when you run the install script. The > > update-mime-database command should generate a share/mime/subclasses > > file. >=20 > Install script? Who runs the install script? :) >=20 > Seriously, I haven't run that in years. I just copy the new AppDir into > ~/Apps and go. Probably all of us experiencing this problem did the same. >=20 > Clearly we didn't "help test" as you asked. :( >=20 > Anyway, I copied rox.xml into freshly created > /usr/local/share/mime/packages and ran update-mime-database as instructed > and things are now fine once again. >=20 > Seems to be exactly what I was driving at in my previous email. Ya, that update-mime-database is important. :) The install script is install.sh which, yes, probably no one runs. Afterall, ROX-Filer is an AppDir. Eons ago I had picked apart that install script and took out the relevant sections of it for my RPM spec file. I think there was a thread a while ago about it w/ me bitching about that script not using $DESTDIR. lol Anyway, pasted below are those relevant parts. The %install section is done after the source is built to install the stuff to a fake root dir. %post is done after RPM install; notice how it updates the mime db, effectively adding the ROX MIME stuff. %postun is done after RPM uninstall; notice again how it updates the mime db, effectively removing the ROX MIME stuff. One more thing that annoys me: ROX's increasing dependence on 0install. This is great for making life easy for casual lay users who have freedom to install stuff as they wish but like to do so without any work. But it's yet another package management method to work with, requires network access to download from possibly untrusted locations, etc (where "untrusted" is left to the interpretation of a given corporation). Corporate environments tends to be very strict about what comes in and out of their networks and for what reason. So for those of us that have to do things the old-school way(s) because this is policy or whatever, it's a pita. I liked it much better when 0install was an option. Nowadays it has become a requirement for certain functionality. Sigh. Anyway, the point is the ROX-Filer/AppRun tries to grab the ROX mime-info via 0install. If it can't get it via 0install, it doesn't bother to get it, or say anything about not being able to get it. So, if I'm not mistaken, if ROX-Filer is not installed system-wide via the likes of the install script or something that does the update-mime-database, the user will have issues like Ken's. Then again I might be entirely wrong about this 'cause I haven't tried it. :) #--- begin rpm stuff %install for d in /usr/apps /usr/X11R6/bin /usr/share/{man/man1,mime/packages} ; do mkdir -p %{buildroot}/$d done cp rox.1 %{buildroot}/usr/share/man/man1/rox.1 ln -s rox.1 %{buildroot}/usr/share/man/man1/ROX-Filer.1 mkdir -p %{buildroot}/usr/share/Choices/{MIME-icons,MIME-types} cp -vdR Choices %{buildroot}/usr/share/. cp rox.xml %{buildroot}/usr/share/mime/packages/. rm -rfv ROX-Filer/{src,build} cp -vdR ROX-Filer %{buildroot}/usr/apps/. cat > %{buildroot}/usr/X11R6/bin/rox << '__EOF' #!/bin/bash exec /usr/apps/ROX-Filer/AppRun "$@" __EOF chmod 0755 %{buildroot}/usr/X11R6/bin/rox %post if [ -d /usr/share/mime ] && [ -x /usr/bin/update-mime-database ] ; then /usr/bin/update-mime-database /usr/share/mime ; fi %postun if [ -d /usr/share/mime ] && [ -x /usr/bin/update-mime-database ] ; then /usr/bin/update-mime-database /usr/share/mime ; fi #--- end rpm stuff --=20 SA Valaran Corp GPG: 0xEC705AE9 I put the sh in IT. s/^\(I\)\(T\)$/\1sh\2/ |