# file      : bpkg/system-package-manager-fedora.test.testscript
# license   : MIT; see accompanying LICENSE file

: dnf-list
:
{{
  test.arguments += dnf-list

  : basics
  :
  $* openssl-libs openssl-devel openssl1.1 openssl1.1-devel libsigc++40 libcurl lrmi rust-uuid+std-devel <<EOI 2>>EOE >>EOO
    Installed Packages
    libcurl.i686                                                                                                            7.79.1-5.fc35                                                                                                    @updates
    libcurl.x86_64                                                                                                          7.79.1-5.fc35                                                                                                    @updates
    openssl-devel.x86_64                                                                                                    1:1.1.1q-1.fc35                                                                                                  @updates
    openssl-libs.i686                                                                                                       1:1.1.1q-1.fc35                                                                                                  @updates
    openssl-libs.x86_64                                                                                                     1:1.1.1q-1.fc35                                                                                                  @updates
    rpm.x86_64                                                                                                              4.17.1-2.fc35                                                                                                    @updates
    Available Packages
    libcurl.i686                                                                                                            7.79.1-7.fc35                                                                                                    updates
    libcurl.x86_64                                                                                                          7.79.1-7.fc35                                                                                                    updates
    lrmi.i686                                                                                                               0.10-28.fc35                                                                                                     fedora
    openssl-devel.i686                                                                                                      1:1.1.1q-1.fc35                                                                                                  updates
    openssl1.1.i686                                                                                                         1:1.1.1i-3.fc35                                                                                                  fedora
    openssl1.1.x86_64                                                                                                       1:1.1.1i-3.fc35                                                                                                  fedora
    openssl1.1-devel.i686                                                                                                   1:1.1.1i-3.fc35                                                                                                  fedora
    openssl1.1-devel.x86_64                                                                                                 1:1.1.1i-3.fc35                                                                                                  fedora
    rpm.x86_64                                                                                                              4.17.1-3.fc35                                                                                                    updates
    rust-uuid+std-devel.noarch                                                                                              1.2.1-1.fc35                                                                                                     updates
    EOI
    LC_ALL=C dnf list --cacheonly --quiet openssl-libs openssl-devel openssl1.1 openssl1.1-devel libsigc++40 libcurl lrmi rust-uuid+std-devel rpm <-
    EOE
    openssl-libs '1:1.1.1q-1.fc35' 'x86_64' '1:1.1.1q-1.fc35' 'x86_64'
    openssl-devel '1:1.1.1q-1.fc35' 'x86_64' '1:1.1.1q-1.fc35' 'x86_64'
    openssl1.1 '' '' '1:1.1.1i-3.fc35' 'x86_64'
    openssl1.1-devel '' '' '1:1.1.1i-3.fc35' 'x86_64'
    libsigc++40 '' '' '' ''
    libcurl '7.79.1-5.fc35' 'x86_64' '7.79.1-7.fc35' 'x86_64'
    lrmi '' '' '' ''
    rust-uuid+std-devel '' '' '1.2.1-1.fc35' 'noarch'
    EOO

  : unknown
  :
  $* libsigc++40 <<EOI 2>>EOE >>EOO
    Installed Packages
    rpm.x86_64                                                                                                         4.17.1-3.fc35                                                                                    updates
    Available Packages
    EOI
    LC_ALL=C dnf list --cacheonly --quiet libsigc++40 rpm <-
    EOE
    libsigc++40 '' '' '' ''
    EOO

  : non-host-arc
  :
  $* lrmi <<EOI 2>>EOE >>EOO
    Installed Packages
    rpm.x86_64                                                                                                         4.17.1-2.fc35                                                                                    @updates
    Available Packages
    lrmi.i686                                                                                                          0.10-28.fc35                                                                                     fedora
    rpm.x86_64                                                                                                         4.17.1-3.fc35                                                                                    updates
    EOI
    LC_ALL=C dnf list --cacheonly --quiet lrmi rpm <-
    EOE
    lrmi '' '' '' ''
    EOO

  : dnf
  :
  $* rpm <<EOI 2>>EOE >>EOO
    Installed Packages
    rpm.x86_64                                                                                                  4.17.1-2.fc35                                                                                    @updates
    Available Packages
    rpm.x86_64                                                                                                  4.17.1-3.fc35                                                                                    updates
    EOI
    LC_ALL=C dnf list --cacheonly --quiet rpm rpm <-
    EOE
    rpm '4.17.1-2.fc35' 'x86_64' '4.17.1-3.fc35' 'x86_64'
    EOO

  : dnf-not-exist
  :
  $* openssl-libs <<EOI 2>>EOE != 0
    Installed Packages
    openssl-libs.i686                                                                                                     1:1.1.1q-1.fc35                                                                                                    @updates
    openssl-libs.x86_64                                                                                                   1:1.1.1q-1.fc35                                                                                                    @updates
    EOI
    LC_ALL=C dnf list --cacheonly --quiet openssl-libs rpm <-
    error: rpm package doesn't exist
    EOE
}}

: dnf-repoquery-requires
:
{{
  test.arguments += dnf-repoquery-requires

  : basics
  :
  $* openssl-devel '1:1.1.1q-1.fc35' x86_64 true <<EOI 2>>EOE >>EOO
    opae-devel x86_64 0:2.0.0-2.3.fc35
    openssl-devel i686 1:1.1.1q-1.fc35
    openssl-devel x86_64 1:1.1.1q-1.fc35
    openssl-libs x86_64 1:1.1.1q-1.fc35
    openssl1.1 x86_64 1:1.1.1i-3.fc35
    openssl1.1-devel i686 1:1.1.1i-3.fc35
    openssl1.1-devel x86_64 1:1.1.1i-3.fc35
    pkgconf-pkg-config i686 0:1.8.0-1.fc35
    pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
    EOI
    LC_ALL=C dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" --installed --setopt disable_excludes=* openssl-devel-1:1.1.1q-1.fc35.x86_64 <-
    EOE
    opae-devel 2.0.0-2.3.fc35
    openssl-libs 1:1.1.1q-1.fc35
    openssl1.1 1:1.1.1i-3.fc35
    openssl1.1-devel 1:1.1.1i-3.fc35
    pkgconf-pkg-config 1.8.0-1.fc35
    EOO

  : no-arch
  :
  $* rust-uuid+std-devel 1.2.1-1.fc35 noarch false <<EOI 2>>EOE >>EOO
    cargo x86_64 0:1.65.0-1.fc35
    rust-uuid-devel noarch 0:1.2.1-1.fc35
    EOI
    LC_ALL=C dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" rust-uuid+std-devel-1.2.1-1.fc35.noarch <-
    EOE
    cargo 1.65.0-1.fc35
    rust-uuid-devel 1.2.1-1.fc35
    EOO

  : no-arch-dependency
  :
  $* dhcp-client '12:4.4.3-4.P1.fc35' x86_64 true <<EOI 2>>EOE >>EOO
    bash i686 0:5.1.8-3.fc35
    bash x86_64 0:5.1.8-3.fc35
    coreutils x86_64 0:8.32-36.fc35
    coreutils-single x86_64 0:8.32-36.fc35
    dhcp-common noarch 12:4.4.3-4.P1.fc35
    gawk i686 0:5.1.0-4.fc35
    gawk x86_64 0:5.1.0-4.fc35
    glibc i686 0:2.34-49.fc35
    glibc x86_64 0:2.34-49.fc35
    grep x86_64 0:3.6-4.fc35
    ipcalc x86_64 0:1.0.1-2.fc35
    iproute x86_64 0:5.13.0-2.fc35
    iputils x86_64 0:20210722-1.fc35
    libcap-ng x86_64 0:0.8.2-8.fc35
    sed x86_64 0:4.8-8.fc35
    systemd i686 0:249.13-6.fc35
    systemd x86_64 0:249.13-6.fc35
    EOI
    LC_ALL=C dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" --installed --setopt disable_excludes=* dhcp-client-12:4.4.3-4.P1.fc35.x86_64 <-
    EOE
    bash 5.1.8-3.fc35
    coreutils 8.32-36.fc35
    coreutils-single 8.32-36.fc35
    dhcp-common 12:4.4.3-4.P1.fc35
    gawk 5.1.0-4.fc35
    glibc 2.34-49.fc35
    grep 3.6-4.fc35
    ipcalc 1.0.1-2.fc35
    iproute 5.13.0-2.fc35
    iputils 20210722-1.fc35
    libcap-ng 0.8.2-8.fc35
    sed 4.8-8.fc35
    systemd 249.13-6.fc35
    EOO

  : no-depends
  :
  $* glibc 2.34-38.fc35 x86_64 true <:'' 2>>EOE >:''
    LC_ALL=C dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" --installed --setopt disable_excludes=* glibc-2.34-38.fc35.x86_64 <-
    EOE

  : unknown
  :
  $* glibg 2.34-38.fc35 x86_64 false <:'' 2>>EOE >:''
    LC_ALL=C dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" glibg-2.34-38.fc35.x86_64 <-
    EOE
}}

: parse-name-value
:
{{
  test.arguments += parse-name-value

  : basics
  :
  $* libmysqlclient <<EOI >>EOO
    community-mysql-libs community-mysql-devel community-mysql-common community-mysql-libs-debuginfo community-mysql-debugsource community-mysql-extras, libstdc++ libstdc++-devel libstdc++-docs libstdc++-static, libz-dev
    EOI
    main: community-mysql-libs
    devel: community-mysql-devel
    debuginfo: community-mysql-libs-debuginfo
    debugsource: community-mysql-debugsource
    common: community-mysql-common
    extras: community-mysql-extras libstdc++ libstdc++-devel libstdc++-static libstdc++-docs libz-dev
    EOO

  : non-lib
  :
  $* sqlite3 <<EOI >>EOO
    sqlite sqlite-doc sqlite-analyzer sqlite-tools
    EOI
    main: sqlite
    doc: sqlite-doc
    extras: sqlite-analyzer sqlite-tools
    EOO

  : lib-devel
  :
  $* libsqlite3 <<EOI >>EOO
    sqlite-devel
    EOI
    devel: sqlite-devel
    EOO

  : non-lib-devel
  :
  $* ssl-devel <<EOI >>EOO
    ssl-devel
    EOI
    main: ssl-devel
    EOO

  : lib-custom-devel
  :
  $* libfoo-devel <<EOI >>EOO
    libfoo-devel libfoo-devel-devel
    EOI
    main: libfoo-devel
    devel: libfoo-devel-devel
    EOO
}}

: main-from-devel
:
{{
  test.arguments += main-from-devel

  : libs
  :
  $* sqlite-devel 3.36.0-3.fc35 <<EOI >'sqlite-libs'
    pkgconf-pkg-config 1.8.0-1.fc35
    sqlite 3.36.0-3.fc35
    sqlite-libs 3.36.0-3.fc35
    EOI

  : no-libs
  :
  $* xerces-c-devel 3.2.3-4.fc35 <<EOI >'xerces-c'
    pkgconf-pkg-config 1.8.0-1.fc35
    xerces-c 3.2.3-4.fc35
    EOI

  : no-dependencies
  :
  $* boost-http-server-devel 0-1.20220116gitcd5245f.fc35 <:'' >''
}}

: map-package
:
{{
  test.arguments += map-package

  : default-name
  :
  $* <<EOI >>EOO
    : 1
    name: byacc
    version: 20210808
    summary: yacc parser generator
    license: other: public domain
    EOI
    version: 20210808-1
    main: byacc
    EOO

  : default-name-lib
  :
  $* <<EOI >>EOO
    : 1
    name: libsqlite3
    version: 3.40.1
    summary: database library
    license: other: public domain
    EOI
    version: 3.40.1-1
    main: libsqlite3
    devel: libsqlite3-devel
    EOO

  : custom-name
  :
  $* <<EOI >>EOO
    : 1
    name: libsqlite3
    fedora_35-name: libsqlite3 libsqlite3-devel
    version: 3.40.1
    summary: database library
    license: other: public domain
    EOI
    version: 3.40.1-1
    main: libsqlite3
    devel: libsqlite3-devel
    EOO

  : custom-name-dev-only
  :
  $* <<EOI >>EOO
    : 1
    name: libsqlite3
    fedora_35-name: libsqlite3-devel
    version: 3.40.1
    summary: database library
    license: other: public domain
    EOI
    version: 3.40.1-1
    main: libsqlite3
    devel: libsqlite3-devel
    EOO

  : custom-name-non-native
  :
  $* <<EOI >>EOO
    : 1
    name: libsqlite3
    fedora_0-name: libsqlite libsqlite-devel
    fedor_35-name: libsqlite3 libsqlite3-devel
    version: 3.40.1
    summary: database library
    license: other: public domain
    EOI
    version: 3.40.1-1
    main: libsqlite
    devel: libsqlite-devel
    EOO

  : version-upstream
  :
  $* <<EOI >>EOO
    : 1
    name: byacc
    version: +2-1.2.3-beta.1+3
    upstream-version: 20210808
    summary: yacc parser generator
    license: other: public domain
    EOI
    version: 20210808~beta.1-4
    main: byacc
    EOO

  : version-distribution
  :
  $* <<EOI >>EOO
    : 1
    name: byacc
    version: +2-1.2.3-beta.1+3
    fedora-version: 20210808~beta.1
    summary: yacc parser generator
    license: other: public domain
    EOI
    version: 20210808~beta.1-1
    main: byacc
    EOO

  : version-distribution-epoch-revision
  :
  $* <<EOI >>EOO
    : 1
    name: byacc
    version: +2-1.2.3-beta.1+3
    fedora-version: 1:1.2.3-2
    summary: yacc parser generator
    license: other: public domain
    EOI
    version: 1:1.2.3-2
    main: byacc
    EOO

  : version-distribution-empty-prerelease
  :
  $* <<EOI >>EOO
    : 1
    name: byacc
    version: +2-1.2.3-beta.1+3
    fedora-version: 20210808~-4
    summary: yacc parser generator
    license: other: public domain
    EOI
    version: 20210808~beta.1-4
    main: byacc
    EOO

  : version-distribution-empty-revision
  :
  $* <<EOI >>EOO
    : 1
    name: byacc
    version: +2-1.2.3-beta.1+3
    fedora-version: 20210808~b.1-
    summary: yacc parser generator
    license: other: public domain
    EOI
    version: 20210808~b.1-4
    main: byacc
    EOO

  : version-distribution-empty-release-revision
  :
  $* <<EOI >>EOO
    : 1
    name: byacc
    version: +2-1.2.3-beta.1+3
    fedora-version: 20210808~-
    summary: yacc parser generator
    license: other: public domain
    EOI
    version: 20210808~beta.1-4
    main: byacc
    EOO
}}

: build
:
{{
  test.arguments += build

  : libpq
  :
  {{
    : installed
    :
    cat <<EOI >=libpq-devel+pq-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                             4.17.1-2.fc35                                                                                                     @updates
      libpq-devel.x86_64                                                                                                     13.4-1.fc35                                                                                                       @fedora
      Available Packages
      rpm.x86_64                                                                                                             4.17.1-3.fc35                                                                                                     updates
      libpq-devel.i686                                                                                                       13.4-1.fc35                                                                                                       fedora
      EOI
    cat <<EOI >=libpq-devel.requires;
      glibc i686 0:2.34-49.fc35
      glibc x86_64 0:2.34-49.fc35
      libpq x86_64 0:13.4-1.fc35
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      EOI
    cat <<EOI >=libpq.info;
      Installed Packages
      rpm.x86_64                                                                                                          4.17.1-2.fc35                                                                                                        @updates
      libpq.x86_64                                                                                                        13.4-1.fc35                                                                                                          @fedora
      Available Packages
      rpm.x86_64                                                                                                          4.17.1-3.fc35                                                                                                        updates
      libpq.i686                                                                                                          13.4-1.fc35                                                                                                          fedora
      EOI
    $* libpq --install libpq <<EOI 2>>EOE >>EOO
      dnf-list:               libpq-devel pq-devel                libpq-devel+pq-devel.info
      dnf-repoquery-requires: libpq-devel 13.4-1.fc35 x86_64 true libpq-devel.requires
      dnf-list:               libpq                               libpq.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" --installed --setopt disable_excludes=* libpq-devel-13.4-1.fc35.x86_64 <libpq-devel.requires
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq rpm <libpq.info
      sudo dnf mark user --quiet --assumeno --cacheonly libpq-13.4-1.fc35.x86_64 libpq-devel-13.4-1.fc35.x86_64
      EOE
      libpq 13.4 (libpq 13.4-1.fc35) installed
      EOO


    : part-installed
    :
    cat <<EOI >=libpq-devel+pq-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                             4.17.1-2.fc35                                                                                                     @updates
      Available Packages
      rpm.x86_64                                                                                                             4.17.1-3.fc35                                                                                                     updates
      libpq-devel.i686                                                                                                       13.4-1.fc35                                                                                                       fedora
      libpq-devel.x86_64                                                                                                     13.4-1.fc35                                                                                                       fedora
      EOI
    cat <<EOI >=libpq-devel.requires;
      glibc i686 0:2.34-49.fc35
      glibc x86_64 0:2.34-49.fc35
      libpq x86_64 0:13.4-1.fc35
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      EOI
    cat <<EOI >=libpq.info;
      Installed Packages
      rpm.x86_64                                                                                                          4.17.1-2.fc35                                                                                                        @updates
      libpq.x86_64                                                                                                        13.4-1.fc35                                                                                                          @fedora
      Available Packages
      rpm.x86_64                                                                                                          4.17.1-3.fc35                                                                                                        updates
      libpq.i686                                                                                                          13.4-1.fc35                                                                                                          fedora
      EOI
    $* libpq --install libpq <<EOI 2>>EOE >>EOO
      dnf-list:               libpq-devel pq-devel                 libpq-devel+pq-devel.info
      dnf-repoquery-requires: libpq-devel 13.4-1.fc35 x86_64 false libpq-devel.requires
      dnf-list:               libpq                                libpq.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" libpq-devel-13.4-1.fc35.x86_64 <libpq-devel.requires
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq rpm <libpq.info
      sudo dnf install --quiet --assumeno libpq-13.4-1.fc35.x86_64 libpq-devel-13.4-1.fc35.x86_64
      sudo dnf mark user --quiet --assumeno --cacheonly libpq-13.4-1.fc35.x86_64 libpq-devel-13.4-1.fc35.x86_64
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq rpm <libpq.info
      EOE
      libpq 13.4 (libpq 13.4-1.fc35) part installed
      EOO


    : part-installed-upgrade
    :
    cat <<EOI >=libpq-devel+pq-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                             4.17.1-2.fc35                                                                                                     @updates
      Available Packages
      rpm.x86_64                                                                                                             4.17.1-3.fc35                                                                                                     updates
      libpq-devel.i686                                                                                                       13.3-3.fc35                                                                                                       fedora
      libpq-devel.x86_64                                                                                                     13.3-3.fc35                                                                                                       fedora
      EOI
    cat <<EOI >=libpq-devel+pq-devel.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                                             4.17.1-2.fc35                                                                                                     @updates
      Available Packages
      rpm.x86_64                                                                                                             4.17.1-3.fc35                                                                                                     updates
      libpq-devel.i686                                                                                                       13.4-1.fc35                                                                                                       fedora
      libpq-devel.x86_64                                                                                                     13.4-1.fc35                                                                                                       fedora
      EOI
    cat <<EOI >=libpq-devel.requires-fetched;
      glibc i686 0:2.34-49.fc35
      glibc x86_64 0:2.34-49.fc35
      libpq x86_64 0:13.4-1.fc35
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      EOI
    cat <<EOI >=libpq.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                                          4.17.1-2.fc35                                                                                                        @updates
      libpq.x86_64                                                                                                        13.3-3.fc35                                                                                                          @fedora
      Available Packages
      rpm.x86_64                                                                                                          4.17.1-3.fc35                                                                                                        updates
      libpq.i686                                                                                                          13.4-1.fc35                                                                                                          fedora
      libpq.x86_64                                                                                                        13.4-1.fc35                                                                                                          @fedora
      EOI
    cat <<EOI >=libpq.info-installed;
      Installed Packages
      rpm.x86_64                                                                                                          4.17.1-2.fc35                                                                                                        @updates
      libpq.x86_64                                                                                                        13.4-1.fc35                                                                                                          @fedora
      Available Packages
      rpm.x86_64                                                                                                          4.17.1-3.fc35                                                                                                        updates
      libpq.i686                                                                                                          13.4-1.fc35                                                                                                          fedora
      EOI
    $* libpq --install libpq <<EOI 2>>EOE >>EOO
      dnf-list:               libpq-devel pq-devel                 libpq-devel+pq-devel.info
      dnf-list-fetched:       libpq-devel pq-devel                 libpq-devel+pq-devel.info-fetched
      dnf-repoquery-requires: libpq-devel 13.4-1.fc35 x86_64 false libpq-devel.requires-fetched
      dnf-list-fetched:       libpq                                libpq.info-fetched
      dnf-list-installed:     libpq                                libpq.info-installed
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info-fetched
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" libpq-devel-13.4-1.fc35.x86_64 <libpq-devel.requires-fetched
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq rpm <libpq.info-fetched
      sudo dnf install --quiet --assumeno libpq-13.4-1.fc35.x86_64 libpq-devel-13.4-1.fc35.x86_64
      sudo dnf mark user --quiet --assumeno --cacheonly libpq-13.4-1.fc35.x86_64 libpq-devel-13.4-1.fc35.x86_64
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq rpm <libpq.info-installed
      EOE
      libpq 13.4 (libpq 13.4-1.fc35) part installed
      EOO


    # Note that the semantics is unrealistic (maybe background metadata update
    # happened right before installing libpq). Also note that in contrast to
    # the part-installed-upgrade test we operate in the --sys-no-fetch mode.
    #
    : part-installed-upgrade-version-change
    :
    cat <<EOI >=libpq-devel+pq-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                             4.17.1-2.fc35                                                                                                     @updates
      Available Packages
      rpm.x86_64                                                                                                             4.17.1-3.fc35                                                                                                     updates
      libpq-devel.i686                                                                                                       13.3-3.fc35                                                                                                       fedora
      libpq-devel.x86_64                                                                                                     13.3-3.fc35                                                                                                       fedora
      EOI
    cat <<EOI >=libpq-devel.requires;
      glibc i686 0:2.34-49.fc35
      glibc x86_64 0:2.34-49.fc35
      libpq x86_64 0:13.3-3.fc35
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      EOI
    cat <<EOI >=libpq.info;
      Installed Packages
      rpm.x86_64                                                                                                          4.17.1-2.fc35                                                                                                        @updates
      libpq.x86_64                                                                                                        13.3-3.fc35                                                                                                          @fedora
      Available Packages
      rpm.x86_64                                                                                                          4.17.1-3.fc35                                                                                                        updates
      libpq.i686                                                                                                          13.3-3.fc35                                                                                                          fedora
      EOI
    cat <<EOI >=libpq.info-installed;
      Installed Packages
      rpm.x86_64                                                                                                          4.17.1-2.fc35                                                                                                        @updates
      libpq.x86_64                                                                                                        13.4-1.fc35                                                                                                          @fedora
      Available Packages
      rpm.x86_64                                                                                                          4.17.1-3.fc35                                                                                                        updates
      libpq.i686                                                                                                          13.4-1.fc35                                                                                                          fedora
      EOI
    $* libpq --install --no-fetch libpq <<EOI 2>>EOE >>EOO != 0
      dnf-list:               libpq-devel pq-devel                 libpq-devel+pq-devel.info
      dnf-repoquery-requires: libpq-devel 13.3-3.fc35 x86_64 false libpq-devel.requires
      dnf-list:               libpq                                libpq.info
      dnf-list-installed:     libpq                                libpq.info-installed
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" libpq-devel-13.3-3.fc35.x86_64 <libpq-devel.requires
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq rpm <libpq.info
      sudo dnf install --quiet --assumeno libpq-13.3-3.fc35.x86_64 libpq-devel-13.3-3.fc35.x86_64
      sudo dnf mark user --quiet --assumeno --cacheonly libpq-13.3-3.fc35.x86_64 libpq-devel-13.3-3.fc35.x86_64
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq rpm <libpq.info-installed
      error: unexpected fedora package version for libpq
        info: expected: 13.3-3.fc35
        info: installed: 13.4-1.fc35
        info: consider retrying the bpkg command
      EOE
      libpq 13.3 (libpq 13.3-3.fc35) part installed
      EOO


    : not-installed
    :
    cat <<EOI >=libpq-devel+pq-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                             4.17.1-2.fc35                                                                                                     @updates
      Available Packages
      rpm.x86_64                                                                                                             4.17.1-3.fc35                                                                                                     updates
      libpq-devel.i686                                                                                                       13.4-1.fc35                                                                                                       fedora
      libpq-devel.x86_64                                                                                                     13.4-1.fc35                                                                                                       @fedora
      EOI
    cat <<EOI >=libpq-devel.requires;
      glibc i686 0:2.34-49.fc35
      glibc x86_64 0:2.34-49.fc35
      libpq x86_64 0:13.4-1.fc35
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      EOI
    cat <<EOI >=libpq.info;
      Installed Packages
      rpm.x86_64                                                                                                          4.17.1-2.fc35                                                                                                        @updates
      Available Packages
      rpm.x86_64                                                                                                          4.17.1-3.fc35                                                                                                        updates
      libpq.i686                                                                                                          13.4-1.fc35                                                                                                          fedora
      libpq.x86_64                                                                                                        13.4-1.fc35                                                                                                          @fedora
      EOI
    cat <<EOI >=libpq.info-installed;
      Installed Packages
      rpm.x86_64                                                                                                          4.17.1-2.fc35                                                                                                        @updates
      libpq.x86_64                                                                                                        13.4-1.fc35                                                                                                          @fedora
      Available Packages
      rpm.x86_64                                                                                                          4.17.1-3.fc35                                                                                                        updates
      libpq.i686                                                                                                          13.4-1.fc35                                                                                                          fedora
      EOI
    $* libpq --install libpq <<EOI 2>>EOE >>EOO
      dnf-list:               libpq-devel pq-devel                 libpq-devel+pq-devel.info
      dnf-repoquery-requires: libpq-devel 13.4-1.fc35 x86_64 false libpq-devel.requires
      dnf-list:               libpq                                libpq.info
      dnf-list-installed:     libpq                                libpq.info-installed
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" libpq-devel-13.4-1.fc35.x86_64 <libpq-devel.requires
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq rpm <libpq.info
      sudo dnf install --quiet --assumeno libpq-13.4-1.fc35.x86_64 libpq-devel-13.4-1.fc35.x86_64
      sudo dnf mark user --quiet --assumeno --cacheonly libpq-13.4-1.fc35.x86_64 libpq-devel-13.4-1.fc35.x86_64
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq rpm <libpq.info-installed
      EOE
      libpq 13.4 (libpq 13.4-1.fc35) not installed
      EOO


    : no-install
    :
    cat <<EOI >=libpq-devel+pq-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                             4.17.1-2.fc35                                                                                                     @updates
      Available Packages
      rpm.x86_64                                                                                                             4.17.1-3.fc35                                                                                                     updates
      libpq-devel.i686                                                                                                       13.4-1.fc35                                                                                                       fedora
      libpq-devel.x86_64                                                                                                     13.4-1.fc35                                                                                                       @fedora
      EOI
    $* libpq <<EOI 2>>EOE != 0
      dnf-list: libpq-devel pq-devel libpq-devel+pq-devel.info
      EOI
      LC_ALL=C dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      error: no installed system package for libpq
      EOE


    : not-available
    :
    cat <<EOI >=libpq-devel+pq-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                  4.17.1-2.fc35                                                                                    @updates
      Available Packages
      rpm.x86_64                                                                                                  4.17.1-3.fc35                                                                                    updates
      EOI
    $* libpq --install libpq <<EOI 2>>EOE != 0
      dnf-list: libpq-devel pq-devel libpq-devel+pq-devel.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      error: no installed or available system package for libpq
      EOE


    : not-available-no-fetch
    :
    cat <<EOI >=libpq-devel+pq-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                  4.17.1-2.fc35                                                                                    @updates
      Available Packages
      rpm.x86_64                                                                                                  4.17.1-3.fc35                                                                                    updates
      EOI
    $* libpq --install --no-fetch libpq <<EOI 2>>EOE != 0
      dnf-list: libpq-devel pq-devel libpq-devel+pq-devel.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libpq-devel pq-devel rpm <libpq-devel+pq-devel.info
      error: no installed or available system package for libpq
      EOE
  }}

  : libsqlite3
  :
  {{
    +cat <<EOI >=libsqlite3.manifest
      : 1
      name: libsqlite3
      version: 3.39.4+1
      project: sqlite
      summary: SQL database engine as an in-process C library
      license: blessing ; SQLite Blessing.
      EOI


    : dev-resolve-fail
    :
    cat <<EOI >=libsqlite3-devel+sqlite3-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                  4.17.1-2.fc35                                                                                    @updates
      Available Packages
      rpm.x86_64                                                                                                  4.17.1-3.fc35                                                                                    updates
      EOI
    $* libsqlite3 --install libsqlite3 <<EOI 2>>EOE != 0
      dnf-list: libsqlite3-devel sqlite3-devel libsqlite3-devel+sqlite3-devel.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libsqlite3-devel sqlite3-devel rpm <libsqlite3-devel+sqlite3-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libsqlite3-devel sqlite3-devel rpm <libsqlite3-devel+sqlite3-devel.info
      error: no installed or available system package for libsqlite3
      EOE


    : installed
    :
    : In particular test the project name-based resolution of the -devel
    : package.
    :
    ln -s ../libsqlite3.manifest ./;
    cat <<EOI >=libsqlite3-devel+sqlite-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                                         4.17.1-2.fc35                                                                                                                @updates
      sqlite-devel.x86_64                                                                                                                3.36.0-3.fc35                                                                                                                @fedora
      Available Packages
      rpm.x86_64                                                                                                                         4.17.1-3.fc35                                                                                                                updates
      sqlite-devel.i686                                                                                                                  3.36.0-3.fc35                                                                                                                fedora
      EOI
    cat <<EOI >=sqlite-devel.requires;
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      sqlite x86_64 0:3.36.0-3.fc35
      sqlite-libs x86_64 0:3.36.0-3.fc35
      EOI
    cat <<EOI >=sqlite-libs.info;
      Installed Packages
      rpm.x86_64                                                                                                                        4.17.1-2.fc35                                                                                                                 @updates
      sqlite-libs.i686                                                                                                                  3.36.0-3.fc35                                                                                                                 @fedora
      sqlite-libs.x86_64                                                                                                                3.36.0-3.fc35                                                                                                                 @fedora
      Available Packages
      rpm.x86_64                                                                                                                        4.17.1-3.fc35                                                                                                                 updates
      EOI
    $* libsqlite3 --install libsqlite3 <<EOI 2>>EOE >>EOO
      manifest: libsqlite3 libsqlite3.manifest

      dnf-list:               libsqlite3-devel sqlite-devel          libsqlite3-devel+sqlite-devel.info
      dnf-repoquery-requires: sqlite-devel 3.36.0-3.fc35 x86_64 true sqlite-devel.requires
      dnf-list:               sqlite-libs                            sqlite-libs.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libsqlite3-devel sqlite-devel rpm <libsqlite3-devel+sqlite-devel.info
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" --installed --setopt disable_excludes=* sqlite-devel-3.36.0-3.fc35.x86_64 <sqlite-devel.requires
      LC_ALL=C sudo dnf list --cacheonly --quiet sqlite-libs rpm <sqlite-libs.info
      sudo dnf mark user --quiet --assumeno --cacheonly sqlite-libs-3.36.0-3.fc35.x86_64 sqlite-devel-3.36.0-3.fc35.x86_64
      EOE
      libsqlite3 3.36.0 (sqlite-libs 3.36.0-3.fc35) installed
      EOO


    : not-installed
    :
    : Note that without fetch the -devel package could not be resolved since
    : `dnf list libsqlite3-devel sqlite-devel` provides no information
    : regarding any of these packages.
    :
    ln -s ../libsqlite3.manifest ./;
    cat <<EOI >=libsqlite3-devel+sqlite-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                                         4.17.1-2.fc35                                                                                                                @updates
      Available Packages
      rpm.x86_64                                                                                                                         4.17.1-3.fc35                                                                                                                updates
      EOI
    cat <<EOI >=sqlite-devel.requires-fetched;
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      sqlite x86_64 0:3.36.0-3.fc35
      sqlite-libs x86_64 0:3.36.0-3.fc35
      EOI
    cat <<EOI >=libsqlite3-devel+sqlite-devel.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                                                         4.17.1-2.fc35                                                                                                                @updates
      Available Packages
      rpm.x86_64                                                                                                                         4.17.1-3.fc35                                                                                                                updates
      sqlite-devel.i686                                                                                                                  3.36.0-3.fc35                                                                                                                fedora
      sqlite-devel.x86_64                                                                                                                3.36.0-3.fc35                                                                                                                @fedora
      EOI
    cat <<EOI >=sqlite-libs.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                                                        4.17.1-2.fc35                                                                                                                 @updates
      Available Packages
      rpm.x86_64                                                                                                                        4.17.1-3.fc35                                                                                                                 updates
      sqlite-libs.i686                                                                                                                  3.36.0-3.fc35                                                                                                                 @fedora
      sqlite-libs.x86_64                                                                                                                3.36.0-3.fc35                                                                                                                 @fedora
      EOI
    cat <<EOI >=sqlite-libs.info-installed;
      Installed Packages
      rpm.x86_64                                                                                                                        4.17.1-2.fc35                                                                                                                 @updates
      sqlite-libs.x86_64                                                                                                                3.36.0-3.fc35                                                                                                                 @fedora
      Available Packages
      rpm.x86_64                                                                                                                        4.17.1-3.fc35                                                                                                                 updates
      sqlite-libs.i686                                                                                                                  3.36.0-3.fc35                                                                                                                 @fedora
      EOI
    $* libsqlite3 --install libsqlite3 <<EOI 2>>EOE >>EOO
      manifest: libsqlite3 libsqlite3.manifest

      dnf-list:                       libsqlite3-devel sqlite-devel           libsqlite3-devel+sqlite-devel.info
      dnf-repoquery-requires-fetched: sqlite-devel 3.36.0-3.fc35 x86_64 false sqlite-devel.requires-fetched
      dnf-list-fetched:               libsqlite3-devel sqlite-devel           libsqlite3-devel+sqlite-devel.info-fetched
      dnf-list-fetched:               sqlite-libs                             sqlite-libs.info-fetched
      dnf-list-installed:             sqlite-libs                             sqlite-libs.info-installed
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libsqlite3-devel sqlite-devel rpm <libsqlite3-devel+sqlite-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libsqlite3-devel sqlite-devel rpm <libsqlite3-devel+sqlite-devel.info-fetched
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" sqlite-devel-3.36.0-3.fc35.x86_64 <sqlite-devel.requires-fetched
      LC_ALL=C sudo dnf list --cacheonly --quiet sqlite-libs rpm <sqlite-libs.info-fetched
      sudo dnf install --quiet --assumeno sqlite-libs-3.36.0-3.fc35.x86_64 sqlite-devel-3.36.0-3.fc35.x86_64
      sudo dnf mark user --quiet --assumeno --cacheonly sqlite-libs-3.36.0-3.fc35.x86_64 sqlite-devel-3.36.0-3.fc35.x86_64
      LC_ALL=C sudo dnf list --cacheonly --quiet sqlite-libs rpm <sqlite-libs.info-installed
      EOE
      libsqlite3 3.36.0 (sqlite-libs 3.36.0-3.fc35) not installed
      EOO
  }}

  : sqlite3
  :
  {{
    +cat <<EOI >=sqlite3.manifest
      : 1
      name: sqlite3
      version: 3.39.4+1
      project: sqlite
      summary: SQLite database engine shell program
      license: blessing ; SQLite Blessing.
      EOI


    : main-resolve-fail
    :
    cat <<EOI >=sqlite3.info;
      Installed Packages
      rpm.x86_64                                                                                                  4.17.1-2.fc35                                                                                    @updates
      Available Packages
      rpm.x86_64                                                                                                  4.17.1-3.fc35                                                                                    updates
      EOI
    $* sqlite3 --install sqlite3 <<EOI 2>>EOE != 0
      dnf-list: sqlite3 sqlite3.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet sqlite3 rpm <sqlite3.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet sqlite3 rpm <sqlite3.info
      error: no installed or available system package for sqlite3
      EOE


    : installed
    :
    : In particular test the project name-based resolution of the main
    : package.
    :
    ln -s ../sqlite3.manifest ./;
    cat <<EOI >=sqlite3+sqlite.info;
      Installed Packages
      rpm.x86_64                                                                                                                      4.17.1-2.fc35                                                                                                                   @updates
      sqlite.x86_64                                                                                                                   3.36.0-3.fc35                                                                                                                   @fedora
      Available Packages
      rpm.x86_64                                                                                                                      4.17.1-3.fc35                                                                                                                   updates
      sqlite.i686                                                                                                                     3.36.0-3.fc35                                                                                                                   fedora
      EOI
    $* sqlite3 --install sqlite3 <<EOI 2>>EOE >>EOO
      manifest: sqlite3 sqlite3.manifest

      dnf-list: sqlite3 sqlite sqlite3+sqlite.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet sqlite3 sqlite rpm <sqlite3+sqlite.info
      sudo dnf mark user --quiet --assumeno --cacheonly sqlite-3.36.0-3.fc35.x86_64
      EOE
      sqlite3 3.36.0 (sqlite 3.36.0-3.fc35) installed
      EOO


    : not-installed
    :
    ln -s ../sqlite3.manifest ./;
    cat <<EOI >=sqlite3+sqlite.info;
      Installed Packages
      rpm.x86_64                                                                                                                      4.17.1-2.fc35                                                                                                                   @updates
      Available Packages
      rpm.x86_64                                                                                                                      4.17.1-3.fc35                                                                                                                   updates
      sqlite.i686                                                                                                                     3.35.0-1.fc35                                                                                                                   fedora
      sqlite.x86_64                                                                                                                   3.35.0-1.fc35                                                                                                                   @fedora
      EOI
    cat <<EOI >=sqlite3+sqlite.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                                                      4.17.1-2.fc35                                                                                                                   @updates
      Available Packages
      rpm.x86_64                                                                                                                      4.17.1-3.fc35                                                                                                                   updates
      sqlite.i686                                                                                                                     3.36.0-3.fc35                                                                                                                   fedora
      sqlite.x86_64                                                                                                                   3.36.0-3.fc35                                                                                                                   @fedora
      EOI
    cat <<EOI >=sqlite.info-installed;
      Installed Packages
      rpm.x86_64                                                                                                                      4.17.1-2.fc35                                                                                                                   @updates
      sqlite.x86_64                                                                                                                   3.36.0-3.fc35                                                                                                                   @fedora
      Available Packages
      rpm.x86_64                                                                                                                      4.17.1-3.fc35                                                                                                                   updates
      sqlite.i686                                                                                                                     3.36.0-3.fc35                                                                                                                   fedora
      EOI
    $* sqlite3 --install sqlite3 <<EOI 2>>EOE >>EOO
      manifest: sqlite3 sqlite3.manifest

      dnf-list:           sqlite3 sqlite sqlite3+sqlite.info
      dnf-list-fetched:   sqlite3 sqlite sqlite3+sqlite.info-fetched
      dnf-list-installed: sqlite         sqlite.info-installed
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet sqlite3 sqlite rpm <sqlite3+sqlite.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet sqlite3 sqlite rpm <sqlite3+sqlite.info-fetched
      sudo dnf install --quiet --assumeno sqlite-3.36.0-3.fc35.x86_64
      sudo dnf mark user --quiet --assumeno --cacheonly sqlite-3.36.0-3.fc35.x86_64
      LC_ALL=C sudo dnf list --cacheonly --quiet sqlite rpm <sqlite.info-installed
      EOE
      sqlite3 3.36.0 (sqlite 3.36.0-3.fc35) not installed
      EOO
  }}

  : libncurses
  :
  {{
    +cat <<EOI >=libncurses.manifest
      : 1
      name: libncurses
      version: 6.4
      upstream-version: 6.4.0
      project: ncurses
      fedora-to-downstream-version: /([0-9]+)\.([0-9]+)/\1.\2.0/
      summary: ncurses C library
      license: MIT
      EOI
    +cat <<EOI >=libncurses-c++.manifest
      : 1
      name: libncurses-c++
      version: 6.4
      upstream-version: 6.4.0
      project: ncurses
      fedora-name: ncurses-c++-libs ncurses-devel
      fedora-to-downstream-version: /([0-9]+)\.([0-9]+)/\1.\2.0/
      summary: ncurses C++ library
      license: MIT
      EOI


    : installed
    :
    ln -s ../libncurses.manifest ./;
    ln -s ../libncurses-c++.manifest ./;
    cat <<EOI >=libncurses-devel+ncurses-devel.info;
      Installed Packages
      rpm.x86_64                                                                                              4.17.1-2.fc35                                                                                           @updates
      ncurses-devel.x86_64                                                                                    6.2-8.20210508.fc35                                                                                     @fedora
      Available Packages
      rpm.x86_64                                                                                              4.17.1-3.fc35                                                                                           updates
      ncurses-devel.i686                                                                                      6.2-8.20210508.fc35                                                                                     fedora
      EOI
    cat <<EOI >=ncurses-devel.requires;
      bash i686 0:5.1.8-3.fc35
      bash x86_64 0:5.1.8-3.fc35
      ncurses-c++-libs x86_64 0:6.2-8.20210508.fc35
      ncurses-devel i686 0:6.2-8.20210508.fc35
      ncurses-devel x86_64 0:6.2-8.20210508.fc35
      ncurses-libs x86_64 0:6.2-8.20210508.fc35
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      EOI
    cat <<EOI >=ncurses-libs.info;
      Installed Packages
      rpm.x86_64                                                                                              4.17.1-2.fc35                                                                                    @updates
      ncurses-libs.i686                                                                                       6.2-8.20210508.fc35                                                                              @fedora
      ncurses-libs.x86_64                                                                                     6.2-8.20210508.fc35                                                                              @fedora
      Available Packages
      rpm.x86_64                                                                                              4.17.1-3.fc35                                                                                    updates
      EOI
    cat <<EOI >=ncurses-c++-libs+ncurses-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                4.17.1-2.fc35                                                                                    @updates
      ncurses-c++-libs.x86_64                                                                                   6.2-8.20210508.fc35                                                                              @fedora
      ncurses-devel.x86_64                                                                                      6.2-8.20210508.fc35                                                                              @fedora
      Available Packages
      rpm.x86_64                                                                                                4.17.1-3.fc35                                                                                    updates
      ncurses-c++-libs.i686                                                                                     6.2-8.20210508.fc35                                                                              fedora
      ncurses-devel.i686                                                                                        6.2-8.20210508.fc35                                                                              fedora
      EOI
    $* libncurses libncurses-c++ --install libncurses libncurses-c++ <<EOI 2>>EOE >>EOO
      manifest: libncurses     libncurses.manifest
      manifest: libncurses-c++ libncurses-c++.manifest

      dnf-list:               libncurses-devel ncurses-devel                libncurses-devel+ncurses-devel.info
      dnf-repoquery-requires: ncurses-devel 6.2-8.20210508.fc35 x86_64 true ncurses-devel.requires
      dnf-list:               ncurses-libs                                  ncurses-libs.info
      dnf-list:               ncurses-c++-libs ncurses-devel                ncurses-c++-libs+ncurses-devel.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libncurses-devel ncurses-devel rpm <libncurses-devel+ncurses-devel.info
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" --installed --setopt disable_excludes=* ncurses-devel-6.2-8.20210508.fc35.x86_64 <ncurses-devel.requires
      LC_ALL=C sudo dnf list --cacheonly --quiet ncurses-libs rpm <ncurses-libs.info
      LC_ALL=C sudo dnf list --cacheonly --quiet ncurses-c++-libs ncurses-devel rpm <ncurses-c++-libs+ncurses-devel.info
      sudo dnf mark user --quiet --assumeno --cacheonly ncurses-libs-6.2-8.20210508.fc35.x86_64 ncurses-devel-6.2-8.20210508.fc35.x86_64 ncurses-c++-libs-6.2-8.20210508.fc35.x86_64
      EOE
      libncurses 6.2.0 (ncurses-libs 6.2-8.20210508.fc35) installed
      libncurses-c++ 6.2.0 (ncurses-c++-libs 6.2-8.20210508.fc35) installed
      EOO


    : part-installed
    :
    ln -s ../libncurses.manifest ./;
    ln -s ../libncurses-c++.manifest ./;
    cat <<EOI >=libncurses-devel+ncurses-devel.info;
      Installed Packages
      rpm.x86_64                                                                                              4.17.1-2.fc35                                                                                    @updates
      Available Packages
      rpm.x86_64                                                                                              4.17.1-3.fc35                                                                                    updates
      ncurses-devel.i686                                                                                      6.2-8.20210508.fc35                                                                              fedora
      ncurses-devel.x86_64                                                                                    6.2-8.20210508.fc35                                                                              @fedora
      EOI
    cat <<EOI >=ncurses-devel.requires-fetched;
      bash i686 0:5.1.8-3.fc35
      bash x86_64 0:5.1.8-3.fc35
      ncurses-c++-libs x86_64 0:6.2-8.20210508.fc35
      ncurses-devel i686 0:6.2-8.20210508.fc35
      ncurses-devel x86_64 0:6.2-8.20210508.fc35
      ncurses-libs x86_64 0:6.2-8.20210508.fc35
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      EOI
    cat <<EOI >=ncurses-libs.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                              4.17.1-2.fc35                                                                                    @updates
      ncurses-libs.i686                                                                                       6.2-8.20210508.fc35                                                                              @fedora
      ncurses-libs.x86_64                                                                                     6.2-8.20210508.fc35                                                                              @fedora
      Available Packages
      rpm.x86_64                                                                                              4.17.1-3.fc35                                                                                    updates
      EOI
    cat <<EOI >=ncurses-c++-libs+ncurses-devel.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                                4.17.1-2.fc35                                                                                    @updates
      ncurses-c++-libs.x86_64                                                                                   6.2-8.20210508.fc35                                                                              @fedora
      Available Packages
      rpm.x86_64                                                                                                4.17.1-3.fc35                                                                                    updates
      ncurses-c++-libs.i686                                                                                     6.2-8.20210508.fc35                                                                              fedora
      ncurses-devel.i686                                                                                        6.2-8.20210508.fc35                                                                              fedora
      ncurses-devel.x86_64                                                                                      6.2-8.20210508.fc35                                                                              fedora
      EOI
    cat <<EOI >=ncurses-libs+ncurses-c++-libs.info-installed;
      Installed Packages
      rpm.x86_64                                                                                                4.17.1-2.fc35                                                                                    @updates
      ncurses-c++-libs.x86_64                                                                                   6.2-8.20210508.fc35                                                                              @fedora
      ncurses-libs.i686                                                                                         6.2-8.20210508.fc35                                                                              @fedora
      ncurses-libs.x86_64                                                                                       6.2-8.20210508.fc35                                                                              @fedora
      Available Packages
      rpm.x86_64                                                                                                4.17.1-3.fc35                                                                                    updates
      ncurses-c++-libs.i686                                                                                     6.2-8.20210508.fc35                                                                              fedora
      EOI
    $* libncurses libncurses-c++ --install libncurses libncurses-c++ <<EOI 2>>EOE >>EOO
      manifest: libncurses     libncurses.manifest
      manifest: libncurses-c++ libncurses-c++.manifest

      dnf-list:                       libncurses-devel ncurses-devel                 libncurses-devel+ncurses-devel.info
      dnf-repoquery-requires-fetched: ncurses-devel 6.2-8.20210508.fc35 x86_64 false ncurses-devel.requires-fetched
      dnf-list-fetched:               ncurses-libs                                   ncurses-libs.info-fetched
      dnf-list-fetched:               ncurses-c++-libs ncurses-devel                 ncurses-c++-libs+ncurses-devel.info-fetched
      dnf-list-installed:             ncurses-libs ncurses-c++-libs                  ncurses-libs+ncurses-c++-libs.info-installed
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libncurses-devel ncurses-devel rpm <libncurses-devel+ncurses-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libncurses-devel ncurses-devel rpm <libncurses-devel+ncurses-devel.info
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" ncurses-devel-6.2-8.20210508.fc35.x86_64 <ncurses-devel.requires-fetched
      LC_ALL=C sudo dnf list --cacheonly --quiet ncurses-libs rpm <ncurses-libs.info-fetched
      LC_ALL=C sudo dnf list --cacheonly --quiet ncurses-c++-libs ncurses-devel rpm <ncurses-c++-libs+ncurses-devel.info-fetched
      sudo dnf install --quiet --assumeno ncurses-libs-6.2-8.20210508.fc35.x86_64 ncurses-devel-6.2-8.20210508.fc35.x86_64 ncurses-c++-libs-6.2-8.20210508.fc35.x86_64
      sudo dnf mark user --quiet --assumeno --cacheonly ncurses-libs-6.2-8.20210508.fc35.x86_64 ncurses-devel-6.2-8.20210508.fc35.x86_64 ncurses-c++-libs-6.2-8.20210508.fc35.x86_64
      LC_ALL=C sudo dnf list --cacheonly --quiet ncurses-libs ncurses-c++-libs rpm <ncurses-libs+ncurses-c++-libs.info-installed
      EOE
      libncurses 6.2.0 (ncurses-libs 6.2-8.20210508.fc35) part installed
      libncurses-c++ 6.2.0 (ncurses-c++-libs 6.2-8.20210508.fc35) part installed
      EOO


    : not-installed
    :
    ln -s ../libncurses.manifest ./;
    ln -s ../libncurses-c++.manifest ./;
    cat <<EOI >=libncurses-devel+ncurses-devel.info;
      Installed Packages
      rpm.x86_64                                                                                              4.17.1-2.fc35                                                                                    @updates
      Available Packages
      rpm.x86_64                                                                                              4.17.1-3.fc35                                                                                    updates
      ncurses-devel.i686                                                                                      6.2-8.20210508.fc35                                                                              fedora
      ncurses-devel.x86_64                                                                                    6.2-8.20210508.fc35                                                                              @fedora
      EOI
    cat <<EOI >=libncurses-devel+ncurses-devel.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                              4.17.1-2.fc35                                                                                    @updates
      Available Packages
      rpm.x86_64                                                                                              4.17.1-3.fc35                                                                                    updates
      ncurses-devel.i686                                                                                      6.2-8.20210508.fc35                                                                              fedora
      ncurses-devel.x86_64                                                                                    6.2-8.20210508.fc35                                                                              fedora
      EOI
    cat <<EOI >=ncurses-devel.requires-fetched;
      bash i686 0:5.1.8-3.fc35
      bash x86_64 0:5.1.8-3.fc35
      ncurses-c++-libs x86_64 0:6.2-8.20210508.fc35
      ncurses-devel i686 0:6.2-8.20210508.fc35
      ncurses-devel x86_64 0:6.2-8.20210508.fc35
      ncurses-libs x86_64 0:6.2-8.20210508.fc35
      pkgconf-pkg-config i686 0:1.8.0-1.fc35
      pkgconf-pkg-config x86_64 0:1.8.0-1.fc35
      EOI
    cat <<EOI >=ncurses-libs.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                              4.17.1-2.fc35                                                                                    @updates
      ncurses-libs.i686                                                                                       6.2-8.20210508.fc35                                                                              @fedora
      Available Packages
      rpm.x86_64                                                                                              4.17.1-3.fc35                                                                                    updates
      ncurses-libs.x86_64                                                                                     6.2-8.20210508.fc35                                                                              @fedora
      EOI
    cat <<EOI >=ncurses-c++-libs+ncurses-devel.info-fetched;
      Installed Packages
      rpm.x86_64                                                                                                4.17.1-2.fc35                                                                                    @updates
      Available Packages
      rpm.x86_64                                                                                                4.17.1-3.fc35                                                                                    updates
      ncurses-c++-libs.i686                                                                                     6.2-8.20210508.fc35                                                                              fedora
      ncurses-c++-libs.x86_64                                                                                   6.2-8.20210508.fc35                                                                              @fedora
      ncurses-devel.i686                                                                                        6.2-8.20210508.fc35                                                                              fedora
      ncurses-devel.x86_64                                                                                      6.2-8.20210508.fc35                                                                              fedora
      EOI
    cat <<EOI >=ncurses-libs+ncurses-c++-libs.info-installed;
      Installed Packages
      rpm.x86_64                                                                                                4.17.1-2.fc35                                                                                    @updates
      ncurses-c++-libs.x86_64                                                                                   6.2-8.20210508.fc35                                                                              @fedora
      ncurses-libs.i686                                                                                         6.2-8.20210508.fc35                                                                              @fedora
      ncurses-libs.x86_64                                                                                       6.2-8.20210508.fc35                                                                              @fedora
      Available Packages
      rpm.x86_64                                                                                                4.17.1-3.fc35                                                                                    updates
      ncurses-c++-libs.i686                                                                                     6.2-8.20210508.fc35                                                                              fedora
      EOI
    $* libncurses libncurses-c++ --install libncurses libncurses-c++ <<EOI 2>>EOE >>EOO
      manifest: libncurses     libncurses.manifest
      manifest: libncurses-c++ libncurses-c++.manifest

      dnf-list:                       libncurses-devel ncurses-devel                 libncurses-devel+ncurses-devel.info
      dnf-list-fetched:               libncurses-devel ncurses-devel                 libncurses-devel+ncurses-devel.info-fetched
      dnf-repoquery-requires-fetched: ncurses-devel 6.2-8.20210508.fc35 x86_64 false ncurses-devel.requires-fetched
      dnf-list-fetched:               ncurses-libs                                   ncurses-libs.info-fetched
      dnf-list-fetched:               ncurses-c++-libs ncurses-devel                 ncurses-c++-libs+ncurses-devel.info-fetched
      dnf-list-installed:             ncurses-libs ncurses-c++-libs                  ncurses-libs+ncurses-c++-libs.info-installed
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libncurses-devel ncurses-devel rpm <libncurses-devel+ncurses-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libncurses-devel ncurses-devel rpm <libncurses-devel+ncurses-devel.info-fetched
      LC_ALL=C sudo dnf repoquery --cacheonly --quiet --providers-of requires --queryformat "%{name} %{arch} %{epoch}:%{version}-%{release}\n" ncurses-devel-6.2-8.20210508.fc35.x86_64 <ncurses-devel.requires-fetched
      LC_ALL=C sudo dnf list --cacheonly --quiet ncurses-libs rpm <ncurses-libs.info-fetched
      LC_ALL=C sudo dnf list --cacheonly --quiet ncurses-c++-libs ncurses-devel rpm <ncurses-c++-libs+ncurses-devel.info-fetched
      sudo dnf install --quiet --assumeno ncurses-libs-6.2-8.20210508.fc35.x86_64 ncurses-devel-6.2-8.20210508.fc35.x86_64 ncurses-c++-libs-6.2-8.20210508.fc35.x86_64
      sudo dnf mark user --quiet --assumeno --cacheonly ncurses-libs-6.2-8.20210508.fc35.x86_64 ncurses-devel-6.2-8.20210508.fc35.x86_64 ncurses-c++-libs-6.2-8.20210508.fc35.x86_64
      LC_ALL=C sudo dnf list --cacheonly --quiet ncurses-libs ncurses-c++-libs rpm <ncurses-libs+ncurses-c++-libs.info-installed
      EOE
      libncurses 6.2.0 (ncurses-libs 6.2-8.20210508.fc35) not installed
      libncurses-c++ 6.2.0 (ncurses-c++-libs 6.2-8.20210508.fc35) not installed
      EOO
  }}

  : libsigc++
  :
  {{
    +cat <<EOI >=libsigc++.manifest
      : 1
      name: libsigc++
      version: 3.4.0
      fedora-name: libsigc++30 libsigc++30-devel libsigc++30-doc
      fedora-name: libsigc++20 libsigc++20-devel libsigc++20-doc
      summary: Typesafe callback system for standard C++
      license: LGPL-3.0-only
      EOI


    : one-full-installed
    :
    ln -s ../libsigc++.manifest ./;
    cat <<EOI >=libsigc++30+libsigc++30-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                  4.17.1-2.fc35                                                                                    @updates
      libsigc++30.x86_64                                                                                          3.0.7-2.fc35                                                                                     @fedora
      Available Packages
      rpm.x86_64                                                                                                  4.17.1-3.fc35                                                                                    updates
      libsigc++30.i686                                                                                            3.0.7-2.fc35                                                                                     fedora
      libsigc++30-devel.i686                                                                                      3.0.7-2.fc35                                                                                     fedora
      libsigc++30-devel.x86_64                                                                                    3.0.7-2.fc35                                                                                     fedora
      EOI
    cat <<EOI >=libsigc++20+libsigc++20-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                  4.17.1-2.fc35                                                                                    @updates
      libsigc++20.x86_64                                                                                          2.10.7-3.fc35                                                                                    @fedora
      libsigc++20-devel.x86_64                                                                                    2.10.7-3.fc35                                                                                    @fedora
      Available Packages
      rpm.x86_64                                                                                                  4.17.1-3.fc35                                                                                    updates
      libsigc++20.i686                                                                                            2.10.7-3.fc35                                                                                    fedora
      libsigc++20-devel.i686                                                                                      2.10.7-3.fc35                                                                                    fedora
      EOI
    $* libsigc++ --install libsigc++ <<EOI 2>>EOE >>EOO
      manifest: libsigc++ libsigc++.manifest

      dnf-list: libsigc++30 libsigc++30-devel libsigc++30+libsigc++30-devel.info
      dnf-list: libsigc++20 libsigc++20-devel libsigc++20+libsigc++20-devel.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++30 libsigc++30-devel rpm <libsigc++30+libsigc++30-devel.info
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++20 libsigc++20-devel rpm <libsigc++20+libsigc++20-devel.info
      sudo dnf mark user --quiet --assumeno --cacheonly libsigc++20-2.10.7-3.fc35.x86_64 libsigc++20-devel-2.10.7-3.fc35.x86_64
      EOE
      libsigc++ 2.10.7 (libsigc++20 2.10.7-3.fc35) installed
      EOO


    : one-part-installed
    :
    ln -s ../libsigc++.manifest ./;
    cat <<EOI >=libsigc++30+libsigc++30-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                    4.17.1-2.fc35                                                                                     @updates
      Available Packages
      rpm.x86_64                                                                                                    4.17.1-3.fc35                                                                                     updates
      libsigc++30.i686                                                                                             3.0.7-2.fc35                                                                                       fedora
      libsigc++30.x86_64                                                                                           3.0.7-2.fc35                                                                                       fedora
      libsigc++30-devel.i686                                                                                       3.0.7-2.fc35                                                                                       fedora
      libsigc++30-devel.x86_64                                                                                     3.0.7-2.fc35                                                                                       fedora
      EOI
    cat <<EOI >=libsigc++20+libsigc++20-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                   4.17.1-2.fc35                                                                                      @updates
      libsigc++20.x86_64                                                                                           2.10.7-3.fc35                                                                                      @fedora
      Available Packages
      rpm.x86_64                                                                                                   4.17.1-3.fc35                                                                                      updates
      libsigc++20.i686                                                                                             2.10.7-3.fc35                                                                                      fedora
      libsigc++20-devel.i686                                                                                       2.10.7-3.fc35                                                                                      fedora
      libsigc++20-devel.x86_64                                                                                     2.10.7-3.fc35                                                                                      fedora
      EOI
    cat <<EOI >=libsigc++20.info-installed;
      Installed Packages
      rpm.x86_64                                                                                                4.17.1-2.fc35                                                                                    @updates
      libsigc++20.x86_64                                                                                        2.10.7-3.fc35                                                                                    @fedora
      Available Packages
      rpm.x86_64                                                                                                4.17.1-3.fc35                                                                                    updates
      libsigc++20.i686                                                                                          2.10.7-3.fc35                                                                                    fedora
      EOI
    $* libsigc++ --install libsigc++ <<EOI 2>>EOE >>EOO
      manifest: libsigc++ libsigc++.manifest

      dnf-list:           libsigc++30 libsigc++30-devel libsigc++30+libsigc++30-devel.info
      dnf-list:           libsigc++20 libsigc++20-devel libsigc++20+libsigc++20-devel.info
      dnf-list-installed: libsigc++20                   libsigc++20.info-installed
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++30 libsigc++30-devel rpm <libsigc++30+libsigc++30-devel.info
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++20 libsigc++20-devel rpm <libsigc++20+libsigc++20-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++30 libsigc++30-devel rpm <libsigc++30+libsigc++30-devel.info
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++20 libsigc++20-devel rpm <libsigc++20+libsigc++20-devel.info
      sudo dnf install --quiet --assumeno libsigc++20-2.10.7-3.fc35.x86_64 libsigc++20-devel-2.10.7-3.fc35.x86_64
      sudo dnf mark user --quiet --assumeno --cacheonly libsigc++20-2.10.7-3.fc35.x86_64 libsigc++20-devel-2.10.7-3.fc35.x86_64
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++20 rpm <libsigc++20.info-installed
      EOE
      libsigc++ 2.10.7 (libsigc++20 2.10.7-3.fc35) part installed
      EOO


    : none-installed
    :
    ln -s ../libsigc++.manifest ./;
    cat <<EOI >=libsigc++30+libsigc++30-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                   4.17.1-2.fc35                                                                                    @updates
      Available Packages
      libsigc++30.i686                                                                                             3.0.7-2.fc35                                                                                     fedora
      libsigc++30.x86_64                                                                                           3.0.7-2.fc35                                                                                     fedora
      libsigc++30-devel.i686                                                                                       3.0.7-2.fc35                                                                                     fedora
      libsigc++30-devel.x86_64                                                                                     3.0.7-2.fc35                                                                                     fedora
      rpm.x86_64                                                                                                   4.17.1-3.fc35                                                                                    updates
      EOI
    cat <<EOI >=libsigc++20+libsigc++20-devel.info;
      Installed Packages
      rpm.x86_64                                                                                                   4.17.1-2.fc35                                                                                    @updates
      Available Packages
      libsigc++20.i686                                                                                             2.10.7-3.fc35                                                                                    fedora
      libsigc++20.x86_64                                                                                           2.10.7-3.fc35                                                                                    @fedora
      libsigc++20-devel.i686                                                                                       2.10.7-3.fc35                                                                                    fedora
      libsigc++20-devel.x86_64                                                                                     2.10.7-3.fc35                                                                                    fedora
      rpm.x86_64                                                                                                   4.17.1-3.fc35                                                                                    updates
      EOI
    $* libsigc++ --install libsigc++ <<EOI 2>>EOE != 0
      manifest: libsigc++ libsigc++.manifest

      dnf-list:           libsigc++30 libsigc++30-devel libsigc++30+libsigc++30-devel.info
      dnf-list:           libsigc++20 libsigc++20-devel libsigc++20+libsigc++20-devel.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++30 libsigc++30-devel rpm <libsigc++30+libsigc++30-devel.info
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++20 libsigc++20-devel rpm <libsigc++20+libsigc++20-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++30 libsigc++30-devel rpm <libsigc++30+libsigc++30-devel.info
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++20 libsigc++20-devel rpm <libsigc++20+libsigc++20-devel.info
      error: multiple available fedora packages for libsigc++
        info: candidate: libsigc++30 3.0.7-2.fc35
        info: candidate: libsigc++20 2.10.7-3.fc35
        info: consider installing the desired package manually and retrying the bpkg command
      EOE


    : both-part-installed
    :
    ln -s ../libsigc++.manifest ./;
    cat <<EOI >=libsigc++30+libsigc++30-devel.info;
      Installed Packages
      libsigc++30.x86_64                                                                                           3.0.7-2.fc35                                                                                     fedora
      rpm.x86_64                                                                                                   4.17.1-2.fc35                                                                                    @updates
      Available Packages
      libsigc++30.i686                                                                                             3.0.7-2.fc35                                                                                     fedora
      libsigc++30-devel.i686                                                                                       3.0.7-2.fc35                                                                                     fedora
      libsigc++30-devel.x86_64                                                                                     3.0.7-2.fc35                                                                                     fedora
      rpm.x86_64                                                                                                   4.17.1-3.fc35                                                                                    updates
      EOI
    cat <<EOI >=libsigc++20+libsigc++20-devel.info;
      Installed Packages
      libsigc++20.x86_64                                                                                           2.10.7-3.fc35                                                                                    @fedora
      rpm.x86_64                                                                                                   4.17.1-2.fc35                                                                                    @updates
      Available Packages
      libsigc++20.i686                                                                                             2.10.7-3.fc35                                                                                    fedora
      libsigc++20-devel.i686                                                                                       2.10.7-3.fc35                                                                                    fedora
      libsigc++20-devel.x86_64                                                                                     2.10.7-3.fc35                                                                                    fedora
      rpm.x86_64                                                                                                   4.17.1-3.fc35                                                                                    updates
      EOI
    $* libsigc++ --install libsigc++ <<EOI 2>>EOE != 0
      manifest: libsigc++ libsigc++.manifest

      dnf-list:           libsigc++30 libsigc++30-devel libsigc++30+libsigc++30-devel.info
      dnf-list:           libsigc++20 libsigc++20-devel libsigc++20+libsigc++20-devel.info
      EOI
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++30 libsigc++30-devel rpm <libsigc++30+libsigc++30-devel.info
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++20 libsigc++20-devel rpm <libsigc++20+libsigc++20-devel.info
      sudo dnf makecache --quiet --assumeno --refresh
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++30 libsigc++30-devel rpm <libsigc++30+libsigc++30-devel.info
      LC_ALL=C sudo dnf list --cacheonly --quiet libsigc++20 libsigc++20-devel rpm <libsigc++20+libsigc++20-devel.info
      error: multiple partially installed fedora packages for libsigc++
        info: candidate: libsigc++30 3.0.7-2.fc35, missing components: libsigc++30-devel
        info: candidate: libsigc++20 2.10.7-3.fc35, missing components: libsigc++20-devel
        info: consider fully installing the desired package manually and retrying the bpkg command
      EOE
  }}
}}
