site  contact  subhomenews

new pup_event_frontend

June 10, 2013 — BarryK
/sbin/pup_event_frontend_d is a daemon that is started when X starts, in /root/.xinitrc. It was a big ponderous script.

I have reorganised it into a modular form, with files in /usr/local/pup_event.

/sbin/pup_event_frontend_d is now a wrapper, that just launches /usr/local/pup_event/pup_event_frontend_d. The latter is a binary executable written in BaCon.

The source /usr/local/pup_event/pup_event_frontend_d.bac requires BaCon version 2.1.7 or later to compile.

The new daemon creates a netlink socket to receive kernel uevents, and when a drive add or remove is detected, calls script frontend_change.

The daemon calls frontend_timeout every four seconds to perform various housekeeping.

On my newest laptop, the kernel detects when an optical media is inserted/removed, so is handled in frontend_change.
Unfortunately, the kernel (3.2.44) does not detect optical media insert/remove in my older laptop (2006 vintage), so I have to poll in frontend_timeout.

Back when I first developed pup_event_frontend_d, mid-2008, the kernel did not reliably detect SD-card insert/remove, but that seems to have been fixed, testing on my older laptop.
Note, my latest laptop has an internal USB interface for the SD-card socket, whereas my older laptop has a true SD-card interface (and devices show up as /dev/mmcblk*.

I have compiled an x86 pup_event_frontend_d, which is in Woof, next I have to do same for ARM. I also need to upgrade the BaCon PETs to version 2.1.7 or later.

Woof commit:

A note to end-users:
All of the above will be invisible to users, except that it will hopefully make things a bit more snappy.

The daemon uses very little CPU time, except when it calls frontend_timeout -- and it is on my to-do-list to move more from the latter into the former, to make things even more snappy.

I spent all day today testing, so hopefully no bugs got through.


Under-the-hood changes coming

June 09, 2013 — BarryK
Developer 'blueness' has fixed the problem of device nodes not getting created in Puppy. This was the bug that prevented me from using eudev.

This is great news. Blueness has sent me instructions, one thing, a change to the kernel config is required.
I'll get stuck into this very soon. This is so good, we won't have to concern ourselves with systemd.

There is a daemon 'pup_event_frontend_d' that runs in Puppy, doing stuff like updating the desktop drive icons when drives are plugged in or removed. It is a script, and has a rather inefficient polling method.

I have reorganized it, split it into a modular form, with files residing in folder /usr/local/pup_event. The daemon is now a very small and very efficient compiled program -- written in BaCon.

It is mostly done, needs testing. After uploading Woof, I'll explain more about it.

Tags: woof

Login and Security Manager

June 02, 2013 — BarryK
Was it yesterday that I posted that Woof has reached another "plateau" for awhile? Heh heh.

For awhile now, Puppy has had a Login Manager, in the System menu, but it doesn't do much. I have greatly enhanced it and renamed to Login & Security Manager.

Kirk and jamesbond pioneered running Internet applications as user 'spot' for FatDog, even though you yourself are logged in as the administrator (root). This provides extra security while surfing the web, while at the same time allowing you the convenience of unfettered usage of your local system.

I decided to take a fresh look at this, and have got SeaMonkey running very nicely as 'spot'. SM is the only Internet app so far with this new feature.

I have added the choice in the 3builddistro script in Woof, to default to SM running as root or spot.

There is a new Login & Security Manager that allows flipping SM between root or spot. Snapshot:

Of course, we do have 'fido', which can be chosen when the save-file is created. This will then mean that everything will run as fido, not root. However, this mode is still not fully debugged.

There is a new script in Woof, support/setup-spot, that gets copied to /usr/sbin in the Puppy build.

Woof commits:


Woof: built Precise 5.6.1

May 29, 2013 — BarryK
The latest Woof, used to build Precise Puppy 5.6.1, has been uploaded.

The last commit:

Tags: woof

Pudd NLS fixed

May 28, 2013 — BarryK
Pudd (see Utility menu) was recently internationalised, as appears in Precise 5.6, but it is broken. Thanks to shinobar for fixing it:

Woof commit:

Tags: woof

Icons for root, fido, spot

May 28, 2013 — BarryK
A bit of fun.

/root/spot now displays as an icon in ROX-Filer.

/root displays as an icon, a different icon when switched to running as 'fido'.

Woof commit:


LoginManager fixed

May 27, 2013 — BarryK
Forum member robwoj44 has been testing running as user 'fido', and found that using the LoginManager to change back to 'root' failed:

I have modified /usr/sbin/loginmanager, which now calls a new script /usr/sbin/user2root. It now works.

Separating out the code that bumps 'fido' up to 'root' enables the script user2root to be called from any other application, or direct from a terminal.

Woof commit:

I played briefly with 'fido', noticed a few other things that need fixing, might have a look into it tonight.


MoManager: msgmerge replaces intltool-update

May 26, 2013 — BarryK
L18L posted a modification to momanager, replacing 'intltool-update' with 'msgmerge':

This change occurs in two places in the script.

Woof commit: