From 4645b91b30a23059a6ead564dbdb5206bbbde4e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Fri, 20 Sep 2024 14:51:41 +0200 Subject: [PATCH] debcargo: update to 2.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit adding myself to uploaders and dropping most patches. Signed-off-by: Fabian Grünbichler (cherry picked from commit f4d013b25f1780d1c80b5edc89366e4afa31f7fd) --- src/debcargo/debian/changelog | 12 ++ src/debcargo/debian/copyright | 1 + src/debcargo/debian/copyright.debcargo.hint | 3 + src/debcargo/debian/debcargo.toml | 5 +- .../patches/crates-io-sparse-support.patch | 39 ---- src/debcargo/debian/patches/relax-dep.patch | 13 +- .../debian/patches/relax-env-logger.diff | 13 -- src/debcargo/debian/patches/series | 4 - .../debian/patches/update-cargo.patch | 190 ------------------ src/debcargo/debian/patches/update-git2.patch | 13 -- vars.sh.frag | 1 + 11 files changed, 20 insertions(+), 274 deletions(-) delete mode 100644 src/debcargo/debian/patches/crates-io-sparse-support.patch delete mode 100644 src/debcargo/debian/patches/relax-env-logger.diff delete mode 100644 src/debcargo/debian/patches/update-cargo.patch delete mode 100644 src/debcargo/debian/patches/update-git2.patch diff --git a/src/debcargo/debian/changelog b/src/debcargo/debian/changelog index df2615e66..8c3443af8 100644 --- a/src/debcargo/debian/changelog +++ b/src/debcargo/debian/changelog @@ -1,3 +1,15 @@ +rust-debcargo (2.7.0-1) UNRELEASED-FIXME-AUTOGENERATED-DEBCARGO; urgency=medium + + * Package debcargo 2.7.0 from crates.io using debcargo 2.7.0 + * update to cargo 0.76 + * bump the standard version to 4.7.0 for generated source packages + * no longer warn about uncollapsed packages + * Also generate a 'Static-Built-Using' in addition to the 'X-Cargo-Built-Using' + * Add rustc to autopkgtest Depends of generated source packages + * Switch dh compat to 13 for generated source packages + + -- Fabian Grünbichler Fri, 20 Sep 2024 15:05:38 +0200 + rust-debcargo (2.6.1-6~bpo12+pve1) proxmox-rust; urgency=medium * Rebuild for Debian Bookworm / Proxmox diff --git a/src/debcargo/debian/copyright b/src/debcargo/debian/copyright index f395ab33f..7a4eb71e4 100644 --- a/src/debcargo/debian/copyright +++ b/src/debcargo/debian/copyright @@ -11,6 +11,7 @@ Copyright: 2016 Josh Triplett 2017-2018 Ximin Luo 2017-2018 Vasudev Kamath + 2024 Fabian Grünbichler License: MIT or Apache-2.0 Files: debian/* diff --git a/src/debcargo/debian/copyright.debcargo.hint b/src/debcargo/debian/copyright.debcargo.hint index 8cb344fb0..51ca173c4 100644 --- a/src/debcargo/debian/copyright.debcargo.hint +++ b/src/debcargo/debian/copyright.debcargo.hint @@ -4,6 +4,7 @@ Upstream-Contact: Josh Triplett Ximin Luo Vasudev Kamath + Fabian Grünbichler Source: https://salsa.debian.org/rust-team/debcargo Files: * @@ -11,6 +12,7 @@ Copyright: FIXME (overlay) UNKNOWN-YEARS Josh Triplett FIXME (overlay) UNKNOWN-YEARS Ximin Luo FIXME (overlay) UNKNOWN-YEARS Vasudev Kamath + FIXME (overlay) UNKNOWN-YEARS Fabian Grünbichler License: MIT or Apache-2.0 Comment: FIXME (overlay): Since upstream copyright years are not available in @@ -29,6 +31,7 @@ Files: debian/* Copyright: 2018-2024 Debian Rust Maintainers 2018-2024 Ximin Luo + 2018-2024 Fabian Grünbichler License: MIT or Apache-2.0 License: Apache-2.0 diff --git a/src/debcargo/debian/debcargo.toml b/src/debcargo/debian/debcargo.toml index 333fd752f..b2ea0ba44 100644 --- a/src/debcargo/debian/debcargo.toml +++ b/src/debcargo/debian/debcargo.toml @@ -1,8 +1,5 @@ overlay = "." -uploaders = ["Ximin Luo "] - -[source] -build_depends = ["rustc:native (>= 1.29)"] +uploaders = ["Ximin Luo ", "Fabian Grünbichler "] [packages.bin] section = "devel" diff --git a/src/debcargo/debian/patches/crates-io-sparse-support.patch b/src/debcargo/debian/patches/crates-io-sparse-support.patch deleted file mode 100644 index 9b7e99c42..000000000 --- a/src/debcargo/debian/patches/crates-io-sparse-support.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c94c3dccacf56a320696f043fcfb6e8424dfcd46 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= - -Date: Tue, 19 Dec 2023 09:08:44 +0100 -Subject: [PATCH] allow crates.io sparse access -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -else, opt-in via the environment variable works with cargo but fails -debcargo since the cache paths are different. - -Signed-off-by: Fabian Grünbichler ---- - src/crates.rs | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: debcargo/src/crates.rs -=================================================================== ---- debcargo.orig/src/crates.rs -+++ debcargo/src/crates.rs -@@ -76,7 +76,7 @@ fn fetch_candidates(registry: &mut Packa - pub fn invalidate_crates_io_cache() -> Result<()> { - let config = Config::default()?; - let _lock = config.acquire_package_cache_lock(CacheLockMode::DownloadExclusive)?; -- let source_id = SourceId::crates_io(&config)?; -+ let source_id = SourceId::crates_io_maybe_sparse_http(&config)?; - let yanked_whitelist = HashSet::new(); - let mut r = RegistrySource::remote(source_id, &yanked_whitelist, &config)?; - r.invalidate_cache(); -@@ -86,7 +86,7 @@ pub fn invalidate_crates_io_cache() -> R - pub fn crate_name_ver_to_dep(crate_name: &str, version: Option<&str>) -> Result { - // note: this forces a network call - let config = Config::default()?; -- let source_id = SourceId::crates_io(&config)?; -+ let source_id = SourceId::crates_io_maybe_sparse_http(&config)?; - let version = version.and_then(|v| { - if v.is_empty() { - None diff --git a/src/debcargo/debian/patches/relax-dep.patch b/src/debcargo/debian/patches/relax-dep.patch index e1fab6079..1ea510b33 100644 --- a/src/debcargo/debian/patches/relax-dep.patch +++ b/src/debcargo/debian/patches/relax-dep.patch @@ -2,21 +2,12 @@ Index: debcargo/Cargo.toml =================================================================== --- debcargo.orig/Cargo.toml +++ debcargo/Cargo.toml -@@ -60,7 +60,7 @@ version = "0.18" +@@ -81,7 +81,7 @@ version = "0.18" version = "0.3" [dependencies.itertools] --version = "0.10" +-version = "0.12" +version = ">= 0.10, <1.0" [dependencies.log] version = "0.4" -@@ -87,7 +87,7 @@ version = "3" - version = "0.16" - - [dependencies.toml] --version = "0.7" -+version = ">= 0.7, < 1.0" - - [dependencies.walkdir] - version = "2" diff --git a/src/debcargo/debian/patches/relax-env-logger.diff b/src/debcargo/debian/patches/relax-env-logger.diff deleted file mode 100644 index 0793185f4..000000000 --- a/src/debcargo/debian/patches/relax-env-logger.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: debcargo/Cargo.toml -=================================================================== ---- debcargo.orig/Cargo.toml -+++ debcargo/Cargo.toml -@@ -45,7 +45,7 @@ features = [ - ] - - [dependencies.env_logger] --version = "0.9" -+version = "0.10" - - [dependencies.filetime] - version = "0.2" diff --git a/src/debcargo/debian/patches/series b/src/debcargo/debian/patches/series index 5bdfd07df..c047a6cb0 100644 --- a/src/debcargo/debian/patches/series +++ b/src/debcargo/debian/patches/series @@ -1,5 +1 @@ -update-cargo.patch -relax-env-logger.diff -update-git2.patch -crates-io-sparse-support.patch relax-dep.patch diff --git a/src/debcargo/debian/patches/update-cargo.patch b/src/debcargo/debian/patches/update-cargo.patch deleted file mode 100644 index dfef7c5d0..000000000 --- a/src/debcargo/debian/patches/update-cargo.patch +++ /dev/null @@ -1,190 +0,0 @@ -Index: debcargo/Cargo.toml -=================================================================== ---- debcargo.orig/Cargo.toml -+++ debcargo/Cargo.toml -@@ -31,7 +31,7 @@ version = "0.12" - version = "1.0" - - [dependencies.cargo] --version = "0.63" -+version = "0.76" - - [dependencies.chrono] - version = "0.4" -@@ -54,7 +54,7 @@ version = "0.2" - version = "1" - - [dependencies.git2] --version = "0.14" -+version = "0.16" - - [dependencies.glob] - version = "0.3" -@@ -87,7 +87,7 @@ version = "3" - version = "0.16" - - [dependencies.toml] --version = "0.5" -+version = "0.7" - - [dependencies.walkdir] - version = "2" -Index: debcargo/src/crates.rs -=================================================================== ---- debcargo.orig/src/crates.rs -+++ debcargo/src/crates.rs -@@ -2,15 +2,17 @@ use anyhow::{format_err, Error}; - use cargo::{ - core::manifest::ManifestMetadata, - core::registry::PackageRegistry, -- core::source::MaybePackage, - core::{ - resolver::features::CliFeatures, Dependency, EitherManifest, FeatureValue, Manifest, -- Package, PackageId, Registry, Source, SourceId, Summary, Target, TargetKind, Workspace, -+ Package, PackageId, Registry, SourceId, Summary, Target, TargetKind, Workspace, - }, - ops, - ops::{PackageOpts, Packages}, -- sources::RegistrySource, -- util::{interning::InternedString, toml::read_manifest, FileLock}, -+ sources::{ -+ source::{MaybePackage, QueryKind, Source}, -+ RegistrySource, -+ }, -+ util::{cache_lock::CacheLockMode, interning::InternedString, toml::read_manifest, FileLock}, - Config, - }; - use filetime::{set_file_times, FileTime}; -@@ -60,7 +62,7 @@ fn hash(hashable: &H) -> u64 { - } - - fn fetch_candidates(registry: &mut PackageRegistry, dep: &Dependency) -> Result> { -- let mut summaries = match registry.query_vec(dep, false) { -+ let mut summaries = match registry.query_vec(dep, QueryKind::Exact) { - std::task::Poll::Ready(res) => res?, - std::task::Poll::Pending => { - registry.block_until_ready()?; -@@ -73,7 +75,7 @@ fn fetch_candidates(registry: &mut Packa - - pub fn invalidate_crates_io_cache() -> Result<()> { - let config = Config::default()?; -- let _lock = config.acquire_package_cache_lock()?; -+ let _lock = config.acquire_package_cache_lock(CacheLockMode::DownloadExclusive)?; - let source_id = SourceId::crates_io(&config)?; - let yanked_whitelist = HashSet::new(); - let mut r = RegistrySource::remote(source_id, &yanked_whitelist, &config)?; -@@ -125,7 +127,7 @@ impl CrateInfo { - let dep = Dependency::parse(crate_name, None, source_id)?; - let mut package_id: Option = None; - loop { -- match source.query(&dep, &mut |p| package_id = Some(p.package_id())) { -+ match source.query(&dep, QueryKind::Exact, &mut |p| package_id = Some(p.package_id())) { - std::task::Poll::Ready(res) => { - res?; - break; -@@ -179,7 +181,7 @@ impl CrateInfo { - workspace - .target_dir() - .join("package") -- .open_rw(filename, &config, "crate file")? -+ .open_rw_exclusive_create(filename, &config, "crate file")? - }; - - (package, crate_file) -@@ -229,7 +229,7 @@ impl CrateInfo { - )?; - } - -- let source_id = dependency.source_id(); -+ let source_id = SourceId::crates_io_maybe_sparse_http(&config)?; - let registry_name = format!( - "{}-{:016x}", - source_id.url().host_str().unwrap_or(""), -@@ -232,7 +234,7 @@ impl CrateInfo { - hash(&source_id).swap_bytes() - ); - let get_package_info = |config: &Config| -> Result<_> { -- let lock = config.acquire_package_cache_lock()?; -+ let lock = config.acquire_package_cache_lock(CacheLockMode::DownloadExclusive)?; - let mut registry = PackageRegistry::new(config)?; - registry.lock_patches(); - let summaries = fetch_candidates(&mut registry, dependency)?; -@@ -274,7 +276,7 @@ impl CrateInfo { - let crate_file = config - .registry_cache_path() - .join(®istry_name) -- .open_ro(&filename, config, &filename)?; -+ .open_ro_shared(&filename, config, &filename)?; - Ok((package.clone(), manifest.clone(), crate_file)) - }; - // if update is false but the user never downloaded the crate then the -@@ -329,8 +331,8 @@ impl CrateInfo { - self.package.manifest_path() - } - -- pub fn rust_version(&self) -> Option<&str> { -- self.manifest.rust_version() -+ pub fn rust_version(&self) -> Option { -+ self.manifest.rust_version().map(|v| v.to_string()) - } - - pub fn targets(&self) -> &[Target] { -Index: debcargo/src/debian/copyright/tests.rs -=================================================================== ---- debcargo.orig/src/debian/copyright/tests.rs -+++ debcargo/src/debian/copyright/tests.rs -@@ -1,11 +1,10 @@ - use super::{debian_copyright, get_licenses}; - - use std::path::Path; --use std::rc::Rc; - - use cargo::{ - core::{package::Package, SourceId}, -- util::{config::Config, toml::TomlManifest}, -+ util::{config::Config, toml::schema::TomlManifest}, - }; - use toml::toml; - -@@ -85,12 +84,11 @@ fn build_package_with_authors(authors: V - authors = authors - license = "AGPLv3" - }; -- let toml_manifest: Rc = -- Rc::new(toml::from_str(&toml::to_string(&toml).unwrap()).unwrap()); -- let source_id = SourceId::for_path(Path::new("/path/to/mypackage")).unwrap(); -- let package_root = Path::new("/path/to/mypackage"); -+ let toml_manifest: TomlManifest = toml::from_str(&toml::to_string(&toml).unwrap()).unwrap(); -+ let source_id = SourceId::for_path(Path::new("/")).unwrap(); -+ let package_root = Path::new("/"); - let config = Config::default().unwrap(); -- let manifest = TomlManifest::to_real_manifest(&toml_manifest, source_id, package_root, &config) -+ let manifest = TomlManifest::to_real_manifest(toml_manifest, false, source_id, package_root, &config) - .unwrap() - .0; - Package::new(manifest, Path::new("/path/to/manifest")) -Index: debcargo/src/debian/mod.rs -=================================================================== ---- debcargo.orig/src/debian/mod.rs -+++ debcargo/src/debian/mod.rs -@@ -1172,7 +1172,7 @@ fn reduce_provides( - (provides, features_with_deps) - } - --fn rustc_dep(min_ver: &Option<&str>) -> String { -+fn rustc_dep(min_ver: &Option) -> String { - if let Some(min_ver) = min_ver { - format!("rustc:native (>= {})", min_ver) - } else { -@@ -1186,7 +1186,10 @@ mod test { - - #[test] - fn rustc_dep_includes_minver() { -- assert_eq!("rustc:native (>= 1.65)", rustc_dep(&Some(&"1.65"))); -+ assert_eq!( -+ "rustc:native (>= 1.65)", -+ rustc_dep(&Some("1.65".to_string())) -+ ); - } - - #[test] diff --git a/src/debcargo/debian/patches/update-git2.patch b/src/debcargo/debian/patches/update-git2.patch deleted file mode 100644 index 5b451172f..000000000 --- a/src/debcargo/debian/patches/update-git2.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: debcargo/Cargo.toml -=================================================================== ---- debcargo.orig/Cargo.toml -+++ debcargo/Cargo.toml -@@ -54,7 +54,7 @@ version = "0.2" - version = "1" - - [dependencies.git2] --version = "0.16" -+version = "0.18" - - [dependencies.glob] - version = "0.3" diff --git a/vars.sh.frag b/vars.sh.frag index 38be71c80..16561e2e4 100644 --- a/vars.sh.frag +++ b/vars.sh.frag @@ -45,6 +45,7 @@ case $dcver in 2.4.*) true;; 2.5.*) true;; 2.6.*) true;; +2.7.*) true;; *) abort 1 "unsupported debcargo version: $dcver";; esac