Source: incus
Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>
Uploaders: Free Ekanayaka <freee@debian.org>, Mathias Gibbens <gibmat@debian.org>
Section: admin
Testsuite: autopkgtest-pkg-go
Priority: optional
Build-Depends: debhelper-compat (= 13),
               dh-golang,
               golang-any (>= 2:1.23~),
               golang-github-adhocore-gronx-dev,
               golang-github-apex-log-dev,
               golang-github-armon-go-proxyproto-dev,
               golang-github-cenkalti-backoff-dev,
               golang-github-checkpoint-restore-go-criu-dev (>= 7),
               golang-github-cowsql-go-cowsql-dev,
               golang-github-digitalocean-go-smbios-dev,
               golang-github-dustinkirkland-golang-petname-dev,
               golang-github-flosch-pongo2.v6-dev,
               golang-github-fvbommel-sortorder-dev,
               golang-github-go-chi-chi-dev,
               golang-github-go-jose-go-jose-dev,
               golang-github-go-logr-logr-dev,
               golang-github-golang-jwt-jwt-v5-dev,
               golang-github-golang-protobuf-1-5-dev,
               golang-github-google-gopacket-dev,
               golang-github-google-uuid-dev,
               golang-github-gorilla-mux-dev,
               golang-github-gorilla-websocket-dev,
               golang-github-gosexy-gettext-dev,
               golang-github-inconshreveable-mousetrap-dev,
               golang-github-jaypipes-pcidb-dev,
               golang-github-jochenvg-go-udev-dev,
               golang-github-kballard-go-shellquote-dev,
               golang-github-mattn-go-colorable-dev,
               golang-github-mattn-go-sqlite3-dev,
               golang-github-mdlayher-arp-dev,
               golang-github-mdlayher-ndp-dev,
               golang-github-mdlayher-netx-dev,
               golang-github-mdlayher-vsock-dev,
               golang-github-miekg-dns-dev,
               golang-github-minio-minio-go-v7-dev,
               golang-github-mitchellh-mapstructure-dev,
               golang-github-olekukonko-tablewriter-dev (>= 1.0.9),
               golang-github-openfga-go-sdk-dev (>= 0.6.0),
               golang-github-opensuse-umoci-dev,
               golang-github-osrg-gobgp-dev (>= 3.10.0),
               golang-github-ovn-org-libovsdb-dev,
               golang-github-pierrec-lz4-dev (>= 4.1.18),
               golang-github-pkg-sftp-dev,
               golang-github-pkg-xattr-dev,
               golang-github-sirupsen-logrus-dev,
               golang-github-spf13-cobra-dev,
               golang-github-spf13-pflag-dev,
               golang-github-stretchr-testify-dev,
               golang-github-vishvananda-netlink-dev,
               golang-github-zitadel-oidc-dev (>= 3.44.0),
               golang-golang-x-crypto-dev,
               golang-golang-x-exp-dev,
               golang-golang-x-oauth2-dev,
               golang-golang-x-sync-dev,
               golang-golang-x-sys-dev (>= 0.22.0-2~),
               golang-golang-x-term-dev,
               golang-golang-x-text-dev,
               golang-golang-x-tools-dev,
               golang-google-protobuf-dev,
               golang-gopkg-lxc-go-lxc.v2-dev,
               golang-gopkg-yaml.v2-dev,
               golang-k8s-utils-dev,
               golang-starlark-dev (>= 0.0~git20240725.42030a7),
               help2man,
               libacl1-dev,
               libcap-dev,
               dh-sequence-runit
Build-Conflicts: golang-github-golang-protobuf-1-3-dev
Standards-Version: 4.7.2
Vcs-Browser: https://salsa.debian.org/go-team/packages/incus
Vcs-Git: https://salsa.debian.org/go-team/packages/incus.git
Homepage: https://linuxcontainers.org/incus/
XS-Go-Import-Path: github.com/lxc/incus

Package: golang-github-lxc-incus-dev
Architecture: all
Multi-Arch: foreign
Section: golang
Depends: golang-github-adhocore-gronx-dev,
         golang-github-apex-log-dev,
         golang-github-armon-go-proxyproto-dev,
         golang-github-cenkalti-backoff-dev,
         golang-github-checkpoint-restore-go-criu-dev (>= 7),
         golang-github-cowsql-go-cowsql-dev,
         golang-github-digitalocean-go-smbios-dev,
         golang-github-dustinkirkland-golang-petname-dev,
         golang-github-flosch-pongo2.v6-dev,
         golang-github-fvbommel-sortorder-dev,
         golang-github-go-chi-chi-dev,
         golang-github-go-jose-go-jose-dev,
         golang-github-go-logr-logr-dev,
         golang-github-golang-jwt-jwt-v5-dev,
         golang-github-golang-protobuf-1-5-dev,
         golang-github-google-gopacket-dev,
         golang-github-google-uuid-dev,
         golang-github-gorilla-mux-dev,
         golang-github-gorilla-websocket-dev,
         golang-github-gosexy-gettext-dev,
         golang-github-inconshreveable-mousetrap-dev,
         golang-github-jaypipes-pcidb-dev,
         golang-github-jochenvg-go-udev-dev,
         golang-github-kballard-go-shellquote-dev,
         golang-github-mattn-go-colorable-dev,
         golang-github-mattn-go-sqlite3-dev,
         golang-github-mdlayher-arp-dev,
         golang-github-mdlayher-ndp-dev,
         golang-github-mdlayher-netx-dev,
         golang-github-mdlayher-vsock-dev,
         golang-github-miekg-dns-dev,
         golang-github-minio-minio-go-v7-dev,
         golang-github-mitchellh-mapstructure-dev,
         golang-github-olekukonko-tablewriter-dev (>= 1.0.9),
         golang-github-openfga-go-sdk-dev (>= 0.6.0),
         golang-github-opensuse-umoci-dev,
         golang-github-osrg-gobgp-dev (>= 3.10.0),
         golang-github-ovn-org-libovsdb-dev,
         golang-github-pierrec-lz4-dev (>= 4.1.18),
         golang-github-pkg-sftp-dev,
         golang-github-pkg-xattr-dev,
         golang-github-sirupsen-logrus-dev,
         golang-github-spf13-cobra-dev,
         golang-github-spf13-pflag-dev,
         golang-github-stretchr-testify-dev,
         golang-github-vishvananda-netlink-dev,
         golang-github-zitadel-oidc-dev (>= 3.44.0),
         golang-golang-x-crypto-dev,
         golang-golang-x-exp-dev,
         golang-golang-x-oauth2-dev,
         golang-golang-x-sync-dev,
         golang-golang-x-sys-dev (>= 0.22.0-2~),
         golang-golang-x-term-dev,
         golang-golang-x-text-dev,
         golang-golang-x-tools-dev,
         golang-google-protobuf-dev,
         golang-gopkg-lxc-go-lxc.v2-dev,
         golang-gopkg-yaml.v2-dev,
         golang-k8s-utils-dev,
         golang-starlark-dev (>= 0.0~git20240725.42030a7),
         ${misc:Depends}
Breaks: distrobuilder (<< 3.2-3)
Description: Powerful system container and virtual machine manager - library
 Incus is a next generation system container and virtual machine manager.
 It offers a unified user experience around full Linux systems running
 inside containers or virtual machines.
 .
 This package contains the Incus source code for use in building other
 Debian packages -- normal users should not directly use this package in
 their regular development workflow. Rather, they should use `go get`.

Package: incus
# Technically this package is arch:all, but to use architecture restrictions for
# supported host VM architectures, we must use a variant of arch:any
Architecture: linux-any
Depends: ${misc:Depends},
         incus-agent (= ${binary:Version}) [amd64 arm64 ppc64el s390x],
         incus-base (= ${binary:Version}),
         qemu-system-arm (>= 1:8.0) [arm64],
         qemu-system-ppc (>= 1:8.0) [ppc64el],
         qemu-system-s390x (>= 1:8.0) [s390x],
         qemu-system-x86 (>= 1:8.0) [amd64],
         swtpm [amd64 arm64 ppc64el s390x],
         virtiofsd [amd64 arm64 ppc64el s390x]
Suggests: gdisk
Built-Using: ${misc:Built-Using}
Static-Built-Using: ${misc:Static-Built-Using}
Description: Powerful system container and virtual machine manager - daemon
 Incus is a next generation system container and virtual machine manager.
 It offers a unified user experience around full Linux systems running
 inside containers or virtual machines.
 .
 It's image based with pre-made images available for a wide number of
 Linux distributions and is built around a very powerful, yet pretty
 simple, REST API.
 .
 This metapackage will install everything needed to run containers and VMs.
 Only amd64, arm64, ppc64el, and s390x are supported as VM host architectures.

Package: incus-base
Architecture: linux-any
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
         attr,
         ca-certificates,
         liblxc-common,
         lxcfs (>= 6.0.3-2),
         incus-client (= ${binary:Version}),
         iproute2,
         nftables | iptables,
         rsync,
         squashfs-tools,
         squashfs-tools-ng,
         uidmap,
         xz-utils
Recommends: apparmor (>= 4.1.0~),
            dnsmasq-base
# First line of suggested packages will enable additional Incus storage backends
# Second line lists additional optional tools
Suggests: btrfs-progs, ceph-common [!armel !armhf !i386], lvm2, zfsutils-linux,
          incus-extra, lego, minio-client
Built-Using: ${misc:Built-Using}
Static-Built-Using: ${misc:Static-Built-Using}
Breaks: ${runit:Breaks}
# The following line is a hack for an academic /usr-move problem (#1099444);
# Breaks+Replaces is the more Policy-compliant approach.
Conflicts: incus (<< 6.0.3-3~)
Description: Powerful system container and virtual machine manager - daemon (container-only)
 Incus is a next generation system container and virtual machine manager.
 It offers a unified user experience around full Linux systems running
 inside containers or virtual machines.
 .
 It's image based with pre-made images available for a wide number of
 Linux distributions and is built around a very powerful, yet pretty
 simple, REST API.
 .
 This package contains only what is needed to run containers.

Package: incus-client
# The incus binary doesn't depend on liblxc1, so it can be built for any architecture
Architecture: any
Depends: ${misc:Depends},
         ${shlibs:Depends}
Suggests: bash-completion,
          spice-client-gtk | virt-viewer
Built-Using: ${misc:Built-Using}
Static-Built-Using: ${misc:Static-Built-Using}
Description: Powerful system container and virtual machine manager - client
 Incus is a next generation system container and virtual machine manager.
 It offers a unified user experience around full Linux systems running
 inside containers or virtual machines.
 .
 A REST API is offered by Incus to remotely manage containers over the network,
 using an image based work-flow and with support for live migration.
 .
 This package contains the Incus command line client.

Package: incus-extra
Architecture: linux-any
Depends: ${misc:Depends},
         ${shlibs:Depends},
         rsync
Built-Using: ${misc:Built-Using}
Static-Built-Using: ${misc:Static-Built-Using}
Breaks: incus-tools (<< 6.0.3-3~),
        incus-migrate (<< 6.0.3-3~)
Replaces: incus-tools (<< 6.0.3-3~),
          incus-migrate (<< 6.0.3-3~)
# lxd-tools also ships a `fuidshift` binary; we expect src:lxd to be RM'ed after the trixie release, so just use a simple Conflicts here
Conflicts: lxd-tools
Description: Powerful system container and virtual machine manager - extra tools
 Incus is a next generation system container and virtual machine manager.
 It offers a unified user experience around full Linux systems running
 inside containers or virtual machines.
 .
 This package contains extra tools provided with Incus.
  - fuidshift - A tool to map/unmap filesystem uids/gids
  - lxc-to-incus - A tool to migrate LXC containers to Incus
  - lxd-to-incus - A tool to migrate LXD containers to Incus
  - incus-benchmark - A benchmarking tool for Incus
  - incus-migrate - A tool to turn any filesystem into an Incus instance
  - incus-simplestreams - Maintain an Incus-compatible simplestreams tree

Package: incus-agent
Architecture: linux-any
Depends: ${misc:Depends}
Built-Using: ${misc:Built-Using}
Static-Built-Using: ${misc:Static-Built-Using}
Description: Incus guest agent
 This package provides an agent to run inside Incus virtual machine guests.
 .
 It has to be installed on the Incus host if you want to allow agent
 injection capability when creating a virtual machine.
