Bug 63041 - initial ebuild for dmraid
|
Bug#:
63041
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: enhancement
|
Priority: P2
|
|
Resolution: TEST-REQUEST
|
Assigned To: base-system@gentoo.org
|
Reported By: martin_konrad_scherer@yahoo.de
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: initial ebuild for dmraid
|
|
Keywords: EBUILD
|
|
Status Whiteboard:
|
|
Opened: 2004-09-06 12:45 0000
|
dmraid is not yet present it portage, so i wrote a little ebuild for it.
Reproducible: Couldn't Reproduce
Steps to Reproduce:
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: dmraid-1.0.0_rc3.ebuild,v 1.0 2004/09/06 20:00:00 assl0r Exp $
inherit flag-o-matic
IUSE=""
DESCRIPTION="dmraid (Device-mapper RAID tool and library)"
SRC_URI="http://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-1.0.0-rc3.tar.bz2"
HOMEPAGE="http://people.redhat.com/~heinzm/"
LICENSE="GPL-1"
DEPEND="~sys-libs/device-mapper-1.00.17-r1"
RDEPEND=${DEPEND}
SLOT=0
KEYWORDS="x86"
pkg_setup() {
if [ ! `echo ${KV} | grep 2\.[56]\.` ]; then
eerror "You are using kernel version ${KV}"
eerror "This makes only sense for the 2.6.* kernel-branch"
eerror "so stopping the merge!"
die
fi
}
src_compile() {
#inlining doesnt seem to work for dmraid
ewarn "******************************************"
ewarn "* dmraid does not support -fno-inlining *"
ewarn "* so removing the flag! *"
ewarn "******************************************"
filter-flags -fno-inline
cd ${WORKDIR}/dmraid/1.0.0-rc3
econf || die "can not configure"
make -s || die "make failed"
}
src_install () {
#make install doesnt work! (fucked up makefile or whatever
cd ${WORKDIR}/dmraid/1.0.0-rc3
dosbin tools/dmraid
dolib.a lib/*.a
#dolib.so lib/*.so
dodoc CHANGELOG README TODO KNOWN_BUGS doc/*
doman man/*.8
}
pkg_postinst() {
ewarn "*******************************************************************"
ewarn "This is Alpha software and it can destroy your data!"
ewarn "So please take backups and start accessing your data in dmraid"
ewarn "activated ATARAID sets READ-ONLY first before you try to write it!"
ewarn "*******************************************************************"
}
*** Bug 66431 has been marked as a duplicate of this bug. ***
Created an attachment (id=52513) [details]
dmraid-1.0.0_rc6.ebuild
I was wrong about the rc5 version picking up the VIA chipset (it was instead
picking up metadata written from a second pdc chipset on the same motherboard
which was weird)
but the rc6 version does now appear to properly support VIA
Hi folks,
i were trying to write a runscript which activates the raid sets _before_ localmount gets started (i have entered my raid partitions in fstab). But i didn't get the clue..
depend() {
before localmount
}
this doesnt seem to work.. dmraid comes up very late..
i was searching for this behavior in the rc-script depency generation methods..
the one who is searching for something will find something *thumbs up*
there exists a CRITICAL_SERVICES variable in /sbin/rc which stores servicenames which are
critical during the init process.
now i know why it seems to be impossible to get dmraid started before the critical service "localmount"
but the gentoo init developers are masterminds ;))
they have included an configuration interface /etc/runlevels/$BOOTLEVEL/.critical
so i put the services which gets declared as critical by default if the .critical file doesnt exits and put my dmraid initscript before localmount
the file looks now like this:
root@area51 root # cat /etc/runlevels/boot/.critical
checkroot dmraid hostname modules checkfs localmount
see the atttachment for my init-script
ive tested it.. booted into single user mode and dmraid cames up before localmount
i want to thank the init-script "framework" =) developers for their config interface of critical services (its a little bit hidden, but easy to find if u know where to look for it)
Created an attachment (id=52785) [details]
dmraid rc-script
This is a little dmraid run-script helping to get raid-partitions mounted with
localmount (from /etc/fstab) at boot time
Finally there is no need to hack the localmount script ;-)
Please read my comment too.. there a needed informations about getting this to
work!
Enjoy!
These init script will not be enough, we need to get something to support
dmraid in udev as well...
When I mount my root fs from dmraid it compaints about /dev/mapper/sil devices
not being there...
To get my whole config to boot I had to change /sbin/rc in populate_udev
function i had to:
mount -t devfs none /devfs
ln -snf /devfs/mapper/sil* /dev/mapper
It's not a dmraid issue, it's due to udev not mapping out device-mapper nodes
correctly
I had a similar problem when using evms with udev as this uses device-mapper as
well
the fix is just to use an additional rule / script within udev
see here: http://forums.gentoo.org/viewtopic-t-263996-highlight-.html
Richard, these udev mappings, would this be something we can include in the
ebuild for dmraid, or would we nee to put these into the udev ebuild?
the udev rules are already present in /etc/udev/rules.d/40-multipath.rules
(from sys-fs/multipath-tools)
installing multipath-tools still did not fix the problem for me. The
/dev/mappper/sil devices still do not appear in udev. Do i need to compile
device mapper as modules? I have them compiled into the kernel. Do I need any
other packages?
Eugene have you looked for /dev/sil_* ?
In order for udev to map out device-mapper properly you first need a program
that gives the name of the map based on the major / minor number
devmap_name within multipath-tools was one way of doing this in combination
with a custom script and rule within udev
(i'd guess the script and rule is what your missing as the 40-multipath.rules
doesn't have this)
but recently I've spotted that a newer version of dmsetup (1.00.21) can also do
the same thing, it's a masked version but at least a masked ebuild is better
than an unoffical ebuild
you'll still need to add in the /etc/udev/scripts/dmmapper.sh script and a rule
into udev as well, the above link I posted before has details (scroll to the
second post which is more recent)
Stefan Schweizer, sys-fs/multipath-tools gives me the udev devices, but dmraid
creates them as well (when enabling the raid device)
(In reply to comment #17)
> Eugene have you looked for /dev/sil_* ?
Ah, they get there... this works, i don't need devfs now.
what about on boot, initrd seems to put them in /dev/mapper/
very confusing... multipath tools don't exist on boot.
your ebuild doesn't work for me :-(
in the install phase it always breaks like this:
make[1]: Entering directory
`/var/tmp/portage/dmraid-1.0.0_rc8/work/dmraid/1.0.0.rc8/lib'
../lib/libdmraid.a ../lib/libdmraid.so ../lib/libdmraid.so
Installing ../lib/libdmraid.so in /var/tmp/portage/dmraid-1.0.0_rc8/image/usr/lib64
/bin/install: regul
your ebuild doesn't work for me :-(
in the install phase it always breaks like this:
make[1]: Entering directory
`/var/tmp/portage/dmraid-1.0.0_rc8/work/dmraid/1.0.0.rc8/lib'
../lib/libdmraid.a ../lib/libdmraid.so ../lib/libdmraid.so
Installing ../lib/libdmraid.so in /var/tmp/portage/dmraid-1.0.0_rc8/image/usr/lib64
/bin/install: reguläre Datei
,,/var/tmp/portage/dmraid-1.0.0_rc8/image/usr/lib64/../lib/libdmraid.so.1.0.0.rc8"
kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
ln: Erzeugen der symbolischen Verknüpfung
,,/var/tmp/portage/dmraid-1.0.0_rc8/image/usr/lib64/../lib/libdmraid.so" zu
,,../lib/libdmraid.so.1.0.0.rc8": Datei oder Verzeichnis nicht gefunden
make[1]: *** [install_dmraid_libs] Fehler 1
make[1]: Leaving directory
`/var/tmp/portage/dmraid-1.0.0_rc8/work/dmraid/1.0.0.rc8/lib'
make: *** [lib.install] Fehler 2
i'm running gentoo on amd64 it seems that it has a problem with the different
lib directorys for 32 and 64 bits.
Created an attachment (id=61495) [details]
dmraid-1.0.0_rc8-r1.ebuild
this version should work with amd64
I had to replace econf with configure
this way the installation directory is specified at the install stage instead
of the config stage, which seems to work
dmraid-1.0.0_rc8-r1.ebuild added to the tree with minor changes.
changing resolution to TEST-REQUEST
Works totally excellent on my promise PDC20378.
Please confirm other bios raid HW.
If a rc-script is really needed, id rather have you guys do a dmraid addon
(emerge device-mapper, and look at /lib/rcscripts/addons/dm-start.sh) .. might
call it dmraid-start.sh and dmraid-stop.sh. Then you just have to add it to
RC_VOLUME_ORDER in /etc/conf.d/rc ...