github.com/canonical/ubuntu-image@v0.0.0-20240430122802-2202fe98b290/tests/lib/external/snapd-testing-tools/tools/tests.pkgs.dnf-yum.sh (about)

     1  #!/bin/bash
     2  
     3  remap_one() {
     4      case "$1" in
     5          xdelta3)
     6              echo "xdelta"
     7              ;;
     8          openvswitch-switch)
     9              echo "openvswitch"
    10              ;;
    11          printer-driver-cups-pdf)
    12              echo "cups-pdf"
    13              ;;
    14          python3-gi)
    15              echo "python3-gobject"
    16              ;;
    17          test-snapd-pkg-1)
    18              echo "freeglut"
    19              ;;
    20          test-snapd-pkg-2)
    21              echo "texlive-base"
    22              ;;
    23          *)
    24              echo "$1"
    25              ;;
    26      esac
    27  }
    28  
    29  cmd_install() {
    30      local CMD="dnf"
    31      if [ -z "$(command -v dnf)" ]; then
    32          CMD="yum"
    33      fi
    34      local DNF_YUM_FLAGS="-y"
    35  
    36      while [ -n "$1" ]; do
    37          case "$1" in
    38              --no-install-recommends)
    39                  DNF_YUM_FLAGS="$DNF_YUM_FLAGS --setopt=install_weak_deps=False"
    40                  shift
    41                  ;;
    42              *)
    43                  break
    44                  ;;
    45          esac
    46      done
    47  
    48      # shellcheck disable=SC2068,SC2086
    49      $CMD install $DNF_YUM_FLAGS $@
    50  }
    51  
    52  cmd_is_installed() {
    53      rpm -qi "$1" >/dev/null 2>&1
    54  }
    55  
    56  cmd_query() {
    57      if [ "$(command -v dnf)" != "" ]; then
    58          dnf info "$1"
    59      else
    60          yum info "$1"
    61      fi
    62  }
    63  
    64  cmd_list_installed() {
    65      rpm -qa | sort
    66  }
    67  
    68  cmd_remove() {
    69      # shellcheck disable=SC2068
    70      if [ "$(command -v dnf)" != "" ]; then
    71          dnf remove -y $@
    72      else
    73          yum remove -y $@
    74      fi
    75  }