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

Last change on this file since 2363 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
Line 
1#!/bin/bash
2#
3# $Id: install.sh 2256 2009-07-05 15:11:21Z 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$sublocal/sbin/mindi-get-perl-modules
116$sublocal/sbin/mindi-bkphw
117$sublocal/sbin/parted2fdisk.pl
118EOF
119
120exit 0
Note: See TracBrowser for help on using the repository browser.