ChoicePup431 - a gnu way

For talk and support relating specifically to Puppy derivatives
Message
Author
musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#81 Post by musher0 »

Many thanks, jrb.

But since you're in such a good mood (:-), I also noticed that the pinstall.sh in your winelite sfs gets triggered every time the ppm (puppy package manager) gets used. It does not do anything bad, simply the winecfg.exe gets triggered everytime you load say a GTK theme or something else from the repositories. This wine trigggering happens towards the end of the ppm process.

Also what is this doing in my Startup, if I don't have the portable tray program?

#!/bin/sh
wine /mnt/home/StartPortableApps.exe

We have enough windows programs already, do you think we need more? (:-)

Believe me, I'm sorry I'm doing this to you. (:-) I do language editing during the way, I really wish I didn't have the instinct to spot computer scripts in my spare time!

Sincerely,
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#82 Post by musher0 »

There was a double post here, but I won't say sorry for it because it occurred after a DEBUG message, concerning my previous post, coming from the forum program. Oh, God... did I accidentally spot something here too? :oops:
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

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

ChoicePup, dPup and Community Edition

#83 Post by mikeslr »

I've been following this thread, gposil's dPup thread and technosaurus' thread about plans for the Community Edition.

I agree with sunburnt. "Dpup, I really think it`s Puppy`s future." Well, dPup but modified to enable your design for handling sfs' on the fly: the best of both worlds > synaptic for access to debian's packages, puppy plus sfs-linker to enable them to run as needed on resource limited computers, or together when possible.

Hopefully, at some point, we'll need a one-step deb-to-sfs converter.

We live in interesting times. Glad I didn't "buy a MAC. "javascript:emoticon(':lol:')


mikesLr

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

ChoicePup431-Progress?

#84 Post by tlchost »

Hi!

Did you ever get a chance to produce ChoicePup431? I have a project that requires a very basic version of Puppy and based on previous versions of ChoicePup, you efforts came to mind.

Thanks again for all that you have done...hope all is well.

Thom

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

#85 Post by sunburnt »

If a good .deb to .sfs package converter can be made, I don`t think Synaptic is needed.

The standard install method of dumping loose files into a file system is old and flawed.
Weeners and Linux both use this sad old fashion model for installing their packages.
Loose files are prone to viruses, corruption, and deletion, and it`s a messy setup.

A tight core with no apps., so no union is needed if the app. sfs files are loaded.
The core loads entirely into ram ( about 10 - 20 MB ), and the core can be 1 file!
I`ve been developing ideas about this setup for several years now, and it`s ready.

Caneri
Posts: 1513
Joined: Tue 04 Sep 2007, 13:23
Location: Canada

#86 Post by Caneri »

Hey Sunburnt,

very cool stuff.
Looking forward to your approach.
Hi jrb..how goes the battle?

Eric

User avatar
gposil
Posts: 1300
Joined: Mon 06 Apr 2009, 10:00
Location: Stanthorpe (The Granite Belt), QLD, Australia
Contact:

#87 Post by gposil »

sunburnt said:
If a good .deb to .sfs package converter can be made, I don`t think Synaptic is needed
We may not need synaptic, but to create an sfs from a Debian/Ubuntu application package, you will need apt. A large debian application is not a single file, in some cases it can be 100+ deb files that go to make up the application. Any deb2sfs converter would have to use the same or similar methods to apt-get to satisfy dependencies, based on the system it is to be installed into. The converter would necessarily have to use apt-get unless we plan to re-invent the wheel or re-use sections of PPM to download all the debs required to build the sfs.(using PPM code would mean a database conversion of the Debian archives to Puppy format for a minimum of 23000 debs, the current base archive, and that's forgetting contributory and non main archive files...)

If we use apt-get, to just collate and download the required debs then we can do a rather simple script to convert all the non-contigious debs to a fakeroot environment for mksquashfs.
[img]http://gposil.netne.net/images/tlp80.gif[/img] [url=http://www.dpup.org][b]Dpup Home[/b][/url]

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

#88 Post by jrb »

tlchost wrote:Did you ever get a chance to produce ChoicePup431?
I'm afraid that anything that's non-essential and gives some resistance gets shelved at this point. I started on ch431 but couldn't get pplog to work. As soon as I pulled Seamonkey it started giving 403 error, even if I put seamonkey back in with an SFS. So I put it on hold until I get some other projects done. I did manage to get 431 working with my ncpfs server at work however so I haven't completely quit puppy.

It's getting pretty confusing out there though. Too many puppies to choose from. I had a quick romp with dpup-b5 and was quite impressed, didn't try installing any .deb's though. Another thing on my list.
I have a project that requires a very basic version of Puppy
If you'd like me to make a barebones pup I could probably manage that, as with pplog, no guarantees that everything will work with it.
Caneri wrote:how goes the battle?
Thanks for asking. My wife is recovering well, almost finished with physio. She won't really be happy until she's back at work however. That's scheduled for January.

I got my home energy grant reno's all done so the "cheque is in the mail" as they say. Just in time too. We just finished a week of -20+ degrees C. It's back up to -10 now.

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

#89 Post by sunburnt »

Yep, apt would be the basis for an automated package converter.
I`ve handled dependencies manually, but doing a lot of them...

jrb; I have Qs about your sfs loader script, you feel up to some Qs?

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

#90 Post by tlchost »

tlchost wrote:Did you ever get a chance to produce ChoicePup431? I have a project that requires a very basic version of Puppy
jrb wrote: If you'd like me to make a barebones pup I could probably manage that, as with pplog, no guarantees that everything will work with it.
That would be super....but no rush that would take you awy from more important things. I am involved with an effort to provide very simple software for seniors http://www.eldu.eu Everyone involved loves the idea of Puppy, and asked if I could find a barebones version that could be added to.
jrb wrote: My wife is recovering well, almost finished with physio.


That's good news...

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.

Post Reply