pUPnGO - 6Mb ISO - Basic Building Block Puplet

A home for all kinds of Puppy related projects
Message
Author
User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#541 Post by Aitch »

Techno

Never say no to a tutorial, even if I don't always understand it for ages...

that's a 'yes' by the way :wink:

Aitch :)

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#542 Post by PANZERKOPF »

goingnuts wrote: I tried to make the gtk-server but unfortunately I only can get it running with gtk2 - gets the following error with gtk1:
./demo-stdin.awk
*** glibc detected *** gtk-server: free(): invalid pointer: 0xb7ea0f04 ***
Weird..
I have compiled old version of gtk-server(1.3.4) with gtk1 and GCC 4.4.4.
Successfully tested with some demo-scripts included in source package.
SUUM CUIQUE.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#543 Post by technosaurus »

Same here, but I used the Debian patches for gtk1 iirc, I need to archive those patches before they purge them (the patches fixed a lot of compile issues)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#544 Post by goingnuts »

Thanks - its nice to know that it can be done - although still no luck: tried gcc 4.2.2 (std. in P412), gcc 3.3 and gcc 2.85, rebuild glib, gtk and gtk server but still same error - also tried the debian-old source... :cry: But as long as it can be done there is some hope - think I will leave it for now though.

@technosaurus: You could modify your init with the below to have an init running:

Code: Select all

//X[0]="ash";
//X[1]=NULL;
//execvp(X[0],X);
pid_t pid;
pid = fork();
if (pid == 0) {X[0]="/bin/ash"; X[1]=NULL; execvp(X[0],X);}
while (1) {sleep(1);}
return 0;

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#545 Post by Aitch »

Guys
Have you seen Iguleder's homepage?
http://www.dimakrasner.com/
I'd be interested in your views on Arm port/xtoolchain/building of puppy
Seems to me if techno, goingnuts, amigo, Iguleder, and big_bass got together a 'wee beasty' would emerge that might run on x86/86/64/arm/ppc etc and was 'built properly....' and could be maintained/updated easily....or am I dreaming again? :wink:

Aitch :)

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#546 Post by technosaurus »

I almost forgot about amaya web browser/editor (i posted a pet a while ago in the additional software section). I have kept an archive of the latest gtk1 sources (a couple versions actually, since they've been removed upstream) the newer versions require wx. They are too big to post here, since they include _all_ possible dependencies, so send me a pm if you want them.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

buildin aufs in kernel 2.6.25.16

#547 Post by goingnuts »

I have been working on liberating initrd from kernel dependency (removing modules needed to be build in kernel). And so far it seems to work ok - but I am having problems with applying aufs: Have found source for aufs-0+20080129 but are getting errors when compiling. Anyone have a newer source (aufs 1)? Or any experience with building in aufs in kernel 2.6.25.16?
My main target is to ease kernel shift, boot time and core-system size (by removing unneeded build-in drivers from kernel afterwards). zdvr down to 12Mb without firmware - might move firmware to pets? Kernel went from 1450K to 1650K but removed approx. 800K modules from initrd so far.
Update: Found a newer source - now working and posting from a modulefree initrd pupngo.
Also worked on further gtk1-apps - attached static build of gftp-2.0.11 and gcrontab-0.8.0
Update: Removed gcrontab as not much interests in that and added guiTAR (you need the full tar to make it work - not BB - although guiTAR could be patched to use BB I think). Now need a simple gtk1 frontend to mplayer - but hard to find.
160112: added rdesktop static build - remote connect to XP and newer versions from MS...

20130513: Removed attachment gtfp-2.0.11 as the file size is no longer supported at the forum.
Attachments
rdesktop-1.2.0-i486.tar.gz
static build of rdesktop
(129.97 KiB) Downloaded 1015 times
Last edited by goingnuts on Mon 13 May 2013, 18:17, edited 1 time in total.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#548 Post by technosaurus »

the default mplayer has a gtk1 frontend - tinycore has a package

also opened up a dropbox account and cobbled together this:
{not 100% finished}

Code: Select all

#see later post
Last edited by technosaurus on Thu 19 Jan 2012, 18:30, edited 4 times in total.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#549 Post by goingnuts »

technosaurus wrote:the default mplayer has a gtk1 frontend - tinycore has a package
Yes - but seems to be only build in - not stand alone - and I havent figured how to avoid the skin-demand. It adds a lot to size and if you just want a plain interface...
Found gqmpeg but it also need a skin...
I was just seeking a standalone gtk1 frontend to minimp3/mpg123/other standalone audio/video-players...Might be a project to do in glade1?

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#550 Post by technosaurus »

ftp://ftp.mplayerhq.hu/MPlayer/skins/ some are as small as 4kb

edit:
have to --enable-gui --enable-gtk1
the install process makes a symlink to gmplayer (its sort of a mcb) ... which doesn't need skins because it builds in xpm images (you can modify the contents of gui/mplayer/pixmaps)

btw I had to fix glib.h because it sometimes use -DG_CAN_INLINE and caused multiple definitions (just delete those blocks or the other definition and remove the ifdef)

Edit2 apparently optipng breaks the skin pngs. The mini skin does great when swallowed in a jwm tray <Swallow name="MPlayer" />

(I compiled mine with gtk1, but in wary so there are a lot of unnecessary dependencies ... just a quicky to test) ... If you plan to mcb it with mencoder, I can try to modify my woo-ff transcoder gui to use Xdialog and mencoder instead of ffmpeg and gtkdialog

Edit3: Used my dropbox uploader to post the lost amaya sources
http://dl.dropbox.com/u/57466078/amaya- ... 2.1.tar.gz
http://dl.dropbox.com/u/57466078/amaya- ... .51.tar.gz
http://dl.dropbox.com/u/57466078/amaya-gtk-8.5.tar.gz

and the lost libsee sources as well (a bsd licensed javascript engine)
http://dl.dropbox.com/u/57466078/libsee ... 4-6.tar.xz
Note: I would really like to see this patched into netsurf (it was used by tkhtml in hv3)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#551 Post by nooby »

Aitch wrote:Guys
Have you seen Iguleder's homepage?
http://www.dimakrasner.com/
I'd be interested in your views on Arm port/xtoolchain/building of puppy
Seems to me if techno, goingnuts, amigo, Iguleder, and big_bass got together a 'wee beasty' would emerge that might run on x86/86/64/arm/ppc etc and was 'built properly....' and could be maintained/updated easily....or am I dreaming again? :wink:

Aitch :)
Aitch they are deep into a flow so your text is not visible to them.

Maybe you can reach them at a time when they have
no flow and wants to get out of the standstill.
They don't want to get derailed now when having flow?

I am only trying to get what is going on. I can be wrong
I use Google Search on Puppy Forum
not an ideal solution though

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#552 Post by goingnuts »

nooby: Thanks for the polite interpretation of dev silence!
Aitch: I was really glad you put a dwarf like me in the company of giants - and really liked your idea! But I doubt I could add much to such a project and honestly I think I am too easyly distracted by new ideas to keep focus...
technosaurus: Thanks for the links - seems that I am not able to compile mplayer static at the moment - must have messed up some tools. I will try to compile amaya with tinyX later. Maybe dropbox could be a remote repo for small systems with build in network-drivers? So just get the small thing up and running and install or launch apps via downloaded apps?

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#553 Post by technosaurus »

Edit: news on javascript capable browser front
http://source.netsurf-browser.org/?view ... sion=13360
Looks like they will be using spidermonkey
I also dug up the last commit of elinks that could use libsee for its javascript engine (libsee posted previously)
http://dl.dropbox.com/u/57466078/elinks-libsee.tar.gz
and it looks like hv3 is getting revived, (move to fossil repository, and lots of discussion on their lists)
http://tkhtml.tcl.tk/fossil/timeline?y=ci&n=50

updated my ashirc to remove some dependencies

Code: Select all

#!/bin/sh
[ $1 ] && USER=$1 || USER=${DISTRO_FILE_PREFIX}${DISTRO_VERSION}${DISTRO_MINOR_VERSION}user-$RANDOM
echo starting irc > $HOME/irc/log
Xdialog --title "#puppylinux irc" --tailbox $HOME/irc/log 30 99 &
XDPID=$!
A='NICK '$USER'
USER '$USER' +iw '$USER' :ashirc
JOIN #puppylinux '$USER
while ([ "$A" ]) do	echo "$A"
	A=`Xdialog --timeout 200 --stdout --title "AshIRC message dialog" --inputbox "Enter an IRC message for #puppylinux" 0 0`
	case $? in 
		255)A=PONG;;
		1)kill $XDPID;;
		0)A='PRIVMSG #puppylinux :'$A'.';;
	esac
done | telnet irc.freenode.net 6667 >> $HOME/irc/log
Edit:
well it worked for a day, but it turns out dropbox renews tokens and cookies daily, so need at least 3 curl calls each time (I was hoping I could keep the cookie and save the token)

Code: Select all

#!/bin/sh

check_deps(){
for i in $@; do
type -t $i > /dev/null || die "Error: dependency not found: $i"
done
}

die(){
Xdialog --infobox "$@" 0 0
exit 1
}

drop(){ #dropbox a file or directory
[ -f "$1" ] && curl --progress-bar -b $DB_COOKIE -o /dev/null -F "plain=yes" -F "dest=$DB_DIR" -F "t=$DB_TOKEN" -F "file=@$1" https://dl-web.dropbox.com/upload  2>&1 | tr "\r" "\n"|sed "s,# *,,gm"| Xdialog --wmclass drive24 --title "Transferring $1 to Dropbox" --no-close --gauge "$1 \n Transferring ..." 0 0 && return 0
cd $1 || die "invalid directory"
for i in *; do
	drop "$i"
done
}

check_deps Xdialog curl sed tr
trap die SIGINT
DB_COOKIE="${HOME}/.dropbox/cookie"
if [ ! -f "$HOME/.dropbox/dbrc" ]; then
mkdir "$HOME/.dropbox"
DB_DIR="Public"
Xdialog --stdout --wmclass configuration24 --title "Dropbox account configuration" --separator " " --password --3inputsbox "Account info" 0 0 "default folder" "$DB_DIR" "email" "$DB_EMAIL" passwd "$DB_PASSWD" | while read DB_DIR DB_EMAIL DB_PASSWD; do
echo '
DB_DIR='$DB_DIR'
DB_EMAIL='$DB_EMAIL'
DB_PASSWD='$DB_PASSWD'
' > "${HOME}/.dropbox/dbrc"
done
fi
. ${HOME}/.dropbox/dbrc
curl -s --show-error -i -c $DB_COOKIE -o /dev/null --data "login_email=$DB_EMAIL&login_password=$DB_PASSWD&t=$DB_TOKEN" https://www.dropbox.com/login
DB_TOKEN=`curl -s --show-error -i -b $DB_COOKIE -o - https://www.dropbox.com/home |tr -d '\n' | \
sed 's/.*<form action="https:\/\/dl-web.dropbox.com\/upload"[^>]*>\s*<input type="hidden" name="t" value="\([a-z 0-9]*\)".*/\1/'`
[ -d "$1" -o -f "$1" ] && for i in $@ ; do drop "$i";done || drop `Xdialog --stdout --fselect ./ 0 0 || exit`
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#554 Post by PANZERKOPF »

Found Explorer-like two-panel filemanager. Very fast, supports drag-n-drop and needs Xlibs only.
One interesting thing: it has own GUI toolkit "cxxx" (never heard of it before) written in c++.
Note: Attached file is xzipped but has gz extension to avoid board rejection.
SUUM CUIQUE.

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#555 Post by goingnuts »

technosaurus: Any possibility to have a print out of own input in ashirc as well? (Would be nice to have...)
PANZERKOPF: Nice finding - really very nice graphics.

I have been working on turning pupngo into a communication node after having fun with XP in 8bit color from rdesktop-1.2 (view post above). The rdesktop explodes in size going to 1.3/1.4/1.6 (static builds) but also gives you 16 or 24 bit colors...pm me if you want one of those.
X11vnc have given me some problems but now I have a working static build of x11vnc-0.6.1 - attached. Connect via vncviewer. I will try to do one of the newer versions and also try to find a vncviewer that not depend on Xaw (tightvnc unfortunately does...)
Attachments
snap0000.png
view of pupngo running x11vnc via vncviewer
(92.36 KiB) Downloaded 3165 times

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#556 Post by technosaurus »

goingnuts wrote:technosaurus: Any possibility to have a print out of own input in ashirc as well? (Would be nice to have...)

Code: Select all

#!/bin/sh
[ -x /etc/DISTRO_SPECS ] && . /etc/DISTRO_SPECS
[ $1 ] && USER=$1 || USER=${DISTRO_FILE_PREFIX:-ashircuser}${DISTRO_VERSION}${DISTRO_MINOR_VERSION}user-$RANDOM
echo starting irc > $HOME/irc/log
eval `Xdialog --stdout --separator " " --3inputsbox "setup" 0 0 "USER=" "$USER" "SERVER=" "irc.freenode.net" "CHANNEL=" "#puppylinux" \
		|while read USER SERVER CHANNEL; do echo SERVER="$SERVER" USER="$USER" CHANNEL="$CHANNEL";break;done`
Xdialog --title "#puppylinux irc" --tailbox $HOME/irc/log 30 99 &
XDPID=$!
A='NICK '$USER'
USER '$USER' +iw '$USER' :ashirc
JOIN '$CHANNEL' '$USER
while ([ "$A" ]) do   echo "$A"
   A=`Xdialog --timeout 200 --stdout --title "AshIRC message dialog" --inputbox "Enter an IRC message for #puppylinux" 0 0`
   case $? in
      255)A=PONG;;
      1)kill $XDPID;;
      0)echo $USER:$A >> $HOME/irc/log;A='PRIVMSG '"$CHANNEL"' :'"$A"'.';;
   esac
done | telnet $SERVER 6667 | while read LINE; do echo ${LINE%%!*}:${LINE#:*:};done>> $HOME/irc/log
I guess I could do a 3inputsbox to choose username server and channel too
Edit: ok its done but ugly ... will clean it up when it bothers me ... still trying to get around the ping ... pong every 200+ seconds ... maybe fork a while : do sleep 200 echo PONG and kill it with all status changes? ... wait better to fork the dialog and just do a continue (need to see if that works ... can you break/continue from within a loop from a process forked from it?)

X11vnc?
http://www.karlrunge.com/x11vnc/
(it has a lot of "extra" options too, but as far as gui toolkits, it uses x11 AFAICT)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#557 Post by goingnuts »

technosaurus: Thanks for the mod to ashirc!
Found a vncviewer that only depends on X in old debian sources - attached the viewer part of vnc_3.3.2r2.
Also went through xchat 0.9/1.0/1.2 as I disliked 1.4... :roll:...found that 1.2 is nice and runs well in pupngo apart from some font warnings. Attached static version of that.
Attachments
vncviewer-3.3.2r2.tar.gz
static build vncviewer from vnc_3.3.2r2
(69.23 KiB) Downloaded 385 times

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#558 Post by technosaurus »

Just a note on ashirc and similar apps. Bash has built-in tcp facilities (ash doesn't) that can take the place of telnet/netcat.

Just echo $msg > /dev/tcp/url/port

Where $msg would be the request containing the path of the requested page and various protocol info.

The response will come back on the same path and may contain various header info.(in other words, you can't just redirect it to a file like *.tar.bz2).

echo -e "GET /path/to/file.ext HTTP/1.1\n\n" >/dev/tcp/www.someurl.com/80
cat </dev/tcp/www.someurl.com/80
(the while read trick will fail if file starts any lines with empty space, but should work if you just need the text ... Now to experiment wtith header removal)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

goingnuts
Posts: 932
Joined: Sun 07 Dec 2008, 13:33
Contact:

#559 Post by goingnuts »

Using x11vnc with the Xvesa build with uclibc/tinyX11 seems to fail if Xvesa is missing XTEST extension (and MITSHM if you do not start x11vnc with -noshm switch). If Xvesa is build with -DXTEST and -DMITSHM x11vnc works ok but it seems that the Xvesa is unstable with MITSHM (freeze). So attached a Xvesa with -DXTEST...seems stable after running a couple of days with it.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#560 Post by technosaurus »

maybe it wouldn't be too hard to invert the logic for x11vnc to require -shm to use shared memory instead of -noshm to disable it?

btw, have you been able to build a working Xvesa with tcp removed? I tried but even starting with -nolisten tcp failed ... it seems like maybe something is not ifdef'd. There were a couple of other things that may be easier to do than this if I could just find them - like starting in the highest supported resolution and bpp instead of a fixed one (the default doesn't work well on _all_ systems, but using the highest supported one _should_ ... in theory)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

Post Reply