Jeremy Davis's picture

What does this README.rst do besides give documentation?

Generally a README is just a text file for info. Although in the case of the TurnKey appliances, you will note that it is actually the text for the appliance page on the website (e.g. compare https://github.com/turnkeylinux-apps/core/blob/master/README.rst with the text on http://www.turnkeylinux.org/core). The appliances pages are auto built from the info contained on GitHub...

TBH I am not quite sure what your command is trying to do. AFAIK 'wc -l' is just counting newlines in files ['wc' is wordcount; -l switch is lines...] so I don't understand how that would have any further meaning...?! But perhaps I've missed something?

Again the Readme.rst - is it giving any sequencing information?
...
So I am seeing that the Overlays, are going in AFTER MAIN, and Creating Folders to Load the CONF.D /MAIN file into. (not yet clear about removelist)

As per my comments above; I am unclear on how you reach a conclusion that the command you are using is giving you info about order of execution... In my experience, this is the order in which stuff is applied:

  1. install packages from 'plan/'
  2. overlay files from 'overlay/'
  3. run scripts in 'conf.d/'

removelist just removes anything that was required for build but not required for the appliance to run (i.e. a way to remove stuff that was only required temporarily) but TBH I've never used it...

Why Does the LAPP (app) not have a "conf.d" folder or "main" file in it?

LAPP doesn't have a conf.d directory because it needs no further configuration (beyond the packages installed (from the plan) and the files included in the overlay. If you were to base a new appliance on LAPP you would just add the conf.d directory and put your conf script(s) in it...

Why does the Conf.d/main in the LAPP app call Lapp itself?

I've edited this answer because I think I worked out what you were asking... I assume that you mean lapp/plans/main (LAPP appliance doesn't have a conf.d as discussed above).

To allow recycling of code most of the files that are reused (by multiple appliances) reside in common. This allows a single codebase to be maintained rather than having to maintain the same code in multiple places. All the base appliances (e.g. LAMP, LAPP, etc) have code in common. Shared plans are launched within the plans/main; e.g. for LAPP this line uses the base plan: common/plans/turnkey/base and this line uses the lapp (common) plan: /common/plans/turnkey/lapp. Other code (e.g. common conf files and/or common Makefiles) are launched by the Makefile.

Working right now on how to AIM and Land a GIT Folder or a Packaged installer into TKLDEV

It doesn't really matter where the source comes from; but for an official TurnKey appliance it is important that it has a stable version of the software. Generally that is not an issue if you just wget an archive (it will usually be a specific version; or sometimes just the latest stable version). With git though; more often than not the 'master' branch will be a 'work in progress' type branch (or even a development branch) - almost always it should build and work though. Usually software managed by git will have stable versions tagged (with a version number pinned to a specific commit) and/or have release archives (on GitHub, as of relatively recently tagged commits are automatically available as zipped releases).

FWIW my suggested workflow is documented here.