Multipath-tools PKGBUILD

Hello,
I'm a long time user of archlinux, but a first time poster to the forums, and a first time PKGBUILDer.
I've read the ABS documents and I believe I've followed the guide pretty well for my first donation to AUR.
I've created a PKGBUILD for multipath-tools for users that use archlinux on SAN based servers.  Please take a look, make suggestions and hopefully we can get this in AUR for everyone to use.
Thanks,
Matt
PKGBUILD
# Contributor: Matt Heagney <[email protected]>
pkgname=multipath-tools
pkgver=0.4.8
pkgrel=1
pkgdesc="Multipath Tools For Linux"
arch=(i686)
url="http://christophe.varoqui.free.fr/"
license=('GPL')
depends=(libaio)
makedepends=()
provides=()
conflicts=()
replaces=()
backup=('etc/multipath.conf', 'etc/multipath.conf.annotated')
install=
source=(http://christophe.varoqui.free.fr/multipath-tools/$pkgname-$pkgver.tar.bz2
multipath.conf
multipath.conf.annotated)
noextract=()
md5sums=('3563b863b408d07c46929b6e8c2c248c'
'd0fb11398cc628c7997111efdc5d52e5'
'5a93f993ec05fc99094d5139aabd3925')
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr
make || return 1
make DESTDIR="$pkgdir/" install
install -D -m 644 ${startdir}/multipath.conf ${pkgdir}/etc/multipath.conf
install -D -m 644 ${startdir}/multipath.conf.annotated ${pkgdir}/etc/multipath.conf.annotated
multipath.conf
# Very Basic Multipath Configuration File
defaults {
getuid_callout"/lib/udev/scsi_id -g -u -d /dev/%n"
multipath.conf.annotated
## This is a template multipath-tools configuration file
## Uncomment the lines relevent to your environment
## name : defaults
## desc : multipath-tools default settings
#defaults {
# # name : udev_dir
# # desc : directory where udev creates its device nodes
# # default : /dev
# udev_dir /dev
# # name : polling_interval
# # scope : multipathd
# # desc : interval between two path checks in seconds
# # default : 5
# polling_interval 10
# # name : selector
# # scope : multipath
# # desc : the default path selector algorithm to use
# # these algorithms are offered by the kernel multipath target
# # values : "round-robin 0"
# # default : "round-robin 0"
# selector "round-robin 0"
# # name : path_grouping_policy
# # scope : multipath
# # desc : the default path grouping policy to apply to unspecified
# # multipaths
# # default : multibus
# path_grouping_policy multibus
# # name : getuid_callout
# # scope : multipath
# # desc : the default program and args to callout to obtain a unique
# # path identifier. Absolute path required
# # default : /lib/udev/scsi_id -g -u -s
# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
# # name : prio_callout
# # scope : multipath
# # desc : the default program and args to callout to obtain a path
# # priority value. The ALUA bits in SPC-3 provide an
# # exploitable prio value for example. "none" is a valid value
# # default : (null)
# #prio_callout "/bin/true"
# # name : path_checker
# # scope : multipath & multipathd
# # desc : the default method used to determine the paths' state
# # values : readsector0|tur|emc_clariion|hp_sw|directio
# # default : directio
# #path_checker directio
# # name : rr_min_io
# # scope : multipath
# # desc : the number of IO to route to a path before switching
# # to the next in the same path group
# # default : 1000
# rr_min_io 100
# # name : rr_weight
# # scope : multipath
# # desc : if set to priorities the multipath configurator will assign
# # path weights as "path prio * rr_min_io"
# # values : priorities|uniform
# # default : uniform
# rr_weight priorities
# # name : failback
# # scope : multipathd
# # desc : tell the daemon to manage path group failback, or not to.
# # 0 means immediate failback, values >0 means deffered failback
# # expressed in seconds.
# # values : manual|immediate|n > 0
# # default : immediate
# failback manual
# # name : no_path_retry
# # scope : multipath & multipathd
# # desc : tell the number of retries until disable queueing, or
# # "fail" means immediate failure (no queueing),
# # "queue" means never stop queueing
# # values : queue|fail|n (>0)
# # default : (null)
# #no_path_retry queue
# # name : user_friendly_names
# # scope : multipath
# # desc : If set to "yes", using the bindings file
# # /var/lib/multipath/bindings to assign a persistent and
# # unique alias to the multipath, in the form of mpath<n>.
# # If set to "no" use the WWID as the alias. In either case
# # this be will be overriden by any specific aliases in this
# # file.
# # values : yes|no
# # default : no
# user_friendly_names no
## name : blacklist
## scope : multipath & multipathd
## desc : list of device names to discard as not multipath candidates
## default : cciss, fd, hd, md, dm, sr, scd, st, ram, raw, loop
#blacklist {
# wwid 26353900f02796769
# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
# devnode "^hd[a-z][[0-9]*]"
# devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
# device {
# vendor DEC.*
# product MSA[15]00
## name : blacklist_exceptions
## scope : multipath & multipathd
## desc : list of device names to be treated as multipath candidates
## even if they are on the blacklist.
## Note: blacklist exceptions are only valid in the same class.
## It is not possible to blacklist devices using the devnode keyword
## and to exclude some devices of them using the wwid keyword.
## default : -
#blacklist_exceptions {
# devnode "^dasd[c-d]+[0-9]*"
# wwid "IBM.75000000092461.4d00.34"
# wwid "IBM.75000000092461.4d00.35"
# wwid "IBM.75000000092461.4d00.36"
## name : multipaths
## scope : multipath & multipathd
## desc : list of multipaths finest-grained settings
#multipaths {
# # name : multipath
# # scope : multipath & multipathd
# # desc : container for settings that apply to one specific multipath
# multipath {
# # name : wwid
# # scope : multipath & multipathd
# # desc : index of the container
# wwid 3600508b4000156d700012000000b0000
# # name : alias
# # scope : multipath
# # desc : symbolic name for the multipath
# alias yellow
# # name : path_grouping_policy
# # scope : multipath
# # desc : path grouping policy to apply to this multipath
# # values : failover, multibus, group_by_serial
# # default : failover
# path_grouping_policy multibus
# # name : path_checker
# # scope : multipathd
# # desc : path checking alorithm to use to check path state
# # values : readsector0|tur|emc_clariion|hp_sw|directio
# # default : directio
# # path_checker directio
# # name : path_selector
# # desc : the path selector algorithm to use for this mpath
# # these algo are offered by the kernel mpath target
# # values : "round-robin 0"
# # default : "round-robin 0"
# path_selector "round-robin 0"
# # name : failback
# # scope : multipathd
# # desc : tell the daemon to manage path group failback, or not to.
# # 0 means immediate failback, values >0 means deffered failback
# # expressed in seconds.
# # values : manual|immediate|n > 0
# # default : immediate
# failback manual
# # name : no_path_retry
# # scope : multipath & multipathd
# # desc : tell the number of retries until disable queueing, or
# # "fail" means immediate failure (no queueing),
# # "queue" means never stop queueing
# # values : queue|fail|n (>0)
# # default : (null)
# #no_path_retry queue
# # name : rr_min_io
# # scope : multipath
# # desc : the number of IO to route to a path before switching
# # to the next in the same path group
# # default : 1000
# rr_min_io 100
# multipath {
# wwid 1DEC_____321816758474
# alias red
# rr_weight priorities
## name : devices
## scope : multipath & multipathd
## desc : list of per storage controller settings
## overrides default settings (device_maps block)
## overriden by per multipath settings (multipaths block)
#devices {
# # name : device
# # scope : multipath & multipathd
# # desc : settings for this specific storage controller
# device {
# # name : vendor, product
# # scope : multipath & multipathd
# # desc : index for the block
# vendor "COMPAQ "
# product "HSV110 (C)COMPAQ"
# # name : path_grouping_policy
# # scope : multipath
# # desc : path grouping policy to apply to multipath hosted
# # by this storage controller
# # values : failover = 1 path per priority group
# # multibus = all valid paths in 1 priority
# # group
# # group_by_serial = 1 priority group per detected
# # serial number
# # default : failover
# path_grouping_policy multibus
# # name : getuid_callout
# # scope : multipath
# # desc : the program and args to callout to obtain a unique
# # path identifier. Absolute path required
# # default : /lib/udev/scsi_id -g -u -s
# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
# # name : prio_callout
# # scope : multipath
# # desc : the program and args to callout to obtain a path
# # weight. Weights are summed for each path group to
# # determine the next PG to use case of failure.
# # "none" is a valid value.
# # default : no callout, all paths equals
# prio_callout "/sbin/mpath_prio_balance_units %d"
# # name : path_checker
# # scope : multipathd
# # desc : path checking alorithm to use to check path state
# # values : readsector0|tur|emc_clariion|hp_sw|directio
# # default : directio
# path_checker directio
# # name : path_selector
# # desc : the path selector algorithm to use for this mpath
# # these algo are offered by the kernel mpath target
# # values : "round-robin 0"
# # default : "round-robin 0"
# path_selector "round-robin 0"
# # name : failback
# # scope : multipathd
# # desc : tell the daemon to manage path group failback, or not to.
# # 0 means immediate failback, values >0 means deffered failback
# # expressed in seconds.
# # values : manual|immediate|n > 0
# # default : immediate
# failback 30
# # name : rr_min_io
# # scope : multipath
# # desc : the number of IO to route to a path before switching
# # to the next in the same path group
# # default : 1000
# rr_min_io 100
# # name : product_blacklist
# # scope : multipath & multipathd
# # desc : product strings to blacklist for this vendor
# # default : none
# product_blacklist LUN_Z
# device {
# vendor "COMPAQ "
# product "MSA1000 "
# path_grouping_policy multibus
# path_checker tur
# rr_weight priorities

Ack! I forgot the /etc/rc.d/multipathd startup script.
PKGBUILD
# Contributor: Matt Heagney <[email protected]>
pkgname=multipath-tools
pkgver=0.4.8
pkgrel=2
pkgdesc="Multipath Tools For Linux"
arch=(i686)
url="http://christophe.varoqui.free.fr/"
license=('GPL')
depends=(libaio)
makedepends=()
provides=()
conflicts=()
replaces=()
backup=('etc/multipath.conf', 'etc/multipath.conf.annotated', 'etc/rc.d/multipathd' )
install=
source=(http://christophe.varoqui.free.fr/multipath-tools/$pkgname-$pkgver.tar.bz2
multipath.conf
multipath.conf.annotated
multipathd)
noextract=()
md5sums=('3563b863b408d07c46929b6e8c2c248c'
'd0fb11398cc628c7997111efdc5d52e5'
'5a93f993ec05fc99094d5139aabd3925'
'fd425cf1ee9f108f6aa8f37b9c7af071')
build() {
cd "$srcdir/$pkgname-$pkgver"
make || return 1
make DESTDIR="$pkgdir/" install
install -D -m 644 ${startdir}/multipath.conf ${pkgdir}/etc/multipath.conf
install -D -m 644 ${startdir}/multipath.conf.annotated ${pkgdir}/etc/multipath.conf.annotated
install -D -m 755 ${startdir}/multipathd ${pkgdir}/etc/rc.d/multipathd
multipathd
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
stat_busy "Starting multipathd"
/sbin/multipathd
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon multipathd
stat_done
fi
stop)
stat_busy "Stopping multipathd"
[ -f /var/run/multipathd.pid ] && kill `cat /var/run/multipathd.pid` >/dev/null 2>&1
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon multipathd
stat_done
fi
restart)
$0 stop
sleep 2
$0 start
echo "usage: $0 {start|stop|restart}"
esac
exit 0

Similar Messages

  • [SOLVED] multipath-tools build fails because file is not a directory

    Hi all,
    I'm trying to build the multipath-tools-git AUR package (I'm playing around with virtualization, and need the kpartx tool). I tried building, and got this output:
    (NOTE: /home/gregory/AUR PACKAGES is symlinked to /mnt/STORAGE/AUR PACKAGES, which shows up in this build. I tried building without using the symlink, and it didn't change anything.)
    [gregory@whitcomb multipath-tools-git]$ makepkg -s
    ==> Making package: multipath-tools-git 1295.81895af-1 (Sat Sep 7 16:50:52 EDT 2013)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
    -> Updating multipath-tools-git git repo...
    Fetching origin
    ==> Validating source files with md5sums...
    multipath-tools-git ... Skipped
    ==> Extracting sources...
    -> Creating working copy of git repo...
    Cloning into 'multipath-tools-git'...
    done.
    ==> Starting pkgver()...
    ==> Starting prepare()...
    ==> Removing existing pkg/ directory...
    ==> Starting build()...
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o memory.o memory.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o parser.o parser.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o vector.o vector.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o devmapper.o devmapper.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o callout.o callout.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o hwtable.o hwtable.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o blacklist.o blacklist.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o util.o util.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o dmparser.o dmparser.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o config.o config.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o structs.o structs.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o discovery.o discovery.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o propsel.o propsel.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o dict.o dict.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o pgpolicies.o pgpolicies.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o debug.o debug.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o regex.o regex.c
    regex.c: In function ‘re_match_2’:
    regex.c:3297:17: warning: variable ‘sdummy’ set but not used [-Wunused-but-set-variable]
    const char *sdummy;
    ^
    regex.c:3296:20: warning: variable ‘pdummy’ set but not used [-Wunused-but-set-variable]
    unsigned char *pdummy;
    ^
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o defaults.o defaults.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o uevent.o uevent.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o switchgroup.o switchgroup.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o uxsock.o uxsock.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o print.o print.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o alias.o alias.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o log_pthread.o log_pthread.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o log.o log.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o configure.o configure.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o structs_vec.o structs_vec.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o sysfs.o sysfs.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o prio.o prio.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o checkers.o checkers.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o lock.o lock.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o waiter.o waiter.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o file.o file.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o wwids.o wwids.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o prioritizers/alua_rtpg.o prioritizers/alua_rtpg.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -Wl,-soname=libmultipath.so.0 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -o libmultipath.so.0 memory.o parser.o vector.o devmapper.o callout.o hwtable.o blacklist.o util.o dmparser.o config.o structs.o discovery.o propsel.o dict.o pgpolicies.o debug.o regex.o defaults.o uevent.o switchgroup.o uxsock.o print.o alias.o log_pthread.o log.o configure.o structs_vec.o sysfs.o prio.o checkers.o lock.o waiter.o file.o wwids.o prioritizers/alua_rtpg.o -lpthread -ldl -ldevmapper -ludev
    ln -sf libmultipath.so.0 libmultipath.so
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath/prioritizers'
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o random.o random.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriorandom.so random.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o const.o const.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioconst.so const.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o hp_sw.o hp_sw.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriohp_sw.so hp_sw.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o emc.o emc.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioemc.so emc.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o rdac.o rdac.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriordac.so rdac.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o alua.o alua.c
    alua.c: In function ‘get_alua_info’:
    alua.c:58:6: warning: variable ‘aas’ set but not used [-Wunused-but-set-variable]
    int aas;
    ^
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioalua.so alua.o alua_rtpg.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o ontap.o ontap.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioontap.so ontap.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o datacore.o datacore.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriodatacore.so datacore.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o hds.o hds.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriohds.so hds.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o weightedpath.o weightedpath.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioweightedpath.so weightedpath.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o iet.o iet.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioiet.so iet.o
    rm random.o weightedpath.o ontap.o hp_sw.o hds.o rdac.o const.o datacore.o emc.o iet.o
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath/prioritizers'
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath/checkers'
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o libsg.o libsg.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o cciss_tur.o cciss_tur.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckcciss_tur.so libsg.o cciss_tur.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o readsector0.o readsector0.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckreadsector0.so libsg.o readsector0.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o tur.o tur.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libchecktur.so libsg.o tur.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o directio.o directio.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckdirectio.so libsg.o directio.o -laio
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o emc_clariion.o emc_clariion.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckemc_clariion.so libsg.o emc_clariion.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o hp_sw.o hp_sw.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckhp_sw.so libsg.o hp_sw.o
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o rdac.o rdac.c
    cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckrdac.so libsg.o rdac.o
    rm tur.o hp_sw.o rdac.o readsector0.o cciss_tur.o emc_clariion.o
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath/checkers'
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmpathpersist'
    cc -Wall -fPIC -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist *.c
    cc -shared -lpthread -ldevmapper -ldl -L../libmultipath -lmultipath -Wl,-soname=libmpathpersist.so.0 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -o libmpathpersist.so.0 mpath_persist.o mpath_updatepr.o mpath_pr_ioctl.o
    ln -s libmpathpersist.so.0 libmpathpersist.so
    /usr/bin/gzip -9 -c mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz
    /usr/bin/gzip -9 -c mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmpathpersist'
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/multipath'
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -c -o main.o main.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath main.o -o multipath -Wl,-O1,--sort-common,--as-needed,-z,relro -lpthread -ldevmapper -ldl -L../libmultipath -lmultipath -ludev
    /usr/bin/gzip -9 -c multipath.8 > multipath.8.gz
    /usr/bin/gzip -9 -c multipath.conf.5 > multipath.conf.5.gz
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/multipath'
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/multipathd'
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o main.o main.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o pidfile.o pidfile.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o uxlsnr.o uxlsnr.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o uxclnt.o uxclnt.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o cli.o cli.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o cli_handlers.o cli_handlers.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist main.o pidfile.o uxlsnr.o uxclnt.o cli.o cli_handlers.o -Wl,-O1,--sort-common,--as-needed,-z,relro -lpthread -ldevmapper -lreadline -ludev -ldl -L../libmultipath -lmultipath -L../libmpathpersist -lmpathpersist -o multipathd
    /usr/bin/gzip -9 -c multipathd.8 > multipathd.8.gz
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/multipathd'
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/mpathpersist'
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o main.o main.c
    cc -g main.o -o mpathpersist -Wl,-O1,--sort-common,--as-needed,-z,relro -lpthread -ldevmapper -L../libmpathpersist -lmpathpersist -L../libmultipath -lmultipath -ludev -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist
    /usr/bin/gzip -9 -c mpathpersist.8 > mpathpersist.8.gz
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/mpathpersist'
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/kpartx'
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o bsd.o bsd.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o dos.o dos.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o kpartx.o kpartx.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o solaris.o solaris.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o unixware.o unixware.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o dasd.o dasd.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o sun.o sun.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o gpt.o gpt.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o mac.o mac.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o ps3.o ps3.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o crc32.o crc32.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o lopart.o lopart.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o xstrncpy.o xstrncpy.c
    cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o devmapper.o devmapper.c
    cc bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o gpt.o mac.o ps3.o crc32.o lopart.o xstrncpy.o devmapper.o -o kpartx -ldevmapper
    /usr/bin/gzip -9 -c kpartx.8 > kpartx.8.gz
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/kpartx'
    ==> Entering fakeroot environment...
    ==> Starting package()...
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
    install -d /home/gregory/AUR packages/multipath-tools-git/pkg/multipath-tools-git//usr/lib
    install -m 755 libmultipath.so.0 /home/gregory/AUR packages/multipath-tools-git/pkg/multipath-tools-git//usr/lib/libmultipath.so.0
    install: target ‘packages/multipath-tools-git/pkg/multipath-tools-git//usr/lib/libmultipath.so.0’ is not a directory
    make[1]: *** [install] Error 1
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
    make: *** [recurse_install] Error 2
    ==> ERROR: A failure occurred in package().
    Aborting...
    [gregory@whitcomb multipath-tools-git]$
    I noticed there was a typo from the line:
    install: target ‘packages/multipath-tools-git/pkg/multipath-tools-git//usr/lib/libmultipath.so.0’ is not a directory
    with the duplicated slash, so I edited the package() section of the PKGBUILD to remove the duplicated slash
    make LIB="/usr/lib" DESTDIR="${pkgdir}" install
    to
    make LIB="usr/lib" DESTDIR="${pkgdir}" install
    However, rebuilding the package caused the same error to occur (only relevant part shown)
    ==> Starting package()...
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
    install -d /home/gregory/AUR packages/multipath-tools-git/pkg/multipath-tools-git/usr/lib
    install -m 755 libmultipath.so.0 /home/gregory/AUR packages/multipath-tools-git/pkg/multipath-tools-git/usr/lib/libmultipath.so.0
    install: target ‘packages/multipath-tools-git/pkg/multipath-tools-git/usr/lib/libmultipath.so.0’ is not a directory
    make[1]: *** [install] Error 1
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
    make: *** [recurse_install] Error 2
    ==> ERROR: A failure occurred in package().
    Aborting...
    So that couldn't have been the problem. There doesn't seem to be any indication on the AUR page that someone else ran into this problem. I also checked the upstream site as well as the mailing lists, and didn't see anything resembling my problem.
    Just to make sure that I hadn't downloaded some bad build from git, I also tried installing the multipath-tools package from the AUR, since that should have at least worked for the packager. However, I got the exact same (albeit sooner cause it didn't have to download git sources):
    ==> Starting package()...
    make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools/src/libmultipath'
    install -d /mnt/STORAGE/AUR packages/multipath-tools/pkg/multipath-tools/usr/lib
    install -m 755 libmultipath.so.0 /mnt/STORAGE/AUR packages/multipath-tools/pkg/multipath-tools/usr/lib/libmultipath.so.0
    install: target ‘packages/multipath-tools/pkg/multipath-tools/usr/lib/libmultipath.so.0’ is not a directory
    make[1]: *** [install] Error 1
    make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools/src/libmultipath'
    make: *** [recurse_install] Error 2
    ==> ERROR: A failure occurred in package().
    Aborting...
    I'm guessing there's probably some configuration issue with my machine causing this problem, but I have no idea where it would come from. If anybody else has any other ideas on how to proceed, I'd be really appreciative. And if any more information is needed, let me know! Thanks!
    Last edited by cactaur (2013-09-08 05:23:36)

    Of course, soon after I post this, I stumble upon the solution. It turns out that having a path with a space in it can cause certain packages to bug out while building. I changed the "AUR Packages" folder to "AUR-packages", and then it built successfully. Guess that's something to look out for.

  • No more multipath-tools (for iscsi) in arch? Alternative?

    Hi,
    I wonder is there any alternative to multipath for iscsi available?
    Is there absolutely no multipath in arch anymore?
    Thank you!

    Thank you!
    I just saw that multipath-tools wasn't orphaned anymore.

  • GOS will be restarted when LUN path failover

    I'm a tester and I was requested to test the compatibility between our storage and oracle VM (v2.2).
    There are 4 paths for each LUN. I use device-mapper as a multipath tool and run "port block" case on switch. But when 2 paths down and failover to another 2 paths, sometime the guest os will be restarted. Could anyone the me the reason and how can I solve the problem. Thank you very much for your help. Following it the log.
    Use OEL 5.4 as an example, at 2010-01-06 12:23:19:
    [root@archs21mxhh1 log]# tail -n 500 messages|more (mpath6 is used by GOS OEL 5.4)
    Jan 6 12:23:19 archs21mxhh1 multipathd: sdd: tur checker reports path is down
    Jan 6 12:23:19 archs21mxhh1 multipathd: checker failed path 8:48 in map mpath6
    Jan 6 12:23:19 archs21mxhh1 multipathd: mpath6: remaining active paths: 2
    [root@archs21mxhh1 xen]# tail -f xend.log
    [2010-01-06 12:23:19 5605] WARNING (image:490) domain 70_5U4: device model failure: pid 6824: died due to signal 11; see /var/log/xen/qemu-dm-70_5U4.log
    [2010-01-06 12:23:19 5605] WARNING (XendDomainInfo:1898) Domain has crashed: name=70_5U4 id=29.
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2748) XendDomainInfo.destroy: domid=29
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2221) Destroying device model
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2228) Releasing devices
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vif/0
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vbd/768
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/768
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vbd/2048
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/2048
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vbd/2064
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/2064
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vbd/2080
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/2080
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vbd/2096
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/2096
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vbd/2128
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/2128
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vbd/832
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/832
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vbd/5696
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/5696
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vbd/5632
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/5632
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing vfb/0
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = vfb, device = vfb/0
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2241) Removing console/0
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:1144) XendDomainInfo.destroyDevice: deviceClass = console, device = console/0
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2226) No device model
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2228) Releasing devices
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:117) XendDomainInfo.create_from_dict({'vcpus_params': {'cap': 0, 'weight': 256}, 'PV_args': '', 'features': '', 'cpus': [[]], 'paused': 0, 'domid': 29, 'shutdown': 0, 'VCPUs_live': 1, 'PV_bootloader': '', 'actions_after_crash': 'restart', 'vbd_refs': ['e5968188-5dcb-293a-00e2-335e5170cd88', '5bb5103a-2c2e-b4be-40be-6f3c251a3e6f', '34bb253f-8659-9427-5268-5ba372fa6f14', '1aadf21e-aa26-c8c6-5257-bdb2a3033960', 'ae8c87d9-b2e5-7cc7-7f8a-765cfd784b9c', 'b82f5e6f-9770-c4a6-954d-e19a7380847e', 'eccbd082-662e-ff05-b6c3-c6548e304001', 'f9202039-685a-eb2e-e72d-48d9a1249f18', '328ec0b3-174d-86c5-1743-3de4b0cbc628'], 'PV_ramdisk': '', 'memory_dynamic_min': 536870912, 'name_label': '70_5U4', 'VCPUs_at_startup': 1, 'HVM_boot_params': {'order': 'c'}, 'platform': {'videoram': 4, 'hpet': 0, 'stdvga': 0, 'vnclisten': '0.0.0.0', 'loader': '/usr/lib/xen/boot/hvmloader', 'vncconsole': 1, 'serial': 'pty', 'vncunused': 1, 'xen_platform_pci': 1, 'monitor': 0, 'boot': 'c', 'rtc_timeoffset': 0, 'vncpasswd': 'XXXXXXXX', 'pci': [], 'pae': 1, 'vpt_align': 1, 'hap': 1, 'viridian': 0, 'acpi': 1, 'localtime': 0, 'timer_mode': 2, 'vnc': 1, 'nographic': 0, 'pci_msitranslate': 1, 'apic': 1, 'usb': 0, 'guest_os_type': 'default', 'device_model': '/usr/lib/xen/bin/qemu-dm', 'keymap': 'en-us', 'pci_power_mgmt': 0, 'xauthority': '/root/.Xauthority', 'isa': 0}, 'PV_kernel': '', 'console_refs': ['e2dca24f-2309-4f89-0fae-5b71563e05fc', '5973ff8f-9348-531e-edd4-180d862945fd'], 'online_vcpus': 1, 'blocked': 0, 'on_xend_stop': 'ignore', 'memory_static_min': 0, 'HVM_boot_policy': 'BIOS order', 'shutdown_reason': 3, 'VCPUs_max': 1, 'start_time': 1262803778.7193961, 'memory_static_max': 536870912, 'actions_after_shutdown': 'destroy', 'on_xend_start': 'ignore', 'crashed': 0, 'memory_dynamic_max': 536870912, 'actions_after_suspend': '', 'is_a_template': False, 'PV_bootloader_args': '', 'is_control_domain': False, 'uuid': 'a950b962-f90a-0d92-a320-2e837dcfb93b', 'cpu_time': 300.74841094800001, 'shadow_memory': 5, 'dying': 0, 'vcpu_avail': 1, 'notes': {'SUSPEND_CANCEL': 1}, 'other_config': {}, 'auto_power_on': False, 'running': 0, 'actions_after_reboot': 'restart', 'vif_refs': ['0cd3c3ea-bdb5-2dc3-bc9d-f34fc38d85cd'], 'target': 0, 'vtpm_refs': [], 's3_integrity': 1, 'devices': {'e2dca24f-2309-4f89-0fae-5b71563e05fc': ('vfb', {'vncunused': 1, 'other_config': {'vncunused': 1, 'vncpasswd': 'XXXXXXXX', 'vnclisten': '0.0.0.0', 'vnc': '1'}, 'vnc': '1', 'uuid': 'e2dca24f-2309-4f89-0fae-5b71563e05fc', 'vnclisten': '0.0.0.0', 'vncpasswd': 'XXXXXXXX', 'location': '0.0.0.0:5903', 'devid': 0}), 'f9202039-685a-eb2e-e72d-48d9a1249f18': ('vbd', {'uuid': 'f9202039-685a-eb2e-e72d-48d9a1249f18', 'bootable': 0, 'devid': 5696, 'driver': 'paravirtualised', 'dev': 'hdd', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_ide2.img', 'mode': 'w'}), 'eccbd082-662e-ff05-b6c3-c6548e304001': ('vbd', {'uuid': 'eccbd082-662e-ff05-b6c3-c6548e304001', 'bootable': 0, 'devid': 832, 'driver': 'paravirtualised', 'dev': 'hdb', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_ide1.img', 'mode': 'w'}), '328ec0b3-174d-86c5-1743-3de4b0cbc628': ('vbd', {'uuid': '328ec0b3-174d-86c5-1743-3de4b0cbc628', 'bootable': 0, 'devid': 5632, 'driver': 'paravirtualised', 'dev': 'hdc:cdrom', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/iso_pool/5u4/blastL64.iso', 'mode': 'r'}), '5973ff8f-9348-531e-edd4-180d862945fd': ('console', {'other_config': {}, 'protocol': 'vt100', 'uuid': '5973ff8f-9348-531e-edd4-180d862945fd', 'location': '3'}), 'e5968188-5dcb-293a-00e2-335e5170cd88': ('vbd', {'uuid': 'e5968188-5dcb-293a-00e2-335e5170cd88', 'bootable': 1, 'devid': 768, 'driver': 'paravirtualised', 'dev': 'hda', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/System.img', 'mode': 'w'}), '0cd3c3ea-bdb5-2dc3-bc9d-f34fc38d85cd': ('vif', {'bridge': 'xenbr0', 'mac': '00:16:3E:62:AB:29', 'devid': 0, 'type': 'ioemu', 'uuid': '0cd3c3ea-bdb5-2dc3-bc9d-f34fc38d85cd'}), '5bb5103a-2c2e-b4be-40be-6f3c251a3e6f': ('vbd', {'uuid': '5bb5103a-2c2e-b4be-40be-6f3c251a3e6f', 'bootable': 0, 'devid': 2048, 'driver': 'paravirtualised', 'dev': 'sda', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_1.img', 'mode': 'w'}), 'b82f5e6f-9770-c4a6-954d-e19a7380847e': ('vbd', {'uuid': 'b82f5e6f-9770-c4a6-954d-e19a7380847e', 'bootable': 0, 'devid': 2128, 'driver': 'paravirtualised', 'dev': 'sdf', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_5.img', 'mode': 'w'}), '34bb253f-8659-9427-5268-5ba372fa6f14': ('vbd', {'uuid': '34bb253f-8659-9427-5268-5ba372fa6f14', 'bootable': 0, 'devid': 2064, 'driver': 'paravirtualised', 'dev': 'sdb', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_2.img', 'mode': 'w'}), 'ae8c87d9-b2e5-7cc7-7f8a-765cfd784b9c': ('vbd', {'uuid': 'ae8c87d9-b2e5-7cc7-7f8a-765cfd784b9c', 'bootable': 0, 'devid': 2096, 'driver': 'paravirtualised', 'dev': 'sdd', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_4.img', 'mode': 'w'}), '1aadf21e-aa26-c8c6-5257-bdb2a3033960': ('vbd', {'uuid': '1aadf21e-aa26-c8c6-5257-bdb2a3033960', 'bootable': 0, 'devid': 2080, 'driver': 'paravirtualised', 'dev': 'sdc', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_3.img', 'mode': 'w'})}})
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2318) XendDomainInfo.constructDomain
    [2010-01-06 12:23:19 5605] DEBUG (balloon:181) Balloon: 29927648 KiB free; need 4096; done.
    [2010-01-06 12:23:19 5605] DEBUG (XendDomain:452) Adding Domain: 32
    [2010-01-06 12:23:19 5605] DEBUG (XendDomainInfo:2519) XendDomainInfo.initDomain: 32 256
    [2010-01-06 12:23:19 5605] DEBUG (image:317) Stored a VNC password for vfb access
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: boot, val: c
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: fda, val: None
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: fdb, val: None
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: soundhw, val: None
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: localtime, val: 0
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: serial, val: ['pty']
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: std-vga, val: 0
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: isa, val: 0
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: acpi, val: 1
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: usb, val: 0
    [2010-01-06 12:23:19 5605] DEBUG (image:806) args: usbdevice, val: None
    [2010-01-06 12:23:19 5605] INFO (image:742) Need to create platform device.[domid:32]
    [2010-01-06 12:23:20 5605] DEBUG (XendDomainInfo:2543) initDomain:shadowmemory=0x5, memory_static_max=0x20000000, memory_static_min=0x0.
    [2010-01-06 12:23:20 5605] DEBUG (balloon:181) Balloon: 29926248 KiB free; need 535552; done.
    [2010-01-06 12:23:20 5605] INFO (image:170) buildDomain os=hvm dom=32 vcpus=1
    [2010-01-06 12:23:20 5605] DEBUG (image:859) domid = 32
    [2010-01-06 12:23:20 5605] DEBUG (image:860) image = /usr/lib/xen/boot/hvmloader
    [2010-01-06 12:23:20 5605] DEBUG (image:861) store_evtchn = 2
    [2010-01-06 12:23:20 5605] DEBUG (image:862) memsize = 512
    [2010-01-06 12:23:20 5605] DEBUG (image:863) target = 512
    [2010-01-06 12:23:20 5605] DEBUG (image:864) vcpus = 1
    [2010-01-06 12:23:20 5605] DEBUG (image:865) acpi = 1
    [2010-01-06 12:23:20 5605] DEBUG (image:866) apic = 1
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vfb : {'vncunused': 1, 'other_config': {'vncunused': 1, 'vncpasswd': 'XXXXXXXX', 'vnclisten': '0.0.0.0', 'vnc': '1'}, 'vnc': '1', 'uuid': 'e2dca24f-2309-4f89-0fae-5b71563e05fc', 'vnclisten': '0.0.0.0', 'vncpasswd': 'XXXXXXXX', 'location': '0.0.0.0:5903', 'devid': 0}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/vfb/32/0'} to /local/domain/32/device/vfb/0.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'vncunused': '1', 'domain': '70_5U4', 'frontend': '/local/domain/32/device/vfb/0', 'uuid': 'e2dca24f-2309-4f89-0fae-5b71563e05fc', 'frontend-id': '32', 'vnclisten': '0.0.0.0', 'vncpasswd': 'XXXXXXXX', 'state': '1', 'location': '0.0.0.0:5903', 'online': '1', 'vnc': '1'} to /local/domain/0/backend/vfb/32/0.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: console : {'other_config': {}, 'protocol': 'vt100', 'uuid': '5973ff8f-9348-531e-edd4-180d862945fd', 'location': '3'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/console/32/0'} to /local/domain/32/device/console/0.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/console/0', 'uuid': '5973ff8f-9348-531e-edd4-180d862945fd', 'frontend-id': '32', 'state': '1', 'location': '3', 'online': '1', 'protocol': 'vt100'} to /local/domain/0/backend/console/32/0.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vbd : {'uuid': 'e5968188-5dcb-293a-00e2-335e5170cd88', 'bootable': 1, 'devid': 768, 'driver': 'paravirtualised', 'dev': 'hda', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/System.img', 'mode': 'w'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '768', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/32/768'} to /local/domain/32/device/vbd/768.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/vbd/768', 'uuid': 'e5968188-5dcb-293a-00e2-335e5170cd88', 'bootable': '1', 'dev': 'hda', 'state': '1', 'params': '/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/System.img', 'mode': 'w', 'online': '1', 'frontend-id': '32', 'type': 'file'} to /local/domain/0/backend/vbd/32/768.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vbd : {'uuid': '5bb5103a-2c2e-b4be-40be-6f3c251a3e6f', 'bootable': 0, 'devid': 2048, 'driver': 'paravirtualised', 'dev': 'sda', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_1.img', 'mode': 'w'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '2048', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/32/2048'} to /local/domain/32/device/vbd/2048.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/vbd/2048', 'uuid': '5bb5103a-2c2e-b4be-40be-6f3c251a3e6f', 'bootable': '0', 'dev': 'sda', 'state': '1', 'params': '/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_1.img', 'mode': 'w', 'online': '1', 'frontend-id': '32', 'type': 'file'} to /local/domain/0/backend/vbd/32/2048.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vbd : {'uuid': '34bb253f-8659-9427-5268-5ba372fa6f14', 'bootable': 0, 'devid': 2064, 'driver': 'paravirtualised', 'dev': 'sdb', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_2.img', 'mode': 'w'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '2064', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/32/2064'} to /local/domain/32/device/vbd/2064.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/vbd/2064', 'uuid': '34bb253f-8659-9427-5268-5ba372fa6f14', 'bootable': '0', 'dev': 'sdb', 'state': '1', 'params': '/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_2.img', 'mode': 'w', 'online': '1', 'frontend-id': '32', 'type': 'file'} to /local/domain/0/backend/vbd/32/2064.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vbd : {'uuid': '1aadf21e-aa26-c8c6-5257-bdb2a3033960', 'bootable': 0, 'devid': 2080, 'driver': 'paravirtualised', 'dev': 'sdc', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_3.img', 'mode': 'w'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '2080', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/32/2080'} to /local/domain/32/device/vbd/2080.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/vbd/2080', 'uuid': '1aadf21e-aa26-c8c6-5257-bdb2a3033960', 'bootable': '0', 'dev': 'sdc', 'state': '1', 'params': '/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_3.img', 'mode': 'w', 'online': '1', 'frontend-id': '32', 'type': 'file'} to /local/domain/0/backend/vbd/32/2080.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vbd : {'uuid': 'ae8c87d9-b2e5-7cc7-7f8a-765cfd784b9c', 'bootable': 0, 'devid': 2096, 'driver': 'paravirtualised', 'dev': 'sdd', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_4.img', 'mode': 'w'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '2096', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/32/2096'} to /local/domain/32/device/vbd/2096.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/vbd/2096', 'uuid': 'ae8c87d9-b2e5-7cc7-7f8a-765cfd784b9c', 'bootable': '0', 'dev': 'sdd', 'state': '1', 'params': '/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_4.img', 'mode': 'w', 'online': '1', 'frontend-id': '32', 'type': 'file'} to /local/domain/0/backend/vbd/32/2096.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vbd : {'uuid': 'b82f5e6f-9770-c4a6-954d-e19a7380847e', 'bootable': 0, 'devid': 2128, 'driver': 'paravirtualised', 'dev': 'sdf', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_5.img', 'mode': 'w'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '2128', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/32/2128'} to /local/domain/32/device/vbd/2128.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/vbd/2128', 'uuid': 'b82f5e6f-9770-c4a6-954d-e19a7380847e', 'bootable': '0', 'dev': 'sdf', 'state': '1', 'params': '/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_5.img', 'mode': 'w', 'online': '1', 'frontend-id': '32', 'type': 'file'} to /local/domain/0/backend/vbd/32/2128.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vbd : {'uuid': 'eccbd082-662e-ff05-b6c3-c6548e304001', 'bootable': 0, 'devid': 832, 'driver': 'paravirtualised', 'dev': 'hdb', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_ide1.img', 'mode': 'w'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '832', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/32/832'} to /local/domain/32/device/vbd/832.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/vbd/832', 'uuid': 'eccbd082-662e-ff05-b6c3-c6548e304001', 'bootable': '0', 'dev': 'hdb', 'state': '1', 'params': '/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_ide1.img', 'mode': 'w', 'online': '1', 'frontend-id': '32', 'type': 'file'} to /local/domain/0/backend/vbd/32/832.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vbd : {'uuid': 'f9202039-685a-eb2e-e72d-48d9a1249f18', 'bootable': 0, 'devid': 5696, 'driver': 'paravirtualised', 'dev': 'hdd', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_ide2.img', 'mode': 'w'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '5696', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/32/5696'} to /local/domain/32/device/vbd/5696.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/vbd/5696', 'uuid': 'f9202039-685a-eb2e-e72d-48d9a1249f18', 'bootable': '0', 'dev': 'hdd', 'state': '1', 'params': '/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/running_pool/70_5U4/5u4_ide2.img', 'mode': 'w', 'online': '1', 'frontend-id': '32', 'type': 'file'} to /local/domain/0/backend/vbd/32/5696.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vbd : {'uuid': '328ec0b3-174d-86c5-1743-3de4b0cbc628', 'bootable': 0, 'devid': 5632, 'driver': 'paravirtualised', 'dev': 'hdc:cdrom', 'uname': 'file:/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/iso_pool/5u4/blastL64.iso', 'mode': 'r'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '5632', 'device-type': 'cdrom', 'state': '1', 'backend': '/local/domain/0/backend/vbd/32/5632'} to /local/domain/32/device/vbd/5632.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'domain': '70_5U4', 'frontend': '/local/domain/32/device/vbd/5632', 'uuid': '328ec0b3-174d-86c5-1743-3de4b0cbc628', 'bootable': '0', 'dev': 'hdc', 'state': '1', 'params': '/var/ovs/mount/A4E39D19D29C4C4FB803367857FD9326/iso_pool/5u4/blastL64.iso', 'mode': 'r', 'online': '1', 'frontend-id': '32', 'type': 'file'} to /local/domain/0/backend/vbd/32/5632.
    [2010-01-06 12:23:20 5605] INFO (XendDomainInfo:2180) createDevice: vif : {'bridge': 'xenbr0', 'mac': '00:16:3E:62:AB:29', 'devid': 0, 'type': 'ioemu', 'uuid': '0cd3c3ea-bdb5-2dc3-bc9d-f34fc38d85cd'}
    [2010-01-06 12:23:20 5605] DEBUG (DevController:95) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/vif/32/0'} to /local/domain/32/device/vif/0.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:97) DevController: writing {'bridge': 'xenbr0', 'domain': '70_5U4', 'handle': '0', 'uuid': '0cd3c3ea-bdb5-2dc3-bc9d-f34fc38d85cd', 'script': '/etc/xen/scripts/vif-bridge', 'mac': '00:16:3E:62:AB:29', 'frontend-id': '32', 'state': '1', 'online': '1', 'frontend': '/local/domain/32/device/vif/0', 'type': 'ioemu'} to /local/domain/0/backend/vif/32/0.
    [2010-01-06 12:23:20 5605] INFO (image:391) spawning device models: /usr/lib/xen/bin/qemu-dm ['/usr/lib/xen/bin/qemu-dm', '-d', '32', '-domain-name', '70_5U4', '-videoram', '4', '-k', 'en-us', '-vnc', '0.0.0.0:0,password', '-vncunused', '-vcpus', '1', '-boot', 'c', '-serial', 'pty', '-acpi', '-net', 'nic,vlan=1,macaddr=00:16:3E:62:AB:29,model=rtl8139', '-net', 'tap,vlan=1,ifname=tap32.0,bridge=xenbr0', '-M', 'xenfv']
    [2010-01-06 12:23:20 5605] INFO (image:440) device model pid: 21582
    [2010-01-06 12:23:20 5605] INFO (image:528) waiting for sentinel_fifo
    [2010-01-06 12:23:20 5605] DEBUG (XendDomainInfo:3080) Storing VM details: {'on_xend_stop': 'ignore', 'shadow_memory': '5', 'uuid': 'a950b962-f90a-0d92-a320-2e837dcfb93b', 'on_reboot': 'restart', 'start_time': '1262805800.64', 'on_poweroff': 'destroy', 'bootloader_args': '', 'on_xend_start': 'ignore', 'on_crash': 'restart', 'xend/restart_count': '0', 'vcpus': '1', 'vcpu_avail': '1', 'bootloader': '', 'image': '(hvm (kernel ) (videoram 4) (hpet 0) (stdvga 0) (vnclisten 0.0.0.0) (loader /usr/lib/xen/boot/hvmloader) (vncconsole 1) (serial pty) (vncunused 1) (xen_platform_pci 1) (boot c) (rtc_timeoffset 0) (vncpasswd XXXXXX) (pci ()) (pae 1) (vpt_align 1) (hap 1) (viridian 0) (acpi 1) (localtime 0) (timer_mode 2) (vnc 1) (nographic 0) (guest_os_type default) (pci_msitranslate 1) (apic 1) (monitor 0) (device_model /usr/lib/xen/bin/qemu-dm) (keymap en-us) (pci_power_mgmt 0) (usb 0) (xauthority /root/.Xauthority) (isa 0) (notes (SUSPEND_CANCEL 1)))', 'name': '70_5U4'}
    [2010-01-06 12:23:20 5605] DEBUG (XendDomainInfo:1640) Storing domain details: {'console/port': '3', 'name': '70_5U4', 'console/limit': '1048576', 'store/port': '2', 'vm': '/vm/a950b962-f90a-0d92-a320-2e837dcfb93b', 'domid': '32', 'image/suspend-cancel': '1', 'cpu/0/availability': 'online', 'memory/target': '524288', 'control/platform-feature-multiprocessor-suspend': '1', 'store/ring-ref': '1044476', 'console/type': 'ioemu'}
    [2010-01-06 12:23:20 5605] DEBUG (XendDomainInfo:1727) XendDomainInfo.handleShutdownWatch
    [2010-01-06 12:23:20 5605] DEBUG (DevController:139) Waiting for devices vif.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:144) Waiting for 0.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vif/32/0/hotplug-status.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vif/32/0/hotplug-status.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:139) Waiting for devices vscsi.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:139) Waiting for devices vbd.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:144) Waiting for 768.
    [2010-01-06 12:23:20 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/768/hotplug-status.
    [2010-01-06 12:23:32 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/768/hotplug-status.
    [2010-01-06 12:23:32 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:32 5605] DEBUG (DevController:144) Waiting for 2048.
    [2010-01-06 12:23:32 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/2048/hotplug-status.
    [2010-01-06 12:23:37 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/2048/hotplug-status.
    [2010-01-06 12:23:37 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:37 5605] DEBUG (DevController:144) Waiting for 2064.
    [2010-01-06 12:23:37 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/2064/hotplug-status.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/2064/hotplug-status.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:144) Waiting for 2080.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/2080/hotplug-status.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:144) Waiting for 2096.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/2096/hotplug-status.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:144) Waiting for 2128.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/2128/hotplug-status.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:144) Waiting for 832.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/832/hotplug-status.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:144) Waiting for 5696.
    [2010-01-06 12:23:40 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/5696/hotplug-status.
    [2010-01-06 12:23:43 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/5696/hotplug-status.
    [2010-01-06 12:23:43 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:43 5605] DEBUG (DevController:144) Waiting for 5632.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/32/5632/hotplug-status.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:643) hotplugStatusCallback 1.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:139) Waiting for devices irq.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:139) Waiting for devices vkbd.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:139) Waiting for devices vfb.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:139) Waiting for devices console.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:144) Waiting for 0.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:139) Waiting for devices pci.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:139) Waiting for devices ioports.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:139) Waiting for devices tap.
    [2010-01-06 12:23:44 5605] DEBUG (DevController:139) Waiting for devices vtpm.

    I see that you need to have ALUA enabled. I don't need that in my config, pls check the following link, it may contain useful info for ALUA:
    [http://wiki.oracle.com/page/Oracle+VM+Server+Configuration-+multipathed+SAN+storage|http://wiki.oracle.com/page/Oracle+VM+Server+Configuration-+multipathed+SAN+storage]
    Apart from that, you could maybe first of all increase the "no_path_retry" in your multipath.conf. I have 18 in my config, maybe a failover takes longer than 5 retries to be "catched".
    In my modprobe.conf I have qla2xxx too, despite my HBA is a QMH2492, but probably the driver is the same. Anyway, I have this line in addition to what you have:
    options qla2xxx ql2xmaxqdepth=16 qlport_down_retry=10 ql2xloginretrycount=30(it's the last line in the file).
    Pls note that adding that "options" thing MAY lead to having a non-booting system if the parameters are wrong: check everything and do any modifications on your responsibility! If it doesn't work you need to boot in rescue mode and fix the file. It SHOULD, I repeat SHOULD be ok, but be careful.
    Finally: I post MY multipath.conf, as I see I have a few options that do not appear in your config.
    I took my values from the storage Vendor's recommended values (HP 2012FC). Maybe it can be somehow of help. But I think the most probable reason of your intermittent issue would be the "no_path_retry", as I said.
    defaults {
    user_friendly_names yes
    devnode_blacklist {
    devnode "^sd[a-z]"
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
    devnode "^hd[a-z]"
    devnode "^cciss!c[0-9]d[0-9]*"
    device
    vendor "HP"
    product "MSA2[02]12fc|MSA2012i"
    getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
    hardware_handler "0"
    path_selector "round-robin 0"
    path_grouping_policy multibus
    failback immediate
    rr_weight uniform
    no_path_retry 18
    rr_min_io 100
    path_checker tur
    }HTH

  • "Error getting device UUID" when adding the storage repository

    I SAN Boot installed OracleVM-Server 2.2,then assign another LUN from storage to the Oracle server. The multipath tool I use is linux DMMP. Refer to user guide, I created partition and made filesystem on the LUN, then wanted to create it as the storage repository, but error appeared.
    [root@archs21mxhh1 mapper]# fdisk mpath1
    [root@archs21mxhh1 mapper]# mkfs.ocfs2 -Tdatafiles -N8 mpath1p1
    [root@archs21mxhh1 mapper]# /opt/ovs-agent-2.3/utils/repos.py -n mpath1p1
    Mount point: /tmp/ovsrepo_GLDuoJ
    Error: errcode=00002, errmsg=Exception: Error getting device UUID: mpath1p1
    Could anyone help me to solve the problem?
    Thanks in advance.

    user8919697 wrote:
    [root@archs21mxhh1 mapper]# /opt/ovs-agent-2.3/utils/repos.py -n mpath1p1You need to use the full path to your device: /dev/mapper/mpath1p1.

  • Replacing bash with dash or zsh as default shell

    Now that initscripts are no longer default init system for Arch, it should be possible (if initscripts removed from system) to remove bash and replace it with other shell, right? On my system I have this:
    :: autoconf: requires bash
    :: automake: requires bash
    :: ca-certificates: requires bash
    :: cpupower: requires bash
    :: dcron: requires bash
    :: enca: requires bash
    :: fftw: requires bash
    :: filesystem: requires bash
    :: gpm: requires bash
    :: gsl: requires bash
    :: gzip: requires bash
    :: iptables: requires bash
    :: libksba: requires bash
    :: m4: requires bash
    :: man-db: requires bash
    :: mkinitcpio: requires bash
    :: p7zip-light: requires bash
    :: pacman: requires bash
    :: pkgstats: requires bash
    :: pm-utils: requires bash
    :: shadow: requires bash
    :: smartmontools: requires bash
    :: systemd: requires bash
    :: unzip: requires bash
    (Note: I've removed packets requiring sh.)
    Here's a complete list of packets depending on bash (110):
    abcde
    abs
    acpid
    antiword
    arch-backup
    archboot
    arch-install-scripts
    arch-wiki-lite
    audio-convert
    aurphan
    autoconf
    autojump
    automake
    bashburn
    bash-completion
    bashdb
    bashrun
    bwidget
    ca-certificates
    cl
    cpupower
    cronie
    dcron
    dhclient
    dkms
    drbd
    dvdrtools
    ecl
    enca
    fftw
    filesystem
    foomatic-db-engine
    fssos-nsvs
    geos
    gimp-gap
    gpm
    groovy
    gsl
    gzip
    hdparm (optional)
    ifplugd
    incron
    initscripts
    inputattach
    iptables
    jython
    kim4
    laptop-mode-tools
    libksba
    lksctp-tools
    lrzip
    lvm2
    lvm2 (testing)
    lxc
    m4
    man-db
    mathomatic (optional)
    mfs-chunkserver
    mfs-client
    minicom
    mkinitcpio
    multipath-tools
    nanoblogger
    noip
    ode
    oidentd
    opencv-samples
    openlierox (optional)
    openslp
    ozerocdoff
    p7zip
    pacman
    pacmatic
    pax-utils
    pkgstats
    pkgtools
    pmount
    pm-utils
    polipo
    ponysay
    preload
    quilt
    ratpoison
    rblcheck
    redis
    rkhunter
    rpcbind
    rpmextract
    sane
    sdcc
    shadow
    smartmontools
    source-highlight
    speedtouch
    systemd
    tablelist
    taglib-rcc
    ted
    tor
    translate-toolkit
    txt2man
    unzip
    uptimed
    vde2
    vnstat
    wdm
    wings3d
    wireshark-cli
    xbase
    xdm-archlinux
    Do these packages (except initscripts) really need bash? Debian uses dash as its default shell, I think Arch at least need to offer a possibility for using shells other than bash as default.
    Any thoughts?

    Demon wrote:Why not? I'm just exploring the possibilities.
    zsh is not completely backwards-compatible with bash (not that bash is "backwards" in any real way).  There's always a chance that, without the bash interpreter installed, some utilities written in bash won't work properly.  Also, sh in Arch is distributed in the bash package, so uninstalling it will pull those packages with it.
    Demon wrote:But then packages not needing bash (autoconf, automake, gzip, unzip) should list only sh as dependency, not bash. Right?
    Some of them already do:
    Arch Linux :: GLaDOS » pacman -Rp bash
    error: failed to prepare transaction (could not satisfy dependencies)
    :: autoconf: requires bash
    :: automake: requires bash
    :: bison: requires sh
    :: ca-certificates: requires bash
    :: cairo: requires sh
    :: cpupower: requires bash
    :: cronie: requires bash
    :: db: requires sh
    :: dhcpcd: requires sh
    :: dictd: requires sh
    :: diffutils: requires sh
    :: dmenu: requires sh
    :: e2fsprogs: requires sh
    :: fakeroot: requires sh
    :: filesystem: requires bash
    :: findutils: requires sh
    :: flex: requires sh
    :: freetype2: requires sh
    :: gawk: requires sh
    :: gdbm: requires sh
    :: gettext: requires sh
    :: gmp: requires sh
    :: gpm: requires bash
    :: grep: requires sh
    :: gzip: requires bash
    :: icu: requires sh
    :: iptables: requires bash
    :: keyutils: requires sh
    :: laptop-mode-tools: requires bash
    :: libgpg-error: requires sh
    :: libksba: requires bash
    :: libpng: requires sh
    :: libtool: requires sh
    :: libusb-compat: requires sh
    :: m4: requires bash
    :: make: requires sh
    :: man-db: requires bash
    :: mkinitcpio: requires bash
    :: nss: requires sh
    :: pacman: requires bash
    :: perl: requires sh
    :: sane: requires bash
    :: sed: requires sh
    :: shadow: requires bash
    :: systemd: requires bash
    :: taglib: requires sh
    :: tar: requires sh
    :: unzip: requires bash
    :: which: requires sh
    :: xorg-mkfontdir: requires sh
    :: xz: requires sh

  • I lost the save and quite funtion in FF16.0.1 .about config is not working..

    I have set the function of save and quite in the FF 15.0.1 However, I lost it after upgraded it to 16.0.1 .I try to use about config method .But it's not working..

    Hi,
    it seems I lost my other account or made some other mess.
    anyway, reading this thread I think I can give you better pointers for troubleshooting than on my blog.
    Please run a
    dmsetup ls
    once you're in the installer (thats for me to verify)
    now, next, it seems all that is missing is the multipath config file in the install initrd.
    If the target linux mpath (if it still exists, i don't got time for testing) is selected, then multipathd will be launched - but without a config, the internal defaults will take over, meaning you end up with the user friendly name instead of the WWN.
    Basically you should be able to find the error looking at the kickstart /etc/rc and restarting multipath with new configs over and over.
    Might be fun :)
    It would be helpful if Oracle picked up your fixes even w/o a support contract. :)
    (ranting: It'll be a festival for me when the multipath tools devs finally get around to groking the world of real sans and create a plugin api for enclosure based naming that is just 10% as good as the one in VxVM. WWIDs are a sad joke, they're intended so the OS can identify the disks well so it can present userful names to the user.
    Not to let the user choose between useless udev-names and non-human-readable WWNs. And yeah, I have tried to make udev scripts for enclosure based naming. Didn't go well obviously :)

  • Linux (2.6 kernels) and Sun 6320s

    Hi,
    We have a number of 6320 arrays that we would like to access from x86-64 hosts running RedHat AS4. The hosts have dual port QLogic (QLE2462) HBAs.
    The question is how do we achieve this with multipathing? Unfortunately Sun seem to have stopped development of Traffic Manager which worked with the 2.4 series kernels.
    Our options seem to be:
    (1) Linux 'native' multipathing via device-mapper-multipath
    (2) QLogic HBA based failover
    The problems for these methods are:
    (1) device-mapper-multipath doesn't support the 6320s in either explicit (no hardware handler) or implicit (no path priority checker) modes.
    (2) It doesn't seem to work! Perhaps certain array or module settings are needed?
    I'm assuming somebody, somewhere must be running a 6xxx series array with modern linux distros......
    Thanks

    Hi,
    We now have some progress on the 6320s.
    See http://www.redhat.com/archives/dm-devel/2006-June/msg00088.html and the rest of the thread for the details but to summarise.
    There exists (thanks to James Cassidy) a patch for device mapper multipath that creates a path priority checker for the 6320 arrays: mpath_prio_sun_tx
    Now with the following multipath.conf file things sort of work:
    defaults {
           udev_dir                /dev
           polling_interval        10
           selector                "round-robin 0"
           path_grouping_policy    group_by_prio
           getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
           prio_callout            "/sbin/sbin/mpath_prio_sun_tx /dev/%n"
           path_selector           "round-robin 0"
           path_checker            tur
           rr_min_io               100
           failback                immediate
           no_path_retry           queue
           user_friendly_names     yes
    }And if we look at the output of the multipath tools we see:
    SE6320-0 (360003baccb94900045b89be7000632f3)
    [size=1638 GB][features=1 queue_if_no_path][hwhandler=0]
    \_ round-robin 0 [prio=50][active]
    \_ 1:0:0:0 sdb 8:16  [active][ready]
    \_ round-robin 0 [prio=1][enabled]
    \_ 2:0:0:0 sdf 8:80  [active][ghost]
    SE6320-3 (360003baccb94900045b8a2b9000ec987)
    [size=1638 GB][features=1 queue_if_no_path][hwhandler=0]
    \_ round-robin 0 [prio=50][active]
    \_ 2:0:0:6 sdi 8:128 [active][ready]
    \_ round-robin 0 [prio=1][enabled]
    \_ 1:0:0:6 sde 8:64  [active][ghost]
    SE6320-2 (360003baccb94900045b8a0ee000eab02)
    [size=1638 GB][features=1 queue_if_no_path][hwhandler=0]
    \_ round-robin 0 [prio=50][active]
    \_ 2:0:0:4 sdh 8:112 [active][ready]
    \_ round-robin 0 [prio=1][enabled]
    \_ 1:0:0:4 sdd 8:48  [active][ghost]
    SE6320-1 (360003baccb94900045b89edb000104d2)
    [size=1638 GB][features=1 queue_if_no_path][hwhandler=0]
    \_ round-robin 0 [prio=50][active]
    \_ 1:0:0:2 sdc 8:32  [active][ready]
    \_ round-robin 0 [prio=1][enabled]
    \_ 2:0:0:2 sdg 8:96  [active][ghost]So we see that each LUN has two paths and one of these is active (prio=50) and one is dormant (prio=1). I've tested the failover by shutting down one of the fabric paths and things seem to cope reasonably well.
    I've no idea if these pathches will ever make it into the main device mapper branch but it would be rather nice if they did!

  • First PKGBUILD - PyMbs - A Python tool for modelling multibody systems

    I've tried to make a PKGBUILD for PyMbs (bitbucket.org/pymbs/pymbs), a tool for modelling multibody systems. My try can be seen at this Github gist: https://gist.github.com/Psirus/00d3e873c22e5ee6d8e7, copied here:
    # Maintainer: Christoph Pohl <christoph.pohl1[at]mailbox[dot]tu-dresden[dot]de>
    pkgname=PyMbs-hg
    pkgver=0.2.2.r1752
    pkgrel=1
    pkgdesc="A Python tool to model multibody systems"
    arch=('i686' 'x86_64')
    url="http://www.bitbucket.org/pymbs/pymbs"
    license=('LGPL')
    depends=('python2-numpy' 'python2-scipy' 'python2-matplotlib' 'vtk' 'python2-pyqt4' 'python2-h5py' )
    makedepends=('cmake' 'mercurial')
    checkdepends=('python2-mock')
    source=('hg+https://bitbucket.org/pymbs/pymbs')
    md5sums=('SKIP')
    _hgroot='https://bitbucket.org/pymbs/pymbs'
    _hgrepo='pymbs'
    build() {
    cd "$srcdir"
    msg "Connecting to Mercurial server...."
    if [[ -d "$_hgrepo" ]]; then
    cd "$_hgrepo"
    hg pull -u
    msg "The local files are updated."
    else
    hg clone "$_hgroot" "$_hgrepo"
    fi
    msg "Mercurial checkout done or server timeout"
    msg "Starting build..."
    rm -rf "$srcdir/$_hgrepo-build"
    cp -r "$srcdir/$_hgrepo" "$srcdir/$_hgrepo-build"
    package() {
    cd "$srcdir/$_hgrepo-build"
    python2 setup.py install --root="$pkgdir/" --optimize=1
    As far as I can tell, it works on my machine (tm), but I would still like some feedback before I upload it to the AUR.

    namcap says:
    PyMbs-hg E: No upper case letters in package names
    PyMbs-hg W: No ELF files and not an "any" package
    PyMbs-hg E: Dependency python detected and not included (programs ['python'] needed in scripts ['usr/lib/python2.7/site-packages/PyMbs/Graphics/osgviewerQt4.py'])
    The first error is obvious, the last error seems like it might need fixing since python3 is the default in Arch. I'm not sure about the warning; I don't know if .pyc files are architecture specific
    Last edited by Spider.007 (2014-05-03 15:11:10)

  • [Solved] PKGBUILD Update for ufs-tools

    This is the second of five packages I'm looking at, per the original post.
    This time, the package is aur/ufs-tools (0.1-1), which installs a binary under /sbin. Flagged as before, no apparent hard-coded paths in the source, and it seems to be operable from /usr/bin, so once again, only a build issue. The only affected file here is the PKGBUILD, for which I include updates below.
    PKGBUILD.diff (to make a new PKGBUILD) -- In addition to correcting the install path, this fixes an error and several warnings noted by namcap, and also a warning by makepkg about the lack of a package() function.
    Edited 09 June 2013 per Scimmia [#1285088]
    --- PKGBUILD 2011-07-12 01:10:50.000000000 +1000
    +++ PKGBUILD 2013-06-09 13:48:15.088487843 +1000
    @@ -4,13 +4,11 @@
    pkgver=0.1
    pkgrel=1
    pkgdesc="Utility for creating UFS 1 & 2 filesystems on Linux"
    -arch=(i686 x86_64)
    -# http://downloads.sourceforge.net/project/ufs-linux/ufs-tools/0.1/ufs-tools-0.1.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fufs-linux%2F&ts=1309898303&use_mirror=voxel
    +arch=('i686' 'x86_64')
    url="http://ufs-linux.sourceforge.net/"
    license=('GPL')
    -depends=(gcc libbsd)
    -#install=
    -source=(http://downloads.sourceforge.net/project/ufs-linux/ufs-tools/0.1/$pkgname-$pkgver.tar.bz2
    +depends=('libbsd')
    +source=("http://downloads.sourceforge.net/project/ufs-linux/ufs-tools/0.1/$pkgname-$pkgver.tar.bz2"
    ufs-tools.patch)
    md5sums=('c4a78473c8b5267b2799b53c878edaad'
    @@ -18,15 +16,19 @@
    build() {
    cd "$srcdir/$pkgname-$pkgver"
    +
    patch -p1 < ../ufs-tools.patch
    +
    cd libufs
    - make || return 1
    + make
    +
    cd ..
    - make # DESTDIR="$pkgdir/" install
    - mkdir -p $pkgdir/sbin
    - mkdir -p $pkgdir/usr/lib
    - cp $srcdir/$pkgname-$pkgver/libufs/libufs.so.1.0 $pkgdir/usr/lib/.
    - ln -s $pkgdir/usr/lib/libufs.so.1.0 $pkgdir/usr/lib/libufs.so.1
    - cp $srcdir/$pkgname-$pkgver/mkufs $pkgdir/sbin/.
    + make
    +}
    +
    +package() {
    + install -D "$srcdir/$pkgname-$pkgver/libufs/libufs.so.1.0" "$pkgdir/usr/lib/libufs.so.1.0"
    + ln -rs "$pkgdir/usr/lib/libufs.so.1.0" "$pkgdir/usr/lib/libufs.so.1"
    +
    + install -D "$srcdir/$pkgname-$pkgver/mkufs" "$pkgdir/usr/bin/mkufs"
    If you wanted a 'mkfs.ufs' similar to the other tools, you could also include this line in the new PKGBUILD as the last instruction before the closing brace of package(); I could not determine for certain if this would conflict with a file in any other package, but I do not believe it should (unless there is a different package providing UFS tools). I didn't include it above however to avoid the risk, and also as it was not in the original PKGBUILD:
    ln -rs "$pkgdir/usr/bin/mkufs" "$pkgdir/usr/bin/mkfs.ufs"
    Any (constructive) feedback is welcome; I tried to make as few changes as possible to the original PKGBUILD, so apologies if I missed correcting/adjusting other things that should have been changed as well. I will of course add a comment to the package page in AUR noting this topic.
    Last edited by aexoxea (2015-05-13 13:36:21)

    Scimmia wrote:
    Get rid of "|| return 1", it's no longer needed.
    Don't just cp a file. Use install if it's individual files or cp -a if it's an entire dir structure. Install will also make the dest dirs for you with the -D option, so get rid of the mkdir commands as well.
    Quote all paths which include variables.
    [#1285088]
    Changes made (and now reflected in the OP), and these points noted for future work. The feedback is much appreciated .

  • Tora pkgbuild: oracle tool with postgresql and mysql support

    Tora is a tool for oracle databases with some support for postgresql and mysql.
    tora PKGBUILD
    pkgname=tora-alpha
    pkgver=1.3.14.1
    pkgrel=1
    pkgdesc="Qt toolkit originally for Oracle databases administration with some support for Postgresql and Mysql"
    url="http://www.globecom.net/tora/"
    depends=('qt')
    makedepends=('perl')
    conflicts=('tora')
    source=(http://dl.sourceforge.net/tora/${pkgname}-${pkgver}.tar.gz)
    md5sums=('5560b5104438e1b71bd89386d0fcdc00')
    build() {
    cd $startdir/src/tora-$pkgver
    ./configure --prefix=/usr
    --without-kde
    --without-oracle
    --without-rpath
    make || return 1
    make ROOT=$startdir/pkg install
    I'm posting this pkgbuild only for testing/research.
    Fist, it's alpha (aka devel) version but stable release does not want to easly compile on my machine and it's too old IMO.
    As you can see it can be built without the need for kde (good news for other WMs/DEs users).
    The funny thing is that I built it without support for... oracle :-) That's because it needs lots of oracle stuff installed and I don't have it. If someone has, he can build a static version of oracle support (if you do please post some info here if it works, etc.).
    The postgresql/mysql support depends on the qt package configuration. Current qt arch package does not inlcude postgresql/mysql plugin support. The next qt release will have mysql support at least (http://bugs.archlinux.org/index.php?do=details&id=1040, http://bugs.archlinux.org/index.php?do=details&id=1166) and I have made a feature reqest for postgresql http://bugs.archlinux.org/index.php?do=details&id=1244.
    I'm still not 100% sure if postgresql and mysql should/shouldn't be put in makedepends (according to the docs and mailinglists it's not needed). I'll check that again when new qt release will be available.
    In other words in such configuration and present qt version this application is pretty useless :-) (though it can be run). But I'm posting this pkgbuild for the others (if someone needs to test it or tries to build it, etc.). I'm sure tora will soon be more attractive especially for someone using oracle databases.

    This won't work using a newer oracle instant client version though, since the pathes won't be set correct.
    The Project TOra won't use automake, since the author refuses doing so.
    Probably it would be a larger patching work to get it working with instantclient_10_2 (the current release version from Oracle).
    Why so?
    It seems as if the include pathes for the oracle client won't be set correclty, since TOra seems to expect a full oracle product installation.
    The configure does not accept a --with-oracle-includes or --with-oracle-libs option any longer (in 1.3.21 it did). Therefore, TOra won't find in example oci.h, since it's not in any include directory known.
    Also, some other files are not in the path TOra expects them to be.
    Without the possibility of passing by configure options handling this, i guess it won't be possible to get this TOra version running with the current instantclient.
    // STi

  • Htb-tools. my first PKGBUILD. needs adjusting.

    Okay. This is my first try at a PKGBUILD.
    pkgname=HTB-tools
    pkgver=0.2.7a
    pkgrel=1
    pkgdesc="a tool to help simplify the difficult process of bandwidth allocation"
    arch=(i686 x86_64)
    url="http://htb-tools.arny.ro"
    depends=()
    makedepends=('flex')
    conflicts=()
    replaces=()
    backup=()
    install=
    source=(http://htb-tools.arny.ro/$pkgname-current/archives/$pkgname-$pkgver.tar.gz http://unixlust.yeahost.com/others/bitops.h
    md5sums=('4d827f15f79b8df645435b930e91dda0'\
    '962daca65477787ec8fd8c805aca0c70')
    build() {
    cd $startdir/src/$pkgname-$pkgver
    cp -v $startdir/src/bitops.h /usr/include/asm/bitops.h
    make || return 1
    make prefix=$startdir/pkg/ install
    It errors out. What I need it to do is copy that bitops.h in /usr/include/asm before starting compilation, because it won't compile without it. Can someone please help me sort this thing out ?
    http://pastebin.ca/340043
    PS: The bitops.h file is taken from a Debian install, because it is just missing in Arch (very strange). In my opinion the devs should include it in /usr/include/asm , because some progs just won't compile without it.
    Last edited by unixlust (2007-02-04 14:44:32)

    Lone_Wolf wrote:
    Actually that file is already present in 3 locations (although not in /usr/include ) :
    /usr/src/linux-26.19-ARCH/include/bitops.h
    /usr/src/linux-26.19-ARCH/include/asm-generic/bitops.h
    /usr/src/linux-26.19-ARCH/include/asm-i386/bitops.h
    the make command probably looks in the wrong place .
    The kernel headers in /usr/src/ shouldn't be used to compile other apps than the kernel and its drivers. That's why there is a kernel-headers package to provide standardized versions of these headers. If it hasn't been done, follow patroclo7's advice to submit a bug report. Probably that include file has been created recently.

  • ICU IBM (i18n tools) 2.8 PKGBUILD

    this is ibm ICU  ,it need by mono
    pkgname=icu
    pkgver=2.8
    pkgrel=1
    pkgdesc="I18N Tools For Mono and Fox"
    depends=('glibc')
    source=(icu-2.8.tar.gz)
    build() {
      cd $startdir/src/icu/source
      ./runConfigureICU LinuxRedHat --prefix=/usr
      make || return 1
      make DESTDIR=$startdir/pkg install

    This is nice to get an over-all view (newsletter) about current major issues and news what're going on. With the increasing number of contribution on the forum and other AL media, its getting difficult to follow what's actually going on...... where to focus or to know AL's  latest support and development. Thanks for starting this newsletter.
    Most likely later there will be a different way how to distribute the news. For time being for users to find this newletter and also the next, I added a link in News, FAQ & LP topic, which can be followed up:
    http://bbs.archlinux.org/viewtopic.php?t=2250

  • Anyone use funambol? Want to write a PKGBUILD for it

    Hi all,
    Anyone here uses funambol? Its open-source but distributed in binary. I was thinking it'd be good to have an Arch (AUR) package for it. Of course, having the PKGBUILD simply unpack the binary distribution isn't optimal, was thinking of an /etc/rc.d script + /usr/bin links at least, as well as a 'fix' for the 32-bit included JVM issue.
    Anyway, I just found this software yesterday, and don't even have it working (as in syncing properly) yet. Would someone who uses it respond here, so I know what would be needed to make a good package for this?

    bharani wrote:
    ngoonee wrote:
    I've got a basic funambol setup working (syncing contacts, calendar, and todo between my palm and Evolution).
    The PKGBUILD basically dumps stuff in /opt/Funambol currently. Next is to write up the /etc/rc.d/funambol (shouldn't be too hard) and figure out what sort of .desktop files are needed (probably just the admin utility).
    Does anyone know if funambol has support for multiple calendars per user? Or do I have to create a new user for each calendar (and sync separately...)?
    Its great that you have it working. i gave up after reading the manual. I think there is a need to change a configuration file for java home in arch 64 bit (the binary file is being bundled with 32 bit jre).
    Not a change in configuration file, just rm the folder and ln -s your current java there.
    Here's an initial PKGBUILD. No makedepends that I'm aware of (its just cp, rm, ln, chmod). This gives you a working funambol, configuring and stuff is up to the user.
    The todo list from the previous post is still undone though .
    # Maintainer: Ng Oon-Ee < n g o o n e e AT g m a i l . c o m >
    pkgname=funambol
    pkgver=8.0.2
    pkgrel=1
    arch=(i686 x86_64)
    url="http://www.funambol.com"
    license=('AGPL3')
    #makedepends=('db>=4.7' 'popt' 'libcups' 'acl' 'libldap' 'libcap>=2.16' 'heimdal>=1.3.1' 'pam' 'fam' 'gnutls>=2.4.1')
    #options=(!makeflags)
    depends=('java-runtime' 'python')
    source=(http://download.forge.objectweb.org/sync4j/${pkgname}-${pkgver}.tgz)
    md5sums=('54a5f1e50dd51b4282046f824b986a72')
    build() {
    cd ${srcdir}/Funambol/
    install -dv -m755 ${pkgdir}/opt/
    # Copy Funambol files to /opt/Funambol
    cp -a ${srcdir}/Funambol/ ${pkgdir}/opt/
    # Removing built-in JRE, use system JRE
    rm -Rf ${pkgdir}/opt/Funambol/tools/jre-1.5.0/
    # Use system java libs
    ln -s /usr/lib/jvm/* ${pkgdir}/opt/Funambol/tools/jre-1.5.0
    # hack to prevent a whole lot of prompts for removing write-protected file
    chmod -R 644 ${srcdir}/Funambol/tools/jre-1.5.0/jre/

  • A PKGBUILD that allows multiple installed kernels

    Hi All,
    I've had so many people help me with so many things here at Arch, hopefully this will be useful to someone.
    What is it:
    I've got a kernel PKGBUILD file that allows me to build and install as many different kernels as desired, as long as each one has a unique $pkgver-$pkgrel setting.
    /var/abs/local/kernel-custom1/PKGBUILD:
    # $Id: PKGBUILD,v 1.17 2004/05/11 23:25:20 judd Exp $
    # Maintainer: judd <[email protected]>
    # 2004/06/30: Modified to support multiple loaded kernels -jea
    # Any kernel with a unique $pkgver-$pkgrel will not conflict with others.
    pkgver=2.6.6
    pkgrel=custom1
    # name mangling is necessary so pacman will load multiple packages
    pkgname=kernel$pkgver$pkgrel
    pkgdesc="Linux Kernel ver: $pkgver, build: $pkgrel"
    url="http://www.kernel.org"
    depends=('module-init-tools')
    # Is this file were patches to grub/menu.lst should occur? -jea
    install=kernel26.install
    source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2
    config)
    # patch makepkg to use as many sums as listed, in order? -jea
    md5sums=('5218790bc3db41e77a7422969639a9ad' 'fd32e9f43e9b6060e01f71d666372518')
    build() {
    cd $startdir/src/linux-$pkgver
    # get rid of the 'i' in i686
    carch=`echo $CARCH | sed 's|i||'`
    cat ../config | sed "s|#CARCH#|$carch|g" >./.config
    yes "" | make config
    # set EXTRAVERSION to create unique /lib/modules/ subdirectories
    cat Makefile | sed "s|EXTRAVERSION =|EXTRAVERSION = -$pkgrel|" > tmpMake
    mv tmpMake Makefile
    make clean bzImage modules || return 1
    mkdir -p $startdir/pkg/{lib/modules,boot}
    make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
    # create unique names in /boot/
    cp System.map $startdir/pkg/boot/System.map-$pkgver-$pkgrel
    cp arch/i386/boot/bzImage $startdir/pkg/boot/vmlinuz-$pkgver-$pkgrel
    install -D -m644 Makefile $startdir/pkg/usr/src/linux-$pkgver/Makefile
    install -D -m644 .config $startdir/pkg/usr/src/linux-$pkgver/.config
    install -D -m644 .config $startdir/pkg/boot/kconfig-$pkgver-$pkgrel
    mkdir -p $startdir/pkg/usr/src/linux-$pkgver/include
    mkdir -p $startdir/pkg/usr/src/linux-$pkgver/arch/i386/kernel
    for i in acpi asm-generic asm-i386 config linux math-emu net pcmcia scsi video; do
    cp -a include/$i $startdir/pkg/usr/src/linux-$pkgver/include/
    done
    # copy files necessary for later builds, like nvidia and vmware
    # does this "$pkgver-$pkgrel" multi-kernel strategy screw these up? -jea
    cp -a scripts $startdir/pkg/usr/src/linux-$pkgver/
    cp arch/i386/Makefile $startdir/pkg/usr/src/linux-$pkgver/arch/i386/
    cp arch/i386/kernel/asm-offsets.s $startdir/pkg/usr/src/linux-$pkgver/arch/i386/kernel/
    # copy in Kconfig files
    for i in `find . -name "Kconfig*"`; do
    mkdir -p $startdir/pkg/usr/src/linux-$pkgver/`echo $i | sed 's|/Kconfig.*||'`
    cp $i $startdir/pkg/usr/src/linux-$pkgver/$i
    done
    cd $startdir/pkg/usr/src/linux-$pkgver/include && ln -s asm-i386 asm
    cd $startdir/pkg/usr/src
    # create a unique subdirectory under /usr/src/
    mv linux-$pkgver linux-$pkgver-$pkgrel
    chown -R root.root $startdir/pkg/usr/src/linux-$pkgver-$pkgrel
    cd $startdir/pkg/lib/modules/$pkgver-$pkgrel &&
    (rm -f build; ln -sf /usr/src/linux-$pkgver-$pkgrel build)
    How it works:
    The primary thing I've usually done is wipe out my custom kernel by inadvertantly overwriting the loadable modules in the /lib/modules/$pkgver directory with a pacman -Su.
    The reason for this is that the current arch kernel build does not set the EXTRAVERSION variable in the kernel top level makefile. Therefore all kernels of the same $pkgver use the same /lib/modules/$pkgver/ subdirectory.
    The above PKGBUILD sets EXTRAVERSION to the $pkgrel variable.
    This causes the loadable module tree to be in a /lib/modules/$pkgver-$pkgrel/ directory.
    There are two other places where kernels experience file conflicts:
    /boot/
    /usr/src/
    The /boot/ files: vmlinuz, System.map and kconfig are given unique names by appending the $pkgver-$pkgrel string.
    The /usr/src/linux-$pkgver/ directory is moved to /usr/src/linux-$pkgver-$pkgrel/.
    This allows the loadable kernel, the loadable modules and the stripped source headers to be in a unique place for each different kernel. Therefore multiple kernels can be loaded concurrently and the desired one may be chosen at boot time by grub.
    The only thing a little weird about this, is the $pkgname variable. pacman will only load one version of each $pkgname, so for multiple kernels to be loaded, they each have to have a unique $pkgname. This is accomplished by appending the $pkgver and $pkgrel to the $pkgname. This is fine, except it gives a slightly weird name for the resulting kernel package file. It has the format:
    kernel$pkgver$pkgrel-$pkgver-$pkgrel.pkg.tar.gz
    That is, the $pkgver and $pkgrel appear in the package file name twice. This also shows if one issues:
    pacman -Q | grep kernel -
    Which yields for me:
    kernel2.6.6custom1 2.6.6-custom1
    kernel2.6.61 2.6.6-1
    kernel26 2.6.7-1
    This command could only have shown one package before, now it shows that I currently have installed: a custom 2.6.6 kernel, the stock arch 2.6.6 kernel built with the above PKGBUILD and the current arch kernel26 package.
    I may choose between any of these at boot time with grub. And as an added bonus, the next time I pacman -Su I won't wipe out my custom /lib/modules subdirectory 8-)
    All of this assumes the supply of your own custom config file as in the arch wiki Building the Kernel in ABS instructions.
    Idle thoughts:
    It would sure be nice if something like this could be adopted for the stock arch kernels. Unlike most other packages it is often desirable to have multiple versions of the kernel package installed at once.
    I wonder if it is practical for pacman to allow multiple versions of the same $pkgname to be installed concurrently if the $pkgname-$pkgver-$pkgrel string is unique and the different versions do not have file conflicts?
    The other major package I could see this being applied to is gcc. It would be really cool to load different cross and other configurations of gcc concurently.
    I find one of the most diifficult things needed to get a workstation running is getting all of the correct kernel modules built in. It seems that most PCs today have all the major features built in to the motherboard chipset: graphics controller, sound, usb, ethernet, etc. If it was possible to build a database of custom kernels, one for each major chipset, then one could be chosen by hardware detection at install time. This would provide the benefits of a custom kernel in an autoload fashion.
    Just dreaming...
    Conclusion:
    I'm not sure how this strategy fits in with the bigger pictiure of running pkg repositories, building dependent packages, who knows what else.
    The thing I hope to add next is automatically adding and removing entries into: /boot/grub/menu.lst when the kernel package is installed and removed. The $pkgdesc string is perfect for serving as the title line.
    Hopefully this can be useful to others, it has helped me clean up my multi-kernel mess here.
    Thanks Again for such an awesome distro...
    John E. A.
    p.s Arch Rulz!

    Thank you, I tried to set something up like this in the wiki, but never tested it and it didn't work for some users. You've tested it well?
    If so, you can copy it over to the wiki (edit or overwrite the Kernel compile with ABS wiki entry), or I can.
    Thanks again, its much appreciated.
    Dusty

Maybe you are looking for