Skip to content

Refactor tkldev-setup to better support transitions #1831

@JedMeister

Description

@JedMeister

Currently tkldev-setup does the following:

  • clones the following repos (at the HEAD of master):
    • turnkeylinux/buildtasks
    • turnkeylinux/tklbam-profiles
    • turnkeylinux/common (and sets up basic config)
    • turnkeylinux-apps/core
    • turnkeylinux/cdroots (only amd64 arch)
  • downloads bootstrap-${CODENAME}-${ARCH}.tar.gz

I propose that as of v18.0 that tkldev-setup is renamed tkldev-init (to reflect that it's not just a setup tool) and that common (and other repos perhaps) be cloned at the major version branch (e.g. rather than master, clone 18.x branch). That would make it easy for us to avoid breaking TKLDev v17.x when we release v18.0rc1 (as historically happens every major version transition).

In discussion with a colleague, they bought up the potential issue of what if common requires a specific version of fab ? Wouldn't that still potentially break TKLDev v17.x? I argued that that's currently already an issue but the latest relevant common HEAD should always work with the current fab version (and the fab version must be available in the relevant Debian codename TurnKey apt repo).

I suggested that we update the relevant TKLDev packages too - thus ensuring that it should "always" work. My colleague then raised the potential issue of an updated package pulling in a new/er dependency and the possible edge case of incompatible config. Whilst I think that's a fairly unlikely edge case, I acknowledge that it's a potential issue.

My counter proposal is to also create a tkldev-status tool that would at least make troubleshooting TKLDev problems easier. tkldev-init could also leverage this info and/or they could be a single program?

Whilst this doesn't completely alleviate all concerns (mine or my colleague's) it is a workable compromise that I think would be an improvement to the current state of affairs.

Anyway,

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions