# Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # $Header: /home/cvsroot/gentoo-x86/sys-apps/lilo/lilo-22.3.3.ebuild,v 1.1 2002/09/03 00:08:10 azarah Exp $ S=${WORKDIR}/${P} DESCRIPTION="Standard Linux boot loader with patch for booting kernels from filesystems on evms volumes" SRC_URI="http://home.san.rr.com/johninsd/pub/linux/lilo/obsolete/lilo-${PV}.tar.gz ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/lilo-${PV}.tar.gz" HOMEPAGE="http://brun.dyndns.org/pub/linux/lilo/" KEYWORDS="x86 -ppc -sparc -sparc64" SLOT="0" LICENSE="BSD" DEPEND="virtual/glibc >=sys-devel/bin86-0.15.5 nasm" RDEPEND="virtual/glibc" pkg_setup() { [ "${ROOT}" != "/" ] && return 0 local fstabstate="$(cat /etc/fstab | awk '!/^#|^\t+#/ {print $2}')" local procstate="$(cat /proc/mounts | awk '{print $2}')" if [ -n "$(echo ${fstabstate} | egrep "/boot")" ] && \ [ -n "$(echo ${procstate} | egrep "/boot")" ] then einfo "Your boot partition was detected as being mounted as /boot." einfo "Files will be installed there for lilo to function correctly." elif [ -n "$(echo ${fstabstate} | egrep "/boot")" ] && \ [ -z "$(echo ${procstate} | egrep "/boot")" ] then mount /boot &>/dev/null if [ "$?" -eq 0 ] then einfo "Your boot partition was not mounted as /boot, but portage was able to mount" einfo "it without additional intervention." einfo "Files will be installed there for lilo to function correctly." else eerror "Your boot partition has to be mounted on /boot before the installation" eerror "can continue. Lilo needs to install important files there." die "Please mount your /boot partition." fi else einfo "You do not have a seperate /boot partition." fi } src_unpack() { unpack ${A} S=${WORKDIR}/lilo-${PV} cd ${S} patch -p1 < ${FILESDIR}/lilo-${PV}-evms.patch || die cp Makefile Makefile.orig sed -e "s:\$(OPT) -Wall -g:-Wall ${CFLAGS}:" Makefile.orig > Makefile } src_compile() { emake || die } src_install() { into / dosbin lilo mkrescue into /usr dosbin keytab-lilo.pl dodir /boot insinto /boot doins boot-text.b boot-menu.b boot-bmp.b chain.b mbr.b os2_d.b insinto /etc newins ${FILESDIR}/lilo.conf lilo.conf.example doman manPages/*.[5-8] dodoc CHANGES COPYING COPYRIGHT INCOMPAT QuickInst README* docinto samples dodoc sample/* } pkg_preinst() { if [ ! -L ${ROOT}/boot/boot.b -a -f ${ROOT}/boot/boot.b ] then einfo "Saving old boot.b..." mv -f ${ROOT}/boot/boot.b ${ROOT}/boot/boot.old; fi if [ ! -L ${ROOT}/boot/chain.b -a -f ${ROOT}/boot/chain.b ] then einfo "Saving old chain.b..." mv -f ${ROOT}/boot/chain.b ${ROOT}/boot/chain.old; fi if [ ! -L ${ROOT}/boot/mbr.b -a -f ${ROOT}/boot/mbr.b ] then einfo "Saving old mbr.b..." mv -f ${ROOT}/boot/mbr.b ${ROOT}/boot/mbr.old fi if [ ! -L ${ROOT}/boot/os2_d.b -a -f ${ROOT}/boot/os2_d.b ] then einfo "Saving old os2_d.b..." mv -f ${ROOT}/boot/os2_d.b ${ROOT}/boot/os2_d.old; fi } pkg_postinst() { einfo "Activating boot-menu..." ln -snf boot-menu.b ${ROOT}/boot/boot.b }