source: branches/2.2.5/mindi/install.sh @ 1761

Last change on this file since 1761 was 1761, checked in by Bruno Cornec, 13 years ago

Adds preliminary Hardware support to mindi (Proliant SSSTK)
Not tested yet, just coded, and saved in SVN as a backup :-)

  • Property svn:keywords set to Id
File size: 4.2 KB
Line 
1#!/bin/bash
2#
3# $Id: install.sh 1761 2007-11-01 19:27:45Z bruno $
4#
5
6if [ ! -f "mindi" ] ; then
7    echo "Please 'cd' to the directory you have just untarred." >> /dev/stderr
8    exit 1
9fi
10
11if [ "_$PREFIX" != "_" ]; then
12    local=${HEAD}$PREFIX
13    sublocal=$PREFIX
14    if [ "_$CONFDIR" != "_" ]; then
15        conf=${HEAD}$CONFDIR/mindi
16        subconf=$CONFDIR/mindi
17    else
18        echo "CONFDIR should be defined if PREFIX is defined"
19        exit -1
20    fi
21else
22    local=/usr/local
23    sublocal=$local
24    if [ -f /usr/sbin/mindi ]; then
25        echo "WARNING: /usr/sbin/mindi exists. You should probably remove the mindi package !"
26    fi
27    conf=$local/etc/mindi
28    subconf=$conf
29    echo $PATH | grep $local/sbin > /dev/null || echo "Warning - your PATH environmental variable is BROKEN. Please add $local/sbin to your PATH."
30fi
31
32if uname -a | grep Knoppix > /dev/null || [ -e "/ramdisk/usr" ] ; then
33    local=/ramdisk/usr
34    sublocal=$local
35    conf=/ramdisk/etc
36    subconf=$conf
37    export PATH=/ramdisk/usr/sbin:/ramdisk/usr/bin:/$PATH
38fi
39
40MINDIVER=PBVER
41MINDIREV=PBREV
42ARCH=`/bin/uname -m`
43echo "mindi ${MINDIVER}-r${MINDIREV} will be installed under $local"
44
45if [ _"$CACHEDIR" = _"" ]; then
46    CACHEDIR=$local/var/cache/mindi
47else
48    CACHEDIR=${HEAD}$CACHEDIR
49fi
50if [ _"$MANDIR" = _"" ]; then
51    MANDIR=$local/share/man/man8
52else
53    MANDIR=${HEAD}$MANDIR/man8
54fi
55if [ _"$DOCDIR" = _"" ]; then
56    DOCDIR=$local/share/doc/mindi-$MINDIVER
57else
58    DOCDIR=${HEAD}$DOCDIR/mindi-$MINDIVER
59fi
60if [ _"$LIBDIR" = _"" ]; then
61    echo $ARCH | grep -E '^i[0-9]86$' &> /dev/null && ARCH=i386 && locallib=$local/lib
62    echo $ARCH | grep -E '^x86_64$' &> /dev/null && locallib=$local/lib64
63    echo $ARCH | grep -E '^ia64$' &> /dev/null && locallib=$local/lib
64    sublocallib="$locallib/mindi"
65else
66    locallib=${HEAD}$LIBDIR
67    sublocallib="$LIBDIR/mindi"
68fi
69
70echo "Creating target directories ..."
71install -m 755 -d $conf $locallib/mindi $MANDIR $local/sbin $CACHEDIR # $DOCDIR
72
73echo "Copying files ..."
74cp -af rootfs aux-tools $locallib/mindi
75chmod 755 $locallib/mindi/rootfs/sbin/*
76chmod 755 $locallib/mindi/aux-tools/sbin/*
77install -m 755 analyze-my-lvm $locallib/mindi
78install -m 644 isolinux.cfg msg-txt sys-disk.raw.gz isolinux-H.cfg syslinux.cfg syslinux-H.cfg dev.tgz $locallib/mindi
79install -m 644 deplist.txt udev.files proliant.files $conf
80
81# Substitute variables for mindi
82sed -e "s~^MINDI_PREFIX=XXX~MINDI_PREFIX=$sublocal~" -e "s~^MINDI_CONF=YYY~MINDI_CONF=$subconf~" -e "s~^MINDI_LIB=LLL~MINDI_LIB=$sublocallib~" mindi > $local/sbin/mindi
83sed -e "s~= "YYY"~= "$subconf"~" mindi-bkphw > $local/sbin/mindi-bkphw
84chmod 755 $local/sbin/mindi
85install -m 755 parted2fdisk.pl $local/sbin
86
87install -m 644 mindi.8 $MANDIR
88#install -m 644 ChangeLog COPYING README README.busybox README.ia64 README.pxe TODO INSTALL svn.log $DOCDIR
89
90if [ "_$PREFIX" = "_" ] && [ ! -f $locallib/mindi/rootfs/bin/busybox ]; then
91        echo "WARNING: no busybox found, mindi will not work on this arch ($ARCH)"
92fi
93
94# Managing parted2fdisk
95if [ "$ARCH" = "ia64" ] ; then
96    (cd $local/sbin && ln -sf parted2fdisk.pl parted2fdisk)
97    make -f Makefile.parted2fdisk DEST=$locallib/mindi install
98    if [ -f $locallib/mindi/rootfs/sbin/parted2fdisk-$ARCH ]; then
99        echo "Installing parted2fdisk ..."
100        install -s -m 755 $locallib/mindi/rootfs/sbin/parted2fdisk-$ARCH $locallib/mindi/rootfs/sbin/parted2fdisk
101        install -s -m 755 $locallib/mindi/rootfs/sbin/parted2fdisk-$ARCH $local/sbin/parted2fdisk
102    else
103        echo "WARNING: no parted2fdisk found, mindi will not work on this arch ($ARCH)"
104    fi
105else
106    # FHS requires fdisk under /sbin
107    (cd $local/sbin && ln -sf /sbin/fdisk parted2fdisk)
108    echo "Symlinking fdisk to parted2fdisk"
109    ( cd $locallib/mindi/rootfs/sbin && ln -sf fdisk parted2fdisk)
110fi
111# Remove left parted2fdisk
112rm -f $locallib/mindi/rootfs/sbin/parted2fdisk-*
113
114if [ "$PKGBUILDMINDI" != "true" ]; then
115    chown -R root:root $locallib/mindi $conf # $DOCDIR
116    chown root:root $local/sbin/mindi $MANDIR/mindi.8 $locallib/mindi/analyze-my-lvm $local/sbin/parted2fdisk.pl
117    if [ "$ARCH" = "ia64" ] ; then
118        chown root:root $local/sbin/parted2fdisk
119    fi
120fi
121
122# Special case for SuSE family where doc is put elsewhere in the RPM
123# if [ -e /etc/SuSE-release ]; then
124    # rm -rf $DOCDIR
125# fi
126
127# Special case for Debian family where doc is put elsewhere in the DEB
128# if [ -e /etc/debian_version ]; then
129    # rm -rf $DOCDIR
130# fi
131
132exit 0
Note: See TracBrowser for help on using the repository browser.