logoPuppy developer news:

2nd half of 2005

left-arrow Older news

arrow-rightLater news


I'm working on "Puppy2".... it's revolutionary, but I'll maintain the mystery until something is released. Probably quite soon...


Puppy 1.0.7 live-CD iso file is mirrored at the following locations. You may want to try one of these, as the Ibiblio download can be slow:

Courtesy of Mark Ulrich:

Courtesy of Ted Dog, Puptrix mirror:
www.puptrix.org/std/puppy-1.0.7-mozilla.iso (61M)
www.puptrix.org/std/puppy-1.0.7-mozilla.iso.txt (md5sum)
www.puptrix.org/std/puppy-multisession-1.0.7-mozilla.iso (63404032)
www.puptrix.org/std/puppy-multisession-1.0.7-mozilla.iso.txt (md5sum)

Torrent, courtesy of klhrevolutionist:


Puppy version 1.0.7 is released. The live-CD iso file is 60.46M. Release notes:

The live-CD iso file, puppy-1.0.7-mozilla.iso and the multisession CD/DVD iso file puppy-multisession-1.0.7-mozilla.iso, are available for download at ftp://ibiblio.org/pub/linux/distributions/puppylinux/ .
puppy-unleashed-core-1.0.7.tar.gz and usr_devx.sfs will be uploaded shortly.

If upgrading from Puppy 1.0.6 or earlier and an Xorg DotPup package is installed, please uninstall it prior to booting the new version.
If you tested Puppy 1.0.7beta, I recommend executing the xorgwizard script again after booting the new version.

There is still room for improving Xorg Video Wizard, so please provide feedback on the Forum. I reported further down that xvidtune does not work, however I tested it on two other PCs and it does work, so it is a video-chip issue. So, I plan to incorporate xvidtune into the Wizard for fine-tuning the display. Xvidtune is in 1.0.7 and you can run it separately.

Here is the complete list of packages in Puppy Unleashed 1.0.7. Those shown in bold are either new or updated since 1.0.6:

0rootfs_skeleton-1.0.7 abiword-2.4.1 abs-0.908 agenda-2.0 alicq-0.8.8 amaya-8.8.1 arts-1.4.2 autocutsel-0.7.1 autologin-1 axel-1.0a bash-3.0 bbc_provided-2003 bcrypt-1.1 beaver-0.2.7 betaftpd-0.0.8pre17 bluefish-0.7 bubbles-1.0.2a busybox-1.01 bwidget-1.3.1 bzip2-1.0.0 cdmio-0.03 cdp-0.33.13 cdparanoia-3.a9.8 cdrdao-1.2.0 cdrtools-2.01.01a03 cdtar-50 cgtkcalc-2.1.6 cheops-0.61 combobox-2.3 coreutils-5.0 countdown-2003.10.27 cramfs-1.1 cutecom-0.13.1 date-5.0 db1-1.85 dhcpcd-1.3.22 dia-0.94 dialog-0.9b dict-1.4.9 didiwiki-0.5 diffutils-2.8.4 dillo-0.8.5 disktype-8 dlume-0.2.4 dosfstools-2.9 dotpup_downloader-mu05 dvdauthor-0.6.11 e2fsprogs-1.34-k2.4 e2fsprogs-1.36 eddi-1.0.1 edid-1.4.1 eject-2.0.13 elinks-0.10.5 expandtarballs.sh eznet-1 fig2dev-3.2.5a7 figurine-1.0.5 file-4.0.3 find-4.1.20 firefox-1.0pr fragger-0.0.5 freecell-1.2 freetype-2.1.10 fsresize-0.08 ftp-1.2 fvwm95-2.0.43f gaby-1.0.6patched gaim-1.5.0 galculator-1.2.4 gawk-3.1.2 gbase-0.5 gcc-3.3.4 gcombust-0.1.55 gcrontab-0.8.0 gdkxft-1.5 gdmap-0.7.5 geany-0.3 gemgame-2003 gettext-0.11.5 gftp-2.0.16 ghostscript-8.51patched gifsicle-1.40 gimp-2.0.6 gimp_print-4.2.7 gkdial-1.5.14patched gkdial-1.5.14 glibc-2.3.4 glibc_locales-2.3.4 gnetconfig-0.1.5 gnumeric-1.4.3 gpasman-1.3.1 gphone-0.5.2 gplaycd-0.1.0 grabc-1.1 graveman-0.3.8 grep-2.5.1 greyboard-0.7 grisbi-0.5.7 growisofs-5.21 grub-0.96 gsview-4.7 gtail-0.5a gtimer-1.1.6 gtk1-1.2 gtk2-2.4.0 gtkcat-0.1patched gtkdialog-0.58.8 gtkdialog-0.59.8 gtkdiff-0.7.0 gtkfind-1.0.1 gtkfish-1.0.1 gtkftpd-1.0.4 gtkgraph-0.6.2 gtkiptables-0.4.2 gtkmathview-0.7.5 gtksamba-0.3.2pl1 gtksee-0.6.0b-1 gtk_shell-1.03 guitar-0.1.5 gxhost-0.8.4 gxine-0.4.6 gxset-0.3 gyach-0.9.8 gzip-1.3.3 hdparm-5.3 ical-2.3.1patched ifplugd-0.18 ifplugd-0.25 img-1.2.4 imposter-0.2 impress-1.1b9 iptables-1.2.9 java_jamjikescairo-1 jwm-0.24 jwmconfig-0.1 kbd-1.08 knowde-1.0.2 kp-1.0 lame-3.93.1 leafpad-0.8.1 libao-2.1.1 libart_lgpl_2-2.3.16 libaudiofile-0.2.6 libdaemon-0.6 libdvdcss-1.2.8 libdvdread-0.9.4 libexif-9.1.2 libexpat-0.4.0 libghttp-1.0.9 libgif-4.1.0 libgphoto2-2.0.3 libhardware-0.7.4patched libidn-11.5.1 libieee1284-0.2.8 libimlib1-1.9.14 libjpeg-6b libmad-0.15.1b libmng-1.0.0 libogg-1.0 libopenssl-0.9.7 libpcre-0.0.1 libpng-1.2.5 libstdc++-5.0.6 libstdc++-6.0.3 libt1-1.3.1 libtiff-3.5.7 libusb-0.1 libvorbis-1.0 libwmf-0.2.7 libxaw95-1.1.4 libxml2-2.6.16 libxslt-1.1.12 libzvt-2.3.0 link_grammar-4.1.3 links-2.1pre14 linneighborhood-0.6.5patched linpopup-1.2.0 linux_firewall-2.0rc9 ltmodem-8.26a9-k2.4.29 lua-4.0.1 mad-0.15.1b makepupgetpkgs masqman-1.4 memtester-2.93.1 metamail-2.7 mimencode-2.7 ml-2000 module_init_tools-3.1 modules_fb-k2.4.29 modutils-2.4.25-k2.4 morizot-1.15 mozilla-1.8b1.5 mp-3.3.7 mpcb-0.4.2 mtools-3.9.8 mtoolsfm-1.9 mtpaint-2.10 mut-0.0.7b ncurses-5.3 nenscript-1.13.3 netpbm-10.11.10 net_tools-1.60 netwag-523 nmap-3.50 nullhttpd-0.5.1 openoffice_CUTDOWN-1.1.4 openoffice_dict-1.1.4 openoffice_gallery-1.1.4 openoffice_help-1.1.4 openoffice_MISSING-1.1.4 openssh-3.6p1 opera-7.54 pciutils-2.1.11patched pcmcia_cs-3.2.8-k2.4 pcmcia_cs-3.2.8-k2.6 pdq-2.2.1 perl-5.8.0 phv-0.9.8 picocom-1.2 planmaker-f.e. popt-1.7 ppp-2.4.1-k2.4 ppp-2.4.3 pptp_linux-1.3.1 psmisc-21.4 pstoedit-3.40 qhacc-3.3 qt-3.3.4 quisp-126 rdesktop-1.3.1 rebecka-0.9.15 regexpviewer-0.1 remotedesktopclient-0.1 rexgrep-1.2 ripperx-2.6.0 rox_filer-1.2.2patched rp_pppoe-3.7patched rubix-1.03 rxvt-2.6.4 samba-3.0.14a sane_backends-1.0.15 scale2x-2.0 scite-1.63 scribus-1.2.1 sdl-1.2.8 sed-4.0.7 setserial-2.14 setvol-1.1 skype- slidedraw-20011026 slmodem-2.9.9-k2.4.29 smalledit-3.17.14 smm-1.0rc1 snack-2.2.9 sockspy-2.5 sodipodi-0.34 squashfs-2.1r2 ssh_gui-0.7.1 stat-5.0 superscan-0.8 sylpheed-2.0.1 syslinux-3.11 tar-1.13.25 tcl-8.4.2 tea-10.0 ted-2.14 test-1 textmaker-f.e. tgif-4.1p43 ticker-006 tightvnc-1.2.9 timidity-2.13.0 tinylogin-1.4 tix-8.1 tk-8.4.2 tkcon-2.4 tkconvert-1.3 tkdvd-3.9.0 tkfont-1.1patched tkgamma-1.0 tkhtml-2.0 tkmasqdialer-1.12 tkmines-1999 tkvnc-2003 tkworld-1.4.0 tkzip-1.1.5 turma-0.1 tuxcards-1.2 unionfs-1.0.11 unrar-3.50b3 unzip-5.50 uri-1.1.3 usbview-1.0 util_linux-2.12 uxplor-0.26patched vym-1.6.0 wag-0.3.2 wavemon-2002 wavplay-1.4 wget-1.8.2 wireless_tools-26 wmnd-0.4.11 wmpower-0.3.1 wmsm-0.2.0 wvdial-1.42 wvdial-1.53 wxbasicscript-2.2k-puppy xarchive- xbubble-0.2.4 xcalendar-4.0 xcdroast-0.98 xchat-1.8.11 xcut-0.2 xdialog-2.1.1 xdiskusage-1.48 xf86_svga-3.3.6 xfbdev-4.3.0v2-xkbd xfinans-5.9y2k xfprot-0.24bpatched xfree-4.3.0 xgalaga-2.0.34 xhippo-3.3 xi810-4.3.0v2-xkbd xine-1.0-1.11.1 xine_extra_codecs-1 xli-1.17.0 xlockmore-5.20.1patched xnetload-1.11.3 xnetstrength-0.4.2 xorg-6.8.1 xorg_opengl-6.8.1 xpaint-2.7.0 xproc-1.2 xpuyopuyo-0.9.8 xrun-0.2.3 xsane-0.97 xtar-2001 xtmix-0.4 xvesa-4.3.0v2 xvesa-4.3.0v2-xkbd xwconfig-0 xwhois-0.4.2 xwifibar-0 ycalc-1.09.1 ytree-1.84 zip-2.3 zlib-1.1.4 zoinks-0.3.8

The following packages were in Puppy Unleashed 1.0.6 and have now been removed:

0rootfs_skeleton-1.0.6 busybox-0.60.5 cdrtools-2.01 gtkcat-0.1 mtpaint-2.03 rox_filer-1.2.2 rp_pppoe-3.5 syslinux-3.08 tkdvd-3.8.3patched tkfont-1.1 xfprot-0.24b


The burniso2cd script has been improved slightly. I added the ability to burn multiple CDs/DVDs from one iso file. There are a couple of other things that have been postponed, such as ability to erase a rewritable CD or DVD.

The AbiWord help page in Puppy has been updated. This page is a must-read for anyone who uses AbiWord. It is available via the "Help" menu, or even by typing "man abiword" on the commandline.


I'm mighty pleased, as I finally got Linux Firewall to work properly. This has a great installation wizard, but previously it did not install properly. I traced this down to the script launching "sh" internally, meaning that it ran Busybox Ash. Replacing "sh" with "bash" fixed it. Yippee!
This wizard is powerful yet very easy to understand. With a few clicks I created a firewall that that puts all the ports in "stealth" mode. This means that my PC is totally hidden. I checked this using ShieldsUp! at www.grc.com (follow the links past all the advertising to arrive at the ShieldsUp! page). ShieldsUp! does report that my PC responds to pings, however this is not a security hazard -- in fact as explained on the Linux Firewall home site (www.projectfiles.com/firewall/), it is contrary to recommended standards to disable ping acknowledgement -- my ISP pings me, I think to check that I'm still there. But, the Linux Firewall docs state that if you are really paranoid, you can set "RFC_1122_COMPLIANT=no" in /etc/rc.d/rc.firewall to disable ping.

Linux Firewall is so good, it's going to be in Puppy 1.0.7, displacing Morizot firewall.
The Linux Firewall Wizard edits /etc/rc.d/rc.local and adds an entry to execute /etc/rc.d/rc.firewall. If you have any pre-existing code in rc.local to execute a firewall, it would probably be best to delete it prior to running the Wizard (don't just comment it out, as the Wizard detects the existence of "rc.firewall" string in the file and will not add its own entry).
Note, the Wizard does not, as yet, disable the firewall -- to remove it, delete /etc/rc.d/rc.firewall.

The official Puppy 1.0.7 is expected to be available by New Years Day.


Gdmap has replaced Xdiskusage. They essentially do the same thing, give a visual display of disk usage, however Gdmap is only 56K whereas Xdiskusage is 290K and requires the OpenGL library.

OpenGL and MESA libraries have been extracted from Xorg and are now a PupGet package, xorg_opengl-6.8.1. The SDL library is also a PupGet package, sdl-1.2.8. These will be available when Puppy 1.0.7 is released.


I have not been able to fix a bug in xlock, the screen locker for X. Xlock saves a password in ~/.xlockrc, and that much works, however Xlock accepts any password to unlock the screen.

I have updated the "HOWTO write programs for Puppy" help file in Puppy. It was way out of date.


I'm experimenting with the SDL library (version 1.2.8, out of Vector 5.0STD) in Puppy. Note, if this library makes it into a Puppy release, usr_devx.sfs will also have to be updated.

I have removed the MESA library from Puppy, as it duplicates functionality of OpenGL. OpenGL is incredibly slow though. Puppy does not have the DRI modules -- does this slow down OpenGL or MESA? My experience in this area is minimal. My previous experience with OpenGL-based apps on other distros has also been slowness to the point of being unusable ...I'm inclined to remove all OpenGL libraries ...anyone want to discuss that on the Forum?
What about SDL-based apps that don't need OpenGL or MESA -- are there many of them?


Bugfixes for Xorg Video Wizard. A few other things tidied up.


There was a delay in uploading usr_devx.sfs. It's there now.

Mark Ulrich has mirrored 1.0.7beta on his fast server: http://dotpups.de/puppy-releases/1.0.7-beta/
Ted Dog has also mirrored:
http://www.puptrix.org/beta/puppy-1.0.7beta-mozilla.iso (61.5M)
http://www.puptrix.org/beta/puppy-1.0.7beta-mozilla.iso.txt md5sum
Please be sure to check the md5sum after download.


Okay, I've uploaded it. Puppy version 1.0.7beta is not an official release. It is for Puppy testers to evaluate and debug. The size of the iso file is 61.5M. Get it from here:

Read below to find out what is new, including the released notes for 1.0.7alpha (8th December). Some additional notes:
  1. This iso uses pup001, so will update your current Puppy. Be aware that this causes a file "cleanup", and unregistered files in /usr will get moved to /root/tmp.
  2. If you have a customised desktop, be aware that your desktop icon layout will be replaced, but backed up as /root/Choices/ROX-Filer/globicons.bak and PuppyPin.bak. Note that desktop icons are now sticky on the extreme right side of the screen. There is also a new "preferred layout" for system and drag-and-drop icons.
  3. The PupGets directory on Ibiblio and mirrors has yet to be updated for 1.0.7. Some PupGets have changed and there are some new ones.
  4. For developers, there is a new usr_devx.sfs, also at the above link.
  5. Important things to test are the new Xorg Video Wizard, both xorgwizard from the commandline and from the Setup menu. Rarsa has updated the Ethernet/network Wizard. There is a new Roaring Penguin PPPOE. A new version of TkDVD. A new frontend to the DotPup installer. A global font-size-setter. Then there's Xdiskusage and tkFont. These can all be found in the menu.


Xdiskusage is now in the live-CD. This is a very handy application that displays disk usage of directories and files graphically. It uses FLTK (Fast Light Tool Kit) and OpenGL. Previously Puppy did not have the OpenGL library, so the Xdiskusage PupGet package was about 1M (uncompressed) with OpenGL in it. However, Pup 1.0.7 has OpenGL, so Xdiskusage, with FLTK statically compiled, is about 250K -- I decided this utility is so useful, I can accept that size!

Bluefish and XF-Prot have been relegated to PupGet packages.


I have been playing with Opera 8.51. One of the first things I did was try "Print preview" and text was a mess, overlapping like anything. A bit later I chose "View source" from the menu -- nothing happened. Hmm, both of those work perfectly in Mozilla.


GuestToo reports that he has had a DotPup updater for F-Prot out for sometime, that works:
I have placed his check-updates.sh script into the XF-Prot PupGet package.

Rarsa has been doing excellent work upgrading the Network/Ethernet Wizard. His version 0.3 has upgraded my /usr/sbin/net-setup.sh script. I have just been testing it, and there is still a bug, that was in my version also -- clicking the "test_eth0" button returns that the network cable is unplugged, when in fact it is plugged-in and on a "live" network. The problem is the program ifplugstatus -- Puppy has two different versions of this program, as sometimes one version works and the other doesn't. The boot script /etc/rc.d/rc.network uses both to determine whether the network cable is plugged in and alive, however net-setup.sh was only using one of them. So, I modified net-setup.sh to also use both ifplugstatus programs.
(I am posting this fix separately to rarsa).

Rarsa is working on v0.4, which will upgrade WAG, the wireless config tool, however I have a deadline for 1.0.7beta, so have put v0.3 into 1.0.7beta.

MU has created a superb Xmodmap switcher, but I'm uncertain how to integrate it into Puppy. Currently it's a DotPup.
We have a keyboard layout chooser when Puppy is booted for the very first time, and it can also be invoked via the Keyboard/mouse Wizard. We also have a ChooseLocale utility. Should the Xorg Wizard have a keyboard setup section that firstly invokes ChooseLocale, then invokes Mark's Xmodmap chooser? -- I presume that the locale should be set first?
To put it another way, we have three separate programs, that seem to complement each other, but I am uncertain how to mesh them together in Puppy.


A hearty thanks to Luc Martineau, who has offered server space for anything Puppy-related. I will probably use it for alpha Puppies and other experimental files.

The utility program xev, part of the Xorg package, is now added to Puppy.

We have a problem with XF-Prot, the virus scanner. XF-Prot is a GUI frontend for F-Prot, a commercial anti-virus commandline scanner. We used to be able to download the latest virus definition files, and we had a script to do so, however I can no longer find a direct URL. Instead, we have to go to their website, at http://files.f-prot.com, and fill in a form before downloading.
Anyway, I have fixed up XF-Prot with the latest F-Prot virus definition files, and the automatic update script is replaced with an explanation to go to the F-Prot website and manually download the latest files, whenever an update is desired.
The F-Prot virus definition files are now included in the XF-Prot PupGet package, which will be uploaded to Ibiblio soon.


Unionfs is upgraded from version 1.0.11 to 1.0.14. Note that 1.1.x versions only support the 2.6 kernel. Tricky to compile! Not yet tested ...hmm, I hope that I compiled it right... the kernel module unionfs.o is now only 78K, before it was 186K.

J_Rey had a good idea, that I have now implemented. When configuring X, there is the possibility that the computer may hang or become unresponsive such that you are forced to reboot. Puppy will now detect that the previous X session did not terminate properly, and instead of just plunging you back into the same situation, will drop you down to the commandline, from where you can manually run xorgwizard (this mechanism is generic, should work for Xvesa also).
Of course, a wayward application could also hang the system, and a forced reboot will also result in a drop down to the commandline.
The code that implements this is in /usr/X11R6/bin/xwin.

Peter Sieg reported on the Forum that Gxine crashes on Xorg, but works on Xvesa, running Pup 1.0.7alpha. I have just tested Gxine on the latest 1.0.7, and it works fines, in fact much better than Xvesa -- I can now adjust contrast and brightness.
However, I think Peter was testing running Puppy in Qemu.

Peter also reported that if he exits Xorg then runs xorgwizard and chooses Xvesa, Xvesa runs but after a few mouse clicks, hangs. But then works after a reboot. This must be a Qemu problem again, as I don't get that bug.


Roaring Penguin PPPOE has been upgraded from version 3.5 to 3.7. Also, I edited the source a little, to hopefully make it more Puppy-compatible, but not yet tested.

I'm thinking that Pup 1.0.7beta will be out by Christmas eve. So, for those who do the opening presents thing on xmas morning, while the kids open their pressies, Puppy enthusiasts can download a new Pup to play with.


There was a report on the Forum that 1.0.7alpha install-to-usb does not work. I just tested it, and it works fine -- running Puppy-booted-from-usb right now.

Upgraded fitimage2root script, written by MU. There was a rounding-off bug, MU has fixed it. This script is used for the "exact fit" option of the background image.


Marv on the Forum reported that a line on xorg.conf like this:

 Screen 1 "Screen1" Right Of "Screen0"

prevented X from working. He has a motherboard video chip that is disabled, instead he is using a plug-in video card. I have modified the Xorg Video Wizard to detect this line and comment it out, however I will need to think about this some more in the future, for the situation where people will have two monitors and be making use of Xinerama.

I am imposing a very slight standardization in the layout of icons on the desktop. Application icons can be anywhere on the screen, but I am placing:

With this in mind, I wrote a little script, /usr/sbin/fixPuppyPin, called from /root/.xinitrc when X starts, to make sure that icons on the extreme right side are indeed on the right side for the current video resolution.
The problem that we have had, is that icons may be on the right side for say a screen of 800x600 pixels, but if you change to 1024x768 then they are no longer so. This is now taken care of automatically.
This means that any icon you place on the right side will automatically "stick" there.


The Xorg Video Wizard script creates xorg.conf with mouse protocol set to "auto". This should work for serial, ps/2 and usb mice, and does so for me, however a couple of people reported on the Forum that their usb mouse only worked when the protocol was set to "IMPS/2".
It was awkward to fix this, but I have done so for the Xorg Video Wizard, xwin and the Mouse/Keyboard Wizard. (The way I coded this is clumsy -- need papaschroumpf's brilliant knowledge of sed to improve the code!)

I found a serious bug in the Mouse Wizard, that may have caused it to choose other than what you selected. For example, you select a USB mouse, but the Wizard sets it as a PS/2 mouse. Bug now fixed.

It was reported by a couple of people on the Forum, that shutdown had a large delay, and this was tracked down to the pcmcia shutdown code in rc.reboot (the shutdown script). The bug was causing a delay of 20 seconds during shutdown. I have fiddled with the code and think it is fixed.


TkDVD is upgraded to version 3.9.0. It now has the ability to copy DVDs.

/sbin/check_space is a background program (daemon) that continually monitors the ramdisk and will pop up a warning message if space is running low. This has always been in Puppy. I have modified /root/.xinitrc so that check_space will only be launched if free space in "/" is less than 20M. Thus, check_space will only run in very tight situations, such as running in a 128M-RAM PC with no swap partition. It will not run in a hard-drive-installed Puppy, as "/" is the entire hard drive partition which is bound to have more than 20M free (besides which, the full h.d. install doesn't use a ramdisk).

Recently there has been some contention on the Forum about the best way to locate and install DotPup packages. Puppy has a menuitem "Setup -> DotPup package installer", which launches Mark Ulrich's DotPup Downloader. However, I have modified this so that the menuitem now launches a little frontend that I have written. This frontend has a brief introduction and offers download via the web browser or the DotPup Downloader.
This frontend is also launched from the pupget script (PupGet package manager).
My frontend script is /usr/sbin/dotpup.


A problem with Xorg Video Wizard has been fixed (I think). The Wizard uses xvidtune in commandline mode to return the current resolution and horizontal and vertical frequencies, however it was reported on the forum that at least one type of video chip, the i810 family, does not work with xvidtune. The Wizard now detects this and falls back to using xrandr and gtf to figure out the current video resolution and frequencies.

The Xorg Video Wizard can now change screen resolutions "on the fly". This is achieved using xrandr. This means that with X running, the Wizard can be chosen from the Setup menu, and a choice of resolutions is offered -- one may be chosen and X will immediately switch to it, without restarting X or killing any applications. The new resolution can be made permanent if desired.
Note, though, only lower resolutions than the original can be selected. For example, if you originally chose 1024x768 when you ran XorgWizard, this dynamic resolution changer will only offer resolutions below that, such as 960x600 and 800x600.


The Xorg utility programs xrandr and xsetpointer have been added.


As someone mentioned on the Forum, it would be nice to simplify the requirement to "restart X" -- rather than "exit to prompt then type xwin". So, there is now a menu entry in the "Shutdown" group.

GuestToo pointed out a problem with adding the /root/.fonts directory to X's fontpath -- see notes for 11th Dec. /etc/rc.d/rc.local0 will now execute mkfontscale and mkfontdir if /root/.fonts has font files in it and fonts.dir does not exist and if /root/.fonts is either a regular directory or a symlink to a partition that is not ntfs. /root/.xinitrc will add the fontpath if /root/.fonts/fonts.dir exists.

Hacao, developer of our Vietnamese Puppy, has found that /usr/bin/install does not work. It is a BusyBox applet. So, I have disabled it. The full install program is in usr_devx.sfs.

Many improvements to the Xorg Video Wizard. I have to test on some more hardware, then will upload the latest script for testing.


Fixed some bugs in Xorg Video Wizard. One of the bugs is in Xorg itself -- autoprobing the monitor created an invalid HorizSync line.

Wrote a little script, set-xftdpi, located in /usr/sbin, to edit the DPI setting in /root/.Xresources. This value affects the rendering of antialised fonts, so will not have any affect in applications that do not use Xft, the antialising library for X.
As an exercise, it is a Ash script, but with an embedded Tcl/Tk GUI -- I did this as I couldn't get what I wanted using gtkdialog.
For most applications, such as Mozilla, Gaim, Abiword, etc., if the text appears to small or to big, set-xftdpi is a means of globally adjusting the rendering size to something that suits you.


The pupget package tkfont-1.1, which has tkFont, a font viewer, is broken. Some files were missing. It also needs xfd, a viewer of the character set of a font, which is part of the Xorg package, except that I got it from Xfree 4.3.0 as that uses the older libXaw.so.7 which is more compatible with libXaw95 used in Puppy. tkFont now works, and it will be in Puppy 1.0.7, as it is much nicer than xfontsel.

I have hacked the source of tkFont -- hey, this was last updated in 1997! You can copy a fontname to the clipboard now, whereas previously it was copied to a cut-buffer, requiring the middle mouse button to paste, something that Windows people are unfamiliar with.
tkFont is a little bit messy, as it creates many windows. At startup, it creates two windows, one showing the list of font names, the other some sample text for the chosen font. Despite my limited knowledge of Tcl/Tk, I managed to combine them into one window.

Another font problem is fonts placed into /root/.fonts/. GTK and Qt applications find these automatically, but they are not in the X font search path. This means that some applications, notably Xlib  and Tcl/Tk apps, do not find them, tkFont included.
So, I placed this line into /root/.xinitrc:
[ -e /root/.fonts ] && xset fp+ /root/.fonts/ #v1.0.7
If anyone sees anything wrong with doing this, please let me know.


One of the Xorg bugs was X not always exiting properly. I'm experimenting, any scripts that execute "killall X" are followed by "sleep 1" then "killall -9 X". Of course, while I'm experimenting, "killall X" on its own is working fine.

I have placed "Xft.dpi: 75" into /root/.Xdefaults, to get fonts when running Xorg to look the same as when running Xvesa. Maybe should add a little box into the Xorg Video Wizard to tweak this.
Incidentally, for 1.0.7alpha testers, "xorgwizard" that runs at first bootup, and from the commandline, is for creating a xorg.conf from scratch. But, look in the Setup menu, and the "Xorg Video Wizard" has a lot of options -- that's where I was thinking a font-size tweaker would be nice.

That was last night. Now it is 3am morning of the 11th here in Western Australia. I woke up and started working on Puppy ... yes, I know, I'm obsessed. The really weird thing is that Xorg is ignoring the entry in .Xdefaults, fonts are back to as they were before, small.  Suddenly,  the "Xft.dpi: 75" entry in /root/.Xdefaults is being ignored. Whatever I set it too, exit to prompt and restart X, cold reboot, no difference, it is being ignored. ...hmm, I'm not dreaming that I have woken up, am I?
So, I move "Xft.dpi: 75" to /root/.Xresources, which is read by /root/.xinitrc and merged by "xrdb -merge -nocpp /root/.Xresources" -- this works. But, it leaves me with a mystery.

Have changed the FontZoom factor in the Amaya v8.8.1 config file to 120, so that fonts in open documents display at a reasonable size. Previously it was 100.


Great news! Puppy enthusiast Hacao (Forum name) has developed a Vietnamese Puppy. Forum announcement here: http://www.murga.org/~puppy/viewtopic.php?t=4519


Ted Dog has mirrored Pup 1.0.7alpha here:
Download from puptrix:
http://www.puptrix.org/alpha/puppy-1.0.7alpha-mozilla.iso.txt (md5sum)


Okay, I've uploaded it. Puppy version 1.0.7alpha is not an official release. It is for Puppy testers to evaluate and debug. Get it from here:

Read through the notes since the release of 1.0.6, to find out what is new. Note, libfreetype has been taken back to version 6.3.7, as supplied in the Xorg package. There are various things to evaluate, such as pupzip, xlock and Gaim, but the main thing is Xorg. Putting together all the issues that I currently have with Xorg:

  1. Fonts are a bit small in some GTK apps, compared with running on Xvesa. I would like fonts to look the same when switch between Xvesa and Xorg. I have already fixed the default font in Xlib apps.
  2. There was some discussion about this on the Forum, and I put MU's code into /usr/X11R6/bin/fvwmpoweroff, but this bug is happening after the "fix". The bug is that Xorg does not always exit, at least not properly. It doesn't happen consistently, just sometimes, I choose to shutdown, and the screen stays in some kind of graphics mode, but it still shuts down.
  3. There is a bug, Xvidtune doesn't do anything -- that is, clicking the "Apply" or "Test" buttons is supposed to change to the new video settings, however the screen just flickers momentarily but there is no change. A problem with my SiS video chip, or Xorg?
  4. It was reported recently in the Forum, that some of the settings in Gxset, namely DPMS and auto-repeat, do not work. These are deliberately disabled as they do not work with Xvesa. Gxset is invoked via a script gxsetshell, that does this. However, when Xorg is running these features should be available, so I have modified gxsetshell to detect if Xorg is running and not disable anything. -- haven't yet tested this under Xorg.
  5. CTRL-ALT-+/- does not work.
  6. I'm using an old 15-inch monitor, that should work for 800x600@72 and 1024x768@60. In /etc/X11/xorg.conf, if I specify more than one resolution, say this:
            Modes       "800x600" "1024x768"
    X runs at 800x600 but with a "virtual screen" effect, that is at 1024x768 with a 800x600 viewport. Removing "ViewPort    0 0" makes no difference.
    If the "Modes" line has only "800x600" on it, then okay.
  7. The xkb stuff is removed. When Xorg starts, it outputs a message that it is falling back to the "pre-xkb layout". Linux has two separate keyboard layout systems, and I am trying to avoid duplication in Puppy. But, can we get the non-US keyboards to work properly? We managed with Xvesa, so should be able to with Xorg.
Note that the PupGets are not yet updated for 1.0.7 -- there will be some new ones. If you want to evaluate antialiasing for GTK1 applications, use PupGet package manager to install Amaya 8.8.1 (not 9.1) -- when you run this, it is setup to automatically have antialiased fonts -- you can examine /usr/local/bin/amaya script to see how this is done, and you can try Amaya with and without antialiasing to see the difference. Note, antialiasing of Rox, Beaver, Bluefish does not work properly.

So guys, you are invited to give this new Puppy a bash! Note that the iso is set to use pup004, to avoid a clash with your existing Puppy. Please be sure to delete any existing pup004 so that Puppy will start with a clean slate.


Puppy now has libmad version 0.15.1b and cdrdao version 1.2.0. Well, libmad will be in the live-CD, but I am leaving cdrdao as a PupGet package.

Puppy enthusiast bombayrockers (Forum name) posted this message: http://www.murga.org/%7Epuppy/viewtopic.php?t=4425
Which reminded me, and I tested font antialiasing on the new Xorg-Puppy. Amazing, bitmap fonts are now antialiased. Also, many of the GTK1 applications are now able to display with antialiased fonts -- this modernises them, makes them look like GTK2 apps!

Oh, I am mighty pleased -- Amaya version 8.8.1 is a GTK1 application, and now with the working antialiasing of bitmap fonts, Amaya looks beautiful.
Amaya is, in many respects, greatly superior to Mozilla Composer for HTML page editing, and I am now very tempted to go for a Firefox/Amaya combination, rather than the current Mozilla Navigator/Composer. Or, keep Navigator/Composer and just add Amaya to the live-CD -- I for one do a lot of HTML editing and would like to have both editors to choose from.

Consider this: The gzipped tarball of the current release of Firefox (1.0.7) is 7.8M. Puppy's Mozilla Navigator/Composer combo is 8.8M. So, for a live-CD just 1M bigger we get a WYSIWYG HTML editor.

Hmm, I did promise to release 1.0.7alpha. Maybe tomorrow!

Fonts are a bit small in some GTK apps, compared with running on Xvesa. I would like fonts to look the same when switch between Xvesa and Xorg. I have already fixed the default font in Xlib apps. Well, I will release 1.0.7alpha and you guys can experiment and find out the best way to get fonts looking consistent between the two X servers.

There is a bug with Xorg. There was some discussion about this on the Forum, and I put MU's code into /usr/X11R6/bin/fvwmpoweroff, but this bug is happening after the "fix". The bug is that Xorg does not always exit, at least not properly. It doesn't happen consistently, just sometimes, I choose to shutdown, and the screen stays in some kind of graphics mode, but it still shuts down.

Mark Ulrich's DotPup Downloader has been upgraded from 05B to 05C.


mtPaint has been upgraded from version 2.03 to 2.10.

There is a bug, Xvidtune doesn't do anything -- that is, clicking the "Apply" or "Test" buttons is supposed to change to the new video settings, however the screen just flickers momentarily but there is no change. A problem with my SiS video chip, or Xorg?

Anyway, I have incorporated Xvidtune into Xorg Video Wizard. Xvidtune can be used purely as a commandline application to return the current modeline (the "-show" option). I use this in the Wizard to find out the current horizontal and vertical refresh rates.

Puppy now has tkGamma version 1.0, a GUI frontend to xgamma (which comes with Xorg). I never forgot, sometime ago a couple of people requested a brightness control, as Xvesa is too bright on some LCD panels -- so, now we have the solution. tkGamma is now incorporated into the Xorg Video Wizard.


Busybox 1.01 has been recompiled, with the following applets disabled, as they are now replaced by full versions:
cat, cp, cpio, date, dd, egrep, fgrep, grep, gunzip, ipcalc, mkdir, mv, netstat, rm, fdisk, [, bunzip2, du, find, sort, test, wget.
A new applet has been added: od.

Finally, Xcalc is fixed. Nobody ever complained about it, but Xcalc requires an Adobe Symbol bitmap font, without which the lettering on some of the keys is wrong. So, Puppy now has the Adobe 75 dpi 8,10,12,14,18,24 point bitmap Symbol fonts.

It was reported recently in the Forum, that some of the settings in Gxset, namely DPMS and auto-repeat, do not work. These are deliberately disabled as they do not work with Xvesa. Gxset is invoked via a script gxsetshell, that does this. However, when Xorg is running these features should be available, so I have modified gxsetshell to detect if Xorg is running and not disable anything.

Partview, the little Tcl/Tk script that graphically displays used and free space of mounted partitions, crashes when Puppy is installed to hard drive. This is due to there being no pupxxx file. Fixed.

Puppy has aqcuired read-edid, version 1.4.1. This is a small utility that probes a plug-and-play monitor. I am using this in Xorg Video Wizard.

Also, Xorg Video Wizard continues to improve. The Mouse/Keyboard Wizard and xwin script are now harmonious with Xorg Video Wizard and support Xvesa and Xorg. Added a checkbox to the latter for emulation of a middle button on a 2-button mouse.


Some rationalising happening. Have taken out xorgcfg and libXaw.so.8, plus a couple of directories that have support files for xorgcfg. Reason is, it's over 1M of stuff and I reckon my own Xorg Video Wizard is better. The old text-mode xorgconfig is still there, retained as a fallback.

Mark Ulrich has written a great little script, written in puppyBasic. I have taken the liberty of naming it fitimage2root. Puppy uses xli to write an image to the root window, meaning to the desktop background, but sometimes xli cannot fit the image exactly to the screen resolution, resulting in empty horizontal bars on top and bottom of screen. Fitimage2root uses extra functionality of xli to resize an image to exactly fit the screen, and also applies smoothing, meaning that a small image when scaled up for the desktop can actually still look good.
Fitimage2root is now integrated into Puppy, and is an option in the "Desktop background image" utility (in the "Control Panel" menu).

Syslinux is upgraded from version 3.08 to 3.11. This may fix booting problems on some hardware.


Okay, the Xorg Video Wizard is written. It highly automates the process of creating the xorg.conf configuration file. Works well, at least on one of my computers.


Another text editor! This one is oriented toward programmer's, and is called Geany. The developer is Enrico Troeger and his project homepage is: http://geany.uvena.de. Geany will be available as a PupGet package with Pup 1.0.7.


I have created an Unleashed package of Xorg version 6.8.1. This is taken from Slackware 10.1 (on which Vector 5.0/1STD is based). I have been following the work done by MU and others, and have continued on from that. I have cut the size of Xorg down considerably.
The live-CD that I am using right now has everything from 1.0.6 (almost), including Xvesa, but now with Xorg as well, and the size of the iso file is 61.9M. I have retained Xvesa, as that works flawlessly on most video hardware, and from a running X there are GUI tools for configuring Xorg -- I have placed xorgcfg and xvidtune into Puppy. There is also a commandline configuration tool called xorgconfig.

Xorg bugs:

  1. CTRL-ALT-+/- does not work.
  2. I'm using an old 15-inch monitor, that should work for 800x600@72 and 1024x768@60. In /etc/X11/xorg.conf, if I specify more than one resolution, say this:
            Modes       "800x600" "1024x768"
    X runs at 800x600 but with a "virtual screen" effect, that is at 1024x768 with a 800x600 viewport. Removing "ViewPort    0 0" makes no difference.
    If the "Modes" line has only "800x600" on it, then okay.
  3. It was mentioned on the Forum that "killall X" doesn't work with Xorg. It does work for me. I put this as a bug, as it needs to be sorted out why this is a problem on another Xorg but not mine. I would have thought it would be the same on all Xorgs.
Those of you who have played with various X servers in Puppy, will know about a problem with the default font in the Xlib applications. Scripts that use xmessage are the biggest problem. They default to a bold font, as far as I can make out it is an Adobe Times bitmap font.
I compiled the Kdrive X servers with inbuilt fonts, that is, cursor, 5x7, 5x8, 6x13, and xmessage uses one of those. However, for other X servers, we have the problem of xmessage using a different font.
I googled around, trying to find a fix, eventually took a punt and put this into /root/.Xresources:
*font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-*-*
Yeah, it works.

Note that I have stripped out all of the "xkbd" stuff in Xorg. I presume that Xorg will fall back to  whatever keyboard layout, etc., is in effect prior to X starting. It seems to be working alright, but I have a US-layout keyboard, which is the X default anyway. So, need to see what happens for other layouts.

All the libraries left in though, even OpenGL, plus all the server modules, plus all the input drivers (apart from xkbd). But, removed DRI drivers. There were multiple libXaw libraries, of various versions. I kept only libXaw.so.8, as xorgcfg uses it and does not display correctly with libXaw95.

MU has been investigating alternative Kdrive servers (see Forum link below, 29-Nov), and if they are able to set screen refresh frequency then they will be a viable more compact alternative to Xorg. That is to be considered as a parallel project. MU reported about Mozilla crashing on Flash sites -- it seems to be okay with this Xorg, this site http://www.utexas.edu/learn/flash/examples.html plays okay.

Over the next couple of days, I intend to write a Xorg Video Wizard, plus update the X server chooser Wizard, then fix a few more things. Then perhaps will upload a test iso file about the 8th Dec, which will be version 1.0.7alpha -- this is the plan anyway. This change to Xorg will make many people happy, but it will probably require some testing and tweaking -- there are sure to be more bugs than those listed above.


Here is MU's announcement about the new alternative Kdrive X servers: http://www.murga.org/~puppy/viewtopic.php?p=25761


I have been looking into the X servers used by Puppy, and have written a X server chooser Wizard. Note that MU has a chooser program for his Kdrive X server DotPups and there should not be any conflict -- see the Forum, "new DotPups" section for MU's announcement.

There is a PupGet package named Xfbdev-4.3.0v2-xkbd, but I found there is a bug when it installs. It also needs to have the modules_fb-2.4.29 PupGet package installed. These two reasons combined may explain why no one has used this. I am now considering putting it as a standard feature of the live-CD. It does need more work, as the kernel framebuffer driver modules, at least some of them, are very poorly documented. The SiS module is an exception -- it has excellent features and is well documented, and fortunately my main PC has a SiS video chip. I'm using it right now. Main advantage: higher screen refresh frequency! It already has a Framebuffer Video Wizard, that I have enhanced a little bit.

The xf86_svga-3.3.6 PupGet package is from XFree86 version 3.3.6, suitable for pre-2000 video chips. I have made this easier to use with a Xf86_vga Video Wizard.


The upgraded libgsf (see news 21-Nov-05) breaks Abiword. I don't want to recompile Abiword just now, so I have reverted libgsf to the Puppy 1.0.6 version. Also decided to play safe and reverted libgnomeprint and libgnomeprintui also.

Darn, the host for goosee.com is giving trouble again. This time ftp isn't working, hasn't been for several hours.


I haven't explicitly announced it on this page yet, so here it is now. GuestToo has provided SP106, a service pack for Puppy 1.0.6., that is a whopping 8.5K:

cdrtools has been upgraded to version 2.01.01a03.


PupZip has evolved into a universal archiver wrapper (a non-gui frontend). The script is /usr/local/bin/pupzip.
It recognises XArchive, TkZip and guiTAR archiver programs, choosing one of them if present (left to right is decreasing order of preference). It also recognises dpkg-deb2 and rpm2cpio2 if present -- these are enhanced alternatives to the Busybox programs, provided as DotPups by GuestToo.

ROX-Filer mime types and file associations have been updated to work with PupZip, including recognition of .rpm, .deb and .rar files. Now, click on any of these files, and it will open in XArchiver (or one of the lesser choices).
Also /etc/mailcap and /etc/mime.types have been updated, which affects Sylpheed and Mozilla.

I'm having second thoughts about a drag-and-drop desktop icon for PupZip, considering how easy it is to just click on a file in Rox. It is kind of nice, though, to drag a directory to the "pupzip" icon, and a archive is created. Note, it can also be done by right-click and "Open With...".

The desktop now has two drag-and-drop icons, "pupzip" and "trash", and I'm thinking that these should be separated from the others. I suggest that the bottom-right of the screen be for drag-and-drop icons. Top-right for system operations, like "lock" (which runs xlock) and "save" (multisession DVD save). The other side of the screen for normal desktop applications.
...suggestions welcome!


I have brought back the full dd and cpio programs, as it turns out the Busybox versions aren't good enough. The XArchive program uses rpm2cpio, rpm and cpio to handle .rpm files, however Busybox's rpm isn't adequate either. Rather than install the rather large full rpm package, I added extra code into pupzip, the frontend script to XArchive, to use rpm2cpio, cpio and tar to convert the .rpm file to a .tar file then open it in XArchive.

By the way, the current usr_devx.sfs needs to be disabled, as it has the rpm2cpio program, but it is missing a library. The Busybox rpm2cpio is adequate for the pupzip script.


I've been attempting to compile Gnumeric 1.6.0.

Toward that end, I upgraded these libraries:
libgsf 1.13.3, libgnomeprint 2.12.0, libgnomeprintui 2.12.0
and these will be in Puppy 1.0.7.

I also upgraded these:
glib 2.6.6, pango 1.8.2
and installed this:
goffice 0.1.1
But, although Gnumeric then had all the dependencies, still got a undefined reference when compiling.
Cannot be bothered chasing this anymore. The upgraded glib, pango, goffice and gnumeric will not be in Puppy 1.0.7.
Upgrade of Gnumeric will happen, but later.


Thanks Mark, for discovering XArchive! MU (Mark Ulrich) has created a DotPup for XArchive in the Puppy Forum: http://www.murga.org/%7Epuppy/viewtopic.php?t=3838

I compiled XArchive and made it into an Unleashed package, as this looks very much like a worthy replacement for guiTAR. However, I got carried away and also created a drag-and-drop desktop icon -- ain't Rox wonderful!
It's very intelligent, and knows if you have dragged an individual file or a archive file. So, you can create archives, or extract archives, just by drag and drop. It may have some wrinkles, which we can work on.
The desktop icon has the title "pupzip", a take on the name "winzip".

I also added the "pupzip" intelligent frontend to the right-click "Send to..." menu in Rox.
By the way, does anyone know how to change the menu entry "Send to..." to "Open with..." -- that would be more meaningful for Windows refugees.

I plan to upload a early test version of Pup 1.0.7 about middle of the week, around the 23rd.


Gaim is now upgraded from version 1.0.2 to 1.5.0, the latest. Puppy has the full set of plugins supplied with the source package. This will be in Puppy 1.0.7.


As Puppy now has crond and crontab, a GUI is needed to use it. So, Puppy now has Gcrontab, which is a frontend for creating crontab files. I haven't actually used this thing, it will be up to anyone interested after the 1.0.7rc is released.

GuestToo fixed a bug in Pmount, the Puppy drive mounter/unmounter (or as was discussed recently in the forum, partition mounter/unmounter, if we want to be more pedantic). It's in his Service Pack for Puppy 1.0.6. I have placed the fixed pmount script into the upcoming Pup 1.0.7.

GuestToo's Service Pack 1.0.6 also has a bugfix for Partview, that displays used and free space of mounted partitions graphically. I applied a further bugfix so that it works properly with the df program in Busybox 1.01.

ColorExplorer is a neat little Tcl/Tk GUI app for exploring colors, particularly useful to see what the standard X names look like (for example, "dark slate grey" or "navajo white"). ColorExplorer is developed by Bill Poser, www.billposer.org. It's now in Puppy.

Fragger is a small utility application that let's you see graphically how fragmented a file is. I wanted to see the fragmentation of the "pup001" file, and this shows me. Such a tiny app, may be of use to others, so this has gone into Puppy also. Fragger is developed by Doug McLain. Project page: http://fragger.sourceforge.net/


I have recompiled Busybox 1.01 with crond and crontab enabled. This increases the executable from 420K to 428K. The symlinks are /usr/bin/crontab and /usr/sbin/crond.

John Murga found this introduction to cron: http://www.unixgeeks.org/security/newbie/unix/cron-1.html


Finally have upgraded Busybox, from version 0.60.5 to 1.01.

Here are the Busybox files in /bin:
ash busybox cat-BUSYBOX chgrp chmod chown clear cp-BUSYBOX cpio cut date-BUSYBOX dd df dmesg dumpkmap echo egrep-BUSYBOX expr false fdflush fgrep-BUSYBOX free getopt grep-BUSYBOX gunzip-BUSYBOX head hostname id ip ipaddr ipcalc-BUSYBOX iplink iproute iptunnel kill ln ls mkdir-BUSYBOX mknod mktemp more mount mv-BUSYBOX netstat-BUSYBOX pidof ping ping6 pipe_progress ps pwd rm-BUSYBOX rmdir rpm sh sleep stty sync tail touch tr true umount uname uncompress usleep vi zcat
Files in /sbin:
chroot fdisk-BUSYBOX freeramdisk fsck.minix halt hwclock ifconfig ifdown ifup init_DISABLED klogd loadkmap losetup makedevs mkfs.minix mkswap nameif pivot_root poweroff reboot route swapoff swapon syslogd
Files in /usr/bin:
[-BUSYBOX basename bunzip2-BUSYBOX bzcat cal chvt cmp dc deallocvt dirname dos2unix dpkg dpkg-deb du-BUSYBOX env fdformat find-BUSYBOX ftpget ftpput hexdump hostid install killall loadfont logger logname md5sum mesg mkfifo nc nslookup openvt printf readlink realpath renice reset rpm2cpio setkeycodes sort-BUSYBOX strings tee telnet test-BUSYBOX tftp time top traceroute tty uniq unix2dos uptime uudecode uuencode wc wget-BUSYBOX which whoami xargs yes
Files in /usr/sbin:
fbset hwclock rdate

Bold: New programs. These are not in Puppy 1.0.6 or earlier.
Blue bold: In Puppy 1.0.6 and earlier these were "full" versions, now reverted to Busybox.

All of the above files are symbolic links to /bin/busybox. The symlinks postfixed with "-BUSYBOX" are supported in the busybox executable but disabled as they are replaced with "full" versions. it may be that the Busybox versions have improved enough so that they can be restored, but I don't know that yet, so leaving the option there.
Also, there are a lot more utility programs than in the 0.60.5 version, so it will be interesting to investigate them.

However, there are some programs now in Busybox that I think I can safely move back from the full versions.
Have configured with support for file sizes greater than 2G, so the reason I replaced the Busybox dd program with the "full" version from Vector no longer applies, so have restored the Busybox version.
The programs mkfs.minix, mkswap, fsck.minix, hwclock and fdformat are in Puppy 1.0.6, from the util_linux package (taken from Vector). I have restored the Busybox versions.
Note that I have placed symlinks for hwclock in both /usr/sbin and /sbin, as some scripts in Puppy are hard-coded for the former, though Busybox has defaulted to placing it at the latter. Some symlinks, such as chroot, cut, expr and free default to /usr/bin or /usr/sbin and I have moved them to /bin and /sbin, as Puppy needs them early in bootup, before /usr is available -- this is the same situation as Puppy 1.0.6 and earlier.
The programs losetup and umount are left working in Busybox, and the full versions, from the util_linux package, are also kept in Puppy, named losetup-FULL and umount-FULL -- this is as before, to maintain the status quo. Previously, the Busybox versions of losetup and umount did not work properly, and we have yet to determine that they work properly in the latest Busybox.
Note that /sbin/init_DISABLED does not mean that Busybox init is not used. It is replaced at bootup of the live-CD with a script, then Busybox init is restored.

Note, you may wonder, if some Busybox programs are not being used, that is, those with "-BUSYBOX" postfix, why not configure the Busybox source to compile without them? Apart from the reason that in some case we might consider reinstating the Busybox version, in many cases it makes little or no difference removing the program. For example, configuring Busybox without bunzip2 and gunzip makes no difference at all to the size of the executable -- for the reason that the uncompression functionality is required anyway by other Busybox applications.

One program in 0.60.5 but not in 1.01 is /sbin/update. I don't think anything needs it.

Mini-drama: getting Busybox to work...

Updating Busybox is one thing, getting it to work another. After upgrading, one difference from what is shown above is that I had reverted fdisk from the full version (from utli_linux package) to the Busybox version, as the "--help" option showed the Busybox version has all the commandline options that I need. I created the new image.gz and usr_cram.fs and copied them to a usb pen drive, then booted it. But, got this message, repeated endlessly:

 kmod: failed to execute /sbin/modprobe -s -k binfmt-0000, errorno=8 

This error message has been reported a few times on the Puppy Forum. I googled far and wide, but, as is typical of the kernel, documentation of this message is inadequate, also responses on mail lists and newsgroups are inadequate.
In a nutshell, it seems this message occurs if the kernel is unable to execute an executable, for example it is corrupted.
Although, as I was getting the above error repeating endlessly, it indicates that modprobe itself is corrupted.

In my case, I found the cause. The Busybox fdisk program does not accept the "-s" option, which is required in /sbin/init startup script. This is despite the the "--help" showing that the "-s" option is supported. Aaargh! ...pathetic. Busybox v1.01 is supposed to be highly bug-fixed. The invalid return from fdisk caused choas later in the script, resulting somehow in the above error message. Anyway, back to the full fdisk program.

Are we there yet? No, booting gets further, but another Busybox-related crash...

The Busybox mini-drama continues...

/sbin/init, the very first script that executes at bootup, has this line:

cat /etc/fstab | sed -e 's/\/dev\/ram0/tmpfs/g' > /new_root/etc/fstab

which no longer works -- the destination file is zero bytes. The program sed is the full version, compressed with UPX. No error messages, sed seems to run, but empty output. Yet, after bootup, sed works. Then I found ldd doesn't work -- ldd is a script, not an executable. Then I found poweroff and shutdown don't work.
The syslogd program is executed in rc.sysinit, and the "-L" parameter is no longer supported -- at least I can fix that one.

So, tried sed that has not been compressed, and it works. Note though, the compressed sed does work after bootup. Within /sbin/init, a compressed executable simply doesn't work, no error message.
We are not there yet. The above line of code still does not work. It has to be modified:

cat /etc/fstab | sed -e "s/\\/dev\\/ram0/tmpfs/g" > /new_root/etc/fstab

Does this mean all my scripts are going to be broken? No, the single "\" does work after bootup. It's weird, seems like a bug in the new Ash interpreter.

And what about ldd? This is a shell script, got from Vector. Well, Mandrake 9.2 also has a ldd script, I tried that, it works. Hmmm.

Then there's the problem that reboot and poweroff don't work. Well, I recall something similar way back, with v0.60.5. The problem is the use of pivot_root at bootup. For 0.60.5, have to disable BB_FEATURE_LINUXRC, but 1.01 doesn't have that option but I took a punt and disabled CONFIG_FEATURE_INITRD, and that fixed it.

Are we there yet? I noticed another error message during booting... will tackle that next.

If you would like to play with the new Busybox, maybe try out the new "applets", it is available here:


Freetype has been upgraded to version 2.1.10, which includes the library libfreetype.so.6.3.8 (upgraded from 6.3.3). If I got the configure options right, it should have  the bytecode interpreter for TrueType hinting enabled -- this was discussed awhile back on the Forum... yes, here it is: http://www.murga.org/%7Epuppy/viewtopic.php?t=1873
Nathan F also has some packages that need this more recent libfreetype.


Puppy now has xlock. The X server used in Puppy can blank the screen after a period of non-use, and a keypress or mouse activity will restore the X desktop -- this facility has always been there. However, the question has sometimes been asked on the forum, what about security if the user wants to leave PC for awhile and doesn't want anybody to snoop on what they are doing. The solution is to have a password, however, we don't want a password for the normal screen blanking.
One solution is to use xlock. I hacked the source and compiled it to a fraction of its normal size. I also wrote a GUI frontend for it, and set it up as a Rox-app, and created an icon on the desktop, alongside the trash-can. Just click on it, and the first time it will ask for a password, then locks the screen. Any keyboard press will bring up the password screen. A right-click on the desktop-icon allows choice of a configuration GUI and you can choose an animation to display while the screen is locked.

It is possible to use xlock to create animations for the desktop, and the script does support this, meaning I could put an entry into the menu for this, however, after about 5 seconds of wonder seeing The Matrix scrolling down the desktop, you would probably not want it there as a regular feature, as apart from being distracting, it also uses a lot of CPU time. Some of the animations are quite nice though, and some means of taking a snapshot and using the still image as a background image would be nice.

Note, I'm not thinking of xlock as a high-security system, just for the situation where you want to leave your desk for awhile. Just click the icon. If someone snoops, and presses a key, they get a enter-password screen.


Gtkcat, the CD file cataloger, was not mounting CDs correctly. I modified the source code.


Puppy 1.0.6 has been named "Puppy Sizzler" by Lobster (Forum name), due to the enhanced save-to-DVD capability (that we have referred to so far as our "multisession" Puppy). The Wiki page for "Sizzler" has information on alternative ways to download, including by torrent: http://puppylinux.org/wikka/Puppy106.

Prolific Puppy developer MU (Forum name) has a Windows program to install Puppy 1.0.6 from within Windows XP. You will need to read the discussion about this on the forum: http://www.murga.org/~puppy/viewtopic.php?t=3534


Puppy Linux version 1.0.6 released. The live-CD iso file is 55.7M. The two big items in this release are Abiword 2.4.1 and the multisession DVD. Release notes:

Most important: there are two separate iso files, puppy-1.0.6-mozilla.iso and puppy-multisession-1.0.6-mozilla.iso. Both of these can be burnt as multisession, however the latter offers an enhanced experience as there is no boot menu (whereas the former requires boot-option-5 to be chosen on first boot).

It is vitally important that the multisession iso file is burnt to CD or DVD correctly. Please note that currently we know of no adequate Windows DVD burner program to burn the multisession iso file to DVD. See the notes below for 2-Nov-05 on how to burn it. That is, you need a running Linux system.

Developers, please note that usr_devx.sfs has been upgraded. You will find this on the Ibiblio download site.

Puppy kennels are popping up all over the web. An overview page is here: http://www.pupweb.org/.
Apart from the "official" 1.0.6 release announced above, Puppy enthusiasts are bringing out their own custom versions (as Puppy live-CD/DVD is so easy to remaster with packages of your choice).

A community-based support structure named Puppy Foundation has been setup at: http://www.puppylinux.org/ and I have relocated the Wiki there: http://www.puppylinux.org/wikka/.


I upgraded Fig2dev to version 3.2.5 alpha 7. This is a commandline utility to convert "fig" vector graphics files to various other formats. It now supports export to Latex ...I had the idea that Figurine could be used to design maths equations, then export to Latex (Figurine uses Fig2dev), but the generated Latex file is not liked by Abiword ...well, Figurine is not an equation creator as-such, so generates generic Latex graphic code unsuitable to import into Abiword.
Anyway, the upgraded Fig2dev will be in 1.0.6, so Figurine is capable of exporting to many more formats than before.

Puppian's excellent Ticker program was working for dialup users, but not for those with a faster Internet connection. Thanks to GuestToo who has fixed this. Ticker is upgraded to version 006.

I fixed a bug with multisession CD/DVD, for handling of usr_devx.sfs and usr_more.sfs.
Just download them to /root and reboot, they will be automatically loaded onto /usr. However, in the case of DVD, download them, burn immediately to DVD using growisofs, then delete the file. Next time Puppy boots, it will get loaded into ramdisk (currently no size checking) and mounted on /usr -- but also when the DVD gets full, usr_devx.sfs (and usr_cram.sfs) will automatically get burnt onto the new DVD.
I'm thinking a desktop icon could handle this -- download and burn these to DVD -- for 1.0.7 maybe.


Klhrevolutionist has reported a new version of TkDVD just released, v3.8.3, that fixes a bug. I have upgraded Puppy to this version.

Alienx has done a superb job with his simple remaster-CD scripts. I have placed his scripts into Puppy 1.0.6, in the menu "Setup -> Alienx simple remaster-CD" -- so, the scripts are named after him! There is just one menu entry as I created a frontend message box, with his introductory information taken from the forum. Forum thread:


Okay, we think BUG2 is fixed. See forum thread.

Possible BUG4:
I thought that I had put code into /usr/sbin/install-hd2, the install-to-hard-drive-option2 script, for the situation where /usr is a symlink to /.usr_cram. You get this situation if the live-CD boots and can't or doesn't (you chose boot-option-3) use a pup001 file. I do really need to fix that, but in the meantime, install-hd2 is supposed to detect that situation -- and I thought that the fix was in 1.0.5.
That is, there is code inside install-hd2 that detects if /usr is a symlink, by using "readlink" program. Yes, here it is:

 #1.0.5 bug fix...
 if [ -h /usr ];then #1.0.5 it may be a symlink to /.usr_cram
  REALUSR="`readlink /usr`"
  cp -a $REALUSR /mnt/data/usr
  cp -a /usr /mnt/data/usr

...could some kind soul try the bootup with option3, then a new install, then see if you get a proper /usr. UPDATE 3NOV: Peter Sieg has tested this, installed Grub also, reports success!


Puppy version 1.0.6rc (release candidate) is available. This is not an official release. It is for people to test and find bugs. Barring anything serious, the final 1.0.6 should be out early next week. There are two files, puppy-1.0.6rc-mozilla.iso (the normal live-CD) and puppy-multisession-1.0.6rc-mozilla.iso (specifically multisession, no boot menu). They are 55M. I have already discovered three bugs, see below.

Download puppy-multisession-1.0.6rc-mozilla.iso from: http://puppy.wise-guy.us/ (courtesy Babbs)
Download puppy-1.0.6rc-mozilla.iso from: http://www.nstsoftware.com/puppy/ (courtesy Normen Stengel)

The focus in 1.0.6 is the new Abiword and the new multisession CD/DVD. There are two separate ISO files. testing should focus on these two, but other changes have occurred -- please read the notes below, down to the release of 1.0.5, to find out all the changes.

If you have an interest or responsibility in a particular area, please test it and if any trouble report to me by email at bkaulerATpupwebDOTorg. Please note that this email address has "active filtering", and an email reply is generated automatically asking you to confirm your post -- please click on the url link given in this email to confirm the post.

You need to download puppy-multisession-1.0.6rc-mozilla.iso. This can be burned to either CD-R (or CD-RW) or to DVD-R (do not burn to a new blank DVD-RW or DVD+RW, unless it is already used, as it needs to be formatted). The Burniso2cd script in 1.0.5 cannot burn to a DVD, only a CD. The Burniso2cd in 1.0.6 is upgraded and can handle both. You can burn to DVD-R from Puppy 1.0.5 by running this command:

# growisofs  -speed=4 -Z /dev/hdc=puppy-multisession-1.0.6rc-mozilla.iso

where /dev/hdc is the DVD burner drive. This should work in any Linux system.
There is currently no known Windows burner program that is adequate for burning the iso to DVD! -- you will get one to do it, but at best will get startup and shutdown error messages.
You can also burn the ISO file to a CD-R from the commandline:

# cdrecord -multi -data -eject -v speed=4 dev=ATAPI:/dev/hdc puppy-multisession-1.0.6rc-mozilla.iso

and this should work on any Linux system, as long as SCSI-emulation is turned off.

Note that the multisession DVD is inherently superior to the CD and much preferred if you have a DVD burner drive. Please use a DVD-R single-layer. Do not use a DVD+R. Double-layer is wasted space as Puppy can only store on the first 4G (approx). Bulk-packs of DVD-Rs cost about 30 - 35 cents each, almost as cheap as CD-Rs.

For anyone new to the concept of the multisession Puppy, please go here.

The PupGet packages at ibiblio.org have not yet been upgraded for 1.0.6. Some packages have changed and there are new ones. Therefore, do not use the PupGet package manager, except to maybe download a simple package like a game, to test that the package manager basically works.

BUG 1:
Burniso2cd script has a missing comma, causing two buttons to be joined. Selecting that button will choose the "MULTI-CD" option. fixed for 1.0.6

BUG 2:
As described below, preservation of DotPup entries is still not working. The entries get extracted by the /usr/sbin/backup_dotpup_menues.wxbs to /tmp/menu_dotpup_fvwm95.txt and /tmp/menu_dotpup_jwm.txt, but when rc.update calls /usr/sbin/restore_dotpup_menues.sh they aren't getting reinserted.
However, run from the commandline:

# restore_dotpup_menues.sh

and they do get restored. So, something is wrong in the call from /etc/rc.d/rc.update.
Therefore for this 1.0.6rc, if upgrading your pup001 file from 1.0.5, after the bootup run the above program to fix the menus. Then restart the window manager. not yet fixed

BUG 3:
There is a bug in PBdict, the GUI frontend for dict. The scripts are in /usr/local/PBdict/. From an initial look at script main.pb, I thought it was using gtkdialog2, so I inserted the <wtitle></wtitle> tag into gui.tpl. However, I now find that the script runs the old gtkdialog program, which does not recognise <wtitle> and terminates.
The fix for this is to edit /usr/local/PBdict/gui.tpl and remove my <wtitle> line.
You can launch PBdict from the "Word processing" menu. fixed for 1.0.6


Prior to release of 1.0.5, Mark Ulrich helped me by writing some code to preserve the DotPup entries in the window manager menu configuration files when a new version of Puppy is booted. The problem is that the latest config files replace those in the "pup001" file, and custom changes get lost.
There was a problem with the code however, so it wasn't implemented at that stage. Now that 1.0.6 is just about to come on the scene, it is important that this be fixed. Mark's DotPup Downloader creates menu entries, and we don't want these to disappear.
I have examined the code and think it is now fixed. For anyone interested in the technical side of this, the update script /etc/rc.d/rc.update calls /usr/sbin/backup_dotpup_menues.wxbs to extract the DotPup entries from the menu config files, then the new config files are installed, then /usr/sbin/restore_dotpup_menues.sh is called to reinsert the DotPup entries.

I am testing Abiword in 1.0.6rc ...ah, it sure is nice! The equation editor can import in two ways, either by typing a Latex formula into an edit-box, or by opening a mathML file. I'm wondering about that latter option -- a mathML WYSIWYG editor would be nice -- I think Amaya does that. Is there any other small GUI program that can be used to design equations and save in mathML format (or Latex)?

Thanks to Klhrevolutionist and MU (Forum names), for dict and GUI frontend PBdict, for accessing an online dictionary. I have converted the DotPups into an Unleashed package, dict-1.4.9 (with PBdict in it) and it will be in 1.0.6rc. It is launched from the "Word processing" menu.


I have decided to make Abiword complete "out of the box".
We now have a professional quality product that power users can use for any wordprocessing needs, even for sophisticated documents that would normally require a desktop publishing program, or for complex technical documents such as research theses. Therefore, I decided that having all the plugins ready-to-go, without having to download extra packages, creates a very nice first impression and will make Puppy suitable "as is" for this class of user.
The Links Grammar and gtkmathview packages are included, meaning that the grammar checker and equation editing are immediately available. An American-spelling dictionary is included also (other languages will have to be downloaded -- see the Abiword help page in Puppy). These are all quite weighty, so the live-CD has grown a bit.

Keenerd (Forum name) has developed WAG (Wireless Access Gadget), that was introduced in Puppy 1.0.5. I have upgraded it to version 0.3.2 and converted the DotPup to an Unleashed package, named wag-0.3.2. I also relocated wag-conf and profile-conf to /etc/WAG/, as there is a problem having writable files inside /usr -- when a version upgrade occurs, a cleanout of /usr occurs, and these config files will get restored to the original files.
So, be aware when upgrading from 1.0.5 to 1.0.6 that this cleanout will occur -- you might like to copy these files somewhere for safekeeping if you want to retain the settings.


Rarsa (Forum name) has made the TightVnc server and client applications available as DotPups. Puppy has TkVNC client however this has proved to be very limited. Pup 1.0.6 replaces TkVNC with TightVnc client. I compiled TightVnc client program to use libXaw95 which is already in Puppy as the DotPup version requires an extra Xaw.so.8 library.
So, for Pup 1.0.6 you will not need the TightVnc client DotPup, but if you want a VNC server then you will want to install rarsa's TightVnc server DotPup.

Speaking of DotPups, Jesse Liley has upgraded his DotPup downloader/installer to version mu05B and this will be in Puppy 1.0.6 also.


Great news! As already announced, Pup 1.0.6 will have Abiword 2.4.1, which is working very nicely.
A new feature of Abiword is AbiMathView, which is a plugin for equation editing. This uses another package called gtkmathview. I was able to compile the latter but not the former, however today Martin Sevior, the developer of AbiMathView, helped me and I was able to compile it. I would also like to acknowledge the Abiword developer guys who helped Martin, and Luca Padovani who developed gtkmathview.

Abiword sure has arrived... good enough to write your PhD thesis!

GuestToo supplied a menu file for iceWM configured for Puppy 1.0.5. This file is /root/.icewm/menu. I have updated it to suit Pup 1.0.6 and it is now a permanent feature of the live-CD. That is, even if iceWM is not installed, the menu file always is, meaning that the file can always be kept up-to-date with the current applications.
Actually, the iceWM menu file is very easy to maintain, as mostly I just have to make sure it has all the required menu entries, with layout matching that of the other window managers. Unlike the menu configuration files for JWM and Fvwm95, an entry in "menu" does not have to be commented-out if a program is absent, as iceWM itself determines that -- there are some exceptions however, such as apps that launch via rxvt.
The PupGet package manager is aware of the existing "menu" file and if a iceWM PupGet package was installed, the already-existing menu file will not get overwritten. Maintainers of any DotPup iceWM package should also consider this in the installation script -- check for existing /root/.icewm/menu and not overwrite it (unless there is a really good reason to do so).
Similarly, PupGet will not erase a w.m. menu config file if the w.m. package is uninstalled. A DotPup package that registers with the PupGet package manager at installation will be okay, as PupGet will handle uninstallation. PupGet is specifically aware of JWM, Fvwm95 and iceWM window managers, not any other w.m.


The DVD burner program TkDVD in Puppy 1.0.5 has a bug. The "Open" button to select an iso file to burn to DVD does not work. I reported this to the author and it is fixed. Puppy 1.0.6 will have TkDVD version 3.8.2.

Note that Puppy also has Graveman, that handles DVDs as well. Both programs use growisofs and it's support utilities. TkDVD is thus an alternative, and there is no problem to give you this choice as TkDVD is very small. It is written in Tcl/Tk.
The author of TkDVD is Régis Damongeot and the homepage for TkDVD is http://regis.damongeot.free.fr/tkdvd/.


Puppy is moving to a new kennel... kennels to be more correct!

Go here http://www.pupweb.org/ to see the "big picture".

Note that goosee.com will remain functional. It's just that we are spreading out a bit more.


Heh, heh, I've bowed to the pressure... the controversial "peach" theme is now taking back-stage. The default will now be the original JWM colour scheme, arctic-seagull desktop image, and the original GTK theme. The live-CD inbuilt JWM/GTK coordinated themes will be original, peach, XP and blueX.


The experimental 20th October multisession iso has some bugs:

A DVD-R works fine, but not DVD+RW or DVD-RW. When Puppy shuts down, in the case of the latter two, Puppy thinks the DVD is full when it isn't. If the RW disc is being burnt in "overwrite mode" then there is only one track, which is what causes the problem.
Anyway, I think it is working alright now.

The /root/archive folder disappears. This was a bug before and I thought that I had fixed it. This time it is fixed.


I'm pleased to report that Abiword version 2.4.1 prints nicely. The previous problem of text displaced upward on the page is absent. Yippee!

I have modified the script /usr/bin/lprshell to work properly with nenscript. The background here is that lprshell, a frontend to "lpr", converts a text file to Postscript, and previously it called Abiword in commandline-mode to perform the actual conversion. However, due to a problem with using Abiword in this mode, lprshell is now using nenscript.
Abiword is able to convert a variety of file formats to Postscript, whereas nenscript only does plain text to Postscript. Later I will probably reintroduce Abiword into lprshell, but for now just using nenscript.
I did a test print from Beaver, which prints to lprshell, which in turn calls nenscript, then lpr... yes, prints fine.

Okay, what we really need now is a little GUI for lprshell, that pops up a dialog box allowing the options of nenscript to be set... the frontend could even call GSView for print preview. I'll post the latest lprshell file on request, if anyone feels inspired to tackle this.


I have upgraded the dd utility program from Busybox to the full version. The reason is that the Busybox version only supports file sizes up to 2G -- although I think that was a compile-time option -- anyway, we are gradually moving away from Busybox, so I just grabbed it from Vector.

I have made nenscript, a little utility program that converts text files to Postscript, a default choice in the official live-CD. Note, nenscript is called from lprshell, which in turn is used by some applications, for example Beaver and Leafpad, to print.
The problem is that lprshell can alternatively use Abiword in commandline-mode to convert a text file to Postscript, however the latest version of Abiword (2.4.1) has a bug doing this.

Now there's an interesting thought... a little GUI for nenscript. Or rather, for lprshell. Simple applications like Beaver and Leafpad have no printer intelligence of their own, they just call "lprshell filename.txt" and off it goes to the printer. But, if we add a little GUI in lprshell, it could popup with some options to feed to nenscript. Like, for example font and font-size. Hmm, there's probably already something like that somewhere.

The multisession live-CD/DVD development is progressing. I have created a "Save" desktop icon, that will only appear on the desktop in the case of a multisession-DVD. There is a risk if working on an important document that it will be lost if there is a power-outage, as everything is in RAM -- or the system could hang, although that is unlikely. Anyway, this "Save" button is a partial solution. It takes a snapshot of changed and new files and saves them to DVD -- it's just like a session-save at shutdown, except in this case there is no shutdown.
I have not done this for a CD, as each track saved to a CD is at least ...going from memory here.. about 12M, even if you only have one small file to save.


Puppy now has Partview, a tiny Tcl/Tk script that was originally called disk.tcl. I hacked it to work on Puppy. Partview gives a graphical display of the free space on mounted partitions, including the ramdisk and the pup001 file. It is launched from the "Control Panel" menu.

An alternative to the Gaby addressbook, named Dlume, has been added as a PupGet package (available when 1.0.6 released).

Jesse Liley's MUT partition mounting utility program has been upgraded from version 0.0.6 to 0.0.7b.


I have tidied up the GTK and JWM themes.
The JWM peach theme is still the default, but you will be pleased to know that the original JWM theme, and the arctic seagull background image, are back, selectable in thoughjourney's (Forum name) JWM configuration program jwmConfig.
alienX (Forum name) has created some great theme DotPups, and I have selected his blueX and the improved XP themes to be built-in to the Puppy live-CD.
There are matching original, blueX and XP themes for GTK applications also.


I was looking at Pmount, the Puppy drive mount/unmount script, and lamenting how crappy the code is -- this is because it grew from the early days of Puppy, with new features just bolted on in a topsy-turvy fashion. Pmount is the predecessor to MUT -- the latter launches from the "drives" shortcut on the desktop. Pmount is still in the menu however, but I decided that it either needs to be improved or removed. So, I rewrote Pmount from scratch. It now works better I think, the code is cleaner. Pmount does not have the same technical excellence, that is, the same degree of hardware probing as MUT, and the GUI is less sophisticated, but it is there as a simple alternative.
If size is not a problem, I like to provide choices in Puppy -- that's why you find more than one file manager, text editor, etc.


I have overhauled the scripts pmount, bkup2cd.sh, burniso2cd and createpuppyonline.
The last one is PCCC, the Puppy Create Custom CD program -- mostly it has been updated to handle burning to DVD and also has simplified "fast track" creation of a multisession CD or DVD.

The CD burner program Gcombust is an Unleashed package. It works well except is designed for use with SCSI-emulated IDE/ATAPI CD drives. As Puppy no longer requires SCSI-emulation, I wrote a help-window that pops up when Gcombust is started, that explains how to make Gcombust work without SCSI-emulation. This is /usr/local/bin/gcombustshell. This is old news, but gcombustshell was broken, so I fixed it.
Note, Gcombust should not be used for burning DVDs.

There have been some reports on the Forum that guiTAR does not work.
I have just checked it... if you open a file, for example myfile.tar.gz, you need to choose "Select all" from the menu before clicking the "Extract" button -- otherwise nothing happens.
So, that is not a bug, however, compressed single files, for example myfile.gz, cannot be extracted, so that is a bug, or at least is a limitation.
So, I can only find one problem, the first is a procedural issue. Anyway, I have asked Terry Loveall, the maintainer of guiTAR, if he can fix both of these. For example, if you hit the "Extract" button without having selected any files to extract, a popup window can ask if you want to extract all the files.


I have compiled Abiword 2.4.1. It is very nice, except there is one bug. Ha ha, I've been hanging out, wanting to upgrade to 2.4.x due to a printing bug in version 2.2.7, but 2.4.1 has a new bug. I don't have access to a printer right now, so cannot confirm that the printing bug is fixed either.
The new bug is the "--import-extension=" commandline option, used to override the automatic datatype detection. We need this as Abiword is used as a "glue" commandline application to convert various file formats. For example, a HTML file opened in Beaver must print as a text file, and Abiword will be used to open the HTML file as text and convert the text file to Postscript prior to printing. But, &%$#%*@, it doesn't work. I've sent an urgent bug report to the Abiword developers.

I've included a bunch of nice plugins: Babelfish, BZ2 compression, embedded editing with mtPaint, Google, Grammar checker, MS Write import, StarOffice SDW import, Internet dictionary, Abiword Online Wiki, import WMF graphics, import and export XHTML, import XSLFO.
The grammar checker uses Links Grammar, that will be a Unleashed package.

Note, the multisession DVD is progressing very nicely.


Ted Dog (Forum name) has modified the multi-session Puppy to work better with a DVD. He has pioneered the use of growisofs, which is superior to cdrecord that we have used up to now.
GuestToo has also been working on fixing some bugs.

Building on Ted Dog's work, I have updated the boot script /etc/rc.d/rc.sysinit-cd and the shutdown script /etc/rc.d/rc.reboot-cd to use growisofs if a DVD is detected. It works very well. It looks like multi-session has come of age, but you have to use a DVD-R, which means of course you need a DVD burner drive.

I have also modified /sbin/init, the first boot script, to use a swap file if a Linux partition is not found. However, only doing this for multi-session boot.
Multi-session boot now looks for usr_devx.sfs and usr_more.sfs, but with a difference -- they are looked for on the CD/DVD and if found copied into the ramdisk and mounted on /usr.

growisofs has been updated from version 5.11 to 5.21 (taken from Vector). Have also got dvd+rw-format, dvd+rw-mediainfo, dvd+rw-booktype and dvd-ram-control. All of these are from the dvd+rw-tools package.

We hope that DVD multi-session will be working nicely for the release of Puppy 1.0.6!


Many of you guys who have used Sylpheed for awhile will agree it's great. With Puppy 1.0.4 I used the Mozilla mail & news module, to get a feel for what it is like to use on a regular basis. Then I installed Sylpheed 2.0.1 and when I started using it, I felt relieved... it is so much nicer.
Version 2.0.1 has nice partial rendering of HTML mail, so you get the links but not all the HTML, which was a major factor in my feeling of relief. Also the very snappy performance. Also the user interface. However, Sylpheed is slightly crippled.

One problem with Sylpheed up until now has been opening of attachments. It is fine if they are HTML or plain text, but another type, say a Excel spreadsheet. Click the "Open" button, nothing happens. Have to do a "Save as..." or "Open with...". Yet, the User Manual states that Sylpheed references /etc/mailcap to determine the application to be used to open a file, which is setup correctly to run Gnumeric for ".xls" files.
So, why doesn't the "Open" button work? This is where the oh-so-common sloppiness of open source developers shows its face. The documentation is old and incomplete. I have had Sylpheed in Puppy for about two years, and I only just now found out how to get the "Open" button to work. In a mail-list somewhere, someone reported that they had to study the source code and found out that the "Open" button will only work if the metamail program is installed. Okay.... well, Vector doesn't have it, so I got it out of Mandrake. Hey presto, "Open" now works!

My master plan for mime-type handling enters the next phase. Puppy 1.0.5 has default handlers, for example /usr/local/bin/defaultwordprocessor, which are scripts that will execute the correct application. I am getting everything to work via these default handlers, so that they are the only place modifications will need to be made. I have now modified /etc/mailcap to use these -- both Sylpheed and Mozilla reference /etc/mailcap. The desktop icons were already setup in 1.0.5 to use them.
So, if any application installs, say for example a new wizz-bang web browser, and it is wanted for it to become the new default web browser, then edit /usr/local/bin/defaultbrowser. The file has the format:
exec mozstart "$@"
So you would replace mozstart with your new executable.


Puppy has featured as "distro of the week" on distrowatch.com Weekly News. That's great, lots of people will be coming here to read about Puppy. Welcome!
As you will see below, you can choose the official "standard" version 1.0.5 live-CD, or our "Chubby" version. Also custom Puppies are on the way.
After booting Puppy and getting onto the Internet, be sure to install GuestToo's "Service Pack" -- it has some tweaks and minor bug fixes. get it from here:

For developers, GuestToo has created a DotPup downloader for Puppy Unleashed 1.0.5:

I may have to eat my words. I stated on 2-Oct-05 that there would be no preview/beta release of 1.0.6, as I intended it to be basically 1.0.5 with refinements/tweaks/minor-bugfixes. Problem is, Abiword 2.4.0 has just been released ...I've been hanging out for that. It will be a significant upgrade, as Abiword is a "glue" application in Puppy, used for commandline conversion of various file formats to Postscript. So, looks like there will be a 1.0.6 preview release for testing!

Hmmm, in that case, I might as well go for a Sata-enabled kernel as well. Staying with 2.4.29 though.

Anyway, welcome again. This page is my personal developer's news blog, so is specialised. For general news, be sure to visit the General News page on the wiki: Wiki news page.


Okay, now we are working toward 1.0.6. There will not be any alpha, beta, gamma or preview release of 1.0.6, just the final. The reason for this is that there will not be any major changes, just incremental improvements, refinements, minor bugfixes.

Graveman has been upgraded from version 0.3.0 to 0.3.8. We are not using the latest version of Graveman, for the reason described further down this page (it has a serious bug). Also, the latest Graveman requires Cdrdao, that Puppy does not have. I tested version 0.3.8 as it is the last version before Cdrdao is required, and it works. 0.3.8 also supports DVD burning.

I have applied the patches from GuestToo's "Service Pack" v0.0.1. Differences are that I have placed gaim32.png into /usr/local/lib/X11/pixmaps/, and in /usr/local/lib/X11/mini-icons/ gxmessage.xpm is a symlink to mini-happy.xpm (not gxmessage.png as that kind of grated on the nerves).


Wow, Puppy has really hit the "big time" ... we now have a Service Pack for Puppy 1.0.5! GuestToo has created an "SP", with minor tweaks and bugfixes. Unlike the Service Packs for a certain other OS, this one is very small, just 8.52K. Get it from here:

This is a DotPup package and very easy to install. Just download it, then click on it.

Nathan Fisher (Nathan F on Forum) has created grafpup 1.0.5, a custom Puppy for graphic artists. See here: http://www.murga.org/~puppy/viewtopic.php?p=15860#15860


Chubby Puppy version 1.0.5 is released. This is a fatter Puppy, with OpenOffice and Mozilla, and the live-CD iso file puppy-chubby-1.0.5-openoffice-mozilla.iso is only 91.4M. Chubby has OpenOffice 1.1.4 but is missing Abiword and Gnumeric, otherwise is the same as the standard Puppy 1.0.5 release -- see release notes on 27Sept05 below.
Chubby requires a PC with 256M RAM.

Chubby is available from these two sites, courtesy of Normen Stengel and Babbs:
Please also do an md5sum check:

Note, if you have already tested the standard 1.0.5 live-CD and you now want to try Chubby, change /etc/puppyversion back to "104" before booting Chubby, so that Puppy can perform some upgrade checking (like adjust the desktop icons and menu).

The bugfixed standard Puppy 1.0.5 has been uploaded to ibiblio.org -- see bug note on 28Sept05 below. If you are downloading 1.0.5 about now, apologies if I changed files right in the middle of your download -- please download the md5sum file and check it.


There's a torrent for downloading Puppy 1.0.5:

We have found a bug in 1.0.5. This is not going to affect most users. I'll fix it and upload a new iso tomorrow. It will affect you if you want to install Puppy to hard drive and if you booted the live-CD using boot-option-3-run-Puppy-totally-in-ram. So, it's a very particular condition, most people won't encounter.
When you boot the live-CD, Puppy creates a file for your personal data, called "pup001", on a partition on the hard drive. Now, that's a problem if you then want to install Puppy to that same partition, as it is in-use. Solution is to choose option-3 at bootup then choose to run Puppy totally in a ramdisk. Then can install to that partition. However, that's where the bug comes in.
I fixed the install script (install-hd2.sh) and posted it here:

A way to avoid the bug is to use boot-option-3 and choose some other partition, if there is one, in which Puppy can create the pup001 file. Note, even a usb stick can be specified (usually partition sda1) in which to create the pup001 file.

Be warned that I will be uploading the fixed iso file with the same filename, puppy-1.0.5-mozilla.iso, as many sites have linked to that. I'll post another message here just before updating the file. As I say though, you're only likely to encounter the bug if installing to hard drive, and I have posted a fixed script anyway, so if you want to download the Puppy live-CD iso file, don't wait just do it!


Puppy version 1.0.5 is released. The live-CD file puppy-1.0.5-mozilla.iso is only 53.4M. This release is awesome! Although the version number has only changed from 1.0.4 to 1.0.5, the number and quality of new features is ...awesome! Many Puppy developers have created applications that are making their début, and those guys are justly proud of what has been created. Release notes, in no particular order:

The list of new stuff is incredible, and I have probably forgotten something -- if I have not mentioned someone, forgive me. But then, it has been over 2 months since version 1.0.4 was released.

Warning: If upgrading from an earlier version of Puppy, the new desktop icons will replace whatever you had before. This does not normally happen with a version upgrade, but is necessary in this case due to underlying structural changes. The new icons are generic and you can customise to suit. Note that the previous desktop settings are saved in files /root/Choices/ROX-Filer/globicons.bak and /root/Choices/ROX-Filer/PuppyPin.bak.

If you are on Internet dialup by analog modem, the correct procedure is to first run the Modem Wizard, then one of the connection programs Gkdial, Xeznet or Wvdial. Gkdial is the usual choice, but we have found that the modem initialisation string that it creates does not suite many modems -- we plan to fix that, but for now, if your modem fails to dialout, edit the file that Gkdial has created in /etc/ppp/chatscripts/ and replace the string "AT&FW2" with "ATZ" -- or some other string that works (see Internet Connection help Page in Puppy for more info).

Note that PuppyBasic is also called wxbasicscript in some of our documentation and on the Forum. The main wxBasic project (http://wxbasic.sourceforge.net/) is developed by David Cuny and the naming of our offshoot as "PuppyBasic" is approved by David. Already some applications are written in PuppyBasic, including Mark's brilliant DotPup downloader program.

Abiword version 2.2.7 used in Puppy still has the printing bug that causes some pages to print with text displaced upward on the page. This is due to a malformed Postscript in the header of the page, or so it seems. <gripe>the Abiword developers have known about this bug for 2 years</gripe> But there may be light at the end of the tunnel and I hope to have Abiword 2.4 in the next Puppy, with that bug fixed. Note, this bug also affects printing from other apps such as Sylpheed and Leafpad, that use Abiword as a commandline text-to-Postscript converter.

This page is a kind of personal news blog, and you might find it helpful to read down to discover the unfolding story of Puppy development. For general Puppy news, especially what is happening beyond my narrow development interests, I recommend that you also keep a watch on the Wiki news page.


In the notes of 25Sept05, regarding Gkdial, I have kept the previous executable. Reason is, after recompiling Gkdial, the new executable does not work properly. It's a weird, weird, weird bug! What happens is, I click on the "Connect" button, and a small empty window appears above and to the side of the main Gkdial window ...it is supposed to be a little information window that a connection could not be established with an OK button, but the window is empty -- it gets worse -- the new window keeps rapidly redrawing itself, in different places on the screen, taking up all CPU time as it does so. I suspected JWM, but no, it happens in Fvwm95 also. What is the difference between this latest gkdial executable and the previous? -- nothing, except that the previous one was compiled under Mandrake, which has glibc version 3.3.2 (and the older compiler), whereas the latest executable is compiled with Vector's glibc 3.3.4. I did get another app exhibit this bug also, can't recall which one.
Now it gets weirder. If I hit ctrl-alt-backspace quickly (waiting awhile the whole system locks up), restart X, then run the old gkdial executable, it has the same bug! (sigh)
I found this comment in a recent post on a Debian forum:

> The problem is that gkdial is very old and broken code. Even
> according to the author and ex-maintainer, it's garbage.

I fixed a bug in PCCC, the CD remaster script (which is actually /usr/sbin/createpuppyonline). When packages are removed from the live-CD (that is, they are in the current CD but you don't want them in the new CD) they now get removed from the new menu also.


Gaby addressbook. For Pup 1.0.5 I have promoted Gaby to the default addressbook for Puppy. However, there are some issues. Gaby has a great big "Save" button that doesn't actually save, instead have to go to the menu "Base -> Write..." to save -- this needs to be fixed most urgently. In fact, it's weird, I think if you edit a record, you have to click the Save button, then go to the menu to save to hard drive -- this is going to confuse people -- better if hit Save button also saves to hard drive.
A more difficult problem is printing. Gaby uses Latex to convert a .tex file to .ps, but Puppy does not have Latex -- so, what can we do about this? Gaby can export to HTML, so maybe a quick hack would be to use that somehow -- for example we can convert html to Postscript (see Amanda's /usr/sbin/puppypdf program for ideas, also abiword can do it from the commandline, see /usr/bin/lprshell). Gaby is written in C and is version 1.0.6 (do not choose a later version) -- I've got the source if you can't find it.
At this stage, improvements to Gaby will have to go into Puppy 1.0.6.

JWM window manager version 0.24 has just been released, and I'm using it now, seems okay, so it just makes it into Puppy 1.0.5. Thanks Joe!

I have recompiled Gkdial to generate a chatscript with modem initialisation string "ATZ". It was reported recently on the Forum that ATZ works with SmartLink modems, it also works with a Lucent linmodem that I tested awhile back, and with an old external modem that I'm currently using (X-Link XL-288E). I do have a true-hardware internal PCI modem (Lucent chip) that does not work with ATZ, but you can't win em all. ATZ is probably the most widely acceptable string.


Mark found a bug in mtPaint 2.02, so have upgraded to 2.03.

A bit of a mystery with font antialiasing in Puppy. Bitmap fonts do not antialiase, only the scalable Type1 and TrueType fonts. Note, Puppy's bitmap fonts are to be found in /usr/X11R6/lib/X11/fonts/misc. The outcome of this is that if a bitmap font is used by an application, it will not display antialiased. For example, for reasons known only to itself, Mozilla renders some web pages with a bitmap font. Bitmap fonts are fixed sizes, and look okay if rendered at those sizes, but if scaled they are jagged. I became acutely aware of this problem when I got font antialising working for GTK1 applications a few days ago. The menu and dialog text is a bitmap font, so not antialiased.
A year or so ago, in a much earlier version of Puppy, I had font antialising working for both GTK1 and GTK2 applications and it worked with all the fonts including bitmapped. So, the great mystery now is why are bitmapped fonts being excluded? This is something to do with the way Xft and Fontconfig works.
I am posing this mystery for anyone interested in font rendering and who would like the challenge.

John Murga has put together a very compact Java package (6.0M), see the Forum. I have made it into an Unleashed package and it will be available via the PupGet package manager after Puppy 1.0.5 is released.

Jcoder24 has done some superb work getting HSF/HCF analog modems to work in Puppy. I would have liked these to be available via PupGet as well, but have run out of time -- I want to obtain a compatible modem first -- so targetting it for 1.0.6. However his package is available right now as a DotPup package, and Mark Ulrich's brilliant new DotPup downloader, version MU05, will be in Puppy 1.0.5 to make downloading of DotPups a piece of cake.

Keenerd's WAG version 0.3.1 will be in 1.0.5.

Cutoff guys. No more submissions!


Mark Ulrich has suggested that it would be convenient for developers if Puppy has both versions of Gtkdialog in Puppy 1.0.5, as we need to ease the transition. We have agreed that the version 0.59.8 Gtkdialog be called /usr/sbin/gtkdialog2, and the older one be /usr/sbin/gtkdialog. From the release of Pup 1.0.5, everyone is encouraged to use gtkdialog2, as the old one will be phased out.

Okay, here is the source of all the trouble. This is what has confused me ever since I started the Puppy project. The following is a quote from http://www.gentoo.org/doc/en/guide-localization.xml:

In order to keep time properly, /etc/localtime must point to the correct time zone data file. Look around in /usr/share/zoneinfo/ and pick your timezone or a near-by big city. Please avoid the /usr/share/zoneinfo/Etc/GMT* timezones as their names do not indicate the expected zones. For instance, GMT-8 is in fact GMT+8.

These GMT+/-offset timezone files are what Puppy uses.


Mozilla Composer in the upcoming Puppy 1.0.5 will have a spellchecker, but without any dictionaries. This is very easy to remedy. The website that has dictionaries for all languages is http://dictionaries.mozdev.org/installation.html, and you can either use a browser to go straight there, or open the spellechecker in Composer, by "Edit -> Check spelling..." then click on  "Download more".  The instructions on the website state to left-click to download and install a dictionary, however for me that gave a download error. Instead, right-click and choose to download and save the file, for example "spell-en-AU.xpi". Then running Mozilla, choose "File -> Open..." and open the ".xpi" file and it will automatically install.
You can find installed dictionaries in /usr/lib/mozilla/components/myspell/.

An interesting note about the spellchecker used in Mozilla: it is MySpell, the same as used in OpenOffice.

Finally I seem to have got the timezone sorted out (sigh of relief from GuestToo). GuestToo has been telling me for ages that the timezone-setting program run from "Start -> Control panel -> Set timezone" sets the offset from GMT/UTC with the wrong sign.
It's mighty confusing. All the online documentations tells me that here in Perth I am at "GMT+8", meaning 8 hours ahead of GMT (Greenwich Mean Time, now known as UTC) (for example: http://www.bdtradeinfo.com/form_misc/world_time.asp). However, /etc/localtime has to be set as a link to file /usr/share/timezone/GMT-8, not to file GMT+8, in other words, it seems to be "looking the other way". A complication is that the "date" program uses file /etc/TZ, and does not seem to reference /etc/localtime, and /etc/TZ is a text file with its own syntax requirement. Again, there is the same situation with the sign. If I place the text "PUP-8" into /etc/TZ, it means 8 hours ahead of UTC (the prefix "PUP" doesn't mean anything).
What convinced me, after working on it from 8pm to 3am, was being able to check against a link provided by GuestToo: http://andrewu.co.uk/clj/timezone/. I was able to figure out correct settings for /etc/TZ from this site: http://leaf.sourceforge.net/doc/guide/buci-tz.html.
Although timezone now seems correct, I don't know if the saga is over, as there is still some uncertainty in my mind about the way the two different timezone mechanisms interact -- for example, the "hwclock" program behaves differently when executed from within rc.local0 (during bootup) and after bootup. Anyway, leave it for now -- test it and let me know -- in particular, do the file times/dates in other partitions seem right, are received email times/dates right?

Jesse Liley (Jesse on the Forum) has updated his superb MUT (Media Utility Tool) from version 0.0.5 to 0.0.6.

Amanda Singh (thoughtjourney on the Forum) has brought out the first official release of jwmConfig, a configuration GUI for the JWM window manager. Puppy 1.0.5rc had a prelease version. This makes configuration of JWM so easy -- no, that's an understatement -- closer to describe jwmConfig as awesome!


My experience with Xcdroast so far has not been very good. Despite the seemingly impressive GUI, I have found it confusing to use. Also, moving around the various windows, it keeps trying to redetect the drives, causing enormous delays in trying to use it.
Yesterday I had a very simple requirement, to burn an iso file to CD, and after stuffing around with Xcdroast for awhile, I re-installed Gcombust and used that.

There is another graphical CD/DVD burner called Graveman, and I gave it a test run. Unfortunately the latest version, 0.3.12-4, does not work. After scouting around forums and mail-lists, I found many complaints, that the last few versions have the same problem -- when a CD or DVD is inserted into a drive, the program insists there is nothing there. Someone commented that he had used a version several-versions back that did work, so I did the same. I downloaded version 0.3.0 and yep, it works fine (it would be a useful exercise to find out the latest version that still works!).
In fact, it works very well, simple logical user interface, CD and DVD drives auto-detected. I burnt a ISO file to CD with no trouble whatsoever. Good, Xcdroast has been tossed out, and Graveman is in for Puppy 1.0.5.
Note, I had to install libmad and upgrade libid3tag to meet Graveman's requirements.

GuestToo's little DotPup installer script has been updated to version 002. This works by a mime type to ROX-Filer so that files with ".pup" extension are recognised and his script /usr/sbin/dotpuprox002.sh is executed to install the .pup file.

mtPaint, the brilliant paint program developed by Mark Tyler, is upgraded to version 2.02.


Mark Ulrich's DotPup Downloader creates entries in the window manager menus, which is a problem when we come to Puppy's infamous version update script, /etc/rc.d/rc.update. This overwrites the existing /root/.jwmrc, /root/.fvwm95rc (and /root/.icewm/menu) files with pristine files from the live-CD (image.gz file), with entries setup only for the installed Unleashed packages. Script rc.update runs the fixmenus script which corrects the menu entries for any installed PupGet packages (using the keyword file for each installed package) ...with me so far?
It means that user-customised menu files are lost, including any modifications made by an arbitrary package installer. However, Mark has written a couple of scripts, /usr/sbin/backup_dotpup_menues.wxbs and /usr/sbin/restore_dotpup_menues.sh (which calls restore_jwm_menue.wxbs). These are called before and after, so that (hopefully) the DotPup entries created by the DotPup Downloader get preserved.
It's a bit theoretical so far as we haven't tested it on an actual upgrade!

The Amaya version 8.5 package has been upgraded to 8.8.1. This uses GTK1. Amaya is a very good WYSIWYG HTML editor. Ha ha ha ha, I also have antialiased fonts working with GTK1 applications ...again ...the old-timers such as GuestToo will know that this has been an on-again off-again thing, then it appeared to be permanently broken.


Thanks to GuestToo for some code to test if online. The scripts pupget and createpuppyonline (PCCC) use the ping program to test Internet connectivity, but some people find that ping fails yet they do have an Internet connection. GuestToo used wget to make the test. I have left the ping test in those scripts, with wget as a fallback test.

The guys on the Forum informed me that there is a wonderful little program developed for Puppy, that must be in the next live-CD. Its name is Ticker and it is a news ticker, developed by Puppy enthusiast and active contributor Puppian. Okay, done.

Mark Ulrich is putting an incredible effort into assisting the Puppy project. He has developed a DotPup package installer with a superb GUI. It is named DotPup-Downloader, and I have made it into an Unleashed package and it will be in the 1.0.5 release.


I found a bug that caused the multi-session CD to not load saved sessions. That is, at shutdown it would save the session to CD, but on the next boot it did not load the saved session to RAM.
I was looking through the two scripts /etc/rc.d/rc.sysinit-cd and /etc/rc.d/rc.reboot-cd that are run at multi-session boot and shutdown respectively, intending to implement Ted_Dog's (Forum name) improvements for handling DVDs, but found other issues. I also converted the code so now it is all ATAPI burning (no scsi-emulation).
As we are rapidly approaching the self-imposed deadline of Friday for all changes, prior to releasing the official 1.0.5 around middle of next week (hopefully), I will hold Ted_Dog's improvements over until 1.0.6.


Puppy now has wxBasicScript. This is a Basic interpreter. It is wxBasic without support for wxWidgets, and is modified by Mark Ulrich to work well with Xdialog and Gtkdialog. Thus, we have a very small interpreter (143K uncompressed) that can do nice GUIs.
This will be in the released 1.0.5, with some documentation. This is an alternative for people who are not comfortable with Tcl/Tk or Bash/Ash scripting. It may encourage many people to have a go at programming in Puppy ...don't expect anything like MS VisualBasic though, this is simple, simple, simple!

Sylpheed mail & news client is upgraded from version 1.0.3 to 2.0.1. There is a change from GTK1 to GTK2.


Puppy now has puppyPDF, a little script written by thoughtjourney (Forum name, real name is Amanda Singh, another Aussie!). This will convert any file to PDF format.

Amanda has also developed a configuration program for JWM, jwmConfigMgr. This is really nice. I have put her pre-release version of this into 1.0.5rc and she will have a final version ready for the official release of 1.0.5.

Puppy 1.0.5rc (release candidate) is now available. This is not an official release. It is for the Puppy developers and enthusiasts to test and debug. It creates a "pup003" file, so as not to mess around with any of the other pupxxx files. Please see the Announcements section of the Puppy Forum. The 1.0.5 official release is not far off!


Thanks to menno (Forum name) who fixed a problem with Ical, the calendar program. Print-preview was broken, as it relied on sending stdin to Gsview, the Ghostscript viewer. However, unlike Ghostview, Gsview's predecessor, Gsview does not accept standard input. I have applied menno's patch and preview now works. However, if you have already used Ical, you will also have to edit /root/.calendar and change the text string "[ghostview -]" to "[gsview]" (the essential thing is to get rid of that "-").

GuestToo (forum name) has added support for Icewm in /usr/sbin/fixmenus. Now, any menu entry can be enabled or disabled, based on supplying a keyword. It does however mean that /root/.icewm/menu will have to be setup with keywords, like /root/.jwmrc and /root/.fvwm95rc. The Icewm menu file can be built-in to the live-CD when it is created, even if Icewm is not installed -- the advantage of this that the menu will be correct always. When PupGet package manager is used to install or remove packages, if /root/icewm/menu file is present it will get updated. JWM, Fvwm95 (and soon Icewm) are PupGet packages so can be installed and removed. The PupGet package manager script (/usr/sbin/pupget) takes special care of these three packages, and the menu file already installed does not get overwritten by the one in the package.
For example, say that I use Unleashed to create a live-CD with only JWM. But, it will have all window manager menu config files /root/.jwm, /root/fvwm95rc (and soon /root/.icewm/menu), with menu entries correctly configured by the fixmenus script. When using the live-CD, PupGet can install and remove packages, and all the w.m. menu files will keep track. If PupGet is used to install another w.m., its menu config file is already setup for the current status of Puppy.

Gtkdialog has been temporarily taken back to version 0.58.8 due to a problem with the latest version. Discussion is taking place with the author to resolve it.


Thanks to advice from GuestToo, when chooselocale restarts X, the locale is properly changed.

A Wireless Wizard is created. It's not much, really just a front-end, as most of the work is already done by bladehunter (Forum name), with his wifi-beta.pup and keenerd (Forum name) with his superb WAG (Wireless Access Gadget). There are rough edges everywhere, also have not sorted out how to save the setup for automatic connection at bootup. WAG needs more work, for example I tried the ping test, it failed, yet my web browser worked. Mere details. I will release Puppy 1.0.5rc (release candidate) soon and the scripts can be hacked into submission.


mtPaint, the brilliant paint program developed by Mark Tyler, is upgraded to version 2.01.

Puppy now has chooselocale, a script to ...well, to choose the locale. I decided that the live-CD will only have en_US and en_AU built-in, but this script enables you to choose the one you want and it is then downloaded from the Internet. The script applies the new locale by changing the LANG environment variable. Chooselocale will be launched via the Control Panel menu.
I don't fully understand locales yet. I looked at the locale-switching script in Austrumi -- he switches between English and Latvian -- and he just changes LANG environment variable in /etc/profile then restarts X. However, my tests show that to be insufficient and a reboot is required. Anyway, chooselocale is a step in the right direction, and if anyone discovers anything more and wants to hack the script, go for it.

I have taken the default shell back to Busybox Ash. /etc/profile was exporting SHELL=/bin/bash, so that Bash would run if a rxvt terminal was opened. However, I found a problem with running curses text-mode applications in an rxvt terminal -- "line" characters do not display properly. In the extended 8-bit ASCII character set, there are characters for drawing lines, corners and various other shapes. People who have used some old MSDOS programs like the old Edit, will know that these characters can give a pseudo-GUI appearance, with pull-down menus and popup dialog boxes and so forth.
Testing the mp text editor, launched from a Bash shell, a vertical-line-character displays as a "3", so it appears its 8th bit is getting chopped off. However, running mp from Busybox Ash shell, no problem.
If anyone knows a solution to this problem, let me know!


I have written a simple script to burn an iso file to CD or DVD. It is called burniso2cd and has a simple GUI. It will be launched from the Multimedia menu.
We have a need for this. If we have a new Puppy live-CD iso file, we just want to burn it to CD, without any hassles, such as the possibly confusing options and setup requirements of Gcombust or Xcdroast. Burniso2cd asks a few easy questions, such as whether you want to burn the CD as multi-session, then uses cdrecord to perform the actual burn. This script can be used for any iso file, not just Puppy live-CD iso files.


Have added some more functionality to PCCC, the new CD remaster script. One new feature is I have made it easy to add extra kernel modules to the live-CD.

I added some thumbnail images to the GTK theme selector, so that users will be able to see in advance roughly what each theme will look like.


The GTK theme selector in Puppy, invoked via the "Control Panel" menu, has more themes added. They are dark blue, dark grey, red-n-blue, light green, and a black theme. The black theme is probably a bit too radical -- I can't see some of the icons properly in Composer, the app. I'm using right now -- may have to fiddle with the colors a bit, change the icon bar to a grey background rather than jet black. These themes will all be found in /etc/gtk/.
Note that the GTK themes used in Puppy are very simple and do not require theme "engines".

My "wifi-week" is about to start. Right now I'm at my rural home, no wireless, but I can at least get the driver working for the wifi card.
I have a Netgear WG311v2 pci wireless card, which has a Texas Instruments ACX111 chipset. Note, the WG311v1 card has a Atheros chipset. A quick search on the Internet showed that although there is a acx111 driver for Linux, ndiswrapper is recommended.
I wasn't able to look at what Bladehunter has done in this area, as got a "404" when tried to download his wifi-1.0.4-beta-2.pup. So went ahead regardless... hey guys, this is too easy!
(so far) First time I ever setup a wifi card. Here are my steps:

  1. You need to be running Pup 1.0.5alpha2 or later, and the file /mnt/home/usr_devx.sfs -- which has Perl.
  2. Mounted the CD supplied with the card, copied off all of the XP drivers folder.
  3. Opened a terminal in the XP drivers folder.
  4. # ndiswrapper -i wg311.inf ...this creates /etc/ndiswrapper/
  5. # ndiswrapper -l           ...this tests status of installed driver.
  6. # modprobe ndiswrapper     ...this loads the module
  7. # iwconfig                 ...tests if interface available
    ...yep, wlan0 up and running!
Oh dear, now I have to wait until Monday before can connect to an actual wireless network ...this weekend is going to drag!


Some very good news: setting locale is now working. The way this came about is almost by accident. I tried the locale program, like this "# locale en_US", and it worked. Previously it did not work. So what was different? The programmer's development file usr_devx.sfs was loaded, that's what, and I found the files it was supplying that are needed to properly set the locale.
With usr_devx.sfs loaded, if you look into /usr/lib/locale you will see subdirectories for all the locales. This is what is missing from the Puppy live-CD. So, I copied the en_US, en_CA, en_AU and en_GB subdirectories across to the glibc-2.3.4 Unleashed package, so that they will be built into the live-CD. of course, this choice is not going to please everybody, but you can get the subdirectory that you want out of usr_devx.sfs (which was copied from Vector 5.0STD).

I changed the entry in /etc/profile, from "export LANG=C" to "export LANG=en_US". Obviously this is not going to please everybody either .... we probably need a little locale-setting utility, and /etc/profile can read what the locale is supposed to be and set LANG appropriately. Also, is it enough to just set LANG environment variable at bootup? In the case of Beaver, it seems so...

The really great news, that has caused me much rejoicing, is that the Beaver text editor is now fully functional. Beaver has had a bug, that has been there ever since Puppy started to use Beaver, like about two years ago. If we open any text file with characters that have the 8th bit set, that is if the file is not composed entirely of 7-bit ASCII characters, then it opens with an empty window, no text displays.
A little while ago, I realised that this is due to LANG=C, as the "C" locale is for 7-bit ASCII. However, Puppy was unable to change to another locale as the mechanism was broken.
Now, with the locale subdirectories in /usr/lib/locale, I tried it two ways:

# export LANG=en_US  or  locale en_US
# beaver non-ascii-file.txt

In the first case, beaver reads the LANG environment variable and switches locale to en_US. Running the locale utility before running Beaver also works, even with LANG still set to C. I don't know which is the best choice, just setting LANG or executing locale, whenever we boot Puppy. I need advice from people who have been into this.

A complaint on the Forum has resulted in a very nice solution. Fvwm95 has a gui tool to set date and time, but in Puppy 1.0.5alpha2 there is only JWM, so nothing to set date/time except for commandline utilities. Mark Ulrich (MU on the Forum) to the rescue -- he has created a very nice little gui tool using Xdialog. This tool is independent of any window manager, so can be in the menu of all of them. I have placed it as /usr/sbin/set-time-for-puppy, launched from the "Control Panel" menu, and it will be in the released 1.0.5. Thanks Mark!

I do need to think about a release date for 1.0.5... let's see, "wifi-week" is next week, so maybe the week after that, toward the end of the week.


I have taken Mozilla back to the Classic theme, the original default. Note, if anyone wants another theme, they are easy to install. The Classic theme adds about 0.2M onto the live-CD compared with the Littlemozilla theme, but I am forced to go back to Classic as it appears that gtkmoz, the internal HTML viewer used in Puppy, is hard-coded to use Classic.

I was planning a "wifi-week" this week, to get stuck into wireless for Puppy, get up to speed with what Bladehunter, keenerd and others have been doing. Unfortunately, I'm at my friend's place now, who has adsl and a wireless router modem, but I left my wireless card at home -- which is four hours drive away. So, it's postponed to next week. Plenty of other stuff to do in the meantime.

Lobster is organising a chat-fest for this coming weekend: http://www.goosee.com/puppy/wikka/FoundationPuppy, to discuss all things Puppy.


Terry Loveall, of www.modest-proposals.com, is the current maintainer of uXplor, the delightful 2-pane file manager used in Puppy. Terry has made many improvements and released version 0.26. One of those improvements is something that I wanted -- key-binding compatibility with Windows Explorer (more or less). In the days when I used Windows Explorer, I had the habit of holding down the CTRL key when dragging a file to make a copy, otherwise it is moved (or to be more accurate, W.E. made a shortcut if dragging within the same partition, or a copy if dragging to another partition -- an "inconsistency" that could trap the unwary). UXplor now does that, but without the inconsistency. Terry has also improved the "Send to..." popup window (that you could also call "Open with...") so works with the arrow keys and mouse.
UXplor v0.26 is now an Unleashed package and will be in the next release of Puppy -- probably best if you don't compile and install it yourself as it is heavily customised by me to integrate well into Puppy.


John Doe (Forum name) posted a patch for LinNeighborhood v0.6.5, that prevents a malfunction. I have recompiled LinNeighborhood with the patch. Thanks John.


Puppy now has spacereplace, a Bash script that can replace the space character with an underscore in directory and file names. It also works recursively, meaning that it can do subdirectories. Thanks to Bruce B (Forum name) who discovered this, and also thanks to Richard van Kampen who wrote it.

Spacereplace uses a small utility program, rename, that I have got out of Vector. This works like mv, but is specifically for renaming a file rather than also relocating it (with mv you can move a file to the same place as the original, meaning that all you do is rename it). I also got the du utility out of Vector, replacing the Busybox du, as I needed the "--apparent-size" commandline option for more accurate size estimation of the image.gz filesystem in my new PCCC script.

...hmm, the way things are going, there isn't going to be much of Busybox left in Puppy!

I have upgraded the trashcan to the latest version posted by dvw86 (Forum name), which has an improvement by puppian (Forum name). Thanks guys, I love that trashcan -- when I demo Puppy to anyone, I always create a file in Rox then drag it to the trash ...and I also do it myself sometimes, just like to see it working!

I think it was GuestToo who reported that GTKSee (image manager) crashed in Puppy 1.0.5alpha2. I think this is due to the change of glibc from 2.3.2 in Puppy 1.0.4 to 2.3.4. I have upgraded GTKSee to the latest, 0.6.0b-1, which works fine.


Imaginatively titled Puppy Custom CD Creator (PCCC), /usr/sbin/createpuppyonline is a new script to create a custom live-CD, or custom image.gz and usr_cram.fs files. The old script, /usr/sbin/remaster-cd, is still there, however the new script offers far more sophistication. It ties in with the PupGet package manager, allowing PupGet packages or DotPups that have registered with PupGet, to be moved onto the live-CD. Or, any packages can be removed, even those already on the current live-CD, thus allowing creation of a more "bare-bones" live-CD.
PCCC also ties in with Puppy Unleashed if it is installed, and will draw on the packages as needed. Alternatively, packages will be downloaded as needed.
Although PCCC is a Bash/Ash script, it uses GUI windows throughout.
PCCC is quite large, 1231 lines of code, and took me about ten days to write (approx. three-four hours per day dedicated to that particular project).


Menu management was becoming increasingly fragmented. Menu entries, for the window managers and the master help file, are now handled in one file, /usr/sbin/fixmenus.
Scripts that previously manipulated the menus themselves, now call this fixmenus script. Those scripts are the pinstall.sh files in the Fvwm95, JWM and rootfs_skeleton Unleashed packages, /etc/rc.d/rc.update (script to handle version upgrades), /usr/sbin/pupget (PupGet package manager), plus a new script not yet announced, /usr/sbin/createpuppyonline.

There has been discussion on the Forum about better ways to manage the window manager menus. Well now at least it is centralised, and any changes can be made in fixmenus without affecting other scripts. I would like to thank papaschtroumpf (Forum name) for help in making some of the menu manipulation code more efficient -- his suggestions have been incorporated into fixmenus.


A new page: Puppy from scratch.


Wonderful news! I have been experimenting with the compile options for the "1.8b1.5" Mozilla source used in Puppy 1.0.5alpha2 just released.
Two complaints about the Mozilla in 1.0.4 and in 1.0.5alpha2 are that it cannot block images and there is no spellchecking in Composer. Well, I'm pleased to report that both are now working. The default dictionary is US English, but the Moz site must have alternatives to download. This Moz is now highly functional, although only a beta version. You have to wait for the release of Pup 1.0.5 though!

Someone mentioned awhile back on the Forum that ATAPI  CD (non-SCSI-emulated IDE CD drives) burning now works with the 2.4 kernels as well as the 2.6 kernels.
Yes, it seems to work okay. The burner program Xcdroast issues a warning window that SCSI-emulation is more reliable, but I am not having any problems with ATAPI burning. Gcombust is basically designed for SCSI-emulation, and the developer has shown no signs of updating the program, so I decided that the official live-CD will now have Xcdroast rather than Gcombust.

As we no longer have to use SCSI-emulation, I have redesigned the CD/DVD Wizard accordingly. SCSI-emulation is still an option, but deprecated.

A positive spinoff of this is that there are some applications, for example some audio CD players, that don't work with a SCSI-emulated drive. So, one problem area is eliminated.

The DVD burner program TkDVD has been upgraded from version 2.6 to 3.8.

Above is the News for the "second part" of 2005. It got too big for one page

Click here for "first part" of 2005 News: News 2005a page

Puppy News page for year 2004

Puppy News page for year 2006