diff options
-rw-r--r-- | abs/core/pcmciautils/60-pcmcia.rules | 30 | ||||
-rw-r--r-- | abs/core/pcmciautils/PKGBUILD | 42 | ||||
-rw-r--r-- | abs/core/pcmciautils/initcpio-install-pcmcia | 22 |
3 files changed, 45 insertions, 49 deletions
diff --git a/abs/core/pcmciautils/60-pcmcia.rules b/abs/core/pcmciautils/60-pcmcia.rules deleted file mode 100644 index aa3c1a2..0000000 --- a/abs/core/pcmciautils/60-pcmcia.rules +++ /dev/null @@ -1,30 +0,0 @@ -# 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 40a4a6b..fcc5996 100644 --- a/abs/core/pcmciautils/PKGBUILD +++ b/abs/core/pcmciautils/PKGBUILD @@ -1,31 +1,35 @@ -# $Id: PKGBUILD 82630 2010-06-15 04:26:01Z allan $ -# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# $Id: PKGBUILD 155725 2012-04-06 00:03:55Z tomegun $ +# Maintainer: Tom Gundersen <teg@jklm.no> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> pkgname=pcmciautils -pkgver=017 -pkgrel=1 +pkgver=018 +pkgrel=4 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') +# sysfsutils will not be required in the next release +depends=('udev' 'sysfsutils') conflicts=('pcmcia-cs') -source=(http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmciautils-$pkgver.tar.bz2 - 60-pcmcia.rules) +# source=(http://kernel.org/pub/linux/utils/kernel/pcmcia/${pkgname}-${pkgver}.tar.bz2) broken due to breakin +source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz + initcpio-install-pcmcia) options=(!makeflags) -md5sums=('5245af28eeba57ec0606a874d44d10f7' - 'f88ac464ab9c75fe1565af551e6553a2') build() { - cd $srcdir/$pkgname-$pkgver - sed -i -e 's,/usr/bin/install,/bin/install,g' Makefile - make || return 1 + cd "${srcdir}/${pkgname}-${pkgver}" + sed -i -e 's,/usr/bin/install,install,g; + s,/lib/udev,/usr/lib/udev,g' Makefile + make } + package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install || return 1 - # fix lspcmcia symlink - ln -sf pccardctl $pkgdir/sbin/lspcmcia - # add fixed rules file - install -D -m644 $srcdir/60-pcmcia.rules $pkgdir/lib/udev/rules.d/ + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + # install the mkinitpcio hook + install -D -m644 ../initcpio-install-pcmcia ${pkgdir}/usr/lib/initcpio/install/pcmcia } +md5sums=('964c802994677a71b38ec56554aa229f' + '2659576a4637c58c4e79a96f8e43e316') diff --git a/abs/core/pcmciautils/initcpio-install-pcmcia b/abs/core/pcmciautils/initcpio-install-pcmcia new file mode 100644 index 0000000..71052d6 --- /dev/null +++ b/abs/core/pcmciautils/initcpio-install-pcmcia @@ -0,0 +1,22 @@ +#!/bin/bash + +build() { + FILES="/etc/pcmcia/config.opts" + MODULES=" $(checked_modules '/drivers/pcmcia/' | grep -ve 'sound' -e 'net') $(checked_modules '/ide/legacy')" + + [[ $MODULES ]] && MODULES+=" sd_mod?" + + add_binary "/usr/lib/udev/pcmcia-socket-startup" + add_binary "/usr/lib/udev/pcmcia-check-broken-cis" + add_file "/usr/lib/udev/rules.d/60-pcmcia.rules" +} + +help() { + cat <<HELPEOF +This hook loads the necessary modules for a pcmcia root device. Detection will +take place at runtime. To minimize the modules in the image, add the autodetect +hook too. +HELPEOF +} + +# vim: set ft=sh ts=4 sw=4 et: |