summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/ivman/README35
-rw-r--r--system/ivman/doinst.sh12
-rw-r--r--system/ivman/ivman.SlackBuild50
-rw-r--r--system/ivman/ivman.info4
-rw-r--r--system/ivman/slack-desc30
5 files changed, 87 insertions, 44 deletions
diff --git a/system/ivman/README b/system/ivman/README
index 54d6a3bc41..72d8e7efcf 100644
--- a/system/ivman/README
+++ b/system/ivman/README
@@ -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$'" />
diff --git a/system/ivman/doinst.sh b/system/ivman/doinst.sh
index f8bc992646..6a0871c4dc 100644
--- a/system/ivman/doinst.sh
+++ b/system/ivman/doinst.sh
@@ -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
diff --git a/system/ivman/ivman.SlackBuild b/system/ivman/ivman.SlackBuild
index eba496f85c..cca64e70d7 100644
--- a/system/ivman/ivman.SlackBuild
+++ b/system/ivman/ivman.SlackBuild
@@ -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
diff --git a/system/ivman/ivman.info b/system/ivman/ivman.info
index 86f8336d03..557834049f 100644
--- a/system/ivman/ivman.info
+++ b/system/ivman/ivman.info
@@ -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"
diff --git a/system/ivman/slack-desc b/system/ivman/slack-desc
index 8c783aa8eb..cee207b3b4 100644
--- a/system/ivman/slack-desc
+++ b/system/ivman/slack-desc
@@ -1,11 +1,19 @@
-ivman: Ivman is a flexible event manager for Linux.
-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: Ivman was developed by Ikke and Rohan of the GNOME project team.
-ivman:
+# 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: 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: Homepage: http://ivman.sourceforge.net/
+ivman: