[redhat-rpm-config: 95/215] add dist.sh

Panu Matilainen pmatilai at fedoraproject.org
Wed Apr 2 10:26:21 UTC 2014


commit 259bb7270c10dfc42922139c16555767d129c477
Author: Elliot Lee <sopwith at redhat.com>
Date:   Thu Mar 24 20:10:06 2005 +0000

    add dist.sh

 dist.sh |   66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)
---
diff --git a/dist.sh b/dist.sh
new file mode 100755
index 0000000..9cbeb8d
--- /dev/null
+++ b/dist.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+# dist.sh
+# Author: Tom "spot" Callaway <tcallawa at redhat.com>
+# License: GPL
+# This is a script to output the value for the %{dist}
+# tag. The dist tag takes the following format: .$type$num
+# Where $type is one of: el, fc, rh
+# (for RHEL, Fedora Core, and RHL, respectively)
+# And $num is the version number of the distribution.
+# NOTE: We can't detect Rawhide or Fedora Test builds properly.
+# If we successfully detect the version number, we output the
+# dist tag. Otherwise, we exit with no output.
+
+RELEASEFILE=/etc/redhat-release
+
+function check_num {
+    MAINVER=`cut -d "(" -f 1 < $RELEASEFILE | \
+	sed -e "s/[^0-9.]//g" -e "s/$//g" | cut -d "." -f 1`
+
+    echo $MAINVER | grep -q '[0-9]' && echo $MAINVER
+}
+
+function check_rhl {
+    grep -q "Red Hat Linux" $RELEASEFILE && ! grep -q "Advanced" $RELEASEFILE && echo $DISTNUM
+}
+
+function check_rhel {
+    egrep -q "(Enterprise|Advanced)" $RELEASEFILE && echo $DISTNUM
+}
+
+function check_fedora {
+    grep -q Fedora $RELEASEFILE && echo $DISTNUM
+}
+
+DISTNUM=`check_num`
+DISTFC=`check_fedora`
+DISTRHL=`check_rhl`
+DISTRHEL=`check_rhel`
+if [ -n "$DISTNUM" ]; then
+    if [ -n "$DISTFC" ]; then
+	DISTTYPE=fc
+    elif [ -n "$DISTRHEL" ]; then
+	DISTTYPE=el
+    elif [ -n "$DISTRHL" ]; then
+	DISTTYPE=rhl
+    fi
+fi
+[ -n "$DISTTYPE" -a -n "$DISTNUM" ] && DISTTAG=".${DISTTYPE}${DISTNUM}"
+
+case "$1" in
+    --el) echo -n "$DISTRHEL" ;;
+    --fc) echo -n "$DISTFEDORA" ;;
+    --rhl) echo -n "$DISTRHL" ;;
+    --distnum) echo -n "$DISTNUM" ;;
+    --disttype) echo -n "$DISTTYPE" ;;
+    --help)
+	printf "Usage: $0 [OPTIONS]\n"
+	printf " Default mode is --dist. Possible options:\n"
+	printf " --el\t\tfor RHEL version (if RHEL)\n"
+	printf " --fc\t\tfor Fedora version (if Fedora)\n"
+	printf " --rhl\t\tfor RHL version (if RHL)\n"
+	printf " --dist\t\tfor distribution tag\n"
+	printf " --distnum\tfor distribution number (major)\n"
+	printf " --disttype\tfor distribution type\n" ;;
+    *) echo -n "$DISTTAG" ;;
+esac


More information about the scm-commits mailing list