Skip to content

Refactor Cinc branding for Client

Lance Albertson requested to merge omnibus-patches into master

This provides a major refactor of how we patch Chef Infra Client into Cinc Client. Before this, we had various patches split between a chef repo fork and some changes in this repository. Now everything will be unified in forked repositories that will be continually rebased as conflicts arise.

This refactor consists of the following:

  • All changes needed for Cinc will be made in our chef fork hosted on gitlab using the stable/cinc branch. The exception will be for anything under omnibus/resources/ since those are primarily image files and also rarely change
  • Any changes needed in omnibus-software will be done via our fork hosted on gitlab using the stable/cinc branch.
  • All changes will be done via the patch binary which will merge patches from each repository generated using the git format-patch command pointing to the last upstream ref.

The great benefit with using patch is that it will catch any potential conflicts with upstream during a build. If we do encounter one, we can simply rebase our chef fork and regenerate the patches. Using patch will also follow any file renames which is common in Cinc.

Here's what I specifically did for this change:

  • Moved all chef-bin changes as a patch on our chef fork
  • Moved all omnibus projects & software as a patch to our omnibus-software fork
  • Moved all package-scripts as a patch to our chef fork
  • Added a handy script called checkout-omnibus-software.rb for assisting in patching omnibus-software (see comments in script for more information)
  • Create a patch.sh to simplify building and testing
  • Included patches from chef and omnibus-software
  • Added .gitignore for common paths

Referenced merge requests:

Edited by Lance Albertson

Merge request reports