source: MondoRescue/branches/stable/tools/distro-env@ 916

Last change on this file since 916 was 916, checked in by Bruno Cornec, 17 years ago

Fixes to support CentOS build
Fixes for build errors reporetd by Andy Wright (mondo_at_eltofts.homelinux.com)

  • Property svn:executable set to *
File size: 3.7 KB
Line 
1#!/bin/bash
2#
3# Create env depending on the distro on which we are
4#
5# $Id$
6#
7# Input parameters : $ddir (distro name) and $dver (distro version)
8# If they do not exist then deduce from current distro
9# Exports : $dfam (distro family) $suf (pkg suffix) $dtype (distro type) TOPBUILDDIR (dir to build packages)
10
11#
12# Guess ddir and dver from the underlying distro
13#
14if [ _"$ddir" = _"" ]; then
15 if [ -e /etc/mandriva-release ]; then
16 export ddir="mandriva"
17 export dver=`awk '{print $4}' /etc/mandriva-release`
18 elif [ -e /etc/mandrake-release ]; then
19 export ddir="mandrake"
20 export dver=`awk '{print $3}' /etc/mandrake-release`
21 elif [ -e /etc/redhat-release ]; then
22 grep -q Enterprise /etc/redhat-release
23 if [ $? -eq 0 ]; then
24 export ddir="rhel"
25 export dver=`awk '{print $7}' /etc/redhat-release`
26 elif grep -q Fedora /etc/redhat-release ; then
27 export ddir="fedora"
28 export dver=`awk '{print $4}' /etc/redhat-release`
29 elif grep -q CentOS /etc/redhat-release ; then
30 export ddir="centos"
31 export dver=`awk '{print $4}' /etc/redhat-release`
32 else
33 export ddir="redhat"
34 export dver=`awk '{print $5}' /etc/redhat-release`
35 fi
36 elif [ -e /etc/SuSE-release ]; then
37 grep -q Enterprise /etc/SuSE-release
38 if [ $? -eq 0 ]; then
39 export ddir="sles"
40 export dver=`head -1 /etc/SuSE-release | awk '{print $5}'`
41 else
42 export ddir="suse"
43 export dver=`head -1 /etc/SuSE-release | awk '{print $3}'`
44 fi
45 elif [ -e /etc/gentoo-release ]; then
46 export ddir="gentoo"
47 export dver=`awk '{print $5}' /etc/gentoo-release | cut -d. -f1-2`
48 elif [ -e /etc/debian_version ]; then
49 export ddir="debian"
50 export dver=`cat /etc/debian_version`
51 # Debian assigns release names only once a release actually happens.
52 # Debian does not distinguish between testing and unstable because
53 # unstable today is what testing will be in about ten days time. So,
54 # in case we encounter "tesing/unstable", we assume unstable, i.e. sid.
55 # Note that for released versions, the numeric version will be contained
56 # in debian_version, e.g. on a sarge system, the value will be '3.1'.
57 if [ $dver = "testing/unstable" ]; then
58 export dver = "sid"
59 fi
60 else
61 export ddir="unknown"
62 export dver=""
63 fi
64fi
65
66#
67# Generate all other parameters
68#
69if [ $ddir = "debian" ]; then
70 dfam="debian"
71 dtype="deb"
72 suf=".${dfam}${dver}"
73elif [ $ddir = "gentoo" ]; then
74 dfam="gentoo"
75 dtype="ebuild"
76 dver1=`echo ${dver} | sed "s/\.//"`
77 suf=".${ddir}${dver1}"
78elif [ $ddir = "slackware" ]; then
79 dfam="slack"
80 dtype="tgz"
81 suf=".${dfam}${dver}"
82elif [ $ddir = "sles" -o $ddir = "suse" ]; then
83 dfam="suse"
84 dtype="rpm"
85 suf=".${ddir}${dver}"
86elif [ $ddir = "fedora" -o $ddir = "redhat" -o $ddir = "rhel" -o $ddir = "centos" ]; then
87 dfam="redhat"
88 dtype="rpm"
89 dver1=`echo ${dver} | sed "s/\.//"`
90 if [ $ddir = "fedora" ]; then
91 suf=".fc${dver1}"
92 elif [ $ddir = "centos" ]; then
93 suf=".centos${dver1}"
94 elif [ $ddir = "redhat" ]; then
95 suf=".rh${dver1}"
96 else
97 suf=".rhel${dver1}"
98 fi
99elif [ $ddir = "mandrake" ]; then
100 dfam="mandriva"
101 dtype="rpm"
102 suf=".`echo $dver | sed 's/\.//'`mdk"
103elif [ $ddir = "mandriva" ]; then
104 dfam="mandriva"
105 dtype="rpm"
106 suf=".`echo $dver | sed 's/\.//'`mdv"
107else
108 dfam="unknown"
109 dtype="unknown"
110 suf="unknown"
111fi
112
113export dfam
114export dtype
115export suf
116
117#
118# Additional exports and preparation for some distros
119#
120
121# Default
122export TOPBUILDDIR=${TOPDIR}/../build
123
124if [ _"$dtype" = _"rpm" ]; then
125 export ARCH=`rpm --showrc | egrep "^build arch" | awk '{print $4}'`
126 if [ -f ${HOME}/.rpmmacros ]; then
127 export TOPBUILDDIR=`egrep '^%_topdir' ${HOME}/.rpmmacros | awk '{print $2}'`
128 fi
129 mkdir -p ${TOPBUILDDIR}/{RPMS,SRPMS,SPECS,SOURCES,BUILD}
130elif [ _"$dtype" = _"deb" ]; then
131 mkdir -p ${TOPBUILDDIR}
132elif [ _"$dtype" = _"ebuild" ]; then
133 mkdir -p ${TOPBUILDDIR}/portage
134fi
Note: See TracBrowser for help on using the repository browser.