These should not be handled paths for autospec. This is a bit of a
hack to work around the rpm build logs being incomplete however and
might be worth reverting if the log issue is fixed.
Signed-off-by: William Douglas <william.douglas@intel.com>
These are udev files that really belong with the rules.d files so put
them in config as well.
Signed-off-by: William Douglas <william.douglas@intel.com>
In cases where a built-in default for a requirement exists (bin
requires conf for example) the bin_requires_ban was not honored. This
change enables the ban to go into effect.
Signed-off-by: William Douglas <william.douglas@intel.com>
Don't attempt to extract these but let the build continue when source
archives have absolute symlinks.
Signed-off-by: William Douglas <william.douglas@intel.com>
The .cargo/config.toml file may exist for a project and the source
content configuration that we append needs to have a newline
separating it from the existing content.
Signed-off-by: William Douglas <william.douglas@intel.com>
Given tarball libopenmpt-0.7.13+release.autotools.tar.gz, ban
'autotools' from the version number, and replace '+' with '.', so
instead of 0.7.13+.autotools, generate simply 0.7.13.
Previously copying archives would miss hidden files as '*' doesn't
match files with '.' prefix.
Signed-off-by: William Douglas <william.douglas@intel.com>
Sometimes a package will make a release without verification we
support, in these cases it is nice to be able to toggle off
verification just for that release. Add a new configuration file that
contains the version to not validate.
This file could be extended in the future to support adding specific
keys not to use in the verification process in cases where that key
has problems (though this might be better left to another
configuration file).
Signed-off-by: William Douglas <william.douglas@intel.com>
In cases where a package has both a Makefile and a Cargo.toml try and
use the make pattern (the options.conf flag for cargo vendor still
needs to be changed). When the cargo pattern is being used, use cargo
install as well. More complex cases likely should just be patched into
a Makefile and perhaps submitted upstream.
Signed-off-by: William Douglas <william.douglas@intel.com>
When using optimized builds for pyproject patterns that also need a
subdir, the path needs to be reset before attempting to change to the
optimized directory.
Signed-off-by: William Douglas <william.douglas@intel.com>
setup.py test is gone in 3.13 and projects seem to be doing custom
things for replacements. Until wider per project detection is in
place, just remove the %check section for setup.py.
Signed-off-by: William Douglas <william.douglas@intel.com>
If a cmake file defines a pkgconfig dependency with a hypen in it, make
sure we can handle it:
pkg_check_modules(DBUS-1 REQUIRED dbus-1 IMPORTED_TARGET)
Previously we used \w to match the first term (DBUS-1), which does *not*
match hyphens.
When parsing cmake files for find_package dependencies, we match against
entries in cmake_modules. Many of the entries of this file list
multiple packages, separated by space. Split on whitespace so we
actually feed only individual package names to each add_buildreq call.
Otherwise, if cmake_modules provides "extra-cmake-modules png2ico", for
example, and you have "png2ico" in buildreq_ban, the specfile would still
list both extra-cmake-modules and png2ico as build dependencies, because
add_buildreq only compared exact matches.
Modify license skips to handle the common tempfile prefix of '/tmp/*'
and normalize the case where lines lead with a slash vs not.
Also remove a duplicate test for globlike match.
Signed-off-by: William Douglas <william.douglas@intel.com>
Add support for a new config file with glob like handling of paths as
some projects contain license files that are not the license of the
project.
scan_for_licenses now looks at the configuration and does glob like
matching for all the potential license files it tries to add.
This change caused a few structural adjustments to the code and a
slight style change for importing just the toplevel util submodule
that are superficial.
Signed-off-by: William Douglas <william.douglas@intel.com>
vectorscan uses 'vectorscan/' as a tag prefix which confuses our
version parsing (even more so with v being the tag prefix). Add
support for matching any '*/version' tag names as the top priority.
Signed-off-by: William Douglas <william.douglas@intel.com>
Previously in a cleanup commit 74c0833c the support for packages that
didn't have a prefix folder was unintentionally removed. This change
updates the setup call for non-R packages to add the support back.
Signed-off-by: William Douglas <william.douglas@intel.com>
Allow autospec to handle building packages that use a
Jinja2 formatted *.spec.template file. Currently only package_name,
package_version, package_release and package_url fields are supported
but others can be added as needed (patches and archives are good next
steps).
Signed-off-by: William Douglas <william.douglas@intel.com>
Add an options.conf flag for allowing builds to use mock's
--short-circuit for reducing rebuild time.
This change moves the feature from default enabling with no way to
turn off to default disable with a configure to turn on.
Signed-off-by: William Douglas <william.douglas@intel.com>
Once we know autospec is going to exit unsuccessfully, send out a
hopefully useful error from print_fatal or scan the build.log one last
time for useful data and add that content to an output file.
This is intended to only be done in update flows and the file should
be cleaned up prior to autospec being run again. Note that without a
special environment variable active nothing will be written out to the
file.
Signed-off-by: William Douglas <william.douglas@intel.com>
print_fatal calls need to be followed up by an exit consistently and
exit's need to use print_fatal before being called.
Signed-off-by: William Douglas <william.douglas@intel.com>
Add support for cargo_vendors which should be pretty much the output
of a 'cargo vendor' run. This will be appended to any existing
.cargo/config.toml file in the sources. It is intended to mostly come
from the vendor.py in common but useful for other builds as well which
don't need to enable cargo_vendor in options.conf.
Signed-off-by: William Douglas <william.douglas@intel.com>
Things should be autoupdating by default for new content at this point
as being held back for no reason isn't helpful.
Signed-off-by: William Douglas <william.douglas@intel.com>
This patch has a few interrelated changes in it but primarily it is
supporting a new copy_prepend configuration file for autospec. This is
intended to support cases where changes should be made to the source
directory prior to the source directory being copied for different
builds (avx2, 32bit, etc).
Also with this change some tweaks to how cmake builds are handled to
be more aligned with other build systems. Primarily that the source
directoy is now fully copied rather than just creating a cmake build
directory per build in the same source directory.
Finally check support has been updated to account for the new path and
update support for meson and apx.
Signed-off-by: William Douglas <william.douglas@intel.com>