diff options
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | Makefile | 14 | ||||
-rw-r--r-- | PKGBUILD | 38 | ||||
-rw-r--r-- | dkms-frandom.install | 39 | ||||
-rw-r--r-- | dkms.conf | 6 | ||||
-rw-r--r-- | frandom.udev.patch | 8 |
6 files changed, 129 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..0a81cba22f0f --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,24 @@ +pkgbase = dkms-frandom + pkgdesc = A very fast random number generator kernel module (DKMS version) + pkgver = 1.1 + pkgrel = 4 + url = http://frandom.sourceforge.net/ + install = dkms-frandom.install + arch = any + license = GPL + depends = dkms + depends = linux-headers + provides = frandom=1.1 + conflicts = frandom + options = !strip + source = http://prdownloads.sourceforge.net/frandom/frandom-1.1.tar.gz + source = frandom.udev.patch + source = dkms.conf + source = Makefile + md5sums = aade48078496da7439eda41937a34e61 + md5sums = f9a36f3a3c7f9caaae6475f6edea079c + md5sums = 6b6ac64454740d8ba7d065a1ae903701 + md5sums = 1e94254311f05274035b5e41ff5a7a33 + +pkgname = dkms-frandom + diff --git a/Makefile b/Makefile new file mode 100644 index 000000000000..1a93fbae713a --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ +ifeq ($(KERNELRELEASE),) +KERNELRELEASE=$(shell uname -r) +endif + +obj-m := frandom.o + +KDIR := /lib/modules/$(KERNELRELEASE)/build +PWD := $(shell pwd) + +default: + $(MAKE) -C $(KDIR) M=$(PWD) modules + +clean: + $(MAKE) -C $(KDIR) M=$(PWD) clean diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..9e0753f424c3 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Tom < reztho at archlinux dot us > +# Thanks to contributors/mantainers of frandom and dkms-nvidia packages +# since I used those packages as templates to make this one + +pkgname=dkms-frandom +pkgver=1.1 +pkgrel=4 +pkgdesc="A very fast random number generator kernel module (DKMS version)" +arch=('any') +url="http://frandom.sourceforge.net/" +license=('GPL') +depends=('dkms' 'linux-headers') +provides=("frandom=${pkgver}") +conflicts=("frandom") +install=${pkgname}.install +options=(!strip) +_pkgname=frandom +source=("http://prdownloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.gz" +'frandom.udev.patch' +'dkms.conf' +'Makefile') + +build(){ + patch $srcdir/$_pkgname-$pkgver/10-frandom.rules $srcdir/frandom.udev.patch +} + +package() { + install -dm755 "$pkgdir/usr/src/$_pkgname-$pkgver" + install -m644 "$srcdir/$_pkgname-$pkgver/"* "$pkgdir/usr/src/$_pkgname-$pkgver" + install -Dm644 "$srcdir/$_pkgname-$pkgver/10-$_pkgname.rules" "$pkgdir/usr/lib/udev/rules.d/10-$_pkgname.rules" + install -m644 "$srcdir/dkms.conf" "$pkgdir/usr/src/$_pkgname-$pkgver" + install -m644 "$srcdir/Makefile" "$pkgdir/usr/src/$_pkgname-$pkgver" +} + +md5sums=('aade48078496da7439eda41937a34e61' + 'f9a36f3a3c7f9caaae6475f6edea079c' + '6b6ac64454740d8ba7d065a1ae903701' + '1e94254311f05274035b5e41ff5a7a33') diff --git a/dkms-frandom.install b/dkms-frandom.install new file mode 100644 index 000000000000..18ba932f418c --- /dev/null +++ b/dkms-frandom.install @@ -0,0 +1,39 @@ +post_install (){ + DKMS=$(which dkms) + + $DKMS add -m frandom -v 1.1 + $DKMS build -m frandom -v 1.1 + $DKMS install -m frandom -v 1.1 + /usr/bin/depmod -a +} + +pre_upgrade(){ + pre_remove +} + +post_upgrade(){ + post_install +} + +pre_remove (){ + _inmemory=$(/usr/bin/lsmod | /usr/bin/grep frandom) + if [ ! -z "$_inmemory" ]; then + /usr/bin/rmmod frandom &> /dev/null + fi + + DKMS=$(which dkms) + + _line=$($DKMS status -m frandom) + if echo "$_line" | grep -E 'added|built|installed'; then + version=$(echo "$_line" | sed 's/frandom,\([^,]*\)[,:].*/\1/;t;d') + $DKMS remove -m frandom -v $version --all + fi +} + +post_remove () { + /usr/bin/depmod -a +} + +op=$1 +shift +$op $* diff --git a/dkms.conf b/dkms.conf new file mode 100644 index 000000000000..37299e63db79 --- /dev/null +++ b/dkms.conf @@ -0,0 +1,6 @@ +PACKAGE_NAME="frandom" +PACKAGE_VERSION="1.1" +MAKE[0]="make" +BUILT_MODULE_NAME[0]="frandom" +DEST_MODULE_LOCATION[0]="/kernel/drivers/char" +AUTOINSTALL="yes" diff --git a/frandom.udev.patch b/frandom.udev.patch new file mode 100644 index 000000000000..a84fed1027d5 --- /dev/null +++ b/frandom.udev.patch @@ -0,0 +1,8 @@ +--- frandom-1.1-old/10-frandom.rules 2011-11-27 10:38:08.830232235 -0800 ++++ frandom-1.1/10-frandom.rules 2011-11-27 10:38:30.737847480 -0800 +@@ -5,4 +5,4 @@ + # 50-udev.rules (0600) is too restrictive. + # + +-KERNEL=="[ef]random", NAME="%k", MODE="444", OPTIONS="last_rule" ++KERNEL=="[ef]random", MODE="444", OPTIONS="last_rule" |