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.
  • Now to BuildTasks
  • Forked https://github.com/turnkeylinux/buildtasks into my repository set -ie https://github.com/my-user-name
    • Created a Branch - my name
    • Made the Branch "Default"
  • Opened GitHub Desktop
  • Cloned https://github.com/my-user-name/buildtasks into my GitHub Desktop
    • copied bt-xen into bt-mine
    • copied /patch/xen/ into /patch/mine  (min is a pseudonym)
    • Made a Commit with Summary and Detail Annotation
    • Pushed the Commit with Summary and Detail Annotation
  • Opened my TKLDEV Machine with PUTTY (SSH)
    • Navigate with
      • cd /turnkey
    • dir (to be sure)
    • rm -rf buildtasks
      • that removed the buildtasks directory so that I can clone my repository
    • git clone https://github.com/my-user-name/buildtasks -b my-branch-name
      • technically the branch part should be covered automatically as I set it as default in github directly, but I try to be safe and specify the branches explicity.

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.

  • 3 Changes made in Buildtasks (XEN) directory
  • Committed Changes
  • Pushed Changes
  • Went to Putty:  Git Pull  (3 Changes Made)

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

Posted in Open Source Notations

Print Email

Wildnet Blog Accordion

Systems under the skin of TKL

Systems under the skin of TKL

Dissecting and understanding a build process is complicated.  It is very nice to be able to look under the skin from time to tim.

At present I am needing to adjust approaches as past ways of adapting have been left by the road (not by me).  Studying a bit about what takes place in alternative builds that I may adapt to is an approach that I need to take.

Turnkeylinux is built from 2 sets os structures.  What goes out, their "apps" are prebuilt systems.
Inside of each app though are many and various components.

https://github.com/turnkeylinux-apps/

https://github.com/turnkeylinux/fab  (the component sets)

consists of 68 Repositories at present, including...

https://github.com/turnkeylinux/fab

https://github.com/turnkeylinux/buildtasks

https://github.com/turnkeylinux/inithooks

https://github.com/turnkeylinux/buildroot

https://github.com/turnkeylinux/turnkey-paths

and many more.

TKLDEV is a good way to start to understand the process as TKLDEV will build new APPS and the process can be tracked.  Still following it is complicated.

This is left here as a study note to come back to.

A good entry point to Turnkeylinux is of on their "Help Sought" page"

Read more

Magento Sunset

Magento Sunset

I have been running Magento since about 2012 with 1.3x in my memory bank. Up to 1.9x now and really just using Magento as a repository now.

Magento 2.x (2.3x to be precise) is here.  It does not work, at present, with this CMS system so I have a linkage taking place through Filemaker from J2Store to Magento and by extension to Odoo.

I will quite likely just take the Magento system down.  It will not be supported with updates after this coming June and the time investment of getting 2.x running and keeping it running does not seem available just now).  We will see.

Anyway, for now, I am going to start redirecting the URL's to land into this system.  Lets see what a pain that becomes.  Likely worth the effort but also perhaps now.

Sad, but Magento was aquired by Adobe and like Odoo, they are making it more and more difficult to use it as a Open Source software.  Not that either are impossible, but the reigns are steering the team towards privation.

Somewhat the nature of things these days I will say.

All good software, just a bit too time intensive.

Read more

Magento - Odoo - OCA Connector

Magento - Odoo - OCA Connector

This is a very functional system which brings the ability to work the "backend" of Magento by actually building and purchasing items you sell,

  • Functionally you get all of the aspects of Odoo, including CRM, Product Management and more
  • You also get the great E-Commerce capabilities of Magento, and its increditble extensability.

(to do:  more detail)

Read more

Key Reference and External Reference

Key Reference and External Reference

These are some of the "lower" list fill in's regarding Joomla Meta information in content.  Still worth some reasearch.  I found the following

https://forum.joomla.org/viewtopic.php?t=844679

Key Reference

This is the reference that is used to pull the correct help information either from help files saved locally or on an online site like help.joomla.org

External Reference

Use this field to add a reference to an external resource that is relevant to this specific article. There is no global value for this field as it must be specific to each particular article.

Dave Huelsmann gives a great answer and he appears to know Joomla very very well.

Read more

Organizing your culled information stream

Organizing your culled information stream

It is tremendously complicated these days keeping track of what you are learning.

As an example,  I am diving into the realm of dropping pre-built Drive Images into Cloud Instances.  I need to keep track of the difference between a bzip2 and tar file, and how to decompress them.  Very nice people have commented their answers in various places.  Answers like:

bzip2 -d filename.bz2

tar cvjf myfile.tar.bz *.txt

Certainly there are many more of these as well.  I likely have 20 Tabs open talking about all the various approaches, but that is not the point now.

The point now is simply, how to "keep track" and if possible, how to perhaps help other people in similar quests.

3 Basic Elements I am finding useful:

  1. Bookmark Organizing
     
    1. "Bookmark Manager and Viewer" a Chrome Extension is particularly valuable.  It takes a bit to get used to with one or two foibles, but nothing better that I have found.  Use this in conjunction with Chromes Bookmarking (they have the same icon) and spread them out so you know which one you are using.
    2. "Tabs Outliner" also a Chrome Extension lets you explore and tab to your hearts content.  You can close whole windows and keep track of the tabs.  Ideally you will move from here to your actual bookmarks, but with this you can see what you have been searching for, reading up upon and in many ways also reflect on what is important
  2. Durable Checklists
    1. Honestly, I am still looking for the ideal version here, but what I do know is that Outlines go a long way.  Lets go there
  3. Outlines and Outliners
    1. Now discontinued Bonsai is very good.  Very Very Good
    2. Android Outliner is VERY VERY VERY GOOD  (number 1 really except that I work in Bonsai more)
    3. Workflowy is the best web outliner I have found so far

There are others.  They all deserve attention, but the point is not the program but the work.

Nothing is perfect and no integrations, yet, are perfect.  I do also use

  • Simple Mind for Outlining and Mind Mapping . 
  • Odoo to keep track of issues and many other details. 
  • Evernote..  must have
  • Dropbox,  for me anyway, must Have

All are also excellent programs:

Like threads in a spider web though, you need to have your own system of reference to keep them together.  Things are getting better, but, there is still you in the middle.

Getting things done..  a book and a mantra.  The program did not work very well unfortunately (may have had another name - written for PC Tablet computers in about 2005 ?).  It should have worked better.  The concept was incredible.  It just had big, in fact large and untenable, memory leaks.

Read more

Joomla3 Appliance - Powered by TurnKey Linux