diff --git a/README.rst b/README.rst index a967776..3f4c152 100644 --- a/README.rst +++ b/README.rst @@ -1,20 +1,21 @@ TKLDev - TurnKey Development Toolchain and Build System ======================================================= -TKLDev is the mother of all TurnKey apps. It's used to give birth to all -TurnKey apps, including new versions of `itself`_. It's designed to make +TKLDev_ is the mother of all TurnKey appliances. It's used to give birth +to them all, including new versions of itself. It's designed to make simple things simple, and hard things possible. It's a self-contained build system that can be used to rapidly prototype and repeatably build -any generic Debian-based Linux distribution or TurnKey GNU/Linux system -`from source`_. +TurnKey appliances `from source`_. Or for that matter, any generic +Debian-based Linux distribution. It also supports `building packages +from source`_ too. -To get started read the `documentation`_. Read the `blog post`_ +To get started have a look at the `documentation`_. Read the `blog post`_ announcing TKLDev for the background story. This appliance includes all the standard features in `TurnKey Core`_, and on top of that: -- Includes a fast copy-on-write build toolchain based on +- Includes a fast copy-on-write build toolchain based on GNU make, `fab`_, and `deck`_. - Turnkey development directory structure with preconfigured CDPATH. - Integrated caching proxy (squid) for fast and iterative development. @@ -31,10 +32,12 @@ Credentials *(passwords set at first boot)* - SSH: username **root** -.. _itself: https://github.com/turnkeylinux-apps/tkldev +.. _TKLDev: https://github.com/turnkeylinux-apps/tkldev +.. _from source: https://github.com/turnkeylinux-apps/ +.. _building packages from source: https://github.com/turnkeylinux-apps/tkldev/blob/master/docs/advanced/building-packages-from-source.rst +.. _documentation: https://github.com/turnkeylinux-apps/tkldev/blob/master/docs .. _blog post: https://www.turnkeylinux.org/blog/introducing-tkldev +.. _TurnKey Core: https://www.turnkeylinux.org/core .. _fab: https://github.com/turnkeylinux/fab .. _deck: https://github.com/turnkeylinux/deck -.. _from source: https://github.com/turnkeylinux-apps/ .. _TurnKey Core: https://www.turnkeylinux.org/core -.. _documentation: https://github.com/turnkeylinux-apps/tkldev/tree/master/docs diff --git a/docs/advanced/building-packages-from-source.rst b/docs/advanced/building-packages-from-source.rst index e6cb57e..ee8b3ab 100644 --- a/docs/advanced/building-packages-from-source.rst +++ b/docs/advanced/building-packages-from-source.rst @@ -1,184 +1,82 @@ Building Packages from Source ============================= -As of v14.2, TKLDev includes all the components needed to build packages from -souce code on the fly. This may be useful if you wish to test a piece of -software which is unpackaged, but you want it packaged. It can also be useful -if you wish to tweak an existing TurnKey package. +TKLDev includes most of the components needed to build Debian packages from +souce code OOTB. This can be useful if you want to test changes you've made +to an existing package or create a new package - of your code or someone +else's. -Please note that within these instructions, I make use of variables. If you -follow this from start to finish in a single shell, then you won't have any -issues. Please note though, that if you use multiple shells, or do it over -multiple sessions, then you'll either need to redefine the variables, or -substitue the real path/value. - - -Building packages - getting set up ----------------------------------- - -Before you can build packages, you'll need a buildroot to build them in. A -buildroot is essentially a minimalist Debian chroot_. TurnKey may provide one -for download at some point. But for now, you'll need to build it yourself. - - -Chanko - initial setup ----------------------- - -Chanko_ is a tool to download and cache Debian packages and is a prerequisite -for building our buildroot. - -Initially, you will need to ensure that Chanko is fully configured and has -been pre-loaded with the packages required for the buildroot. If you haven't -already done it, please set up Chanko: - -.. code-block:: bash - - tkldev-chanko-setup - -Note: this script may not yet be included in TKLDev, you may need to download -and prepare the script first: - -.. code-block:: bash - - GH_URL=https://raw.githubusercontent.com/turnkeylinux-apps/tkldev/master/overlay - SCRIPT=usr/local/bin/tkldev-chanko-setup - wget -O /$SCRIPT $GH_URL/$SCRIPT - chmod +x /$SCRIPT - - -Loading Chanko --------------- - -To load Chanko with the required packages, you'll need to create some plans -which will note the required packages Chanko will need to download. - -If you haven't already, please clone the buildroot source code: - -.. code-block:: bash - - cd /turnkey - git clone https://github.com/turnkeylinux/buildroot.git - -Now to gather the plans for Chanko: - -.. code-block:: bash - - CODENAME=$(lsb_release -cs) - CHANKO=/turnkey/fab/chankos/${CODENAME}.chanko - - wget -O ${CHANKO}/plan/bootstrap-required \ - https://raw.githubusercontent.com/turnkeylinux/bootstrap/master/plan/required - wget -O ${CHANKO}/plan/bootstrap-base \ - https://raw.githubusercontent.com/turnkeylinux/bootstrap/master/plan/base - echo "/* buildroot */" >> ${CHANKO}/plan/buildroot - cat /turnkey/buildroot/plan/main >> ${CHANKO}/plan/buildroot - # extra TurnKey packages for buildroot: - cat >> ${CHANKO}/plan/buildroot <