ProLinux Desktop 1.0 (alpha)

Finally managed to bin the remainder of debian-cd in favour of a build process written entirely in Python (338 lines at the moment) with no Make, Bash or Perl in sight. Runtime to produce an ISO image from cold is ~ 1m20s, presently running at a little over 1G.

# time ./make_prolinux.py 
* Clearing build tree
* Generating raw package list
Reading package lists... Done
Building dependency tree... Done
Reading package lists... Done
Building dependency tree... Done
> Extracting (debian-archive-keyring-udeb_2014.3_all.udeb)
* Creating a new Image tree
> Extracting (pool/main/s/syslinux/syslinux_6.03+dfsg-5+deb8u1_amd64.deb)
> Extracting (pool/main/s/syslinux/isolinux_6.03+dfsg-5+deb8u1_all.deb)
> Extracting (pool/main/s/syslinux/syslinux-common_6.03+dfsg-5+deb8u1_all.deb)
-> isolinux/isolinux.bin
-> isolinux/menu.c32
-> isolinux/vesamenu.c32
-> isolinux/ldlinux.c32
-> isolinux/libcom32.c32
-> isolinux/libutil.c32
* Customising assets
* Installing local assets
* Reading package list
* Marking wanted packages
* (2047) Packages, (3) Excluded, (43) Obsolete, Size (1150M)
* Copying packages to image tree
[===================================================]
* Processed (2001) files
* Generating MD5 Sums for the new image
* Making an ISO 9660 image
xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:../prolinux-cd-test/prolinux.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data,  379g free
Added to ISO image: directory '/'='/tank/aptly/build/root/image'
xorriso : UPDATE : 3425 files added in 1 seconds
xorriso : UPDATE : 3425 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 432 bytes from file 'isohdpfx.bin'
libisofs: NOTE : Automatically adjusted MBR geometry to 1016/75/32
libisofs: NOTE : Aligned image size to cylinder size by 361 blocks
xorriso : UPDATE :  1.34% done
xorriso : UPDATE :  1.34% done
xorriso : UPDATE :  2.69% done
xorriso : UPDATE :  4.03% done, estimate finish Fri Oct 16 00:07:04 2015
xorriso : UPDATE :  6.72% done, estimate finish Fri Oct 16 00:06:50 2015
xorriso : UPDATE :  8.06% done, estimate finish Fri Oct 16 00:06:53 2015
xorriso : UPDATE :  10.75% done, estimate finish Fri Oct 16 00:06:47 2015
xorriso : UPDATE :  13.44% done, estimate finish Fri Oct 16 00:06:43 2015
xorriso : UPDATE :  16.13% done, estimate finish Fri Oct 16 00:06:41 2015
xorriso : UPDATE :  17.47% done, estimate finish Fri Oct 16 00:06:43 2015
xorriso : UPDATE :  20.16% done, estimate finish Fri Oct 16 00:06:41 2015
xorriso : UPDATE :  21.50% done, estimate finish Fri Oct 16 00:06:42 2015
xorriso : UPDATE :  24.19% done, estimate finish Fri Oct 16 00:06:41 2015
xorriso : UPDATE :  25.53% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  28.22% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  29.56% done, estimate finish Fri Oct 16 00:06:39 2015
xorriso : UPDATE :  32.25% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  34.94% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  37.63% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  40.31% done, estimate finish Fri Oct 16 00:06:36 2015
xorriso : UPDATE :  43.00% done, estimate finish Fri Oct 16 00:06:36 2015
xorriso : UPDATE :  44.35% done, estimate finish Fri Oct 16 00:06:36 2015
xorriso : UPDATE :  45.90% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  48.38% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  51.07% done, estimate finish Fri Oct 16 00:06:36 2015
xorriso : UPDATE :  52.41% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  55.10% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  57.78% done, estimate finish Fri Oct 16 00:06:36 2015
xorriso : UPDATE :  59.13% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  61.82% done, estimate finish Fri Oct 16 00:06:36 2015
xorriso : UPDATE :  63.16% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  64.50% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  67.19% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  68.54% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  71.22% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  73.91% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  76.60% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  79.29% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  80.63% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  83.32% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  84.66% done, estimate finish Fri Oct 16 00:06:38 2015
xorriso : UPDATE :  87.35% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  90.04% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  92.72% done, estimate finish Fri Oct 16 00:06:37 2015
xorriso : UPDATE :  95.41% done
xorriso : UPDATE :  98.10% done
xorriso : UPDATE :  99.44% done
ISO image produced: 609600 sectors
Written to medium : 609600 sectors at LBA 0
Writing to 'stdio:../prolinux-cd-test/prolinux.iso' completed successfully.

real	1m18.970s
user	0m16.560s
sys	0m11.072s

Lots of things to improve on, not least the package select and paring down what's not needed, target is to fit it down to 700M so it'll sit properly on a standard CD. In the meantime I've done a little work in customising the graphics, although it will need some professional design work in the not-too-distant.

I've removed most of the questions from the installation process and I'm aiming for Name + username + password + "are you sure" as a target. Anyone who wants to mess around with all the installation options will need the Workstation edition .. :-)

One of the next bits I'll be looking at is customising the default XFCE environment for first time logins, maybe add a bit of wallpaper too. For quite some time I'd assumed that I was seeing an old version of XFCE because of the way the main menu was set up. Turns out you need to install xfce4-whiskermenu-plugin then delete the start button and install the whiskermenu start button in it's place. When I get to it I will be posting a large WTF on the XFCE forums somewhere ...

I need to do a write-up of aptly at some point. Aptly is the software that provides local mirror support to the build process, but the way in which it does it is really fantastic. I'm able to set up a maintainable mirror against the debian repo's, and another against the XFCE PPA, and another against my local modifications, then merge the three so my changes and the PPA take precedence over the Debian originals, then present the result as a local repo which in turn can be re-published back to the net. Even better, the merge process is based on snapshots, so once the merged repo is set up, I can update the mirrors from source, and create newer snapshots thus building up a series of snapshots for each version of the build. If you're a DevOPs or release engineer and you're looking for a definitive reason to use a Debian based distro instead of CrapHat, this would be it!!