Git Changelog changelog

Changelog of Git Changelog.

Unreleased

No issue

8b1dfdb4b881b27 Jeffrey Townsend 2019-05-10 15:36:36

Show the PKG_DEFAULT file generating an exception and allow dot versions.

04c54acb14e412c Jeffrey Townsend 2019-05-09 18:23:21

Get the package defaults at initial yaml load time so the default dict can be used for all variables in the initial load.

b00271f2978e409 Jeffrey Townsend 2019-05-09 16:47:59

Improve Package Field Generation

  • Specifying useful package fields has been historically pretty lazy since most systems have been built as self-contained images without dynamic package updates.
  • This commit hopes to improve the situation.
  • The recommended package organization for ONL and for systems built with ONL as the base follow the pattern of $project/packages/base/$arch/* and $project/packages/platforms/$vendor/$arch/
  • The heirarchy of directories in which the packages reside also provide a natural inheritence heirarchy for debian package fields.
  • This property is now exploited to allow default package keys to be specified base on their location in the filesystem heirarchy as follows:
  • Before a PKG.yml file is evaluated its parent directory heirarchy is traversed looking for either or both of these files:
  • PKG_DEFAULTS.yml -- This is an onlyaml file which can specify the values of package keys.
  • PKG_DEFAULTS -- If this file is executable it is expected to output valid yaml containing package keys.
  • All of these values are then combined in reverse order to provide a default dict for the package.
  • Example usages:
  • - Fields global to all packages in the project (like Vendor, Maintainer, Version [for coherent builds], maintainer, etc) can be specified in the top-most PKG_DEFAULTS.
  • - Archicture can be specified in the $arch/PKG_DEFAULTS.
  • - Platform Vendors can specify their information at the top of their platform directory.
  • By specifying your own PKG_DEFAULTS you can coexist the ONL versions and your own version without ineheriting any of the defaults from ONL itself.
  • These are only the defaults for keys not specified in the PKG file. You can still obviously override every field in each package declaration.
  • The ONL package files will be updated in a separate commit to use this new hierarchical approach.
  • Package version numbers, copyrights, and general information fields have all