hwlib 0.11.1

Tool for checking Ubuntu hardware certification status
Documentation
name: hwctl
adopt-info: hwctl
license: GPL-3.0-only
summary: Canonical Certified Hardware API Client
description: |
  `hwctl` is a `hwlib` backed CLI tool for collecting and sending hardware
  information to a Hardware API server to find certification status of device models.

  The production deployment of the Hardware API server is available at
  https://hw.ubuntu.com.

  You can view the Hardware API OpenAPI schema at
  https://canonical.github.io/hardware-api/.

website:
  - https://github.com/canonical/hardware-api
  - https://canonical.github.io/hardware-api
  - https://hw.ubuntu.com
source-code: https://github.com/canonical/hardware-api/tree/main/client
issues: https://github.com/canonical/hardware-api/issues
contact: https://github.com/canonical/hardware-api/issues

base: core24
grade: stable
confinement: strict

platforms:
  amd64:

apps:
  hwctl:
    command: bin/hwctl
    plugs:
      - hardware-observe
      - kernel-module-observe
      - network
      - network-setup-observe
      - system-observe

parts:
  hwctl:
    plugin: rust
    rust-features: ["cli"]
    source: .
    build-packages:
      - jq
      - libssl-dev
      - pkg-config
    stage-packages:
      - kmod
    override-pull: |
      craftctl default
      metadata="$(cargo metadata --no-deps --format-version 1)"
      version="$(echo "$metadata" | jq -r .packages[0].version)"
      craftctl set version="$version"
    build-environment:
      - OS_RELEASE_FILE_PATH: /var/lib/snapd/hostfs/etc/os-release
    override-build: |
      craftctl default
      cp hwctl.1 $CRAFT_PART_INSTALL/hwctl.1
    organize:
      # Snap does not support manpages. In order to enable them, execute:
      # sudo ln -s /snap/hwctl/current/man/man1/hwctl.1 /usr/share/man/man1/hwctl.1
      hwctl.1: man/man1/hwctl.1