source: MondoRescue/branches/stable/mindi/install.sh@ 1693

Last change on this file since 1693 was 1693, checked in by Bruno Cornec, 17 years ago
  • Remove useless copy from mindi to mondo at end of USB handling
  • Fix PB macro vs tools/*2build issue
  • make_usb_fs change of interface (doesn't need a parameter)
  • Fix USB support in mondo to avoid multiple copies of files
  • Use first partiion in mondo for USB device
  • Fixes for USB CLI for both mondo/mindi
  • Try to add USB support for mondoarchive with new functions
  • du => deb for similarity with other distro type under pbconf
  • migrate gento build files under pb
  • remove now obsolete rpm spec file and gentoo build files from distributions
  • Remove DOCDIR usage in mindi + various build fixes

(merge -r1680:1692 $SVN_M/branches/2.2.5)

  • Property svn:keywords set to Id
File size: 5.4 KB
RevLine 
[179]1#!/bin/bash
[916]2#
3# $Id: install.sh 1693 2007-10-21 01:06:22Z 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
[1619]40MINDIVER=PBVER
41MINDIREV=PBREV
[1570]42ARCH=`/bin/uname -m`
[243]43echo "mindi ${MINDIVER}-r${MINDIREV} will be installed under $local"
[179]44
[1513]45if [ _"$CACHEDIR" = _"" ]; then
46 CACHEDIR=$local/var/cache/mindi
47else
48 CACHEDIR=${HEAD}$CACHEDIR
49fi
[1500]50if [ _"$MANDIR" = _"" ]; then
[933]51 MANDIR=$local/share/man/man8
52else
[936]53 MANDIR=${HEAD}$MANDIR/man8
[933]54fi
[1500]55if [ _"$DOCDIR" = _"" ]; then
[933]56 DOCDIR=$local/share/doc/mindi-$MINDIVER
57else
[936]58 DOCDIR=${HEAD}$DOCDIR/mindi-$MINDIVER
[933]59fi
[1500]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 ..."
[1693]71install -m 755 -d $conf $conf/deplist.d $locallib/mindi $MANDIR $local/sbin $CACHEDIR # $DOCDIR
[1]72
[179]73echo "Copying files ..."
[1603]74install -m 644 isolinux.cfg msg-txt isolinux-H.cfg syslinux.cfg syslinux-H.cfg dev.tgz $locallib/mindi
[1047]75install -m 644 distributions/conf/deplist.d/* $conf/deplist.d
76install -m 444 distributions/conf/mindi.conf.dist $conf
[1075]77#
78# Compute mindi.conf.dist (cecked by mindi) to avoid changes here
79# Modify the checksum file so that path is correct at execution time
80#
[1060]81md5sum $conf/mindi.conf.dist > $conf/mindi.conf.dist.md5
[1075]82perl -pi -e "s~$conf~$subconf~" $conf/mindi.conf.dist.md5
83#
84# Example of mindi.conf
85#
[1276]86if [ ! -e $conf/mindi.conf ]; then
87 cat > $conf/mindi.conf << EOF
[1047]88#
89# Configuration file for mindi
90#
91# By default values are taken from $conf/mindi.conf.dist
92# You can override them here
93#
94# e.g.
95#
96#mindi_tmp_dir="/var/tmp"
97#
98EOF
[1276]99 chmod 644 $conf/mindi.conf
100fi
[235]101
[1075]102#
103# Example of deplist.txt
104#
[1276]105if [ ! -e $conf/deplist.txt ]; then
106 cat > $conf/deplist.txt << EOF
[1060]107# mindi additional dependency list
108#
109# NB:
110# You have to give an absolute path
111# If you want to add something, just add it on its own line. K.I.S.S.
112
113EOF
[1276]114 chmod 644 $conf/deplist.txt
115fi
[1060]116
[311]117cp -af rootfs aux-tools $locallib/mindi
[1063]118if [ -e FindDistroFailsafe ]; then
119 cp -af FindDistroFailsafe $locallib/mindi
120fi
[306]121chmod 755 $locallib/mindi/rootfs/sbin/*
122chmod 755 $locallib/mindi/aux-tools/sbin/*
[1]123
[1619]124# Substitute variables for init
[898]125perl -pi -e "s~^MINDI_VER=VVV~MINDI_VER=$MINDIVER~ ; s~^MINDI_REV=RRR~MINDI_REV=$MINDIREV~" $locallib/mindi/rootfs/sbin/init
126
[934]127# Substitute variables for mindi
[936]128sed -e "s~^MINDI_PREFIX=XXX~MINDI_PREFIX=$sublocal~" -e "s~^MINDI_CONF=YYY~MINDI_CONF=$subconf~" -e "s~^MINDI_VER=VVV~MINDI_VER=$MINDIVER~" -e "s~^MINDI_REV=RRR~MINDI_REV=$MINDIREV~" -e "s~^MINDI_LIB=LLL~MINDI_LIB=$sublocallib~" mindi > $local/sbin/mindi
[1469]129sed -e "s~^my \$mindiconf=YYY~my \$mindiconf=\"$subconf\";~" mindi-bkphw > $local/sbin/mindi-bkphw
[1280]130chmod 755 $local/sbin/mindi $local/sbin/mindi-bkphw
[543]131install -m 755 parted2fdisk.pl $local/sbin
132install -m 755 analyze-my-lvm $locallib/mindi
[179]133
[248]134install -m 644 mindi.8 $MANDIR
[1693]135#install -m 644 ChangeLog COPYING README README.busybox README.ia64 README.pxe TODO INSTALL svn.log $DOCDIR
[179]136
[1089]137if [ "_$PREFIX" = "_" ] && [ ! -f $locallib/mindi/rootfs/bin/busybox ]; then
[179]138 echo "WARNING: no busybox found, mindi will not work on this arch ($ARCH)"
139fi
140
[235]141# Managing parted2fdisk
[1]142if [ "$ARCH" = "ia64" ] ; then
[235]143 (cd $local/sbin && ln -sf parted2fdisk.pl parted2fdisk)
[306]144 make -f Makefile.parted2fdisk DEST=$locallib/mindi install
145 if [ -f $locallib/mindi/rootfs/sbin/parted2fdisk-$ARCH ]; then
[179]146 echo "Installing parted2fdisk ..."
[306]147 install -s -m 755 $locallib/mindi/rootfs/sbin/parted2fdisk-$ARCH $locallib/mindi/rootfs/sbin/parted2fdisk
148 install -s -m 755 $locallib/mindi/rootfs/sbin/parted2fdisk-$ARCH $local/sbin/parted2fdisk
[179]149 else
150 echo "WARNING: no parted2fdisk found, mindi will not work on this arch ($ARCH)"
151 fi
[1]152else
[235]153 # FHS requires fdisk under /sbin
154 (cd $local/sbin && ln -sf /sbin/fdisk parted2fdisk)
[179]155 echo "Symlinking fdisk to parted2fdisk"
[306]156 ( cd $locallib/mindi/rootfs/sbin && ln -sf fdisk parted2fdisk)
[1]157fi
[235]158# Remove left parted2fdisk
[306]159rm -f $locallib/mindi/rootfs/sbin/parted2fdisk-*
[179]160
[1513]161if [ "$PKGBUILDMINDI" != "true" ]; then
[1693]162 chown -R root:root $locallib/mindi $conf # $DOCDIR
[543]163 chown root:root $local/sbin/mindi $MANDIR/mindi.8 $locallib/mindi/analyze-my-lvm $local/sbin/parted2fdisk.pl
[237]164 if [ "$ARCH" = "ia64" ] ; then
165 chown root:root $local/sbin/parted2fdisk
166 fi
167fi
168
[542]169# Special case for SuSE family where doc is put elsewhere in the RPM
[1693]170# if [ -e /etc/SuSE-release ]; then
171 # rm -rf $DOCDIR
172# fi
[542]173
[581]174# Special case for Debian family where doc is put elsewhere in the DEB
[1693]175# if [ -e /etc/debian_version ]; then
176 # rm -rf $DOCDIR
177# fi
[581]178
[1]179exit 0
Note: See TracBrowser for help on using the repository browser.