source: MondoRescue/branches/2.2.9/mindi/install.sh @ 2409

Last change on this file since 2409 was 2409, checked in by Bruno Cornec, 11 years ago
  • Split deplist.txt into multiple conf files under deplist.d in the conf dir. This will allow to have a minimal.conf file for initrd content to analyze to improve support of new embedded feature in the future (sshfs, live install). The other conf files contain the additional commands to put in the all.tar.gz. For the moment, mindi is still working the same. THis infra will allow that support in a near future. deplist.txt is now reserved for the admin additional commands.
  • Property svn:keywords set to Id
File size: 3.6 KB
Line 
1#!/bin/bash
2#
3# $Id: install.sh 2409 2009-09-18 13:25:35Z 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 $conf/deplist.d
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
79for f in deplist.d/*.conf; do
80    install -m 644 $f $conf/deplist.d
81done
82for f in mindi-bkphw mindi-get-perl-modules parted2fdisk.pl; do
83    install -m 755 $f $local/sbin
84done
85
86# Substitute variables for mindi
87sed -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
88chmod 755 $local/sbin/mindi $local/sbin/mindi-bkphw
89
90install -m 644 mindi.8 $MANDIR
91#install -m 644 ChangeLog COPYING README README.busybox README.ia64 README.pxe TODO INSTALL svn.log $DOCDIR
92
93if [ "_$PREFIX" = "_" ] && [ ! -f $locallib/mindi/rootfs/bin/busybox ]; then
94    echo "WARNING: no busybox found, mindi will not work on this arch ($ARCH)"
95fi
96
97# Managing parted2fdisk
98if [ "$ARCH" = "ia64" ] ; then
99    (cd $local/sbin && ln -sf parted2fdisk.pl parted2fdisk)
100    install -s -m 755 $local/sbin/parted2fdisk.pl $locallib/mindi/rootfs/sbin/parted2fdisk
101else
102    # FHS requires fdisk under /sbin
103    (cd $local/sbin && ln -sf /sbin/fdisk parted2fdisk)
104    echo "Symlinking fdisk to parted2fdisk"
105    ( cd $locallib/mindi/rootfs/sbin && ln -sf fdisk parted2fdisk)
106fi
107
108if [ "$PKGBUILDMINDI" != "true" ]; then
109    chown -R root:root $locallib/mindi $conf # $DOCDIR
110    chown root:root $local/sbin/mindi $MANDIR/mindi.8 $locallib/mindi/analyze-my-lvm $local/sbin/parted2fdisk.pl
111    if [ "$ARCH" = "ia64" ] ; then
112        chown root:root $local/sbin/parted2fdisk
113    fi
114fi
115
116# Generate the list of perl modules needed at restore time for mindi
117cat > $conf/perl-scripts << EOF
118$sublocal/sbin/mindi-get-perl-modules
119$sublocal/sbin/mindi-bkphw
120$sublocal/sbin/parted2fdisk.pl
121EOF
122
123exit 0
Note: See TracBrowser for help on using the repository browser.