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 Tue 29 Jul 2014, 23:20
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
pUPnGO - 6Mb ISO - Basic Building Block Puplet
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 46 of 58 [868 Posts]   Goto page: Previous 1, 2, 3, ..., 44, 45, 46, 47, 48, ..., 56, 57, 58 Next
Author Message
goingnuts

Joined: 07 Dec 2008
Posts: 779

PostPosted: Mon 16 Jul 2012, 15:12    Post subject:  

Now I got the GUI-part of mplayer working too but build grows to 6800K - whereof the 1000K comes via iconv - which can be disabled but that tends to exclude some sub-titles...Is there anyway to minimize the influence of iconv? Otherwise most stuff is working (dynamic load of dll´s, osd, dvd-play etc.)

I have been working on cleaning/modifying my tinyX11-source - attached the present status.

I have also looked at the Xvesa/Xfbdev source in order to get some of the extensions running (DPMS, MIT-SHM, RENDER, SHAPE, SYNC, TOG-CUP, XTEST and PANORAMIX). Present source attached as well as build of Xvesa/Xfbdev with the mentioned extensions build-in.
20130513: Removed attachments as forum does not support the size anymore

Last edited by goingnuts on Mon 13 May 2013, 13:41; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website 
goingnuts

Joined: 07 Dec 2008
Posts: 779

PostPosted: Tue 17 Jul 2012, 16:17    Post subject:  

Finally got a decent build of MPlayer-1.0pre8 with uclibc and the above tinyX. Changed version of iconv to libiconv-1.6.1 and reduced size inpact with 400K. Also merged mplayer and mencoder (via mcb) so the final size (ex. fonts and skin) is approx. 6500K which decrease to just above 3000K with upx. Still big but one get a gui mediaplayer and an advanced video-converter for that price.
The audio and video outputs are:
Code:

Available audio output drivers:
        mpegpes DVB audio output
        oss     OSS/ioctl audio output
        sdl     SDLlib audio output
        null    Null audio output
        pcm     RAW PCM/WAVE file writer audio output
       
Available video output drivers:
        xv      X11/Xv
        x11     X11 ( XImage/Shm )
        xover   General X11 driver for overlay capable video output drivers
        sdl     SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
        fbdev   Framebuffer Device
        fbdev2  Framebuffer Device
        xvidix  X11 (VIDIX)
        cvidix  console VIDIX
        null    Null video output
        mpegpes Mpeg-PES to DVB card
        yuv4mpeg        yuv4mpeg output for mjpegtools
        png     PNG file
        jpeg    JPEG file
        tga     Targa output
        pnm     PPM/PGM/PGMYUV file
        md5sum  md5sum of each frame
       

and you get osd, scalable subtitles, a bunch of video filters to play with, DVD-player etc.
If you download the win32 dlls from here you also can play quicktime, vmw and a lot of other formates. I have added osd fonts and subtitle fonts in the pet package that can be fetched here
You will probably want to use xorg for best performance but also the Xvesa shipped above gives a nice view. The shipped skin is really minimalistic but you can hunt others that might fit better in you taste.
I did not include the videx drivers - they link dynamic against uclibc - are rarely needed (AFAIK) - and disabling videx only saved 15K...
Back to top
View user's profile Send private message Visit poster's website 
technosaurus


Joined: 18 May 2008
Posts: 4284

PostPosted: Mon 08 Oct 2012, 15:17    Post subject:  

@goingnuts: I was planning to look through and condense the tinyx11 sources, but I noticed you put a GPL2 license in the trunk which I presume overrides the X11 licenses beneath? If this was intentional, I'll start over with the original sources (you are welcome to use any changes in the GPL'd version).

I want to make it optimized for static builds so I had planned to replace typedef's and enums with defines and replacing some small functions (small enough that they are smaller to inline) with macros. This will also make for a much smaller shared library too without adding to binary size (at the cost of losing some type checking - there will only be char, short, long/int, long long, float, double and structs of those types) though I do have one big concern with this approach:
Code:
typedef int* int_p1;
int_p1 a, b, c;  // a, b, and c are all int pointers.
#define int_p2 int* int_p2 a, b, c;  // only the first is a pointer


regardless I am attaching one of the tools I use to find dups in case anyone else needs it
duplo.tar.gz
Description  a tool to find dupilcate code (recommend at least setting the -ip option though)
gz

 Download 
Filename  duplo.tar.gz 
Filesize  28.48 KB 
Downloaded  442 Time(s) 

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
goingnuts

Joined: 07 Dec 2008
Posts: 779

PostPosted: Mon 08 Oct 2012, 15:42    Post subject:  

technosaurus: The GPL2 was what was used with my GtkDialog1 backport exercise - so just copied it from there. I am not trying to restrict or violate anything - just more or less in the dark with witch license to put there in order not to restrict any usage without violating any original license. Any hint there are welcome.

I have made some additions/changes since I posted the source (to be able to compile more programs/get Xvesa and other programs run in xwoaf as well). If you would like to work with my sources I can post an updated version. But you might get more what you want and maybe less work starting with the full original source anyway...
Back to top
View user's profile Send private message Visit poster's website 
technosaurus


Joined: 18 May 2008
Posts: 4284

PostPosted: Mon 08 Oct 2012, 18:11    Post subject:  

As long as you didn't use any gpl code in it, it can keep the x11 license.

I was really just wanting to kill all the compiler warnings in recent compilers (gcc and clang at least) by giving the proper return type (mostly void or int), but any time I look @ code its hard to resist performance/size tweaks. Most everything else is already done in tinyx, but duplo did identify several duplicate code blocks.

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
goingnuts

Joined: 07 Dec 2008
Posts: 779

PostPosted: Thu 11 Oct 2012, 14:41    Post subject:  

Uploaded below my present source of tinyXlib. From Changelog:
Quote:

20120719: Changed ICElib to include transport to make ROX-Filer compile.
20120916: Added GetFPath.c to get Abiword 1.0.7 compile. Added X11/Xmu/Misc.h for XawM-1.5u.
20121002: Added ListExt.c and QuBest.c to X11 for xdpyinfo
20121011: Changed libXt source and include/X11/Intrinsic.h to test if Xaw can be compiled. Added GetDflt.c to tinyX11 and added -DXOS_USE_MTSAFE_PWDAPI to tinyXll make flags

Removed file Copying as well.
I have not tested the libXaw much but at least it compiled the attached xload - which is using approx 700k when running compared to the dynamic linked xload which uses approx 3400k...
Now we might have most of the tools to do a mcb of most of the X-utilities.

Anyone know where sources for absvolume has gone?
20130513: Removed attachment as forum does not support the size anymore
xload.gz
Description  static xload
gz

 Download 
Filename  xload.gz 
Filesize  224.96 KB 
Downloaded  432 Time(s) 

Last edited by goingnuts on Mon 13 May 2013, 13:42; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website 
technosaurus


Joined: 18 May 2008
Posts: 4284

PostPosted: Thu 11 Oct 2012, 18:03    Post subject:  

Small tip on the static builds, if you still use -ffunction-sections -fdata-sections when you build the objects (.o files), you can get a list of unused functions and data by doing the final link with -Wl,--gc-sections,--print-gc-sections (output to a file for later use). Then you can use that data to remove all of the useless functions and data from the .c/.h files. When you build shared libs, they will be _almost_ as small as a single static build (added space for position independent code and elf data).
This is essentially what libopt and the perl script in either uclibc or uclibc++ do (i don't recall which) except they use the symbol tables more directly using objdump or similar.

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
goingnuts

Joined: 07 Dec 2008
Posts: 779

PostPosted: Mon 03 Dec 2012, 16:49    Post subject:  

Static build of tightvncserver/viewer 1.3.10...replaced the perl vncserver-script with rarsa´s shell-version...
tightvnc-1.3.10.pet
Description 
pet

 Download 
Filename  tightvnc-1.3.10.pet 
Filesize  976 KB 
Downloaded  291 Time(s) 
Back to top
View user's profile Send private message Visit poster's website 
goingnuts

Joined: 07 Dec 2008
Posts: 779

PostPosted: Sat 08 Dec 2012, 15:39    Post subject:    

Trying to implement some multiuser capabilities in pupngo...but run into a lot of things not working. Most things have been fixed but uncertain on some of the solutions so guidelines would be helpful:

* Many configuration scripts and wizards uses /tmp for temp-files and I have changed user/owner of /tmp to spot and given group r+w. That helps a lot but still no way for spot to overwrite files created by root. So should the wizards use the users home dir for temporary files or is there another/better way?

* The mount/umount command is for superuser only - any workaround for this to give a normal user those rights?

* Running udhcpc to configure the network has the same problem: Only root have the power to get an ip...any suggestions beside configure at boot-time?

I would like to prevent using sudo if possible...
Back to top
View user's profile Send private message Visit poster's website 
technosaurus


Joined: 18 May 2008
Posts: 4284

PostPosted: Sat 08 Dec 2012, 16:20    Post subject:  

http://linux.die.net/man/1/gksudo
_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
goingnuts

Joined: 07 Dec 2008
Posts: 779

PostPosted: Sun 09 Dec 2012, 07:50    Post subject:  

Thanks! And found a gtk1-source at amigos place Smile
Guess the use of gksu or su should be coded in for every function where it is needed...(?).
Implemented the real su as BB-su had some limitations. Working on a solution for CLI only like the below modification in mount-script:
Code:

if [ ! $(id -u) = 0 ]; then
  TARGET="${@}"
  su -c "mount-FULL -n ${TARGET}" root
else
  mount-FULL -n ${@}
fi

which works - and could be expanded to lookup a list of users where mount is enabled. Guess I have to adapt this to every other function that need roots privilege for making scripts working (mkdir in /mnt, umount etc...).

Update 20121210: Found that it is very difficult to get "su -c "some_command" running from scripts when in X. Replaced with sudo things are much easier...changed above snippet to:
Code:
if [ ! $(id -u) = 0 ]; then
[ $(which sudo) ] && sudo mount-FULL -n ${@}
else
mount-FULL -n ${@}
fi

Update 20121213: sudo need /etc/sudoers configured. Found that one need to add "Defaults env_keep += "HOME"" to keep the HOME of spot when using sudo. This influence the icon_unmounted_func/icon_mounted_func which controls the ROX drive icon change when mount/umount are used. Strange thing is that the icon change when mounting/unmounting is very slow (slowest when umount) and icon change faster in .pup_event than on the desktop...
Back to top
View user's profile Send private message Visit poster's website 
bark_bark_bark

Joined: 05 Jun 2012
Posts: 783
Location: USA

PostPosted: Thu 13 Dec 2012, 20:54    Post subject:  

hello. I think this is a great project and I am currently am using "pUPnGO_V216_060611.iso" through QEMU and so far it works great. I have had no problems with the GUI_V412.sfs either. pUPnGO is the best and I hope you can keep it alive. I will actually install it on a computer soon.
_________________
Desktop: Intel 945PSN Motherboard, 3.2Ghz P-IV "Prescott 2M", 2GB RAM, 500GB WD HDD, Slackware 14.1
Back to top
View user's profile Send private message 
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 7047
Location: Perth, Western Australia

PostPosted: Fri 14 Dec 2012, 08:13    Post subject:  

goingnuts wrote:
Thanks! And found a gtk1-source at amigos place Smile
Guess the use of gksu or su should be coded in for every function where it is needed...(?).
Implemented the real su as BB-su had some limitations. Working on a solution for CLI only like the below modification in mount-script:
Code:

if [ ! $(id -u) = 0 ]; then
  TARGET="${@}"
  su -c "mount-FULL -n ${TARGET}" root
else
  mount-FULL -n ${@}
fi

which works - and could be expanded to lookup a list of users where mount is enabled. Guess I have to adapt this to every other function that need roots privilege for making scripts working (mkdir in /mnt, umount etc...).

Update 20121210: Found that it is very difficult to get "su -c "some_command" running from scripts when in X. Replaced with sudo things are much easier...changed above snippet to:
Code:
if [ ! $(id -u) = 0 ]; then
[ $(which sudo) ] && sudo mount-FULL -n ${@}
else
mount-FULL -n ${@}
fi

Update 20121213: sudo need /etc/sudoers configured. Found that one need to add "Defaults env_keep += "HOME"" to keep the HOME of spot when using sudo. This influence the icon_unmounted_func/icon_mounted_func which controls the ROX drive icon change when mount/umount are used. Strange thing is that the icon change when mounting/unmounting is very slow (slowest when umount) and icon change faster in .pup_event than on the desktop...


Woof-built pups have this in first line of many scripts, ex /usr/sbin/pmount:

Code:
[ "`whoami`" != "root" ] && exec sudo -A ${0} ${@}


Woof-built pups have /etc/sudo.conf:

Code:
# sudo 1.7.2 required askpass in /etc/sudoers, but 1.8.1p2 reports that as a syntax error
# and requires it in this file (see: http://www.gratisoft.us/sudo/man/1.8.0/sudo.man.html)
Path askpass /usr/sbin/askpass


So, the script gets re-executed at 'root' level.

Oh, /etc/sudoers:

Code:
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# 120110 added /usr/sbin/delayedrun to SYSTEM category. also, see sudo line added to script.

# Host alias specification

# User alias specification

# Cmnd alias specification
Cmnd_Alias     SHUTDOWN = /sbin/poweroff, /sbin/reboot, /usr/sbin/snapmergepuppy
Cmnd_Alias     SYSTEM = /sbin/pup_event_frontend_d, /usr/sbin/delayedrun

# Defaults specification
Defaults   env_reset
Defaults   env_keep="HOME PATH DISPLAY HOSTNAME LANG"
Defaults   editor=/usr/bin/mp
# asks for root password (not user), only one attempt allowed...
Defaults:users   runaspw, passwd_tries=1

# sudo 1.7.2 needs this, for 1.8.1 it is specified in /etc/sudo.conf...
# Defaults:ALL   askpass=/usr/sbin/askpass

# Runas alias specification

# User privilege specification
root   ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel   ALL=(ALL) ALL

# Same thing without a password
# %wheel   ALL=(ALL) NOPASSWD: ALL

# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now

# fido belongs to users group...
# %users   ALL=(ALL) ALL

# want to run certain apps without asking for password...
# %users ALL=(SHUTDOWN) NOPASSWD: ALL
%users   ALL=(ALL) ALL, NOPASSWD: SHUTDOWN, SYSTEM


I don't know if any of the above is useful for you, just thought I would post it in case it, or part of it, is.

_________________
http://bkhome.org/news/
Back to top
View user's profile Send private message Visit poster's website 
goingnuts

Joined: 07 Dec 2008
Posts: 779

PostPosted: Fri 14 Dec 2012, 17:20    Post subject:  

bark_bark_bark: Very Happy I have it running on two old Pentium laptops - they are constructed to be rolled over by a tank and will probably last for 15 years more Laughing Funnny thing is that the batteries still works - I have laptops with an age of less than 3 years where battery is totally exhausted and they need instant external power to boot.

BarryK: Very Happy Thanks a lot! The
Code:
[ "`whoami`" != "root" ] && exec sudo -A ${0} ${@}
is brilliant - so much easier than my above codings. Adapted some of your sudo configs as well - thanks.


Still have very slow change of icons on ROX-desktop (GTK1.2-version) after mount/umount when run as spot - haven't got closer to speed it up - strange...but might be a missing call to ROX to revise status of file.

All this multiuser is quite a pain to get right - but a lot of fun and visit of places in code one seldom pay attention Cool

Started to convert pmount to gtkdialog1 - realized that I need mut - and after finding the source and building of a static bin - almost done...

Probably old common knowledge but mut is actually a multicall binary giving us:
mut mutd mutdaemon mutforeground mutclient probepart probedisk probedisk2 probepci drivelist guess_fstype mounts mediaplug
in a 183K static bin. I haven't tested all for differences in output or speed but attached a package if anyone feels in testing mode...

The probedisk script gives:
real 0m0.203s
user 0m0.060s
sys 0m0.080s

The mut probedisk gives:
real 0m0.100s
user 0m0.000s
sys 0m0.000s

so might speed up things if its not too hard to implement.
mut2-src-1.3.2.1238_static.tar.gz
Description 
gz

 Download 
Filename  mut2-src-1.3.2.1238_static.tar.gz 
Filesize  80.35 KB 
Downloaded  262 Time(s) 
Back to top
View user's profile Send private message Visit poster's website 
technosaurus


Joined: 18 May 2008
Posts: 4284

PostPosted: Fri 14 Dec 2012, 19:47    Post subject:  

goingnuts wrote:
Still have very slow change of icons on ROX-desktop (GTK1.2-version) after mount/umount when run as spot - haven't got closer to speed it up - strange...but might be a missing call to ROX to revise status of file.

I don't know how far back it goes, but I know there was some kind of major rox fix to speed it up that involved creating a file/folder/variable
Quote:
Started to convert pmount to gtkdialog1 - realized that I need mut - and after finding the source and building of a static bin - almost done...
I had written a similar program that used my xpm generating shell functions for the %used/free - let me know if I need to look for it.
_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 46 of 58 [868 Posts]   Goto page: Previous 1, 2, 3, ..., 44, 45, 46, 47, 48, ..., 56, 57, 58 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Puppy Projects
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.1493s ][ Queries: 13 (0.0333s) ][ GZIP on ]