Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Wed 20 Aug 2014, 22:40
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Utilities
sfs_load-2.2 on-the-fly
Post new topic   Reply to topic View previous topic :: View next topic
Page 13 of 20 [293 Posts]   Goto page: Previous 1, 2, 3, ..., 11, 12, 13, 14, 15, ..., 18, 19, 20 Next
Author Message
pemasu


Joined: 08 Jul 2009
Posts: 5463
Location: Finland

PostPosted: Sun 18 Mar 2012, 11:12    Post subject:  

Sfs_load.1.4 url link opens to 1.3.9 pet.
In repo the sfs_load-1.4 is as folder only. Yup...I picked the scripts from there...
Back to top
View user's profile Send private message 
shinobar


Joined: 28 May 2009
Posts: 2617
Location: Japan

PostPosted: Sun 18 Mar 2012, 19:35    Post subject: sfs_load-1.4.pet  

pemasu wrote:
Sfs_load.1.4 url link opens to 1.3.9 pet.

Sorry, have fixed now.

_________________
Google Chrome portable
Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html
Back to top
View user's profile Send private message Visit poster's website 
vicmz


Joined: 15 Jan 2012
Posts: 1104

PostPosted: Sun 18 Mar 2012, 20:25    Post subject: sfs_load translation updates
Subject description: Spanish and Portuguese, European and Latin American
 

These are fixes and regional locales for sfs_load in Spanish and Portuguese. The difference between the languages in Europe and the languages in Americas is, well, just a few words, but this week I've been using sfs_load a lot in Racy and I could see some bugs in the translations, so the whole texts were spellchecked and wrong translations were fixed. The separate locales for Spain and the Americas (Spanish), and Brazil and Portugal + other ex-colonies (Portuguese), were made on the go.
sfs_load____es_es-ES_pt-BR_pt-PT.tar.gz
Description  fixes and regional locales for sfs_load in Spanish and Portuguese
gz

 Download 
Filename  sfs_load____es_es-ES_pt-BR_pt-PT.tar.gz 
Filesize  23.94 KB 
Downloaded  320 Time(s) 
Back to top
View user's profile Send private message 
RSH


Joined: 05 Sep 2011
Posts: 2383
Location: Germany

PostPosted: Fri 23 Mar 2012, 00:49    Post subject:  

Coming from here, please do read:
http://murga-linux.com/puppy/viewtopic.php?p=614127#614127
shinobar wrote:
Do you know? The sfs_load > 1.3 allows more than 6 sfs without any change of the initrd.gz.
http://www.murga-linux.com/puppy/viewtopic.php?t=64354

The trick is the script /etc/init.d/sfs_load loads them after boot, the excessive sfs's (more than 6) which the initrd did not load. (idea from jamesbond)

As i wrote, i can not see the solution and do not really understand how to use the idea from james bond. Confused

But i did try something which might be interesting:

If i do use this
Code:
exec sfs_load --cli $SFSAUDIOMIDIEDIT &
i can load and unload sfs file without having to click on any button - no gui! Very Happy This is great and i should have known this much earlier. Sad Looks like there is a need for me to use more often the terminal and type "wanted application" and "--help" Laughing Laughing

If i want to use this in a loop or script using a list of sfs files the menu will be fixed (fixmenus) after every sfs has been loaded. My suggestion would be to give a parameter to sfs_load-on-the-fly to skip the fixmenus command and let only fixmenus run after the last sfs is loaded.

So i did a little "hack" on your sfs_load-on-the-fly script:
Code:
fixmns=""
if [ -f /tmp/sfs_fix_menu ]; then
   . /tmp/sfs_fix_menu
   else
   fixmns="yes"   
fi
at the very beginning of the script.

Code:
    # modified by RSH
    if [ "$fixmns" = "yes" ]; then
      if [ "$HAS_DESKTOPS" ]; then
        waitsplash $(gettext "Updating menu...")
      fixmenus
        [ "$DISPLAY" ] && pidof jwm &>/dev/null && jwm -restart
        waitsplash --stop
     fi
    fi
somewhere around line 330.

Then, using the following script, i can load and unload several sfs files without any clicking (no gui) and only calling fixmenus after last sfs is laoded.
Code:
echo 'fixmns="no"' > /tmp/sfs_fix_menu
... ... ...
sfs_load --unload "$SFSOFFICE"
echo 'fixmns="yes"' > /tmp/sfs_fix_menu
sfs_load --unload "$SFSVIDEOEDIT"
else
sfs_load --cli "$SFSOFFICE"
echo 'fixmns="yes"' > /tmp/sfs_fix_menu
sfs_load --cli "$SFSVIDEOEDIT"
... ... ...


Simple solution to me would be something like this:
Code:
sfs_load --cli "$SFSOFFICE" no
to load sfs without calling fixmenus,

and
Code:
sfs_load --cli "$SFSOFFICE"
to load sfs and run fixmenus after sfs is loaded.

Unfortunately i am not a real bash programmer, so i can not do this. Do you see any possibility to make this a feature of a next version? I surely should know know you do so, but are you willing?

One more question: does the --cli command mean, a not existing pup_ro directory will be created automatically in background (without any warning)?

Edit:
I have examined your script again. It took one hour to get me to the idea to search for the --cli command inside your script. Embarassed

Found this and used this:
Code:
 while [ "$1" ] ; do
  case "$1" in
  -n|--norefresh) FIXMNS="no";;
  -u|--un*) ACTION="unload";;
  -c|--cli) GUI="";;
  -q|--quiet) QUIET="y";;
  -f|--force) FORCE="y";;
  -y|--yes) FIRSTQUERY="y";;
  -d|--debug) DEBUGFLAG="y";;
  -h|--help) usage; exit;;
  *=*) [ "$DEBUGFLAG" ] && eval $1 || break;;
  *) break;;
  esac
  shift
 done
around line 1440.

Inserting this:
Code:
  -n|--norefresh) FIXMNS="no";;

and putting this:
Code:
FIXMNS="yes"
in the very beginning of the script gives option to use the --norefresh command.

Now, this script
Code:
      sfs_load --unload --norefresh "$SFSOFFICE"
      #echo 'fixmns="yes"' > /tmp/sfs_fix_menu
      sfs_load --unload "$SFSVIDEOEDIT"
      else
      sfs_load --cli --norefresh "$SFSOFFICE"
      #echo 'fixmns="yes"' > /tmp/sfs_fix_menu
      sfs_load --cli "$SFSVIDEOEDIT"
works as well. Very Happy

What do you think about that? Would it be worth to realize? Or shall i modify it in my LazY Puppy that way - only?

Code:
    # modified by RSH
    if [ "$fixmns" = "yes" ]; then
      if [ "$HAS_DESKTOPS" ]; then
        waitsplash $(gettext "Updating menu...")
      fixmenus
        [ "$DISPLAY" ] && pidof jwm &>/dev/null && jwm -restart
        waitsplash --stop
     fi
    fi
should this one more wide - including the
Code:
  if [ "$HAS_PINS" ] && which restartjwm &>/dev/null; then
    [ "$DISPLAY" ] && restartjwm
section?
_________________
LazY Puppy
RSH's DNA
SARA B.
Back to top
View user's profile Send private message 
shinobar


Joined: 28 May 2009
Posts: 2617
Location: Japan

PostPosted: Fri 23 Mar 2012, 04:43    Post subject: fixmenus
Subject description: sfs_load in a loop
 

As for the commandline, Type 'sfs_load --help' from the terminal to get the usage.
RSH wrote:
If i want to use this in a loop or script using a list of sfs files the menu will be fixed (fixmenus) after every sfs has been loaded. My suggestion would be to give a parameter to sfs_load-on-the-fly to skip the fixmenus command and let only fixmenus run after the last sfs is loaded.

Nice idea. I will implement your idea in a future release.
The usage will be something like this:
Code:
for F in $SFSLIST; do
  sfs_load --no-afterwork $F
done
sfs_load --do-afterwork

I do not have any quick hack at this point of time, but would like to do in near future.
RSH wrote:
does the --cli command mean, a not existing pup_ro directory will be created automatically in background (without any warning)?

Maybe. Rolling Eyes I am usually loading more than 6.

As for the HAS_PINS, you are right, it will be fixed in the next version.
EDIT: i need to review the code. The restartjwm is a script i made which includes restarting the jwm.

_________________
Google Chrome portable
Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html

Last edited by shinobar on Fri 23 Mar 2012, 10:17; edited 2 times in total
Back to top
View user's profile Send private message Visit poster's website 
der-schutzhund

Joined: 26 Nov 2007
Posts: 781
Location: Blomberg / Germany

PostPosted: Fri 23 Mar 2012, 07:10    Post subject:  

First of all thank you for your great Propgram that puppy an interesting feature allows! Super work!

I am also very much interested in the additional functions that appeals to RSH in his contribution. That would further enhance your program!
This puppy would be more flexible than it is now!

Many greetings

Wolfgang
Back to top
View user's profile Send private message 
expert-system

Joined: 14 Mar 2012
Posts: 3

PostPosted: Wed 04 Apr 2012, 02:42    Post subject:  

Question (hopefully not silly):
Why does the 'cleanwhite()' function need to save the session in PUPMODE=13 ?
I love the load/unload-on-the-fly functionality, but it kind of "bothers" me to have to wait for the session to be saved each time I want to unload an SFS (since I load and unload SFSs fairly frequently).
I know it skips this step if you turn off periodically saving from the Puppy Event Manager, but I don't want to do it either.
The question that actually matters is:
What would be the implications of my altering the script so as not to save the session before unloading ?
Back to top
View user's profile Send private message 
shinobar


Joined: 28 May 2009
Posts: 2617
Location: Japan

PostPosted: Wed 04 Apr 2012, 04:03    Post subject: Cleaning up whiteouts  

expert-system wrote:
it kind of "bothers" me to have to wait for the session to be saved each time I want to unload an SFS

I understand it is bothers. I guess i need a bit deep consideration.
Tnanks.

_________________
Google Chrome portable
Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html
Back to top
View user's profile Send private message Visit poster's website 
RSH


Joined: 05 Sep 2011
Posts: 2383
Location: Germany

PostPosted: Fri 06 Apr 2012, 16:46    Post subject:  

Hello, Shinobar.

I am just trying to continue this:
http://murga-linux.com/puppy/viewtopic.php?p=614138#614138

Currently i am working on a special sfs feature that is based on a idea/suggestion by der-schutzhund. He wants to run programs from sfs - even if the sfs is not loaded. So he suggested to create a script, that would run the program, if the prgram is not available then loads the sfs and if the sfs does need another sfs, also load this sfs file. If all files are available, then running the program. Therefor the sfs's does need to know it's dependencies.

So, i did a lot of work and i am now able to do the whole thing, suggested by der-schutzhund. All i have to do is to make a rightclick on a not mounted sfs and then choosing inside a gui, of which program it shall create the -run-script/s (can also be done for all available programs).

After clicking Ok it creates automatically run-scripts of the wanted applications - like this one:
Code:
#!/bin/bash
#------------------------------------------------------------------------------
# SFS-AutoScript creates automatically run-scripts for programs in sfs files
# 2012-04-05 by Rainer Steffen Hain (RSH @ puppy-linux.org (murga forum))
#------------------------------------------------------------------------------
# this script is automatically created through SFS-AutoScript by RSH
# created as: LP2_Wine-b.sfs.foobar2000.run.sh, on: 2012-04-06
#------------------------------------------------------------------------------
DISPLAYEXE="foobar2000"
. /etc/rc.d/BOOTCONFIG
echo "$EXTRASFSLIST" > /tmp/xsfslist_tmp
sfslistfile=/tmp/xsfslist_tmp
if [ "$(which foobar2000)" ]; then
   foobar2000 &
   else
   sfs_load --cli "LP2_Wine-b.sfs"
   if [ -f /LP2_Wine-b.sfs.dependents ]; then
      for ideps in `cat /LP2_Wine-b.sfs.dependents`;
      do
         if [ "$ideps" != "" ]; then
            sfsisload="false"
            for i in `cat $sfslistfile`;
            do
               sfsresult=`echo $i | grep $ideps`
               if [ "$sfsresult" != "" ]; then
                  sfsisload="true"
               fi
            done
            if [ "$sfsisload" = "false" ]; then
               sfs_load --cli "$ideps"
            fi
         fi
      done
   fi
   foobar2000 &
fi
rm /tmp/xsfslist_tmp
exit 0
#------------------------------------------------------------------------------
# End of LP2_Wine-b.sfs.foobar2000.run.sh Script
#------------------------------------------------------------------------------
# Date: 2012-04-06


If i do use such script on my LazY Puppy Lazarus sfs, it will load automatically the devx and then starting lazarus.

The only problem is the fact, sfs_load on the fly does run fixmenus after every sfs loaded.

Therefor i did made modifications in the LazY Puppy sfs_load (1.3.9).

I did insert this
Code:
DOFIXMENUS="yes" # RSH 2012-04-06

in the very beginning of the sfs_load script (/usr/sbin)

I did insert this
Code:
  -n|--no-afterwork) DOFIXMENUS="no";; # RSH 2012-04-06

at (around) line 1440.

And i did modify this
Code:
    # modified by RSH 2012-04-06
    if [ "$DOFIXMENUS" = "yes" ]; then
      if [ "$HAS_DESKTOPS" ]; then
        waitsplash $(gettext "Updating menu...")
        fixmenus
        [ "$DISPLAY" ] && pidof jwm &>/dev/null && jwm -restart
        waitsplash --stop
      fi
    fi

at (around) line 330.

Related to the run-script above i do now insert --no-afterwork into the code sfs_load --cli "$ideps", so it looks like sfs_load --cli --no-afterwork "$ideps" and then every sfs is loaded without having the fixmenus running after every sfs loaded. At the end of my run-script i do insert fixmenus and it will be done while the user is already working with the programm. He will not notice the fixmenus if he is sunken in his work.

If the normal user runs sfs_load he will not notice anything of that simple modification.

The only real problem is: all this will be gone, if any user does install a new version of your sfs_load. I do not want to "hijack" your sfs_load, but i do need the whole thing running and working at least on 12.04.2012.

So what to do?

Is there any chance to implement my simple (and not really touching the your original sfs_load) modifications in exactly that way?

Or did you already made some work on this feature and can send me some code, so i can made the necessary changes?

I will be also willing to send you the code of my applications to make the sfs's know their dependencies.

_________________
LazY Puppy
RSH's DNA
SARA B.
Back to top
View user's profile Send private message 
shinobar


Joined: 28 May 2009
Posts: 2617
Location: Japan

PostPosted: Fri 06 Apr 2012, 18:11    Post subject: Next version of the sfs_load  

RSH wrote:
The only real problem is: all this will be gone, if any user does install a new version of your sfs_load. I do not want to "hijack" your sfs_load, but i do need the whole thing running and working at least on 12.04.2012.

Is there any chance to implement my simple (and not really touching the your original sfs_load) modifications in exactly that way?

Maybe not exact. I am planning to implement the '--no-afterwork' to skip all the afterwork, that is fixmenus and running the scripts in /etc/init.d and /root/Startup.
My plan:
Code:
# sfs_load --help
SFS-Load on-the-fly v.1.9
Load or unload extra sfs files on-the-fly.
usage: sfs_load [OPTION] [OPTION2 ...] [+|-][FILE_NAME] [+|-][FILE_NAME2] ...
      +FILE_NAME: load, same as FILE_NAME without '+'.
      -FILE_NAME: unload, same as --unload FILE_NAME.
  Options(short, or long):
    -u, --unload: unload the extra sfs files.
    -c, --cli: commandline interface, without dialog.
    -q, --quiet: skip the 1st confirmation dialog.
    -d, --debug: verbose output for debugging information.
    -l, --list=FILE_LIST : read file names from the list file FILE_LIST.
    - (without file name): read file names from standard input. Imply '--cli'.
  Examples:
        ls -1 DIR_NAME | sfs_load -
        sfs_load - < FILE_LIST
        sfs_load --list=FILE_LIST
      Note that FILE_LIST contains each filename per a line.
  Other options(sfs_load internal use):
    -n, --no-afterwork: suspend fixmenu and etc. after (un)loading.
    -a, --afterwork (without file name): only do suspended afterwork.
    start: auto load at boot (called from /etc/initd.d/sfs_load)
    stop: clean up at shutodpwn (called from /etc/initd.d/sfs_load)

You will be able to load multiple sfs files at one call of the sfs_load.
Code:
sfs_load file1.sfs file2.sfs

Also you can make a file list to be read by the sfs_load, or pipe via the standard output/input.
Or, should i also introduce '--skip-fixmenus' option?
EDIT: sfs_load-1.9 released implements this.

_________________
Google Chrome portable
Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html

Last edited by shinobar on Fri 06 Apr 2012, 20:08; edited 4 times in total
Back to top
View user's profile Send private message Visit poster's website 
seaside

Joined: 11 Apr 2007
Posts: 886

PostPosted: Fri 06 Apr 2012, 18:43    Post subject:  

I find that most sfs files need tweaking and adjusting to be useful. Further, each sfs file may need special treatment. For instance adding a library or a file, or overwriting a conflicting sfs layered file, or adding a special configuration and even loading additional sfs files, etc. is frequently required.

So, for that reason an additional script that's tailored to that sfs and automatically runs when that particular sfs file is mounted is very useful.

When I load "myfile.sfs", the loader has code to look for "myfile.sfsSETUP" which is in the same directory and runs right after "myfile.sfs" is loaded. If "myfile.sfs" requires the Java run time environment, then "myfile.sfsSETUP" will contain a command to load JRE.sfs. and perhaps copy over a config file as well.

This flexibility allows running or not running "fixmenus" and almost anything else, strictly depending on which sfs file is being loaded.

Regards,
s
Back to top
View user's profile Send private message 
RSH


Joined: 05 Sep 2011
Posts: 2383
Location: Germany

PostPosted: Fri 06 Apr 2012, 19:10    Post subject:  

shinobar wrote:
Or, should i also introduce '--skip-fixmenus' option?

Yes, this would be nice! This way i can change my "no-afterwork" inside my script to "skip-fixmenus" and everything wil still work without any further changes to make. Also it will not touch anything else (if user or not) and will give the programmer control of using sfs_load and of running fixmenus at different stages. Cool

Please, do so. Very Happy

_________________
LazY Puppy
RSH's DNA
SARA B.
Back to top
View user's profile Send private message 
shinobar


Joined: 28 May 2009
Posts: 2617
Location: Japan

PostPosted: Fri 06 Apr 2012, 19:26    Post subject: sfs_load-1.9  

Test release: sfs_load-1.9.pet (2012-04-07)
# 7 Apr 2012 v1.9: clean up whiteout, BOOTCONFIG.save for remastered puppy, accept multiple files, read from standard input, permission check
Type 'sfs_load --help' on a virtual terminal to see the detail.

_________________
Google Chrome portable
Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html
Back to top
View user's profile Send private message Visit poster's website 
shinobar


Joined: 28 May 2009
Posts: 2617
Location: Japan

PostPosted: Fri 06 Apr 2012, 19:41    Post subject: Reading file list  

@RSH
By using the sfs_load-1.9, you can just do:
Code:
sls_load --cli --list=/LP2_Wine-b.sfs.dependents

The sfs_load-1.9 just skips the files already loaded.
But be caution. It takes time for the file search if the sfs file to be loaded does not exist at the normal place , that is /mnt/home or the sub directory.

_________________
Google Chrome portable
Downloads for Puppy Linux http://shino.pos.to/linux/downloads.html
Back to top
View user's profile Send private message Visit poster's website 
RSH


Joined: 05 Sep 2011
Posts: 2383
Location: Germany

PostPosted: Fri 06 Apr 2012, 19:49    Post subject: Re: Reading file list  

shinobar wrote:
@RSH
By using the sfs_load-1.9, you can just do:
Code:
sls_load --cli --list=/LP2_Wine-b.sfs.dependents

The sfs_load-1.9 just skips the files already loaded.

Wow, you are really fast!

Thank you very much for this, i think it will be alright, if i do say thank you very much also in the name of Wolfgang (der-schutzhund). I have already downloaded and tested using --skip-fixmenus.

Works fantastic that way. Very Happy

The --list command seems to be very useful as well. If i got time i will play with it.

Or maybe...

Right now i do see its potential. The automatically generated run-scripts could get smaller that way. We'll see...

_________________
LazY Puppy
RSH's DNA
SARA B.
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 13 of 20 [293 Posts]   Goto page: Previous 1, 2, 3, ..., 11, 12, 13, 14, 15, ..., 18, 19, 20 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Utilities
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1394s ][ Queries: 13 (0.0089s) ][ GZIP on ]