(I have uploaded SFS_Linker-431bk-1.1.pet for use in Puppy431 andSFS_Linker-no_def-1.1.pet which does not have modified /usr/local/defaultprograms for people who wish to have SFS_Linking without changing the desktop icon or MIME-type behavior.
These are the latest versions of SFS_Linker and seem to be preforming well.)
I have been looking for alternatives to load_sfs as used in ChoicePup412. Although it works well, it only works with the aufs1 file layering system.
The new kernels that Barry is introducing into Puppy4.3 use aufs2 which fails to mount the sfs's even if they're sfs4.
Looking at an idea put forward by sunburnt and reintroduced by trio for copying sfs into full installs I thought it might be possible to link the files in the mounted sfs to / rather than copying them. This would take no space in a frugal installs pup_save file.
I copied some of trio's code and put together this script:
Code: Select all
#!/bin/sh
#SFS linker
SFSNAME=`basename $1`
mkdir /mnt/"$SFSNAME"
mount -t squashfs "$1" /mnt/"$SFSNAME" -o loop
cp -rs /mnt/"$SFSNAME"/* / #jrb-add -rs, remove -a symlink option 15sep09
cd /mnt
APATTERN="s/.\/$SFSNAME//g"
find ./$SFSNAME -type f -mount -mindepth 2 | sed -e "$APATTERN" | sed -e 's/\/root0\//\/root\//g' > /root/.packages/$SFSNAME.files
sync
find ./$SFSNAME -type l -mount -mindepth 2 | sed -e "$APATTERN" | sed -e 's/\/root0\//\/root\//g' >> /root/.packages/$SFSNAME.files
sync
echo -e "\"${SFSNAME}\" \"${SFSNAME} : \" on \" \" \\" >> /root/.packages/alienpackages.txt
mkdir -p /root/my_links/linked_sfs
ln -s $1 /root/my_links/linked_sfs/
ldconfig
fixmenus
Xdialog --title "sfs_linker" --msgbox "Success! `basename $1` loaded.\n" 6 0
jwm -restart
It works with most of the ch-sfs packages. Noticeable exceptions are the mozilla browsers and openoffice. I have a feeling that the $HOME variable my need to be set. ch-GoogleEarth-4.3.sfs opens but doesn't work.
Any advice or suggestions will be greatly appreciated (I still consider myself a linux noob so keep it simple).
This is for use in Puppy412 or 421. The petget manager is different in Puppy4.3, will have to rewrite for that.
If you feel brave start a new pup_save and try it out. Right click on an SFS, choose OpenWith-sfs_linker.
Thanks, J