81 Commits
Author SHA1 Message Date
Tudor Marcu 7e7982d043 Fix install command
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v3.0
2017-03-01 02:17:12 -08:00
Tudor Marcu 4e7b329242 Update Major version
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2017-03-01 02:07:00 -08:00
Tudor Marcu b671aba659 Introduce new mixer tool
The tools have been converted from many bash scripts into a single binary,
written in Go. This creates a codebase that is much easier to edit and
maintain, and a single tool that provides all the functionality needed. The
interface is more intuitive and easy to use as it provides options and menus
for each subcommand.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2017-03-01 01:50:41 -08:00
Tudor Marcu 17897b54f7 Remove deprecated mixer-tools
The old tools will remain in the archaeology branch for historical reasons
and ease of cloning.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2017-03-01 01:49:47 -08:00
Patrick McCarty 37e52b7541 Prefix tag names with refs/tags/
Because Clear version numbers use numeric digits only, it's possible for
the tag names to conflict with the prefix of a git object hash in the
repo. To remove the possibility of conflict, use the refs/tags/ prefix
when querying the tag names.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2017-02-27 11:27:22 -08:00
Patrick McCarty a3e26d8a35 Improve clr-bundles branch updates
With the current workflow, the "mix-bundles" repo is used for
mix-specific bundle changes, and the "clr-bundles" repo is treated as
read-only.

So in clr-bundles, the CLRVER_mix branches should always point to the
commit tagged with CLRVER. To make this handling more robust, first
verify that CLRVER exists and is a tag. Then create the CLRVER_mix
branch based on CLRVER, or if the branch already exists, reset it
appropriately.

Since this is the best place to detect invalid CLEAR_VERSION numbers
passed in the builder.conf, I've added that error handling too.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2017-02-27 11:27:22 -08:00
Robert Nesius 8bc6601539 Fixing mkdir line to be more resilient. (#19) 2017-01-16 21:32:32 -08:00
Tudor Marcu be5980983a Release v2.05
This release adds a new flag to enable auto-incrementing the mix version
when building mixes.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v2.05
2017-01-09 12:21:50 -08:00
Tudor Marcu df981c3903 Declare increment variable
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2017-01-09 12:21:17 -08:00
Tudor Marcu 9e35b2ad98 Add option to auto increment mix version
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2017-01-09 11:46:01 -08:00
Tudor Marcu 318de5e793 Release v2.0.4
This release makes build-chroots.sh and check_dep() fail on error to properly
quit the build process when an error occurs. The chroot building script
would get passed the chroot install, and then continue to clean up which
would always return success.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v2.04
2016-12-06 18:00:27 -08:00
Patrick McCarty ec5ddfd3eb helpers: fix error handling for dependency checks
Because 'set -e' is enabled for init-mix.sh, the exit status of 'type'
is not checked, so an error raised by 'type' would exit immediately, not
running the $? conditional logic.

To fix, disable 'set -e' for the dependency check function.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2016-12-06 16:10:35 -08:00
Patrick McCarty bf7f6c5f16 build-chroots: fail by default for errors
The rest of the mixer-tools scripts (excluding the pack makers) already
set this shell option, so add it to the build-chroots script too.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2016-12-06 16:10:07 -08:00
Tudor Marcu c6263daba6 Release v2.03
This release forces a check for the version numbers existence, which are
absolutely needed for the scripts to function properly.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v2.03
2016-11-29 01:54:50 -08:00
Tudor Marcu 80da4998c0 Force version numbers to be set
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-11-28 16:02:15 -08:00
Tudor Marcu c0ea5bda2d Release v2.02
This release fixes a path error outputting the Manifest.MoM.sig to the wrong
location when using custom STATE_DIR.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v2.02
2016-11-16 15:25:01 -08:00
Tudor Marcu 7a0f60453a Fix path error on signature output
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-11-16 15:23:55 -08:00
Tudor Marcu fdd587ecfa Release v2.01
This release fixes a serious path error when mixes are not created in the
current mixer workspace as expected by default. The path for the output
(STATE_DIR) needs to be used to make this work anywhere.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v2.01
2016-11-14 17:16:43 -08:00
Tudor Marcu 52f28e0425 Fix location of Manifest.MoM for signing
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-11-14 17:13:05 -08:00
Tudor Marcu f4087a3092 Release v2.0
This release is largely a rewrite of the mixer scripts to reduce complexity
in using them, add a more robust helper library to minimize the code, and
enable certificate generation for Manifest.MoM signing so mixer users can
have signed content.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v2.0
2016-11-04 17:38:25 -07:00
Tudor Marcu 1194c64f5c Generate yum.conf only if it does not exist
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-11-03 17:03:45 -07:00
Patrick McCarty 42bdb973e7 Check if swupd_make_pack exists under REPO_DIR
When REPO_DIR is set, the actual binary might not exist at that location
(e.g. swupd-server might not have been compiled).

Add an additional dependency check for the REPO_DIR location.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2016-10-28 10:45:26 -07:00
Tudor Marcu 76194adaaf Fix help menu style
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-10-27 18:59:11 -07:00
Tudor Marcu 0ec32bd76b Enable option to opt out of signing
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-10-27 18:50:26 -07:00
Patrick McCarty cf98a2fe34 Propogate repodir location to pack maker if set
Since create-update supports a custom location for the swupd-server
binaries, if that option is passed, it should be propogated to the
pack-maker, which also calls swupd_make_pack.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2016-10-27 18:38:11 -07:00
Tudor Marcu 8dd0aed5e4 Update all scripts to use new helper script
The files now call functions defined in the helper script to stay more minimal
and be easier to read. One very significant change to note is that all state
variables and information needed for mixing will now be stored and read in
the builder.conf. No longer will there be various hidden state files, with
the exception of the yum-mix.conf which is autogenerated by the template
still. This change simplifies the scripts calling convention and creates
one centralized point to specify the configuration(s) needed.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-10-27 15:09:04 -07:00
Tudor Marcu 5dbc222b10 Add helpers file for the scripts to use
This will do a lot of the ugly work that does not need to be taking up space
in the main scripts, and should be abstracted out so they are easier to read.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-10-27 15:09:04 -07:00
Tudor Marcu 139b693e51 Add certificate creation and Manifest.MoM signing
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-10-11 11:18:09 -07:00
Tudor Marcu 7e408e8b59 Release v1.13
This release adds support for specifying a certificate to insert into the
mix that the client would use to perform signature verification on a signed
Manifest.MoM.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v1.13
2016-10-03 16:22:28 -07:00
Tudor Marcu c79880bcd2 Support inserting certificate into mix
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-10-03 16:00:54 -07:00
Tudor Marcu 6c0ef1929b Release v1.12
This release includes a fix to the hardlink call, fixes to the help menus,
script functionality to build a fully bootable image off the intial mix,
renaming the latest.version file to more appropriately match its use, and
adds a rewrite of pack-macker.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v1.12
2016-09-29 11:09:49 -07:00
Patrick McCarty 4da94d56f1 pack maker rewrite: support zero packs, change delta pack creation logic
The first aim of this patch is to centralize pack creation for SWUPD,
adding the ability to create zero packs in addition to delta packs.

Secondly, to make delta pack creation more flexible, instead of
considering the last N times a bundle changed, require the user to
specify the "from" version delta packs should be based on. More than one
--from option can be passed if several sets of delta packs need to be
built.

To facilitate these different modes of operation, I added option
parsing, also with --help output and some examples documented in the
script header.

Additionally, GNU Parallel is used to parallelize pack creation, instead
of shell job control facilities.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2016-09-29 11:08:08 -07:00
Tudor Marcu 4fbe8b7fec Change version file to more appropriate name
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-09-29 10:28:07 -07:00
Tudor Marcu 1405d081f4 Update help menu and functionality
The content should only be built fully for a full Clear mix, as the user
may want to add and modify bundle definitions further for the first mix.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-09-29 10:27:13 -07:00
Tudor Marcu d24431c806 Update help menu
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-09-29 10:27:03 -07:00
Patrick McCarty 200af6aa8d Simplify the hardlink command invocation
Because the intent is to create hardlinks where possible within the
image/MIXVER directory tree, only the toplevel directory name needs to
be given. This avoids arbitrarily long command lines when the glob is
expanded by the shell.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2016-09-29 10:11:46 -07:00
Tudor Marcu 9afbcbd4df Release v1.11
This release adds the pack-maker and super-pack-maker scripts to mixer tools,
adds several options to the build scripts, script cleanup, and sanitizes an
important swupdrepo variable.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
v1.11
2016-09-26 11:41:01 -07:00
Tudor Marcu 5a2af94189 Add option to build mix with all bundles added
For someone simply trying to get a full build of Clear with everything included,
this option makes doing that much easier. Simply passing -a will tell init-mix
to create the first mix with all bundles, instead of creating a minimal build.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-08-18 12:36:01 -07:00
Tudor Marcu 7f1bb3f6b4 Add option to keep chroots
There may be cases where chroots are needed for the next build, such as when one
may want to use the same (or almost the same) content, and copying the previous
build contents would be much more efficient then re-creating it.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-08-02 17:34:54 -07:00
Tudor Marcu ae75fa191c Sanitize SWUPDREPO variable when used
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-07-25 10:52:29 -07:00
Tudor Marcu a2255a1e5d Cleanup the pack-maker and create-update
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-07-22 16:09:52 -07:00
Matthew Johnson 0d48c07d9e Create super packs to save disk space
- superpack-maker.sh

  Create superpacks for each bundle in an update version. The
  superpack replaces oldest pack in that directory (excluding
  zero packs) and is a superset of updates needed for all newer
  packs. Leaves a defined number of newest delta packs unchanged.
  The remaining delta packs are symlinked to the superpack.

- create-update.sh

  Define variables for superpack-maker.sh, call pack-maker.sh, and
  call superpack-maker.sh

- Makefile.am

  Install superpack-maker.sh

Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
2016-07-22 15:55:07 -07:00
Tudor Marcu 4b89a187f9 Add option to disable zero pack creation
One may want to re-create all the manifests but not zero packs again.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-07-16 00:07:58 -07:00
Tudor Marcu 8c3daa11d3 Update git command for pulling master branch
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-07-07 18:59:43 -07:00
Tudor Marcu cc864d71c5 Fix regex and move chroot deletion earlier
The individual chroots are not needed after create-update finishes, so we can
remove them earlier and create more space for the fullfiles and pack creation.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-07-07 18:55:17 -07:00
Matthew Johnson a06f529d75 Add pack-maker.sh to install
- Rename pack_maker.sh to pack-maker.sh for consistency with other
  scripts
- Add pack-maker.sh to Makefile.am

This change is necessary to allow future scripts to call
mixer-pack-maker.sh without providing a path to the local repo,
which could change from environment to environment.

Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
2016-06-22 11:48:29 -07:00
Tudor Marcu 4c6ae3d6ff Release v1.10
This release fixes some corner cases that would cause the scripts to fail,
and imports the pack_maker.sh script into mixer to create packs more easily.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-05-23 09:04:28 -07:00
Tudor Marcu c7dd5cb5be Fix erroneous arg option
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2016-05-23 09:04:28 -07:00
tmarcu 5a4d6271bb Merge pull request #3 from phmccarty/add-pack-maker
+1, Merged.
2016-05-19 12:27:04 -07:00
Patrick McCarty ec1428a655 Import pack_maker.sh script from swupd-server
Since delta pack creation is tied to a DevOps workflow, this script
makes more sense to live in the mixer-tools repo, and later be merged
into create-update.sh.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2016-05-16 14:38:41 -07:00