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

Last change on this file since 2409 was 2409, checked in by Bruno Cornec, 15 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
RevLine 
[179]1#!/bin/bash
[916]2#
3# $Id: install.sh 2409 2009-09-18 13:25:35Z bruno $
4#
[1]5
6if [ ! -f "mindi" ] ; then
7 echo "Please 'cd' to the directory you have just untarred." >> /dev/stderr
8 exit 1
9fi
[179]10
[184]11if [ "_$PREFIX" != "_" ]; then
[936]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
[179]21else
22 local=/usr/local
[936]23 sublocal=$local
[179]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
[936]28 subconf=$conf
[185]29 echo $PATH | grep $local/sbin > /dev/null || echo "Warning - your PATH environmental variable is BROKEN. Please add $local/sbin to your PATH."
[179]30fi
31
[1]32if uname -a | grep Knoppix > /dev/null || [ -e "/ramdisk/usr" ] ; then
33 local=/ramdisk/usr
[936]34 sublocal=$local
35 conf=/ramdisk/etc
36 subconf=$conf
[1]37 export PATH=/ramdisk/usr/sbin:/ramdisk/usr/bin:/$PATH
38fi
39
[1620]40MINDIVER=PBVER
41MINDIREV=PBREV
[1565]42ARCH=`/bin/uname -m`
[243]43echo "mindi ${MINDIVER}-r${MINDIREV} will be installed under $local"
[179]44
[1510]45if [ _"$CACHEDIR" = _"" ]; then
46 CACHEDIR=$local/var/cache/mindi
47else
48 CACHEDIR=${HEAD}$CACHEDIR
49fi
[1490]50if [ _"$MANDIR" = _"" ]; then
[933]51 MANDIR=$local/share/man/man8
52else
[936]53 MANDIR=${HEAD}$MANDIR/man8
[933]54fi
[1490]55if [ _"$DOCDIR" = _"" ]; then
[933]56 DOCDIR=$local/share/doc/mindi-$MINDIVER
57else
[936]58 DOCDIR=${HEAD}$DOCDIR/mindi-$MINDIVER
[933]59fi
[1490]60if [ _"$LIBDIR" = _"" ]; then
[933]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
[937]64 sublocallib="$locallib/mindi"
[936]65else
66 locallib=${HEAD}$LIBDIR
[937]67 sublocallib="$LIBDIR/mindi"
[933]68fi
[241]69
[179]70echo "Creating target directories ..."
[2409]71install -m 755 -d $conf $locallib/mindi $MANDIR $local/sbin $CACHEDIR $conf/deplist.d
[1]72
[179]73echo "Copying files ..."
[1983]74cp -af rootfs $locallib/mindi
[306]75chmod 755 $locallib/mindi/rootfs/sbin/*
[1712]76install -m 755 analyze-my-lvm $locallib/mindi
[1983]77install -m 644 msg-txt dev.tgz $locallib/mindi
[1761]78install -m 644 deplist.txt udev.files proliant.files $conf
[2409]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
[1]85
[934]86# Substitute variables for mindi
[1698]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
[1774]88chmod 755 $local/sbin/mindi $local/sbin/mindi-bkphw
[179]89
[248]90install -m 644 mindi.8 $MANDIR
[1682]91#install -m 644 ChangeLog COPYING README README.busybox README.ia64 README.pxe TODO INSTALL svn.log $DOCDIR
[179]92
[1236]93if [ "_$PREFIX" = "_" ] && [ ! -f $locallib/mindi/rootfs/bin/busybox ]; then
[2409]94 echo "WARNING: no busybox found, mindi will not work on this arch ($ARCH)"
[179]95fi
96
[235]97# Managing parted2fdisk
[1]98if [ "$ARCH" = "ia64" ] ; then
[235]99 (cd $local/sbin && ln -sf parted2fdisk.pl parted2fdisk)
[1801]100 install -s -m 755 $local/sbin/parted2fdisk.pl $locallib/mindi/rootfs/sbin/parted2fdisk
[1]101else
[235]102 # FHS requires fdisk under /sbin
103 (cd $local/sbin && ln -sf /sbin/fdisk parted2fdisk)
[179]104 echo "Symlinking fdisk to parted2fdisk"
[306]105 ( cd $locallib/mindi/rootfs/sbin && ln -sf fdisk parted2fdisk)
[1]106fi
[179]107
[1510]108if [ "$PKGBUILDMINDI" != "true" ]; then
[1682]109 chown -R root:root $locallib/mindi $conf # $DOCDIR
[543]110 chown root:root $local/sbin/mindi $MANDIR/mindi.8 $locallib/mindi/analyze-my-lvm $local/sbin/parted2fdisk.pl
[237]111 if [ "$ARCH" = "ia64" ] ; then
112 chown root:root $local/sbin/parted2fdisk
113 fi
114fi
115
[2183]116# Generate the list of perl modules needed at restore time for mindi
117cat > $conf/perl-scripts << EOF
[2256]118$sublocal/sbin/mindi-get-perl-modules
119$sublocal/sbin/mindi-bkphw
120$sublocal/sbin/parted2fdisk.pl
[2183]121EOF
122
[1]123exit 0
Note: See TracBrowser for help on using the repository browser.