123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/usr/bin/bash
- OPTS=()
- SPEC=
- while IFS= read -r line; do
- if [ "$line" = "---" ]; then
- break
- fi
- case "$line" in
- --enablerepo=*|\
- --disablerepo=*|\
- --repoid=*|\
- --repofrompath=*|\
- --releasever=*)
- OPTS+=("$line")
- ;;
- *)
- SPEC="$line"
- ;;
- esac
- done
- repodir=$(mktemp -d)
- cat > "$repodir/template.repo"
- OPTS+=("--setopt=reposdir=${repodir}")
- OPTS+=("--quiet")
- RET=0
- if [ "$1" = "query" ]; then
- # shellcheck disable=SC2068
- dnf repoquery ${OPTS[@]} --qf='%{name}:%{epoch}:%{version}:%{release}:%{reponame}:%{downloadsize}:%{summary}' "$SPEC"
- RET="$?"
- elif [ "$1" = "download" ]; then
- # shellcheck disable=SC2068
- curl -L "$(dnf download ${OPTS[@]} --url "$SPEC" | shuf -n 1)" -o -
- RET="$?"
- fi
- rm -r "$repodir"
- exit "$RET"
|