source: branches/2.2.9/mindi/install.sh @ 2183

Last change on this file since 2183 was 2183, checked in by bruno, 10 years ago

Tries to solve issue on ia64 where perl modules used by mindi were missing by adding a dedicated script handling them based on what is used on mandriva to make rpm deps

  • Property svn:keywords set to Id
File size: 3.6 KB
Line 
1#!/bin/bash
2#
3# $Id: install.sh 2183 2009-04-30 15:52:54Z 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
72
73echo "Copying files ..."
74cp -af rootfs $locallib/mindi
75chmod 755 $locallib/mindi/rootfs/sbin/*
76install -m 755 analyze-my-lvm $locallib/mindi
77install -m 644 msg-txt dev.tgz $locallib/mindi
78install -m 644 deplist.txt udev.files proliant.files $conf
79install -m 755 mindi-bkphw > $local/sbin
80install -m 755 mindi-get-perl-modules $local/sbin
81install -m 755 parted2fdisk.pl $local/sbin
82
83# Substitute variables for mindi
84sed -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
85chmod 755 $local/sbin/mindi $local/sbin/mindi-bkphw
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    install -s -m 755 $local/sbin/parted2fdisk.pl $locallib/mindi/rootfs/sbin/parted2fdisk
98else
99    # FHS requires fdisk under /sbin
100    (cd $local/sbin && ln -sf /sbin/fdisk parted2fdisk)
101    echo "Symlinking fdisk to parted2fdisk"
102    ( cd $locallib/mindi/rootfs/sbin && ln -sf fdisk parted2fdisk)
103fi
104
105if [ "$PKGBUILDMINDI" != "true" ]; then
106    chown -R root:root $locallib/mindi $conf # $DOCDIR
107    chown root:root $local/sbin/mindi $MANDIR/mindi.8 $locallib/mindi/analyze-my-lvm $local/sbin/parted2fdisk.pl
108    if [ "$ARCH" = "ia64" ] ; then
109        chown root:root $local/sbin/parted2fdisk
110    fi
111fi
112
113# Generate the list of perl modules needed at restore time for mindi
114cat > $conf/perl-scripts << EOF
115$local/sbin/mindi-get-perl-modules
116$local/sbin/mindi-bkphw
117$local/sbin/parted2fdisk.pl
118EOF
119
120exit 0
Note: See TracBrowser for help on using the repository browser.