Please note that this process will add a third party TurnKey repo that I personally manage. I had to do that as I do not have direct access to the offical TurnKey repos and we need updated packages for a Stetch base.
Starting point: v14.2 TKLDev running in a VM (or bare metal if you prefer...), logged into terminal as root.
# checkout appropriate branch of common and core
cd common
git fetch origin # assumes you stil have turnkey as origin - can be skipped on fresh v14.2 install
git checkout -t origin/stretch-dev
cd core
git fetch origin # assumes you stil have turnkey as origin - can be skipped on fresh v14.2 install
git checkout -t origin/stretch-dev
# build new ISO
export RELEASE=debian/stretch
export DEV_TEST=y
make clean
make
@JedMeister,
I've been working on creating a 'bootstrapped' TKLdev version 15.0 running in a container. I've had pretty good success so far, and have been able to build core, ansible, and lxc appliances. When it comes to building TKLdev itself, I'm blocked because there are not yet versions of 'deck' or 'pool' for stretch in the repository. I'm working on documenting the procedure, but I didn't want to post it without your approval because it would potentially increase use of your private repository, http://dev-apt.jeremydavis.org/. If users follow my recommendation to install apt-cacher-ng, the extra load shouldn't be great, but I wanted to ask anyway.
In the process, I created a new set of bootstraps for stretch. I'm posting that part here in the hope it will save you some time. The package list will need to be reviewed and approved by Alon or Liraz and the tarball signed.
Create Bootstraps for Debian Stretch
Bootstraps for Debian Stretch have not yet been provided upstream by TurnKey.
This documents the procedure I used to create my own set of bootstraps for Stretch.
On the tkldev v.15.0 container appliance, do the following:
When debootstrap is complete, we get a list of the package selections to compare with the TurnKey selections from the Jessie bootstrap.
Carefully compare the two selection lists. Basically we want to start with the turnkey-selections.list from the Jessie bootstraps and modify it, updating package versions where the name changed e.g. libprocps3:amd64 --> libprocps6:amd64. Next we need to remove SysInitV and replace with SystemD.
Finally, we need to add the remaining files from debootstrap-selections.list changing the 'install' to 'purge' so they will be removed. I found it very helpful to use the Linux application, meld, to provide a side-by-side visual comparison of the two files. The results of some trial and error are shown below. You must make sure that packages initramfs-tools and insserv are not removed. The former required the addition of initramfs-tools-core to satisfy a dependency.
Before we can upgrade the packages, we must update dpkg's available list.
Next we clear dpkg's existing selections and replace them with our new stretch-selections.list. Finally we run a dselect-upgrade to purge the unwanted packages.
After the upgrade completes, pull a dpkg list and make sure all the necessary are installed, and that all packages have status 'ii'. If any packages have a different status, then your stretch-selections.list needs adjustment. It took me several tries to get a clean installation.
Next, clean up any '-old' files left behind, clear dpkg's available list, and clean apt's cache.
Finally, complete the process by creating a tar backup of the completed stretch bootstrap.
Test by making sure that running a make build of the core appliance completes successfully.
Appendix
./stretch-selections.list