This bring RHEL rust-toolset in sync with the latest Fedora
rust-packaging, most importantly:
* Fedora's new style (-v vendor) vendoring is implemented. The old RHEL
style (-V #) vendoring is still supported, at least until we can convert
everything in ELN.
* Automatic generation of bundled provides using %cargo_vendor_manifest.
However, instead of depending on cargo2rpm, a very stripped-down version
of just its parse-vendor-manifest command is provided as a private
script, along with a fileattr to call it.
Other changes incorporated in this commit:
* -Cstrip=none added to %build_rustflags.
* --profile rpm is used instead of --release.
* Errors in spawned commands are now caught.
* Comments and whitespace are synced for easier comparison with Fedora.
* --target all is dropped from license and vendor macros, to avoid false
alarms from windows crates.
This updates the RHEL/ELN rust-toolset macros to the state of
macros.rust and macros.cargo from Fedora rust-packaging v24, with
the following exceptions:
* %__cargo_to_rpm, as cargo2rpm is not shipped in RHEL;
* %cargo_registry, %cargo_instdir, and %cargo_generate_buildrequires
which are for building and/or consuming "library" crates which are not
built in RHEL;
* %__cargo_is_{bin,lib} and the is-lib conditional section of
%cargo_install, as they use cargo2rpm, and only "binary" crates are
built in RHEL;
* Dropped RUSTC_BOOTSTRAP and -Z avoid-dev-deps, as they are overly
broad and should not be needed with vendored builds (rust-packaging#23);
* Dropped rustflags that are already set by default (rust-packaging#24).