summaryrefslogtreecommitdiffstats
path: root/redhat/build/get_source_files.sh
blob: 2e30edc9b42aa33f2621c0097db87c8cf95b66c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash

PKGNAME="${1##*/}"
TDE_VERSION="${2:-14.0.5}"
DIST="$3"

[ -z "${PKGNAME}" ] && echo "You must specify a package name !" && exit 1
SPECFILE=$(get_specfile.sh ${PKGNAME} ${TDE_VERSION})
SPECDIR="${SPECFILE%/*}"
RPMPKGNAME="$(get_rpm_package_name.sh ${PKGNAME})"

[ ! -r "${SPECFILE}" ] && exit 2

while read var val; do
  case "${var}" in
    Version:*) VERSION="${val}";;
    Source[0-9]*:|Source:|Patch[0-9]*:)
      FILE="${SPECDIR}/${val##*/}"
      if [ "${DIST}" = "any" ] && [ "${var//%\{?dist\}/}" = "${var}" ]; then
        FILES="${FILE//%\{?dist\}/.}"*
      else
        FILES="${FILE}"
      fi

      for FILE in $FILES; do
        file=$(rpm --define "tde_pkg ${PKGNAME}" \
                   --define "tde_version ${TDE_VERSION}" \
                   --define "name ${RPMPKGNAME}" \
                   --define "version ${VERSION}" \
                   --define "dist ${DIST:-$(rpm -E %dist)}" \
                   -E "${FILE}")
        [ -r "${file}" ] && echo "${file}"
      done
    ;;
  esac
done < "${SPECFILE}"