14 Commits
Author SHA1 Message Date
William Douglas 9bfaefc491 Add support for multiple Cargo.toml files
Some projects store multiple Cargo.toml files, let vendor handle all
of them (might be worth having some config for certain Cargo.toml
paths to skip in the future though).

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-10-31 10:30:24 -07:00
Arjan van de Ven e0b152250f use gz not xz 2024-10-22 15:39:37 +00:00
William Douglas 3bf41ad9c9 Update vendor script to always use the latest tag
Sometimes vendor repos get tagged but the package fails to update for
another reason. In this case the repo wouldn't have the new vendor
ARCHIVE set and new attempts to build would use the old vendor archive
causing failures. Force using the latest vendor tag as generally this
is what we want (if we get a bad vendor tag somehow, it should mean a
new tag needs to be created to replace it anyway).

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-09-06 13:12:13 -07:00
William Douglas 0e9a2b7e82 Force git attributes for vendor directories
Avoid cases where user git settings cause files to have different line
endings than the package and cause hash mismatches when building.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-25 12:45:07 -07:00
William Douglas e4c604a161 Export the output of cargo vendor
autospec learned how to use 'cargo vendor' output as a drop in
configuration file so put the output of cargo vendor there.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-08 15:11:34 -07:00
William Douglas 59c4520f37 Fix import order
Signed-off-by: William Douglas <william.douglas@intel.com>
2024-07-08 14:07:10 -07:00
William Douglas d9e4f478eb Rework vendoring support
Changes vendor from a target (it could still have a stand-alone target
but it wouldn't be used by the autospec target).

This change is needed because the Makefile is rewritten in the
autospec target but the ARCHIVES make variable is going to use the
value when make is executed. The common change causes the ARCHIVES
value to be eval'd during the autospec target execution in order for
the update from the vendor script to be seen by make.

The vendor script changes fix bugs in updating the options.conf and
Makefile. It also now handles returning the original ARCHIVES value as
well as prevent subshell scripts from outputting and adding badness
into the eval'd ARCHIVES variable.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-05-22 12:26:37 -07:00
William Douglas c2cd51b5f2 Have vendor.py also update the options.conf file
This file is used for spec and upstream content so updating it is
important for improving the build automation.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-04-18 13:55:36 -07:00
Brett T. Warden 8ed4d2d0de Fix regex escaping in vendor.py
Address this warning from Python:
SyntaxWarning: invalid escape sequence '\-'
2023-11-20 12:58:01 -08:00
William Douglas 61a91af0ff Fix logic for detecting new vendor
Missing grouping in vendor .git changed caused detection failures.

Signed-off-by: William Douglas <william.douglas@intel.com>
2023-06-01 15:08:51 -07:00
William Douglas aa0028d372 Correct test for config value being set
Fix the vendor.py test checking if cargo vendoring should be done.

Signed-off-by: William Douglas <william.douglas@intel.com>
2023-03-29 16:31:28 -07:00
William Douglas ead0c3e12d Only vendor if cargo_vendor is true not just if it exists
Signed-off-by: William Douglas <william.douglas@intel.com>
2023-03-27 10:19:53 -07:00
William Douglas ef9417d080 Add checks to ensure options.conf is valid
Signed-off-by: William Douglas <william.douglas@intel.com>
2023-03-24 11:18:11 -07:00
William Douglas dcc38f2193 Add vendor target
Add handling for a vendor target that will handle specific vendor
requirements from a package's options.conf.

The initial change adds handling for 'cargo vendor', creating a new
repo in the configured git repositiory and setting up the ARCHIVES
variable in the package's Makefile.

If the repo already exists, the tooling will check if a repo change
was detected after re-vendoring the sources. If a change is detected
the new content will be pushed and the ARCHIVES variable will be
updated.

Signed-off-by: William Douglas <william.douglas@intel.com>
2023-03-23 15:01:17 -07:00