When doing a yum install, plugins should be able to modify how this
operation is performed. Allowing the use of a priority plugin, or a
fastest mirror plugin, or other possibly useful plugins would be up to
the user and dependent on the yum configuration they use for building
the chroot for their bundles.
Signed-off-by: George T Kramer <george.t.kramer@intel.com>
This release enables using environment variables in the builder.conf,
and adds a README for making/installing the program.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This code change enables the use of Linux Environment
variables in the configuration file. This is very useful
for paths to avoid having to hard-code paths.
Added error checking on the environment variables.
For proper use, it will also require a similar patch to
the mixer-tools project.
Signed-off-by: Mark Horn <mark.d.horn@intel.com>
This release adds a configuration section for debuginfo banning in the
swupd-server configuration file server.ini.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
Add configuration for debuginfo bans to server.ini via builder.conf.
These configurations will be directly used by swupd-server to determine
if it should ban debuginfo files from the manifests and exactly which
paths should be banned. This patch cleans up the writing of the
server.ini file as well.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
M4 may fail here in the case of circular includes, causing the updater
to crash later. This patch checks that the subprocess call succeeded, and if not
raises an exception to exit. It may not terminate instantly due to the async
nature of processing bundles, but once the bad thread finishes it will exit.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
M4 may fail here in the case of circular includes, causing the updater
to crash later. This patch checks that the subprocess call succeeded, and if not
raises an exception to exit. It may not terminate instantly due to the async
nature of processing bundles, but once the bad thread finishes it will exit.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
The string "(contains no files)" is printed when running 'rpm -ql ...'
for an empty subpackage. Since that output is more useful for
interactive use, make sure the string is excluded from the final SRPM
file lists that begin with files-*.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
This release moves the noship folder to the chroot location, because chroot
builder should not be adding any content to the webdir, and renames the
latest.version file to more appropriately match its use.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This is an artifict needed by the swupd-server when creating update content
in the webdir, it should not exist in the webdir since it is being created
as part of the chroot building process. All content produced by the chroot
builder should live in the STATE_DIR/image/VER directory.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release changes the builder to read raw bytes to account for weirdly
encoded filenames, and provides better output to the user.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
To help debug issues related to SWUPD config values being set in the
chroot, or not, print out diagnostic messages to display the expected
values.
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
We cannot be sure of the encoding used for certain filenames or the locale on
a specific system, so use raw bytes and don't worry about the encoding of the
filenames.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release introduces functionality to blacklist/ignore bundles beginning with
a '.', and will support other banned characters in the future.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
This release patches a bug where whitespace was not being
correctly stripped from package names
Signed-off-by: Brad T. Peters <brad.t.peters@intel.com>
This release includes fixes for validating builder.conf is correct, and fixes a
bug where the chroot builder would loop forever if m4 output was too large.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
If there are a lot of packages then the m4 output will overflow the max
PIPE buffer, and the wait() will never finish. This patch reads the output
in chunks and then creates a string of the entire output to pass to yum.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
The os.path.join() function discard any previos paths/variables when it
encounters one starting with a leading "/" so the statedir & bundle name were
completely ignored when it ran into /usr/share/defaults/...
This fixes it so the path is correctly made, and the dirs and files should be
installed correctly.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
The update client currently defaults to the public clearlinux url, and must be
overridden with cmd line options to use other version/content/format urls. This
introduces a problem when running a mix, and not supplying the mix URL will
cause swupd to update from the official URL, rather than the mixer url.
With this patch, the URLs can all be specified and are inserted into conf files
that the swupd client will read, to know what URL to default to.
Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>