Written by Landis Arnold on . Open Source Notations

Using Git and TKLDEV to build your own customized Turnkeylinux (etc) resource set

Learning anything takes some practice.  I have been hoverting around my reentry for a bit now and went in for a landing.  I am going to do my best to build a customized set of builds based upon the Turnkeylinux set of apps, but one which is more flexible and more customizable to my own needs.

Here are some of my process notes.  It seems to be going pretty well.

  1. Sign on to hub.turnkeylinux.com
    1. Set up a Micro Server via the hub to run TKLDEV
  2. Sign on to Github
    1. Go to your https://github.com/turnkeylinux-apps
      1. Choose the Core App
        1. Fork it into your own repository set (this will be suggested by Github)
      2. Choose the TKLDEV App
        1. Fork it into your repository set
      3. Choose someother App you want to work with  (I will do Joomla and Odoo for now)
        1. Fork it (or them separately) into your repository set.
    2. Go to your Repository Root
      1. For each new repository
        1. Make a new "Branch" with some operative name for your work
        2. Option - but recomended
          1. Make the new branch be the "default" branch for you (rather than "master" being default)
  3. Log into your TKLDEV Box via SSH - ie Putty.  Iin my case the TKLDEV generated on hub.turnkeylinux.com)
    1. cd /  (out of /root)
    2. cd turnkey  (1 and 2 together could be "cd /turnkey")
    3. cd products (1 and 2 and 3 together could be "cd /turnkey/products")
    4. Clone each of your repositories (using the -b default_branch_name) to your products directory using a command like the following
      1. git clone https://github.com/your-user-name/your-turnkeyapp-repository -b default_branch_name
      2. cd (from products) to one of the new cloned directories
      3. issue the "make" command
    5. If you want to remove and start over I use the following
      1. rm -rf directory_name
      2. I may have to "restart" the server if I cannot complete because some chroot is running after a "make command"..  After reboot again use the rm -rf directory_name command to clear it.
  4. I am right there now.  I will start working with Git on my personal branches and see what modifications I can run
  5. My specific focus will be on TKLDEV modifications.  
  6. If I want to use those modifications actually "inside" my operating TKLDEV appliance  I will likley need to Link the Code directly - which means this is a Line of my TODO list.

That takes me to where I am now.

I need to start working on my Build Processes next.  Also, quite explicitly, I will need to overtly change the "include" command for buildtasks if I go to make new TKLDEV systems that use my buildtasks.  However, it seems easy enough just to change it manually as I have  just done to my working TKLDEV server.

Lets Test a build

UPDATE:  10/23/2019

The Build process worked well.  I then had to wrangle (again) with network settings inside of my Server Build, but those were not related specifically to the TKLDEV process.

From here I will move the changes I made into my own BT-process and see if I can replicate my results and also get the few more tweaks for my server build integrated as well.

I need to understand a-bit about the Patching process and how it applies to files outside of build tasks  (ie, small changes to the Core build).  I also will need to test various updates from REPOS and TKLBAM to see that I can have my changes from TKLDEV stick.

All for Now.  Very excited about the project.

(Postscript)

To build in XEN, ie (check /mnt/isos for valid build names after)

./bt-iso appname-x.x-stretch-amd64

followed by

./bt-xen appname-x.x-stretch-amd64

Print

Joomla3 Appliance - Powered by TurnKey Linux