1408 Commits

Author SHA1 Message Date
Robert Dower b5d8cf5341 archive repository 2025-08-07 13:27:48 -07:00
Brett T. Warden cd8d0065aa Detect Intel Simplified Software License 2025-06-04 15:15:13 -07:00
William Douglas 6aaa12ff76 Add qmake5 build pattern
Add support for qmake5 build pattern that uses the qmake binary in
/usr/lib64/qt5.

Signed-off-by: William Douglas <william.douglas@intel.com>
2025-05-30 13:31:57 -07:00
William Douglas 65cf152900 Add the Provide: pypi in most cases
Usually the pypi ecosystem will do the right thing and respond with a
name but in cases where it does not (bad network, bad json, message
without a name), still figure out a reasonable Provide to add.

Signed-off-by: William Douglas <william.douglas@intel.com>
v27
2025-05-27 13:27:28 -07:00
William Douglas 99a7985f29 Add has_license config
In cases where a package's license subpackage disappears, prefer
failing the build as it should have some manual investigation.

Signed-off-by: William Douglas <william.douglas@intel.com>
v26
2025-05-09 10:33:35 -07:00
William Douglas 9594167cc7 Add fixes for flake8 warnings
Signed-off-by: William Douglas <william.douglas@intel.com>
v25
2025-04-18 15:51:15 -07:00
William Douglas c62c42a21d Reject /usr and /usr/ as possible rpm files
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>
2025-04-18 15:51:15 -07:00
William Douglas a88ffdc2a7 Update APX flags
Signed-off-by: William Douglas <william.douglas@intel.com>
v24
2025-04-04 14:28:44 -07:00
William Douglas 936534a889 abireport: run nm output through c++filt
Signed-off-by: William Douglas <william.douglas@intel.com>
v23
2025-04-02 14:36:34 -07:00
William Douglas d73a1e70d8 Move hwdb.d files to -config subpackage
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>
v22
2025-03-28 14:35:20 -07:00
William Douglas f07e061437 Allow requires_ban to override defaults
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>
2025-03-26 11:00:57 -07:00
William Douglas d4144f5efd Ignore extraction failures on absolute symlinks
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>
2025-03-14 18:52:01 -07:00
William Douglas 07a959cc83 Ensure content separation for cargo's config.toml
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>
2025-02-28 12:47:03 -08:00
Brett T. Warden e36a856c50 Add test URL for libopenmpt 2025-02-12 10:19:56 -08:00
Brett T. Warden 2618dc3eb1 Fix version parsing for libopenmpt
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.
2025-02-12 10:19:56 -08:00
William Douglas 8b9384758b When copying archives, also copy any hidden files
Previously copying archives would miss hidden files as '*' doesn't
match files with '.' prefix.

Signed-off-by: William Douglas <william.douglas@intel.com>
2025-02-07 11:45:25 -08:00
William Douglas 94c6be068b Add file to skip verification for a single version
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>
2025-01-21 09:57:09 -08:00
William Douglas f4a13a5a93 Rework cargo pattern use
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>
2025-01-02 16:49:26 -08:00
Brett T. Warden 5424026110 Add R-project mirror domain for build pattern detection
We use ftp.osuosl.org/pub/cran/ as a CRAN mirror, and autospec uses the
URL to select the R build pattern, so make sure that URL is also
included.
2024-11-14 15:56:24 -08:00
William Douglas e822d6e48d Set extractall filter for tarfile
See
https://docs.python.org/3/library/tarfile.html#tarfile.TarFile.extractall

Signed-off-by: William Douglas <william.douglas@intel.com>
v21
2024-11-04 11:40:24 -08:00
William Douglas 9bfe801c96 Fix subdir for pyproject
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>
2024-11-04 11:13:46 -08:00
K1ngfish3r 412ce5ee2e i blame isort setting(?) 2024-10-27 22:39:42 -07:00
K1ngfish3r 1fa3bdd6e0 add subdir 2024-10-27 22:39:42 -07:00
William Douglas 4ea76c998e Remove %check for setup.py test
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>
2024-10-27 20:28:28 -07:00
Brett T. Warden b2d28bb55a Add path to Qt6 build tools in qmake build_pattern
When using the qmake build pattern, add the path /usr/lib64/qt6/bin/
that contains qmake6 and other Qt6 build tools.
2024-10-14 15:56:05 -07:00
Brett T. Warden 4d029647d7 parse_cmake: Also match hypen in pkg_check_modules(X)
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.
2024-10-01 11:40:23 -07:00
Brett T. Warden 5279a11b53 Split packages from cmake_modules when adding them as buildreqs
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.
2024-10-01 11:40:23 -07:00
William Douglas a19cdc79b4 Always handle the common tmepfile prefix for license_skips
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>
v20
2024-09-19 15:09:41 -07:00
K1ngfish3r 185099bba8 use_ninja for %check 2024-09-19 13:11:21 -07:00
William Douglas 7b01f0ba82 Add support for skipping license paths
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>
2024-09-19 12:02:52 -07:00
William Douglas 6a4b23bb3e Update configs
Add new values needed for various package builds to the configuration
files.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-09-12 09:27:28 -07:00
William Douglas c6d7bdb41c Add new failed pattern
Signed-off-by: William Douglas <william.douglas@intel.com>
2024-09-12 09:27:28 -07:00
William Douglas a16ede7440 Add new test for _process_build_log
Adds the first example test to _process_build_log verifying it can
handle a bad patch.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-09-12 09:27:28 -07:00
William Douglas a62a849262 Add github url handling for tags with slashes
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>
v19
2024-09-09 12:42:57 -07:00
William Douglas eaa4f711da Fix type mismatch
current_patch is modified in the called as an array so make sure it is
created as one.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-08-01 16:49:45 -07:00
William Douglas f35655a0cc More error report matching
Signed-off-by: William Douglas <william.douglas@intel.com>
2024-08-01 11:54:35 -07:00
William Douglas 0c573b604b Fix setup line for packages without a prefix folder
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>
2024-07-31 14:59:15 -07:00
William Douglas 356da62750 Enable working with Jinja2 spec templates
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>
v18
2024-07-25 13:06:51 -07:00
William Douglas b5caddc404 Add options flag for avoiding full rebuilds
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>
v17
2024-07-22 16:46:29 -07:00
William Douglas 2181c1fe68 Add new error logging
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>
2024-07-22 16:46:29 -07:00
William Douglas d6606ad5a8 Ensure print_fatal is always fatal
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>
2024-07-22 16:46:29 -07:00
William Douglas 4d708b6fe2 Update gpg keyserver
Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-22 16:46:29 -07:00
Brett T. Warden 1bec16fc2e Remove quotation marks from package modules
For PKG modules required by cmake or autoconf scripts, remove any
quotation marks before using them in pkgconfig().
2024-07-18 11:22:28 -07:00
Brett T. Warden 9f33e630cd Add another failure pattern for Perl dependencies 2024-07-17 16:59:17 -07:00
William Douglas b858a2a990 Add cargo vendor drop in style file
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>
v16
2024-07-08 15:09:34 -07:00
William Douglas 43d564b0b7 Make autoupdate default for new packages
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>
v15
2024-07-08 12:24:12 -07:00
William Douglas 2659038eaa Fix meson check builddir typo
Signed-off-by: William Douglas <william.douglas@intel.com>
v14
2024-07-02 12:17:59 -07:00
William Douglas dc0ff31b43 Add support for a copy_prepend config file
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>
v13
2024-07-01 01:36:31 -07:00
William Douglas 3f1fa8e70b Fix mpi cmake Unix Makefiles argument
Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-01 01:36:31 -07:00
William Douglas 840d2ca0e2 Add new failed pattern detection
Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-01 01:36:31 -07:00