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

Last change on this file since 2353 was 2256, checked in by Bruno Cornec, 15 years ago

Fix an installation issue in the generation of perl scripts, which should be referred without the build root

  • Property svn:keywords set to Id
File size: 3.6 KB
RevLine 
[179]1#!/bin/bash
[916]2#
3# $Id: install.sh 2256 2009-07-05 15:11:21Z 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 ..."
[1989]71install -m 755 -d $conf $locallib/mindi $MANDIR $local/sbin $CACHEDIR
[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
[2245]79install -m 755 mindi-bkphw $local/sbin
[2183]80install -m 755 mindi-get-perl-modules $local/sbin
81install -m 755 parted2fdisk.pl $local/sbin
[1]82
[934]83# Substitute variables for mindi
[1698]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
[1774]85chmod 755 $local/sbin/mindi $local/sbin/mindi-bkphw
[179]86
[248]87install -m 644 mindi.8 $MANDIR
[1682]88#install -m 644 ChangeLog COPYING README README.busybox README.ia64 README.pxe TODO INSTALL svn.log $DOCDIR
[179]89
[1236]90if [ "_$PREFIX" = "_" ] && [ ! -f $locallib/mindi/rootfs/bin/busybox ]; then
[179]91 echo "WARNING: no busybox found, mindi will not work on this arch ($ARCH)"
92fi
93
[235]94# Managing parted2fdisk
[1]95if [ "$ARCH" = "ia64" ] ; then
[235]96 (cd $local/sbin && ln -sf parted2fdisk.pl parted2fdisk)
[1801]97 install -s -m 755 $local/sbin/parted2fdisk.pl $locallib/mindi/rootfs/sbin/parted2fdisk
[1]98else
[235]99 # FHS requires fdisk under /sbin
100 (cd $local/sbin && ln -sf /sbin/fdisk parted2fdisk)
[179]101 echo "Symlinking fdisk to parted2fdisk"
[306]102 ( cd $locallib/mindi/rootfs/sbin && ln -sf fdisk parted2fdisk)
[1]103fi
[179]104
[1510]105if [ "$PKGBUILDMINDI" != "true" ]; then
[1682]106 chown -R root:root $locallib/mindi $conf # $DOCDIR
[543]107 chown root:root $local/sbin/mindi $MANDIR/mindi.8 $locallib/mindi/analyze-my-lvm $local/sbin/parted2fdisk.pl
[237]108 if [ "$ARCH" = "ia64" ] ; then
109 chown root:root $local/sbin/parted2fdisk
110 fi
111fi
112
[2183]113# Generate the list of perl modules needed at restore time for mindi
114cat > $conf/perl-scripts << EOF
[2256]115$sublocal/sbin/mindi-get-perl-modules
116$sublocal/sbin/mindi-bkphw
117$sublocal/sbin/parted2fdisk.pl
[2183]118EOF
119
[1]120exit 0
Note: See TracBrowser for help on using the repository browser.