Skip to content

Latest commit

 

History

History
215 lines (186 loc) · 9.77 KB

todos.md

File metadata and controls

215 lines (186 loc) · 9.77 KB

Camelbox Todos

  • Automate building via Jenkins
    • Natural language project building "blueprint" files
      • Describe what packages are built and in what order
      • Describe location of source files for downloading/caching
      • Describe the version of the tarball to download and build
      • Describe any command line switches needed for building
      • Use a formatted file like JSON or YAML
      • download tarball glib version x.y.z
  • Have package metadata of Perl modules capture the contents of perllocal so that perllocal on the installed system can be updated as Perl modules are unpacked and installed
    • Maybe change the package "receipt" format from plaintext to something like JSON or YAML (or some other config format)
      • Shows package metadata
      • Shows files installed by the package
  • Relocatable
    • Run a tool after installation that tries to go through the system PATH and detect any other conflicting programs/libraries
      • Perl
      • GTK libs
  • Figure out what you want to do with the batch files; do you want to call wperl, do you want to un-batch-file them, or ??? (example: prove.bat and the prove script)
  • Figure out how to get podviewer to use a default directory when searching for other POD files than what it was opened with
  • An applications guide, describing each application packaged with Camelbox along with screenshots.
  • A developer's guide
    • installer naming conventions
    • group the Build documents in one place and explain their purpose
    • how to use the hump.sh/nsh_builder.pl scripts, when to use them, and why they do what they do
  • Set up a script to sync the Camelbox directory to lagrange and/or the USB thumbdrive WORKDISK.
  • Add a time measurement thingy to the installer; start the timer before downloading the first file, stop the timer after the last file installs.
  • Create a standalone PAR/perl script for manually unpacking a base/complete install of Camelbox.
    • unpack_base.sh - Unpacks a base Camelbox install from packages. Checks for existing Camelbox directories before unpacking.
  • Project requirements for an automated Jenkins build system for Camelbox
  • Finish setup of Windows XP/7 VM
    • Document changes made for setup
    • Find modified registry keys and automate changes
      • How to validate registry settings before/after things have been installed
    • Create a standalone Perl binary for modifying registry settings, and snapshotting registry entries, finding differences in between snapshots
    • Add FreeSSHD in order to use Rex from a *nix host

Packages to Add

Building

Glib test fail message:

t/64bit....................NOK 2/12#   Failed test at t/64bit.t line 25.

More of the same, run dmake test to see the errors.

Installer

Testing

Moved to the testing guide page.

Running

  • How do you change GTK themes?
    • gtk-chtheme
    • Change the default GTK theme to the Windows theme?
  • What happens when you use sh.exe in CPAN.pm's shell specification?
  • Create a package manager, which would allow adding packages after the initial install
  • Write a demo_runner script, it detects which Gtk2 modules are installed, which demos are installed, and offers the user a list of demos that can be run
  • demo_runner - verifies that...
    • Perl loads correctly and
    • only the demos for which the corresponding libraries are installed are displayed to the user
  • Document setting up Perl with FastCGI under IIS 6/7

superhump.pl

Create lists of files beforehand. When you go to run superhump.pl, the filelists get read in by superhump.pl when it comes time to detect new files; any files left over after all of the filelists have been read in and matched belong to the new package. Filelists can also now be listed as file:md5sum instead of just the filename only.

This way, you can build things in any order you want, and you only have to save/store one set of filelists. These new package lists (with the MD5 checksum) can also be used to audit an installed system.

Misc. Utilities

  • Perl equivalent to the Python uploader script for Google Code

Creating Stand-alone Programs with PAR ==

C:\camelbox\bin>pp --gui --icon C:/camelbox/bin/wperl.exe -l libCairoPerl.dll -l libgthread-2.0-0.dll -o C:\temp\asciio.exe -l C:\camelbox\site\lib\auto\Cairo\Cairo.dll -l C:\camelbox\site\lib\auto\Glib\Glib.dll -l C:\camelbox\site\lib\auto\Gtk2\Gtk2.dll -M Win32::Console -M Tie::Hash::NamedCapture -M Gtk2 asciio

More PAR links:

Use local::lib with PAR to bootstrap a GTK-specific PAR module; the bootloader PAR class sets up the GTK PAR class and then runs it.

Done Todos

Fixing Missing libraries problem

Fixed May 2009 courtesy of Ari Jolma's patches.

ExtUtils::Liblist::Kid does not search for libraries that end in *.lib, it only uses $Config{_a} ($Config{lib_ext} in the code, which is an alias to $Config{_a}). A patch was created that causes the Windows function in !ExtUtils::Liblist::Kid to go back and look again with the new file extension, which usually causes that module to find the library it was looking for.

File Extensions to Search For:

  • dll
  • a
  • lib

Demos

  • redo all of the packages from the latest source (May 2009)

Shortcuts

  • shortcut to wperl? (17Jun2009)
    • shortcuts with URLs to docs and recommended tutorials
    • group related shortcuts, i.e. the Glade folder will have a shortcut to Glade and all of the Gtk2::GladeXML demos
  • Finish the shortcuts NSH builder (09Jun2009)
  • create a program group with shortcuts to different perl binaries and examples that are included with Camelbox (17Jun2009)

Installer

  • create a couple of different installers
    • small installer, no perl modules, meant to be used with a package manager of some kind
    • large installer, has a complete list of Perl modules
    • silent installer, for enterprise installs, no install options

hump.pl

  • write a script that generates lists of files;
    • difflist - list of files in C:\camelbox used for diffing
    • package filelist - install a module from CPAN, running the difflist before and after the install
    • camelbox_packages.nsh - list of archive files to be used to build the camelbox_packages.nsh script
    • md5sum-.txt - list of archive files with checksums for posting with releases
  • files have the following metadata read from a JSON file:
    • package filename/short name
    • package description
  • groups have the following metadata read from a JSON file:
    • group description
    • group members in list order

Misc

  • Move all of the Antlinux wiki pages to the Google Code Project wiki
  • create a script that performs before/after snapshots of the Camelbox directory, to be used to install new Perl modules. Capture the changes and package them up for re-distribution
  • packaging glade
  • a putty profile that can be used to tunnel database tests

Packages

vim: filetype=markdown shiftwidth=2 tabstop=2