Page 3 of 5

Posted: Mon 16 Jun 2014, 07:12
by amigo
DSLR has another meaning which might obscure your project when searching for it: Digital Single Lens Reflex (camera).

Posted: Mon 16 Jun 2014, 07:22
by Iguleder
I was very close to getting Seamonkey to build, but it forces some shared libraries, like libmozjs. I want a single binary without these. Any workaround for this?

Posted: Mon 16 Jun 2014, 07:26
by technosaurus
Iguleder wrote:I was very close to getting Seamonkey to build, but it forces some shared libraries, like libmozjs. I want a single binary without these. Any workaround for this?
I think you can use a --with-system-* flag for it ... just build it as a static lib on the system
I use this one, as it is the last C-only version:
http://ftp.mozilla.org/pub/mozilla.org/ ... rc1.tar.gz

Posted: Mon 16 Jun 2014, 16:32
by Iguleder
Could you provide your building instructions? As far as I can see, both Firefox 1.5.x and Seamonkey 1.1.19 don't have the option to build against a system libjs.

EDIT: I just set up a website for DSLR. At the moment, there's no ready image - you'll have to build it (automatically, of course).

I'm experimenting with cross-compiling a 32-bit variant from the same build environment - I think it would be nice to have a "hybrid" flavor with a 64-bit kernel and 32-bit user mode.

Posted: Wed 18 Jun 2014, 00:02
by technosaurus
umm, yeah forgot about that...
https://bugzilla.mozilla.org/show_bug.cgi?id=331776

iirc I did get it to build once with some sed trickery on every single makefile ... it was easier than trying to navigate the 2nd most poorly organized source ever.

Posted: Wed 18 Jun 2014, 08:58
by amigo
"2nd most poorly organized source" -I can hardly wait to hear who holds the first place...

Posted: Wed 18 Jun 2014, 20:03
by technosaurus
amigo wrote:"2nd most poorly organized source" -I can hardly wait to hear who holds the first place...
me :) ... with open/libre-office coming in 3rd (though it seems the libre folks may have done some house cleaning) but chrome gives them a run for their money ... followed by any company.java.project.multiplatform.large (I just don't like languages that _requires_ a full IDE to be somewhat productive)

Speaking of IDEs, I tried out the geany plugins that Puppy always leaves out and I must say its nice ... It makes updating projects to github much easier, especially if geany is built with the builtin vte terminal

Posted: Mon 23 Jun 2014, 17:15
by Iguleder
Good news! At last, all applications in DSLR launch without crashing. I fixed gtkdiskfree and gcalendar.

Now it's time to add SANE, xsane and CUPS :)

Posted: Tue 24 Jun 2014, 07:48
by technosaurus
I found the source for nanogtk @ microwindows it is based on 1.2.7 but we could diff it vs 1.2.7 and apply it to our patched version. Another thing I am interested in doing is building our static builds with ffunction-sections fdata-sections and linking with gc-sections print-gc-sections to a log. That will help figure out what garbage we can remove from our shared libs (just put the actual functions in the header files for the least common ones like gtk's rulers etc...) @iguleder, do you think you can add those cflags/ldflags to your build scripts and keep a log on your next full build (specifically the output from linking with gc-sections, print-gc-sections)

Posted: Tue 24 Jun 2014, 08:58
by Iguleder
That's the plan, once I finish a short round of cleanup.

I tried this once and some packages failed to build.

Posted: Fri 27 Jun 2014, 22:39
by Iguleder
Added these flags and built some of DSLR's packages - with GCC 4.2.1, the difference is extremely small - 200-300K binaries are smaller by ~10K now.

Posted: Fri 27 Jun 2014, 23:32
by technosaurus
That sounds about right. The useful part is the output. You can run the list of garbage collected functions through sort with the count flag set (or is it uniq) to find least used function list ... if there are 99 links and a function occurs in over 90 then it can likely be moved to the header and out of the shared library... or removed altogether if it is unused in all 99.

Posted: Sat 28 Jun 2014, 05:18
by Ibidem
uniq -c is what you're after; ISTR that uniq wants the output of sort...

Among the Fedora patches is one related to theme reloading; it will add bloat and break xdialog.

In one of the screenshots, I saw "wifi manager" or some such name...
Does anyone have a wireless manager that
(a) uses a single instance of wpa_supplicant running as a daemon to handle connecting;
(b) uses the wpa_cli -a /path/to/script trick rather than "sleep N; dhcp $IFACE" ;
(c) uses a daemon/service that can be started via init, without X; AND
(d) has a separate configuration interface based on gtk+-1.2?
(I'm aware of xdialog and gtkdialog1 being options for this.)

wicd broke (a); it starts up a separate instance per network, with its own config file.
I've seen several networking setups get (b) wrong.
A number of the puppy scripts get (c) wrong.
And I've not found reference to a gtkdialog1 network wizard yet.

If someone's working on one, I'll mention that forgetting to add -D... to the wpa_supplicant options can keep wireless from working at all.

And I see a patch in DSLR to excise freetype from mkfontscale...yum yum.

Posted: Sat 28 Jun 2014, 10:05
by Iguleder
Upgrading the kernel from the 3.10 to 3.12 at the moment, since this is the most recent LTS.

I rebuilt the entire DSLR with -Os -fomit-frame-pointer -ffunction-sections -fdata-sections and -Wl,-gc-sections. It seems all packages were built just fine - there's a reduction of ~100K in the bigger packages (1-2 MB).

Once the kernel is ready as well, I'll upload everything to my repository.

EDIT: --gc-sections breaks iw. The Android build rule removes this flag, so I did the same. Besides this, everything looks sane so far, even the kernel.

Posted: Sat 28 Jun 2014, 15:09
by technosaurus
Iguleder wrote:Upgrading the kernel from the 3.10 to 3.12 at the moment, since this is the most recent LTS.

I rebuilt the entire DSLR with -Os -fomit-frame-pointer -ffunction-sections -fqdata-sections and -Wl,-gc-sections. It seems all packages were built just fine - there's a reduction of ~100K in the bigger packages (1-2 MB).

Once the kernel is ready as well, I'll upload everything to my repository.

EDIT: --gc-sections breaks iw. The Android build rule removes this flag, so I did the same. Besides this, everything looks sane so far, even the kernel.
-Wl,-gc-sections,-print-gc-sections tells us what gets removed. Packages that use dlopen/dlsym _will_ break with -gc-sections, but dlopen with musl is pointless because musl doesn't bother to actually unload libs, so it may as well be modified to either be ifdef'd as a dependency or omitted (similar to gdk-pixbuf when doing static builds in gtk2 IIRC) ... btw the dlclose behavior of musl is my only real gripe about it ... It looks like a hacky way to fix musl to unload libs would be to use musl's threads to dlopen and use the thread's mechanisms to garbage collect, but I'm not sure

Posted: Sat 28 Jun 2014, 15:14
by Iguleder
I just uploaded a snapshot of DSLR :P

Now I'm stripping some unneeded features from emelFM, to make it lighter.

EDIT: the obligatory screenshot

Posted: Mon 14 Jul 2014, 08:08
by buti
Today my office mate is out and I fired up DSLR on her pc. Posting from Dillo right now :)

Quite impressed so far... it flies!

Looking forward to playing more with it.

Posted: Mon 14 Jul 2014, 08:33
by buti
I'm sadly back to my M$ machine :( How much funnier DSLR was!!!

I just wanted to signal that I always have a 'memory fault' welcome boot message at the very first line of the boot process'output. Even on my colleague's pc, which then booted fine (and fast).

Then it took me a couple of minutes to remember how to set-up a wired network from cli :roll:

Does it support booting as a puppy frugal install? Or maybe i should ask if it can be installed at all? Does it have persistency of some kind?

Posted: Tue 15 Jul 2014, 20:24
by Iguleder
Thanks for testing!

I fixed that memory fault, it was a bug in mount.

It doesn't support frugal install, but a "hybrid" install - I haven't tested this for a long time, because I focus on getting all the basics working. You should be able to pass the "home=/dev/sda1" boot code (or something similar - make sure the partition is correct, it should be an empty partition) to make DSLR write all changes directly to that partition.

If you want to install it persistently, you'll have to do it manually at the moment. Just install Puppy and change the syslinux/GRUB configuration :lol:

Posted: Wed 16 Jul 2014, 20:00
by Iguleder
Here's Slacko 6.0 beta 2 running GTK 1.x applications. There's plenty more, but the screen was too small to fit everything :lol: