ChoicePup431 - a gnu way

For talk and support relating specifically to Puppy derivatives
Message
Author
User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#91 Post by jrb »

sunburnt wrote:I have Qs about your sfs loader script
I tried to be fairly thorough in the third post on this page but if you have specific questions feel free to ask.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#92 Post by jrb »

Thom,
Will return to ripping things out of 431.

tlchost
Posts: 2057
Joined: Sun 05 Aug 2007, 23:26
Location: Baltimore, Maryland USA
Contact:

#93 Post by tlchost »

jrb wrote:Thom,
Will return to ripping things out of 431.
Thanks a bunch!

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#94 Post by sunburnt »

1)
I wanted to know the success rate of the simple linker approach.
Simple apps. all work well, how about browsers, offices, media players, etc.?
What apps. have refused to work like this? This needs to be addressed.
2)
I`m wondering if the setup script in the SFS files I spoke of is needed.
It seemed to me that a simple loader script wouldn`t do for all apps.
That there`d be too many "one of" exceptions for some of the apps.
3)
Also, it seems that you change the main PATHs for the whole OS.
Is this correct? If so, then as I said... It seems to be unneeded overkill.
I think the PATH only needs to be set for the apps. environment.

I`d like you to correct me on these items if you would so I know where we are.
This is the single most important thing to the forward evolution of Linux.
Getting rid of the "loose file" type of OS and using SFS files only.
No installing apps. like M$ Weeners, Apple, and Linux does now!

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

sfs conflicts

#95 Post by mikeslr »

@ sunburnt:

I'm not certain if the following problem is of the type you're interested in, but 01micko reported using sfs-linker in dPup482beta5 (which uses the 4.6.30.5 kernel) @ http://www.murga-linux.com/puppy/viewto ... &start=240

"Tried BK's open office 3.1.1 . Got menu entries. They failed to work. The symlinks existed in /usr/local/sbin but they pointed to /mnt/sdaX/openofices311.sfs/opt/Openoffice3/program/scalc (or whatever app, swriter etc). Since the app is basically "installed" I would have thought the links would point to /opt/Openoffice3/program/scalc. I don't know. Anyway, the menu entries pointed to /usr/local/bin/s* . I think it may be because BK has symlinks in his sfs???
Running the full path from a terminal the apps all worked."

and then @ http://www.murga-linux.com/puppy/viewto ... &start=255

"Some more consequences from using sfs_linker with the kernel source..
-Gtkdialog3 was broken, found out when I went to shutdown.. restored from /initrd/pup_ro2. Just maybe, it may have broke because we use Gtkdialog with a symlink from Gtkdialog3 whereas a standard Puppy uses it the other way around. What I ended up with was 2 broken symlinks! That may have been caused by the Ooo sfs, it was made for 4.3x after all. Or, possibly by sfs_linker itself, I can't see the kernel source needing gtkdialog for anything.
-Downloads in Firefox are broken, still under investigation."

Also on dPup482beta5, I used the sfs-converter to convert OxygenOffice 2.4 and then linked using the linker. I can confirm 01micko's first problem.

As I know very little, the following may make no sense. Since sfs's are external to a Puppy's Save file (and a Full install?) conserving space shouldn't be a concern. Wouldn't a "static build" --if I've used the term correctly-- of sfs' eliminate conflicts with other apps; i.e. the build would contain all necessary libs, and only look within itself for them: its only connection with the OS being a script to start it.

MikesLr

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#96 Post by sunburnt »

mikeslr; Static compiled builds of apps for SFS files is how I see it being done.
This makes for larger SFS files and a lot of redundant libraries and other files.
But the Skype SFS file I made worked well I think because it was statically compiled.

Non-static builds are asking for problems from assuming that dependencies are there.
To assume some libraries are there would require a "standardized librariy set".
A group of very common libraries that would be in every build of the Linux distro.
This level of organization just isn`t likely, so static builds assure SFS apps. will work.

The problem with the Office app. is hard to say without looking closer at it.
Apps. in SFS files are never "installed" they`re mounted, and maybe unioned

I asked jrb for help understanding what his SFS-Linker script is doing.
As I said to him, I have doubts that a simple script can handle all of the app. types.
It seems to me that there would be too many "one-of exceptions" to have to handle.
It`d be nice if the makers of the app. would make them so this wouldn`t happen.
But the idea of having apps. in non-union SFS files is a new one, so it takes time...

My solution for apps. needing exception handling is to put a "setup" file in the SFS file.
If this file exists in the SFS file, it`s run and it sets up the environment for the app.
I`ve made a few test examples of this type of SFS file and it works well of course.
Simple apps., editors, etc. work well, media players too mostly, browsers and up need help.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#97 Post by jrb »

Hi guys,
Sorry for the late reply but the forum doesn't seem to be sending email notifications out.

The only normally configured app that has refused to work with SFS_Linker is Googleearth. I had to do mkdir /mnt/ch4-GoogleEarth-4.3-ln.sfs and then use the googleearth install function to install it there. Once installed I made an SFS from it. The disadvantage to this is it will no longer work if installed with Barry's bootmanager.

Two apps, adobe reader and koffice, refuse to unmount once installed. There is some process still running which I have not tracked down, although these are not my favourite apps so I haven't tried all that hard.

I have never been impressed by the mozilla browsers sharing the same /root/.mozilla so I set up each browser with its own, i.e. /root/.mozilla-ff3.5.3 and linked it to /root/.mozilla.

Here is the code that I have used in the OpenOffice SFS for /usr/local/bin/swriter, scalc, etc.

Code: Select all

#!/bin/sh
  if [ -f /mnt/ch4-OpenOffice-3.0-ln.sfs/opt/openoffice.org3/program/swriter ]; then
    exec /mnt/ch4-OpenOffice-3.0-ln.sfs/opt/openoffice.org3/program/swriter "$@"
  else
    exec swriter "$@"
  fi
It runs fine from console or menu either installed with SFS_Linker or Bootmanager.
Also, it seems that you change the main PATHs for the whole OS.
Is this correct?
As I mentioned above the only app that has required this is Googleearth. I have set up SFS_Linker to add the PATH's for all apps library files to /etc/ld.so.conf upon installation and then remove them when uninstalled. i.e.

Code: Select all

/lib
/usr/lib
/usr/local/lib
/usr/X11R7/lib
/opt/samba/lib
/root/my-applications/lib
/mnt/ch4-FoxitReader1.0.sfs/usr/lib
/mnt/ch4-FoxitReader1.0.sfs/usr/local/lib
/mnt/ch4-FoxitReader1.0.sfs/usr/X11R7/lib
/mnt/ch4-FoxitReader1.0.sfs/opt/samba/lib
the build would contain all necessary libs, and only look within itself for them
I have started using this approach lately. Trying to make sure that all necessary libs are in the SFS. An example is Opera10.10, it needs libs from firefox or seamonkey to run the latest flashplayer so I have been putting those in the SFS even though they exist in standard puppy's. Typing in that SFS right now. No problems with redundancy.

One problem that I have noticed is that symlinks occasionally get left behind, I'm not sure why. I have been using "cleanlinks" to get rid of them but it is extremely dangerous.

Code: Select all

#!/bin/sh
#
# Copyright © 2000, 2003 by The XFree86 Project, Inc
# 
# Remove dangling symlinks and empty directories from a shadow link tree
# (created with lndir).
#
# Author: David Dawes <dawes@xfree86.org>
#
# $XFree86: xc/config/util/cleanlinks.sh,v 1.2 2003/04/15 03:05:16 dawes Exp $

find . -type l -print |
(
	read i
	while [ X"$i" != X ]; do
		if [ ! -f "$i" ]; then
			echo $i is a dangling symlink, removing
			rm -f "$i"
		fi
		read i
	done
)

echo Removing empty directories ...
#find . -type d -depth -print | xargs rmdir > /dev/null 2>&1
find . -depth -type d -empty -print -exec rmdir {} \;
exit 0
If run in /root (as in just opening up the desktop console and typing "cleanlinks") it will will destroy the pupsave.2fs. I've been placing it in /usr/cleanlinks, cd /usr and then ./cleanlinks. I thought about setting up a script in SFS_Linker to do exactly that but just having it on somebody else's computer scares me.
This is the single most important thing to the forward evolution of Linux. Getting rid of the "loose file" type of OS and using SFS files only.
You might be interested in the Express gate (Asus Splashtop) linux. Apparently its based on tinylinux which I am not overly familiar with but it has a very small linux core (init.gz?) built into ROM and then uses unioned SFS files for everything else.http://www.phoronix.com/forums/showthread.php?t=11610

Hope this is of some help. J

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#98 Post by sunburnt »

Thanks jrb; That clarifies the Qs very well.
Apparently most apps. behave properly, and the few that don`t are not hard to fix.
If this is consistent for most apps. then the linker should do what`s needed.
There`s probably a lot of apps. that you haven`t tried, audio video tools, etc.
But I wouldn`t think that they would be a problem, not as messy as other apps.

Q; /etc/ld.so.conf ... What`s it`s purpose, does it refresh LD_LIBRARY_PATH ?

The links may still think they`re attached to something, maybe "sync" will free them.
Then there`s my suggestion of having a ram-disk union layer just for no-union links.
Left over links wouldn`t matter as the layer gets destroyed at shutdown.
The linker script wouldn`t even have to bother with removing the links ever!
This is contrary to getting rid of the union all together, but it may be better now...

### All that said... I hope your wife continues improving, best wishes this holiday season... :D

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#99 Post by jrb »

Q; /etc/ld.so.conf ... What`s it`s purpose, does it refresh LD_LIBRARY_PATH ?
As I understand it /etc/ld.so.conf contains the paths to search for library files and is read at boot. You can add new paths to this file and then run /sbin/ldconfig and it will refresh the library paths. /sbin/ldconfig and its dependencies /sbin/initrdinit, /sbin/mkinitrd, and /sbin/sln can be obtained from devx.sfs.

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#100 Post by sunburnt »

jrb; Yep, that`s the only purpose I could think of for it.
So it does set the main "system" LD_LIBRARY_PATH...
In my tests this is unnecessary, I realized doing this was over kill.
Just set LD_LIBRARY_PATH and PATH before running the app. in a script.
I have code that does this and removes any nonexistent paths.
Though removing the empty paths probably isn`t necessary.

This is what the setup file I put in the SFS file did, but the file doesn`t
have to be in the SFS file, it can be made by the SFS loader script.
Last edited by sunburnt on Tue 12 Jan 2010, 19:21, edited 1 time in total.

gortonc
Posts: 39
Joined: Tue 12 Jan 2010, 16:05
Location: Costa Rica

#101 Post by gortonc »

Choicepup seems to be just what I am looking for. You all are to be comended for your great work. Is there any chance of seeing an sfs for thunderbird in the near future, and as a secondary question could I add the Enigmail plugin after installation or would it have to be included in the sfs?

I am a newbe to linux and am looking forward to learning a lot from this experience.

Thanks again to you all!

Chris

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#102 Post by jrb »

I have uploaded a new version of SFS_Linker. It will load both SFS and TCZ (tinycore linux) packages. Also contains minor improvements in file handling.

I have included two versions. One with replacement /usr/local/bin/defaultprograms so your loaded programs will become the defaults and one without.

Both contain a link to the TinyCore sfs4 repository on the internet menu. ftp://distro.ibiblio.org/pub/linux/dist ... x/2.x/tcz/

http://puppylinux.ca/members/choicepup/ ... bk-1.2.pet

http://puppylinux.ca/members/choicepup/ ... ef-1.2.pet

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#103 Post by jrb »

gortonc,
Your request for Thunderbird got me started on this new version of SFS-TCZ_linker. :D

If you go to ftp://distro.ibiblio.org/pub/linux/dist ... x/2.x/tcz/ and download thunderbird3.tcz, dbus-glib.tcz and dbus.tcz and load them with Linker you can run Thunderbird. Strangely the icon appears on the Network menu.

Sorry I don't know anything about the Enigmail plugin. Try it and let us know if it works. :wink:

Cheers, J

gortonc
Posts: 39
Joined: Tue 12 Jan 2010, 16:05
Location: Costa Rica

#104 Post by gortonc »

JRB - I am amazed at the quality of your work and honored that you allowed me to inspire a small part of it. I was able get thunderbird up and running but enigmail requires gnupg, any suggestions? Also it seems I need to relink thunderbird at every start up. Is there any way to make it persistant, and even better to activate it with the mail icon on the desktop?

Thank you for your awsome puppy! javascript:emoticon(':D')

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#105 Post by jrb »

enigmail requires gnupg, any suggestions?
See http://www.murga-linux.com/puppy/viewtopic.php?t=38542
Is there any way to make it persistant,
From wherever you have saved them, drag dbus-glib.tcz, dbus.tcz, and thunderbird3.tcz to /root/my_links/sfs_boot_links and choose Link (absolute). They will then load at every bootup. (Open the "my_links" folder on the desktop and you will see sfs_boot_links). You can use this technique for whatever SFS or TCZ you want loaded at boot.
and even better to activate it with the mail icon on the desktop?
Edit /usr/local/bin/defaultemail to:

Code: Select all

#!/bin/sh
exec thunderbird3 "$@"
Let me know how the enigmail thing work out. Cheers, J

BTW http://www.wellminded.com/puppy/pupsearch.html is an excellent way to find out about anything to do with Puppy

gortonc
Posts: 39
Joined: Tue 12 Jan 2010, 16:05
Location: Costa Rica

#106 Post by gortonc »

Thanks, thanks, and more thanks! Sometimes I think I might be too smart for my own good. I saw the tcz folder in .mylinks and put them in there thinking that the sfs folder was only for sfs'. (':oops:') Should have tried that after the tcz folder didn't work. In any event everything is up and running now. Even enigmail is working perfectly - just had to install the gnupg pup. BTW - what is that tcz folder for?

One more question; I recall someone (sunburnt I think) offering an sfs for Skype. Is there any chance of getting a copy of it. I tried installing the pupget that showed up in the package manager but it did not take.

Thanks again, and blessings on you.

Chris

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#107 Post by jrb »

BTW - what is that tcz folder for?
Now its my turn to be embarrassed. :oops: I forgot to put a readme file in that folder.

If you make a /mnt/home/tcz folder and keep your .tcz files there then symlinks will automatically be made to the /my_links/tcz folder at bootup, kind of like the /my_links/sfs_mnt_home folder. From there you can copy the links you want to /my_links/sfs_boot_links.

Oh well, thats why they make version numbers. :wink:

As for Skype, I live in a remote rural area with slightly better than dialup internet. I've never had much luck with Skype so haven't really pursued it. I found one mention of Sunburnt's Skype SFS but didn't see a link posted for it. You might PM him and see if he'll upload it for you.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#108 Post by jrb »

I've just uploade ch4-pnethood-0.65-utf8-2.sfs. Its complete, tested on BareBones431 with SFS-TCZ_Linker.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#109 Post by jrb »

I have just uploaded a rebuilt version of Mplayer1rc2,http://puppylinux.ca/members/choicepup/ ... r1rc2b.sfs.

It contains full codecs, browser plugin and dependencies. Tested in BareBones431.

doctorgig
Posts: 14
Joined: Sun 19 Apr 2009, 23:43

#110 Post by doctorgig »

I really like ChoicePup431!!

Is there any chance we could get a virtual box sfs like we had in the old version That would just rock. even better would be a newer version of Vbox
but I will take what I can get.. Thank you for all your effort. :)

Post Reply