Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tree: 561fe7ee9e

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
README
RelNotes-0.90.txt
RelNotes-0.91.txt
RelNotes-0.92.txt
RelNotes-0.93.txt

README

TurnKey Linux Customization Mechanism
=====================================

The Customization Mechanism's objective is to provide a dead-simple way
in which an existing appliance can be extended/tweaked by a given 
end-user/developer.

Full documentation: http://www.turnkeylinux.org/docs/tklpatch

Example tweaks
--------------

- Tweaking a configuration file
- Adding data files
- Adding a package
- Creating a brand new appliance leveraging a generic appliance such as
  Core, LAMP, Rails, etc.

Design goals
------------

- Well designed mechanism (simple, generic and powerful)  
- Very simple technically to reduce barriers to entry
- Encourage developers to publish their patches easily

    - Incorporate good developments upstream to TurnKey appliances
    - Establish opensource ecosystem of patches
    - Satisfy long tail of special needs

Example usage
-------------

Patching an appliance with a published patch

    tklpatch image.iso patch.tar.gz
    The patched image will be called image-patched.iso

Implementation/Development
--------------------------

tklpatch has a modular implementation to simplify development and
improve the development cycle.

Syntax:
    tklpatch image.iso patch-dir|patch.tar.gz

        tklpatch-extract-iso isofile
        tklpatch-apply rootfs-dir patch-dir|patch.tar.gz

            tklpatch-apply-debs rootfs-dir debs-dir
            tklpatch-apply-overlay rootfs-dir overlay-dir
            tklpatch-apply-conf rootfs-dir conf

    tklpatch-prepare-cdroot cdroot-dir rootfs-dir
    tklpatch-geniso cdroot-dir [newimage.iso]

    tklpatch-bundle patch-dir
    tklpatch-chroot root-dir [ command ... ]

Patches
-------

A tklpatch structure can include some, or all of the following:

    patch/
        debs/       # debian packages in this directory will be installed
        overlay/    # overlay applied to root filesystem
        conf        # configuration script to execute in chroot (rootfs)

Additionally, patch/ can contain a patches/ folder, which may contain
nested patches (unpacked or bundled as a gzipped tarball). Nested
patches will be installed in alpha-numeric ordering *prior* to the patch
that contains them (enabling patch patching).

    patch1/
        patches/
            patch2/
            patch3.tar.gz
            patch4.tar.gz
                patches/
                    patch5/

Nested patches facilitate modular design as changes don't need to be
bundled together, which makes sharing much more useful and powerful.


Something went wrong with that request. Please try again.