system/ivman: Updated for version 0.6.14
This commit is contained in:
parent
201933c670
commit
cdbf629d17
|
@ -1,14 +1,25 @@
|
|||
Ivman is a generic handler for HAL events.
|
||||
ivman is a generic handler for HAL events. Originally for automounting,
|
||||
it can now be used to run arbitrary commands when events or conditions
|
||||
occur or properties are modified on your hardware (e.g., run a command
|
||||
when you close your laptop's lid, run a command when a particular
|
||||
device is attached or a particular CD is inserted, etc).
|
||||
|
||||
Originally for automounting, it can now be used to run arbitrary
|
||||
commands when events or conditions occur or properties are modified on
|
||||
your hardware (e.g., run a command when you close your laptop's lid,
|
||||
run a command when a particular device is attached or a particular CD
|
||||
is inserted, etc).
|
||||
ivman allows you to have automount feature even if you don't use a
|
||||
volume manager like KDE, GNOME, or XFCE includes. Just run ivman in
|
||||
background, and if you're not root, be sure to also install pmount
|
||||
that allows you to mount without being root and having the devices
|
||||
listed on /etc/fstab.
|
||||
|
||||
This package requires HAL, which is also available at SlackBuilds.org.
|
||||
|
||||
If combined with 'pmount' instances can also be launched per user session
|
||||
(e.g., create a link to /usr/bin/ivman in ~/.kde/Autostart). When a device
|
||||
is attached, Ivman will call pmount to mount the device. Otherwise
|
||||
/etc/fstab are need to be there for the devices.
|
||||
NOTE FROM SUBMITTER:
|
||||
I've discovered a bug (possibly known) in ivman with pumount usage,
|
||||
since ivman doesn't have maintainer right now and I don't know where
|
||||
to report it, I'll explain here how to easily solve it.
|
||||
Note that this happens when using pumount as non-root; I haven't
|
||||
tried using ivman as root.
|
||||
It seems that when you remove a USB device without pumounting it
|
||||
(which ivman should care of), ivman locks the device when calling
|
||||
pumount.
|
||||
This can be easily fixed by correcting your ivman's config files.
|
||||
Set in $HOME/.ivman/IvmConfigBase.xml:
|
||||
<ivm:Option name="mountcommand" value="pmount-hal '$hal.info.udi$'" />
|
||||
<ivm:Option name="umountcommand" value="pumount -l '$hal.block.device$'" />
|
||||
|
|
|
@ -2,19 +2,19 @@
|
|||
|
||||
config() {
|
||||
NEW="$1"
|
||||
OLD="`dirname $NEW`/`basename $NEW .new`"
|
||||
OLD="$(dirname $NEW)/$(basename $NEW .new)"
|
||||
# If there's no config file by that name, mv it over:
|
||||
if [ ! -r $OLD ]; then
|
||||
mv $NEW $OLD
|
||||
elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then
|
||||
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
|
||||
# toss the redundant copy
|
||||
rm $NEW
|
||||
fi
|
||||
# Otherwise, we leave the .new copy for the admin to consider...
|
||||
}
|
||||
|
||||
config etc/ivman/IvmConfigActions.xml
|
||||
config etc/ivman/IvmConfigProperties.xml
|
||||
config etc/ivman/IvmConfigBase.xml
|
||||
config etc/ivman/IvmConfigConditions.xml
|
||||
config etc/ivman/IvmConfigBase.xml.new
|
||||
config etc/ivman/IvmConfigActions.xml.new
|
||||
config etc/ivman/IvmConfigProperties.xml.new
|
||||
config etc/ivman/IvmConfigConditions.xml.new
|
||||
|
||||
|
|
|
@ -1,10 +1,30 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware build script for ivman
|
||||
# Written by Menno E. Duursma <druiloor@zonnet.nl>
|
||||
# Modified by the SlackBuilds.org project
|
||||
|
||||
# Exit on most errors
|
||||
# Copyright 2007 by Guillermo Bonvehi (gbonvehi@gmail.com)
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# Redistributions of this script must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
# Modified by Robby Workman <http://rlworkman.net>
|
||||
# No additional license terms added.
|
||||
|
||||
set -e
|
||||
|
||||
PRGNAM=ivman
|
||||
|
@ -15,7 +35,7 @@ TAG=${TAG:-_SBo}
|
|||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp} # Drop the package in /tmp
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
if [ "$ARCH" = "i486" ]; then
|
||||
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||
|
@ -38,27 +58,31 @@ CXXFLAGS="$SLKCFLAGS" \
|
|||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/man \
|
||||
--enable-static=no
|
||||
--mandir=/usr/man
|
||||
|
||||
make
|
||||
make install-strip DESTDIR=$PKG
|
||||
|
||||
# Let's not clobber the configuration files
|
||||
( cd $PKG/etc/ivman
|
||||
for file in * ; do
|
||||
mv $file ${file}.new ;
|
||||
done
|
||||
( cd $PKG
|
||||
mv etc/ivman/IvmConfigBase.xml etc/ivman/IvmConfigBase.xml.new
|
||||
mv etc/ivman/IvmConfigActions.xml etc/ivman/IvmConfigActions.xml.new
|
||||
mv etc/ivman/IvmConfigProperties.xml etc/ivman/IvmConfigProperties.xml.new
|
||||
mv etc/ivman/IvmConfigConditions.xml etc/ivman/IvmConfigConditions.xml.new
|
||||
)
|
||||
|
||||
( cd $PKG
|
||||
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||
)
|
||||
|
||||
# Compress man pages
|
||||
( cd $PKG/usr/man
|
||||
find . -type f -exec gzip -9 {} \;
|
||||
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
|
||||
)
|
||||
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a [A-Z][A-Z]* $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a AUTHORS INSTALL COPYING.GPL2 ABOUT-NLS COPYING ChangeLog NEWS TODO \
|
||||
COPYING.QPL README $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
mkdir -p $PKG/install
|
||||
|
|
|
@ -3,6 +3,6 @@ VERSION="0.6.14"
|
|||
HOMEPAGE="http://ivman.sourceforge.net/"
|
||||
DOWNLOAD="http://dl.sourceforge.net/ivman/ivman-0.6.14.tar.bz2"
|
||||
MD5SUM="ebef12559268e2c5ea932cbb5aaa789e"
|
||||
MAINTAINER="Menno E. Duursma"
|
||||
EMAIL="druiloor@zonnet.nl"
|
||||
MAINTAINER="Guillermo Bonvehi"
|
||||
EMAIL="gbonvehi@gmail.com"
|
||||
APPROVED="rworkman"
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
ivman: Ivman is a flexible event manager for Linux.
|
||||
# HOW TO EDIT THIS FILE:
|
||||
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||
# up the first '|' above the ':' following the base package name, and the '|'
|
||||
# on the right side marks the last column you can put a character in. You must
|
||||
# make exactly 11 lines for the formatting to be correct. It's also
|
||||
# customary to leave one space after the ':'.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
ivman: ivman (generic handler for HAL events.)
|
||||
ivman:
|
||||
ivman: Originally an automounter, it can also be used to run arbitrary
|
||||
ivman: commands when certain devices are added to or removed from the
|
||||
ivman: system, when properties on existing devices change, or when devices
|
||||
ivman: emit conditions. Unlike gnome-volume-manager, it runs from a
|
||||
ivman: console. It uses D-BUS and HAL to listen for new devices, and
|
||||
ivman: uses pmount for mounting.
|
||||
ivman: Ivman is a generic handler for HAL events. Originally for
|
||||
ivman: automounting, it can now be used to run arbitrary commands
|
||||
ivman: when events or conditions occur or properties are modified
|
||||
ivman: on your hardware (e.g., run a command when you close your
|
||||
ivman: laptop's lid, when a particular device is attached, or when
|
||||
ivman: a particular CD is inserted, etcetera).
|
||||
ivman:
|
||||
ivman: Ivman was developed by Ikke and Rohan of the GNOME project team.
|
||||
ivman: Homepage: http://ivman.sourceforge.net/
|
||||
ivman:
|
||||
|
|
Loading…
Reference in New Issue