This release specifies that /usr/src/kernel/* files are not state files.
These files are needed to ship kernel source files for kernel
development.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release cleans up renamed-to files by unsetting their rename flag
when orphaned. This was previously only being done for renamed-from
files.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release fixes a bug that caused ghosted files to only be deprecated
over format bumps. Ghosted files are now removed from the manifest every
build.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release fixes the bug introduced in v3.7.0 that caused valid
renames from old versions to be dropped. Instead of pruning orphaned
renames, they are now marked as deleted as well.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
- Track ghosted files to enable renames on files that will be deleted by
third-party programs (boot files via clr-boot-manager).
- Prune orphaned renames from manifest (renamed-to deleted or renamed
again)
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release improves full-file creation to make it thread-safe,
allowing parallelized runs of many instances of swupd_make_fullfiles.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
The previous release (v3.6.1) was tagged at the wrong commit. This
release includes the changes described in that release note.
This release fixes a bug where swupd-server was creating the staged and
delta directories within the packs with 0750 permissions instead of the
expected 0700 permissions. It also adds a configuration option to
server.ini to ban debuginfo from the manifests and configure where
debuginfo libs and src are stored. Also prunes mistakenly added
debuginfo from the manifests when added accidentally and configured to
do so via server.ini.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release fixes a bug where swupd-server was creating the staged and
delta directories within the packs with 0750 permissions instead of the
expected 0700 permissions. It also adds a configuration option to
server.ini to ban debuginfo from the manifests and configure where
debuginfo libs and src are stored.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release removes a stale, unused script, adds a check to ensure format
number validity to ensure format numbers do not decrease, and enables adding
an actions: field in the Manifest.MoM to tell swupd-client to perform certain
actions post update.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release adds rename detection support which can be enabled via the
--enable-rename-detection option during configure time.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release fixes subtracting files from manifests when both versions are marked deleted. Server subtracting of files when both are deleted
proves problematic for client updates, because the version at which the
files were deleted will differ, and the client uses the versions to
determine when it should delete files for an update.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release fixes server to only create deltas between two regular files,
removing errors from attempting to make deltas to/from/between symlinks.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release includes changes across various areas of server, specifically:
- Fixing fallthrough detection logic to detect files and directories correctly
when checking if they are "state" files.
- Removing stale and unused signature creation code
- Adding functional tests and enabling travis-ci integration
- Create alternative input layout to save IO for some cases(backward compatible)
- Update parallelism code to make it more versatile and editable
- Fix log call and add logging to stdout instead of just logfiles
- Honor proxy and cert checking settings
- Fix extracting files with bsdtar
- Enable locales in all programs
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release contains various changes to fix segfaults and memory misuse,
simplifying logic when iterating directories and populating file structs
from manifests, and changing the secondary sort to be lexographically sorted
filenames for version-sorted manifests.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release introduces a change to the hashing scheme regarding delta names,
and directory hashes, as well as minor fixes to support the new hashing.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release includes a fix to replace system calls by local system_argv
functions, cleanup patches for error output and code style, adding delta
manifests to delta packs, consistency changes for tar and string allocation,
and removes creation of delta manifests out of create_update.
This is a re-roll of release 3.2.4 to fix a time skew issue that caused some
build failures.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release includes a fix to replace system calls by local system_argv
functions, cleanup patches for error output and code style, adding delta
manifests to delta packs, consistency changes for tar and string allocation,
and removes creation of delta manifests out of create_update.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release fixes a bug with adding invalid bundle manifest hashes to
the Manifest.MoM and optimizes swupd_create_update to remove the
unnecessary rsync from the full chroot back to bundle chroots.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
This release includes a trivial improvement for reporting paths that
contain blacklisted characters.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
This release fixes a sorting issue with bundle manifests: they should be
version sorted, not filename sorted.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
This release adds support for a bundle includes feature, which allows
bundles that "include" other bundles to depend on each other. This
change reduces duplication of files in manifests and improves build
times for larger bundle sets that contain many includes.
The two other functional changes are:
- The --format option to swupd_create_update is now mandatory.
- The value passed to --format must now be a positive integer.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
This release enables logs for the three installed binaries and optimizes
swupd_make_pack performance by preferring to hardlink files to the pack
staging area whenever possible.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
This release fixes a bug in manifest subtraction logic that may result
in "partial" subtraction of one manifest from another. The fix now
ensures that a manifest can be fully subtracted.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
This release adds support for bsdtar (compile-time option), enables
parallel building of delta packs with pack_maker.sh, adds an initial
functional test suite, and addresses a few bugs:
- Makes parallel pack generation more robust when building packs for
multiple versions simultaneously.
- Fixes basic_creator.sh to work properly on first run.
- Removes an unneeded -a option passed to tar, and fixes tar argument
ordering (files always after options).
- Makes hash calculation always account for xattrs, since swupd-client
unconditionally accounts for them.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
Since GNU tar fails to extract files with xattrs preserved when
Integrity Measurement Architecture (IMA) is enabled some vendors
may choose to install libarchive-based tar (bsdtar) on their embedded
devices, so the swupd server needs to be able to create archives
in its format.
This patch adds one compile-time options --enable-bsdtar that is used
to enable/disable GNU tar specific options. Also it harmonizes
the command strings to be compatible with both GNU tar and bsdtar.
Particularly it
- changes --exclude pattern from '%s'/* to more explicit '%s/?*' because
bsdtar's pattern matching is greedier than in tar: it uses tcsh's
globbing where '*' can be anything including the null string and the
original pattern would include the directory itself;
- OS file names are escaped with leading ./ to avoid collisions with
file names starting with @ which has special meaning in bsdtar.
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
The test suite uses BATS to emit TAP and the Automake TAP driver to
consume the output.
Most of the tests are basic, and full-run.bats creates a minimal update
using autogenerated chroot content.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>