Install scripts for ROX-Filer


Forum: DSL Ideas and Suggestions
Topic: Install scripts for ROX-Filer
started by: cbagger01

Posted by cbagger01 on Nov. 23 2003,08:36
Hi all,

Below you will find what is hopefully the final install scripts for the ROX-Filer file manager.

There are two scripts: ".start_rox" and ".install_rox"

Note the period "." in front of the file name. Both of these scripts are meant to be saved in the /home/damnsmall directory.  Copy and paste each script into a text editor and save them. Then, from an xterminal shell (rxvt), type 'chmod 755 .start_rox' and then press the ENTER key. Next type 'chmod 755 .install_rox' and then press the ENTER key.

To start or install Rox, type './.start_rox' and then press the ENTER key.  You no longer need to be the 'root' user to run the start script. If Rox is not already installed, the script will then call the .install_rox script

The idea here is to add the .start_rox script to the Fluxbox Menu tree in future releases of DSL.

Here are the scripts:

Code Sample
#!/bin/sh
#
# .start_rox - Checks to see if the Rox Filer is already installed
#              and starts it up. Otherwise, run the install script.
# Rev 0 11/22/03

# Check to see if Rox Filer is already installed
if  test -f '/usr/local/bin/rox'
then
    /usr/local/bin/rox &
    exit
fi

# Otherwise, run the insall script as root
cd /home/damnsmall
rxvt -rv -T "installing Rox Filer..." -e sudo -u root ./.install_rox
/usr/local/bin/rox
exit



Code Sample
#!/bin/sh
#
# .install_rox - Downloads and installs the Rox Filer file manager for a
#                Damn Small Linux user.
# Rev 2 11/22/03

#
# First, create a /usr tree on the ramdisk if the user is running from
# the Damn Small Linux Live CD. Why? Because the default /usr tree is
# linked to the read-only CDROM file system and new files are not allowed.
# Lets create a REAL /usr tree structure on the ramdisk and add a bunch of
# Symlinks back to the CDROM for all of the files inside the old /usr tree.
ls -l /usr | grep 'KNOPPIX' > /tmp/loadrox.tmp
if  test -s '/tmp/loadrox.tmp'
then
    echo 'System is running from a Live CD compressed image filesystem. '
    echo 'Creating a writable /usr tree on the RAM Disk...'
    cp -srd /KNOPPIX/usr/ /ramdisk
    ln -sf --target-directory=/ /ramdisk/usr
fi
rm /tmp/loadrox.tmp

# Next, download, unpack and install the Slackware 8.1 GDK pixbuf libraries
echo 'Grabbing GDK pixbuf libraries...'
wget -c http://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-8.1/slackware/l/gdk-pixbuf-0.17.0-i386-1.tgz
tar -zxvf gdk-pixbuf-0.17.0-i386-1.tgz
sh ./install/doinst.sh

# Next, download, unpack and install the Slackware 8.1 XML2 libraries.
echo 'Grabbing XML2 libraries...'
wget -c http://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-8.1/slackware/l/libxml2-2.4.22-i386-1.tgz
tar -zxvf libxml2-2.4.22-i386-1.tgz
sh ./install/doinst.sh

# Next, download, unpack and install the Generic Linux Rox Base 1.02 package
echo 'Grabbing Rox Base package...'
wget -c http://unc.dl.sourceforge.net/sourceforge/rox/rox-base-1.0.2.tgz
tar -zxvf rox-base-1.0.2.tgz
# Choose Option 1 for an install to /usr/local/share/Choices
echo $'1\nyes\nyes\nyes' | sh ./rox-base-1.0.2/install.sh

# Finally, download and unpack the Generic Linux Rox Filer 1.2 binaries
echo 'Grabbing Rox Filer binaries...'
wget -c http://unc.dl.sourceforge.net/sourceforge/rox/rox-linux-x86-1.2.0.tgz
tar -zxvf rox-linux-x86-1.2.0.tgz

# Before running the install script, move the newly installed libraries into
# the main /usr tree. Then choose Option 1 for an install to /usr/local/bin
cd /usr
cp -r --reply=yes /home/damnsmall/usr ../
cd /home/damnsmall
echo $'1\nyes\nyes\nyes\nyes' | sh ./rox-linux-x86-1.2.0/install.sh

# Create Desktop Icon for Rox-Filer
echo 'table Icon' > /home/damnsmall/.xtdesktop/rox.lnk
echo '  Type: Program' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  Caption: Rox-Filer' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  Command: rox' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  Icon: /usr/local/apps/ROX-Filer/AppIcon.xpm' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  X: 295' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  Y: 32' >> /home/damnsmall/.xtdesktop/rox.lnk
echo 'end' >> /home/damnsmall/.xtdesktop/rox.lnk
chown damnsmall:staff /home/damnsmall/.xtdesktop/rox.lnk

# Create MIMI symbolic links for standard Damn Small Linux programs
ln -s /usr/bin/xpdf /usr/local/share/Choices/MIME-types/application_pdf
ln -s /usr/bin/ted-gtk /usr/local/share/Choices/MIME-types/application_rtf
ln -s /usr/bin/xmms /usr/local/share/Choices/MIME-types/audio
ln -s /usr/bin/xzgv /usr/local/share/Choices/MIME-types/image
rm -f /usr/local/share/Choices/MIME-types/text
ln -s /usr/bin/nedit /usr/local/share/Choices/MIME-types/text
ln -s /usr/local/bin/dillo /usr/local/share/Choices/MIME-types/text_html
ln -s /usr/bin/xmms /usr/local/share/Choices/MIME-types/video

# Clean up some junk in the /home/damnsmall directory
rm -rf /home/damnsmall/usr
rm -rf /home/damnsmall/install
rm -rf /home/damnsmall/rox-base-1.0.2
rm -rf /home/damnsmall/rox-linux-x86-1.2.0
rm -rf /home/damnsmall/gdk-pixbuf-0.17.0-i386-1.tgz
rm -rf /home/damnsmall/libxml2-2.4.22-i386-1.tgz
rm -rf /home/damnsmall/rox-base-1.0.2.tgz
rm -rf /home/damnsmall/rox-linux-x86-1.2.0.tgz

# Now tell the user how to start the Rox Filer
echo 'ROX Filer Installation is complete'
echo 'Please exit from the root shell and try it out.'
echo 'To run it from the command prompt, type this on a blank line:'
echo ''
echo '# rox'
echo ''
echo 'Or if you use Enhance, click on the new Rox Filer desktop icon'
echo 'You may need to toggle between NO ICONS and ICONS to make'
echo 'the new desktop icon appear.'

Posted by John on Nov. 24 2003,05:50
Great, I'll have to build a test iso and try it out!
Posted by roberts on Nov. 24 2003,06:24
Note for liveCD users, both Rox and Opera scripts will break the restore capabilites of the enhance desktop. That is if you were to run these scripts and then use the backup feature saving the .xtdesktop which is the default. Then upon reboot you lose ALL the enhanced desktop icons. The problem lies in that icons are trying to be displayed that no longer exist. The fix to this problem is to have the icons for both scripts be stored consistent with the other icon images in the .xtdesktop directory. That is copy the icons into the .xtdesktop directory and change the appropriate line of the scripts. Then the enhanced icon feature will not be broken and the icons for rox and opera become "smart" icons like the firebird icon.
Posted by cbagger01 on Nov. 24 2003,07:11
Roberts,

Thank you very much for your troubleshooting help.  I don't use the 'restore' option, so I did not notice the problem with the xtdesktop.

I have made two changes to the install scripts. The opera script fix will be added to the existing opera script post message thread.

(1) The xtdesktop icons are now copied over to the /home/damnsmall/.xtdesktop directory.

(2) The desktop icon command has been changed to call the .start_rox script instead of 'rox' directly.  This shouldl allow a 'restore' user to re-download rox simply by clicking on the icon again after booting with 'restore' option from the live cd.

The .start_rox script has not changed, but here is the new .install_rox script:

Code Sample
#!/bin/sh
#
# .install_rox - Downloads and installs the Rox Filer file manager for a
#                Damn Small Linux user.
# Rev 3 11/24/03

#
# First, create a /usr tree on the ramdisk if the user is running from
# the Damn Small Linux Live CD. Why? Because the default /usr tree is
# linked to the read-only CDROM file system and new files are not allowed.
# Lets create a REAL /usr tree structure on the ramdisk and add a bunch of
# Symlinks back to the CDROM for all of the files inside the old /usr tree.
ls -l /usr | grep 'KNOPPIX' > /tmp/loadrox.tmp
if  test -s '/tmp/loadrox.tmp'
then
    echo 'System is running from a Live CD compressed image filesystem. '
    echo 'Creating a writable /usr tree on the RAM Disk...'
    cp -srd /KNOPPIX/usr/ /ramdisk
    ln -sf --target-directory=/ /ramdisk/usr
fi
rm /tmp/loadrox.tmp

# Next, download, unpack and install the Slackware 8.1 GDK pixbuf libraries
echo 'Grabbing GDK pixbuf libraries...'
wget -c http://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-8.1/slackware/l/gdk-pixbuf-0.17.0-i386-1.tgz
tar -zxvf gdk-pixbuf-0.17.0-i386-1.tgz
sh ./install/doinst.sh

# Next, download, unpack and install the Slackware 8.1 XML2 libraries.
echo 'Grabbing XML2 libraries...'
wget -c http://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware-8.1/slackware/l/libxml2-2.4.22-i386-1.tgz
tar -zxvf libxml2-2.4.22-i386-1.tgz
sh ./install/doinst.sh

# Next, download, unpack and install the Generic Linux Rox Base 1.02 package
echo 'Grabbing Rox Base package...'
wget -c http://unc.dl.sourceforge.net/sourceforge/rox/rox-base-1.0.2.tgz
tar -zxvf rox-base-1.0.2.tgz
# Choose Option 1 for an install to /usr/local/share/Choices
echo $'1\nyes\nyes\nyes' | sh ./rox-base-1.0.2/install.sh

# Finally, download and unpack the Generic Linux Rox Filer 1.2 binaries
echo 'Grabbing Rox Filer binaries...'
wget -c http://unc.dl.sourceforge.net/sourceforge/rox/rox-linux-x86-1.2.0.tgz
tar -zxvf rox-linux-x86-1.2.0.tgz

# Before running the install script, move the newly installed libraries into
# the main /usr tree. Then choose Option 1 for an install to /usr/local/bin
cd /usr
cp -r --reply=yes /home/damnsmall/usr ../
cd /home/damnsmall
echo $'1\nyes\nyes\nyes\nyes' | sh ./rox-linux-x86-1.2.0/install.sh

# Create Desktop Icon for Rox-Filer
cp /usr/local/apps/ROX-Filer/AppIcon.xpm /home/damnsmall/.xtdesktop/rox.xpm
echo 'table Icon' > /home/damnsmall/.xtdesktop/rox.lnk
echo '  Type: Program' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  Caption: Rox-Filer' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  Command: sh /home/damnsmall/.start_rox' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  Icon: /home/damnsmall/.xtdesktop/rox.xpm' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  X: 295' >> /home/damnsmall/.xtdesktop/rox.lnk
echo '  Y: 32' >> /home/damnsmall/.xtdesktop/rox.lnk
echo 'end' >> /home/damnsmall/.xtdesktop/rox.lnk
chown damnsmall:staff /home/damnsmall/.xtdesktop/rox.lnk
chown damnsmall:staff /home/damnsmall/.xtdesktop/rox.xpm

# Create MIMI symbolic links for standard Damn Small Linux programs
ln -s /usr/bin/xpdf /usr/local/share/Choices/MIME-types/application_pdf
ln -s /usr/bin/ted-gtk /usr/local/share/Choices/MIME-types/application_rtf
ln -s /usr/bin/xmms /usr/local/share/Choices/MIME-types/audio
ln -s /usr/bin/xzgv /usr/local/share/Choices/MIME-types/image
rm -f /usr/local/share/Choices/MIME-types/text
ln -s /usr/bin/nedit /usr/local/share/Choices/MIME-types/text
ln -s /usr/local/bin/dillo /usr/local/share/Choices/MIME-types/text_html
ln -s /usr/bin/xmms /usr/local/share/Choices/MIME-types/video

# Clean up some junk in the /home/damnsmall directory
rm -rf /home/damnsmall/usr
rm -rf /home/damnsmall/install
rm -rf /home/damnsmall/rox-base-1.0.2
rm -rf /home/damnsmall/rox-linux-x86-1.2.0
rm -rf /home/damnsmall/gdk-pixbuf-0.17.0-i386-1.tgz
rm -rf /home/damnsmall/libxml2-2.4.22-i386-1.tgz
rm -rf /home/damnsmall/rox-base-1.0.2.tgz
rm -rf /home/damnsmall/rox-linux-x86-1.2.0.tgz

# Now tell the user how to start the Rox Filer
echo 'ROX Filer Installation is complete'
echo 'Please exit from the root shell and try it out.'
echo 'To run it from the command prompt, type this on a blank line:'
echo ''
echo '# rox'
echo ''
echo 'Or if you use Enhance, click on the new Rox Filer desktop icon'
echo 'You may need to toggle between NO ICONS and ICONS to make'
echo 'the new desktop icon appear.'

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.