summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core/pcmciautils/60-pcmcia.rules30
-rw-r--r--abs/core/pcmciautils/PKGBUILD41
2 files changed, 49 insertions, 22 deletions
diff --git a/abs/core/pcmciautils/60-pcmcia.rules b/abs/core/pcmciautils/60-pcmcia.rules
new file mode 100644
index 0000000..aa3c1a2
--- /dev/null
+++ b/abs/core/pcmciautils/60-pcmcia.rules
@@ -0,0 +1,30 @@
+# PCMCIA devices:
+#
+ACTION!="add", GOTO="pcmciautils_end"
+# modprobe $env{MODALIAS} loads all possibly appropriate modules
+SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", \
+ RUN+="/lib/udev/load-modules.sh $env{MODALIAS}"
+
+# Very few CIS firmware entries (which we use for matching)
+# are so broken that we need to read out random bytes of it
+# instead of the manufactor, card or product ID. Then the
+# matching is done in userspace.
+SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", \
+ RUN+="/lib/udev/pcmcia-check-broken-cis"
+
+# However, the "weak" matching by func_id is only allowed _after_ modprobe
+# returns, so that "strong" matches have a higher priority.
+SUBSYSTEM=="pcmcia", ENV{MODALIAS}=="?*", ATTR{allow_func_id_match}="1"
+
+# PCMCIA sockets:
+#
+# modprobe the pcmcia bus module so that 16-bit PCMCIA devices work
+SUBSYSTEM=="pcmcia_socket", \
+ RUN+="/lib/udev/load-modules.sh pcmcia"
+
+# if this is a PCMCIA socket which needs a resource database,
+# pcmcia-socket-startup sets it up
+SUBSYSTEM=="pcmcia_socket", \
+ RUN+="/lib/udev/pcmcia-socket-startup"
+
+LABEL="pcmciautils_end"
diff --git a/abs/core/pcmciautils/PKGBUILD b/abs/core/pcmciautils/PKGBUILD
index dbbb092..40a4a6b 100644
--- a/abs/core/pcmciautils/PKGBUILD
+++ b/abs/core/pcmciautils/PKGBUILD
@@ -1,34 +1,31 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id: PKGBUILD 82630 2010-06-15 04:26:01Z allan $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=pcmciautils
-pkgver=014
-pkgrel=13
+pkgver=017
+pkgrel=1
pkgdesc="Utilities for inserting and removing PCMCIA cards"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
url="http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html"
license=('GPL')
groups=('base')
depends=('glibc' 'sysfsutils' 'module-init-tools>=3.2pre9')
conflicts=('pcmcia-cs')
-source=(http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmciautils-$pkgver.tar.bz2)
-md5sums=('3f07c926875f6c5dcb83240f39725177')
+source=(http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmciautils-$pkgver.tar.bz2
+ 60-pcmcia.rules)
+options=(!makeflags)
+md5sums=('5245af28eeba57ec0606a874d44d10f7'
+ 'f88ac464ab9c75fe1565af551e6553a2')
build() {
- cd $startdir/src/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$pkgver
sed -i -e 's,/usr/bin/install,/bin/install,g' Makefile
- make -j1 || return 1
- make DESTDIR=$startdir/pkg/ install
- # fix udev rules for new modalias layout
- sed -i -e 's/MODALIAS/ENV{MODALIAS}/g' -e 's/$modalias/$env{MODALIAS}/g'\
- $startdir/pkg/etc/udev/rules.d/60-pcmcia.rules
+ make || return 1
+}
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install || return 1
# fix lspcmcia symlink
- ln -sf pccardctl $startdir/pkg/sbin/lspcmcia
- # adding static binaries for initrd setup
- make clean
- sed -i -e 's/STATIC\ =\ false/STATIC\ =\ true/g' Makefile
- make -j1 || return 1
- install -D -m755 pcmcia-check-broken-cis $startdir/pkg/sbin/pcmcia-check-broken-cis.static
- install -D -m755 pcmcia-socket-startup $startdir/pkg/sbin/pcmcia-socket-startup.static
- # fix modprobe rules to use the load-modules.sh
- sed -i -e "s#/sbin/modprobe#/lib/udev/load-modules.sh#g" $startdir/pkg/etc/udev/rules.d/*
+ ln -sf pccardctl $pkgdir/sbin/lspcmcia
+ # add fixed rules file
+ install -D -m644 $srcdir/60-pcmcia.rules $pkgdir/lib/udev/rules.d/
}