source: branches/stable/mindi/install.sh @ 916

Last change on this file since 916 was 916, checked in by bruno, 13 years ago

Fixes to support CentOS build
Fixes for build errors reporetd by Andy Wright (mondo_at_eltofts.homelinux.com)

  • Property svn:keywords set to Id
File size: 4.1 KB
Line 
1#!/bin/bash
2#
3# $Id: install.sh 916 2006-11-02 18:47:32Z 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=$PREFIX
13    if [ -f /usr/local/sbin/mindi ]; then
14        echo "WARNING: /usr/local/sbin/mindi exists. You should probably remove it !"
15    fi
16    conf=$CONFDIR/mindi
17    echo $PATH | grep /usr/sbin > /dev/null || echo "Warning - your PATH environmental variable is BROKEN. Please add /usr/sbin to your PATH."
18else
19    local=/usr/local
20    if [ -f /usr/sbin/mindi ]; then
21        echo "WARNING: /usr/sbin/mindi exists. You should probably remove the mindi package !"
22    fi
23    conf=$local/etc/mindi
24    echo $PATH | grep $local/sbin > /dev/null || echo "Warning - your PATH environmental variable is BROKEN. Please add $local/sbin to your PATH."
25fi
26
27if uname -a | grep Knoppix > /dev/null || [ -e "/ramdisk/usr" ] ; then
28    local=/ramdisk/usr
29    export PATH=/ramdisk/usr/sbin:/ramdisk/usr/bin:/$PATH
30fi
31
32MINDIVER=`cat VERSION`
33MINDIREV=`cat REVISION`
34echo "mindi ${MINDIVER}-r${MINDIREV} will be installed under $local"
35
36DOCDIR=$local/share/doc/mindi-$MINDIVER
37MANDIR=$local/share/man/man8
38
39ARCH=`/bin/arch`
40echo $ARCH | grep -E '^i[0-9]86$' &> /dev/null && ARCH=i386 && locallib=$local/lib
41echo $ARCH | grep -E '^x86_64$' &> /dev/null && locallib=$local/lib64
42echo $ARCH | grep -E '^ia64$' &> /dev/null && locallib=$local/lib
43export ARCH
44
45echo "Creating target directories ..."
46install -m 755 -d $conf $locallib/mindi $MANDIR $local/sbin $DOCDIR
47
48echo "Copying files ..."
49install -m 644 isolinux.cfg msg-txt sys-disk.raw.gz isolinux-H.cfg syslinux.cfg syslinux-H.cfg dev.tgz $locallib/mindi
50install -m 644 deplist.txt $conf
51
52cp -af rootfs aux-tools $locallib/mindi
53chmod 755 $locallib/mindi/rootfs/sbin/*
54chmod 755 $locallib/mindi/aux-tools/sbin/*
55
56# Substirute variables for init
57perl -pi -e "s~^MINDI_VER=VVV~MINDI_VER=$MINDIVER~ ; s~^MINDI_REV=RRR~MINDI_REV=$MINDIREV~" $locallib/mindi/rootfs/sbin/init
58
59# Substirute variables for mindi
60if [ "$RPMBUILDMINDI" = "true" ]; then
61    sed -e "s~^MINDI_PREFIX=XXX~MINDI_PREFIX=/usr~" -e "s~^MINDI_CONF=YYY~MINDI_CONF=/etc/mindi~" -e "s~^MINDI_VER=VVV~MINDI_VER=$MINDIVER~" -e "s~^MINDI_REV=RRR~MINDI_REV=$MINDIREV~" mindi > $local/sbin/mindi
62else
63    sed -e "s~^MINDI_PREFIX=XXX~MINDI_PREFIX=$local~" -e "s~^MINDI_CONF=YYY~MINDI_CONF=$conf~" -e "s~^MINDI_VER=VVV~MINDI_VER=$MINDIVER~" -e "s~^MINDI_REV=RRR~MINDI_REV=$MINDIREV~" mindi > $local/sbin/mindi
64fi
65chmod 755 $local/sbin/mindi
66install -m 755 parted2fdisk.pl $local/sbin
67install -m 755 analyze-my-lvm $locallib/mindi
68
69install -m 644 mindi.8 $MANDIR
70install -m 644 ChangeLog COPYING README README.busybox README.ia64 README.pxe TODO INSTALL svn.log $DOCDIR
71
72if [ ! -f $locallib/mindi/rootfs/bin/busybox ]; then
73        echo "WARNING: no busybox found, mindi will not work on this arch ($ARCH)"
74fi
75
76# Managing parted2fdisk
77if [ "$ARCH" = "ia64" ] ; then
78    (cd $local/sbin && ln -sf parted2fdisk.pl parted2fdisk)
79    make -f Makefile.parted2fdisk DEST=$locallib/mindi install
80    if [ -f $locallib/mindi/rootfs/sbin/parted2fdisk-$ARCH ]; then
81        echo "Installing parted2fdisk ..."
82        install -s -m 755 $locallib/mindi/rootfs/sbin/parted2fdisk-$ARCH $locallib/mindi/rootfs/sbin/parted2fdisk
83        install -s -m 755 $locallib/mindi/rootfs/sbin/parted2fdisk-$ARCH $local/sbin/parted2fdisk
84    else
85        echo "WARNING: no parted2fdisk found, mindi will not work on this arch ($ARCH)"
86    fi
87else
88    # FHS requires fdisk under /sbin
89    (cd $local/sbin && ln -sf /sbin/fdisk parted2fdisk)
90    echo "Symlinking fdisk to parted2fdisk"
91    ( cd $locallib/mindi/rootfs/sbin && ln -sf fdisk parted2fdisk)
92fi
93# Remove left parted2fdisk
94rm -f $locallib/mindi/rootfs/sbin/parted2fdisk-*
95
96if [ "$RPMBUILDMINDI" != "true" ]; then
97    chown -R root:root $locallib/mindi $conf $DOCDIR
98    chown root:root $local/sbin/mindi $MANDIR/mindi.8 $locallib/mindi/analyze-my-lvm $local/sbin/parted2fdisk.pl
99    if [ "$ARCH" = "ia64" ] ; then
100        chown root:root $local/sbin/parted2fdisk
101    fi
102fi
103
104# Special case for SuSE family where doc is put elsewhere in the RPM
105if [ -e /etc/SuSE-release ]; then
106    rm -rf $DOCDIR
107fi
108
109# Special case for Debian family where doc is put elsewhere in the DEB
110if [ -e /etc/debian_version ]; then
111    rm -rf $DOCDIR
112fi
113
114exit 0
Note: See TracBrowser for help on using the repository browser.