Skip to content

chore: Bump sysinfo to 0.39 and raise MSRV / build toolchain to Rust 1.95 #257

Description

@inureyes

Background

sysinfo 0.39.x raised its minimum supported Rust version to 1.95 (0.38.x required 1.88). To adopt sysinfo 0.39, the project's MSRV and every build-toolchain reference must move from Rust 1.93 to 1.95. The ~lablup/+archive/ubuntu/rustc-release dependency PPA now provides rustc-1.95, so Launchpad PPA packaging can target 1.95.

This couples three changes that must land together:

  1. Bump the sysinfo dependency (0.38 → 0.39).
  2. Raise the project MSRV and Docker build base to Rust 1.95.
  3. Update all Launchpad PPA packaging files to require/validate Rust 1.95.

Scope / Tasks

  • Cargo.toml: sysinfo = "0.38""0.39"; rust-version = "1.93""1.95"
  • Regenerate Cargo.lock for sysinfo (cargo update -p sysinfo → 0.39.x)
  • Resolve any sysinfo 0.38 → 0.39 breaking API changes across the codebase (~103 usages in src/) and confirm a clean build
  • Dockerfile: FROM rust:1.93-slimrust:1.95-slim
  • .github/workflows/launchpad_ppa.yml: vendor_rust: "1.93.0""1.95.0" (3 matrix entries) and the "Rust 1.93+" toolchain_source strings → "1.95+"
  • debian/control and debian/control.source: build-deps → rustc-1.95 | rustc (>= 1.95) and cargo-1.95 | cargo (>= 1.95)
  • debian/rules, debian/rules.source, debian/rules.launchpad, debian/rules.launchpad-simple: toolchain detection prefers rustc-1.95/cargo-1.95, and the dpkg --compare-versions ... ge 1.93 guard (plus echo messages) → ge 1.95
  • debian/README.packaging: update Rust 1.93 references to 1.95; revise the Ubuntu 26.04 (Resolute) note (its archived 1.93 no longer satisfies the new 1.95 floor)
  • Leave historical debian/changelog entries unchanged

Acceptance Criteria

  • cargo build --release, cargo clippy, and cargo test pass on Rust 1.95
  • No remaining Rust 1.93 toolchain references outside historical changelog entries
  • Launchpad PPA packaging files require and validate Rust 1.95

Note: release.yml already uses dtolnay/rust-toolchain@stable (currently 1.95), so it needs no pin change.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions