summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre')
-rw-r--r--libre/dkms-libre/01-broken-uninstall.patch22
-rw-r--r--libre/dkms-libre/02-no-kernel-hook.patch13
-rw-r--r--libre/dkms-libre/PKGBUILD66
-rw-r--r--libre/dkms-libre/dkms.default9
-rw-r--r--libre/dkms-libre/dkms.hook12
-rw-r--r--libre/dkms-libre/dkms.install13
-rw-r--r--libre/dkms-libre/dkms.service11
-rw-r--r--libre/dkms-libre/dkms.systemd61
-rw-r--r--libre/ipsec-tools-libre/PKGBUILD48
-rw-r--r--libre/ipsec-tools-libre/ipsec-tools-linux-3.7-compat.patch50
-rw-r--r--libre/ipsec-tools-libre/ipsec.service12
-rw-r--r--libre/ipsec-tools-libre/racoon.service10
-rw-r--r--libre/oss-libre/PKGBUILD104
-rw-r--r--libre/oss-libre/linux-3.8.patch40
-rw-r--r--libre/oss-libre/oss.install25
-rw-r--r--libre/oss-libre/oss.service12
-rw-r--r--libre/oss-libre/remove-hal.patch20
-rw-r--r--libre/oss-libre/rm-init-scripts.patch52
-rw-r--r--libre/oss-libre/soundon.patch28
-rw-r--r--libre/tomoyo-tools-libre/PKGBUILD42
-rw-r--r--libre/tomoyo-tools-libre/tomoyo-tools.install11
21 files changed, 661 insertions, 0 deletions
diff --git a/libre/dkms-libre/01-broken-uninstall.patch b/libre/dkms-libre/01-broken-uninstall.patch
new file mode 100644
index 000000000..a859efabe
--- /dev/null
+++ b/libre/dkms-libre/01-broken-uninstall.patch
@@ -0,0 +1,22 @@
+diff --git a/dkms b/dkms
+index abb01a4..265b69a 100644
+--- a/dkms
++++ b/dkms
+@@ -162,11 +162,14 @@ set_kernel_source_dir()
+
+ # A little test function for DKMS commands that only work on one kernel.
+ have_one_kernel() {
+- (( ${#kernelver[@]} > 1 )) && \
+- die 4 $"The action $1 does not support multiple kernel version" \
+- $"parameters on the command line."
+- [[ $all ]] && die 5 $"The action $1 does not support the --all" \
+- $"parameter."
++ if (( ${#kernelver[@]} != 1 )); then
++ die 4 $"The action $1 does not support multiple kernel version" \
++ $"parameters on the command line."
++ fi
++ if [[ $all ]]; then
++ die 5 $"The action $1 does not support the --all" \
++ $"parameter."
++ fi
+ }
diff --git a/libre/dkms-libre/02-no-kernel-hook.patch b/libre/dkms-libre/02-no-kernel-hook.patch
new file mode 100644
index 000000000..f01f22002
--- /dev/null
+++ b/libre/dkms-libre/02-no-kernel-hook.patch
@@ -0,0 +1,13 @@
+# Author: Sébastien Luttringer <seblu@seblu.net>
+--- a/Makefile 2011-12-07 19:23:51.000000000 +0100
++++ b/Makefile 2013-05-13 00:48:19.620000000 +0200
+@@ -46,9 +46,6 @@
+ gzip -c -9 dkms.8 > $(MAN)/dkms.8.gz
+ chmod 0644 $(MAN)/dkms.8.gz
+ touch --reference=dkms.8 $(MAN)/dkms.8.gz
+- mkdir -p -m 0755 $(KCONF)/prerm.d $(KCONF)/postinst.d
+- install -p -m 0755 kernel_prerm.d_dkms $(KCONF)/prerm.d/dkms
+- install -p -m 0755 kernel_postinst.d_dkms $(KCONF)/postinst.d/dkms
+
+ DOCFILES=sample.spec sample.conf AUTHORS COPYING README.dkms sample-suse-9-mkkmp.spec sample-suse-10-mkkmp.spec
+
diff --git a/libre/dkms-libre/PKGBUILD b/libre/dkms-libre/PKGBUILD
new file mode 100644
index 000000000..99caab5fa
--- /dev/null
+++ b/libre/dkms-libre/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 90494 2013-05-12 22:57:28Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=dkms
+pkgname=dkms-libre
+pkgver=2.2.0.3
+pkgrel=14
+pkgdesc='Dynamic Kernel Modules System, with linux-libre-headers and linux-libre-lts-headers recommendation'
+arch=('any')
+url='http://linux.dell.com/dkms/'
+license=('GPL2')
+depends=('bash' 'kmod' 'gcc' 'make' 'patch')
+optdepends=('linux-libre-headers: build modules against linux-libre kernel'
+ 'linux-libre-lts-headers: build modules against linux-libre-lts kernel')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+backup=('etc/dkms/framework.conf' 'etc/default/dkms')
+install=$_pkgname.install
+source=("http://linux.dell.com/$_pkgname/permalink/$_pkgname-$pkgver.tar.gz"
+ "$_pkgname.default"
+ "$_pkgname.service"
+ "$_pkgname.systemd"
+ '01-broken-uninstall.patch'
+ '02-no-kernel-hook.patch')
+md5sums=('11a8aaade2ebec2803653837c7593030'
+ '33be2fbf1bcc1b3fb2f38d9e7eaa809d'
+ '02e9744e3fdc3d2f68e46966fb32e260'
+ '267632312aa52a190ec0db0758920dd3'
+ '2dfd8656dc79afd229c1481a90fb645b'
+ '82d520c39c99c34977e48b313a189c6c')
+
+prepare() {
+ # patch
+ patches=("$srcdir"/*.patch)
+ cd $_pkgname-$pkgver
+ for p in "${patches[@]}"; do
+ msg2 "Apply patch: ${p##*/}"
+ patch -p1 -i "$p"
+ done
+ # /usr move
+ msg2 '/usr move patching'
+ for i in dkms{,_framework.conf,.bash-completion,.8,_common.postinst}; do
+ sed -ri 's,/lib/modules,/usr/lib/modules,g' "$i"
+ done
+ # fix hardcoded paths
+ sed -i "s|/sbin/depmod|depmod|" dkms
+}
+
+package() {
+ # systemd
+ install -D -m 644 $_pkgname.service "$pkgdir/usr/lib/systemd/system/$_pkgname.service"
+ install -D -m 755 $_pkgname.systemd "$pkgdir/usr/lib/systemd/scripts/$_pkgname"
+ install -D -m 644 $_pkgname.default "$pkgdir/etc/default/$_pkgname"
+ # upstream installer
+ cd $_pkgname-$pkgver
+ make \
+ DESTDIR="$pkgdir" \
+ SBIN="$pkgdir/usr/bin" \
+ BASHDIR="$pkgdir/usr/share/bash-completion/completions" \
+ install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/dkms-libre/dkms.default b/libre/dkms-libre/dkms.default
new file mode 100644
index 000000000..d430855bb
--- /dev/null
+++ b/libre/dkms-libre/dkms.default
@@ -0,0 +1,9 @@
+# vim:set ts=2 sw=2 ft=sh noet:
+
+# With LOAD set to yes, modules listed as installed will be loaded with
+# systemctl start dkms.service. Default is yes.
+LOAD=yes
+
+# With UNLOAD set to yes, modules listed as installed will be unloaded with
+# systemctl stop dkms.service. Default is no.
+UNLOAD=no
diff --git a/libre/dkms-libre/dkms.hook b/libre/dkms-libre/dkms.hook
new file mode 100644
index 000000000..3d656e32d
--- /dev/null
+++ b/libre/dkms-libre/dkms.hook
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+dkms_autoinstall() {
+ export TMPDIR=/dev/shm
+ status 'Starting DKMS autoinstall' dkms autoinstall
+ unset TMPDIR
+}
+
+add_hook single_udevlaunched dkms_autoinstall
+add_hook sysinit_udevlaunched dkms_autoinstall
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/dkms-libre/dkms.install b/libre/dkms-libre/dkms.install
new file mode 100644
index 000000000..4dd18dd19
--- /dev/null
+++ b/libre/dkms-libre/dkms.install
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 2.2.0.3-12)" -le 0 ]; then
+ cat << EOF
+===> dkms startup config file moved to /etc/default/dkms
+EOF
+ fi
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/dkms-libre/dkms.service b/libre/dkms-libre/dkms.service
new file mode 100644
index 000000000..0e679a949
--- /dev/null
+++ b/libre/dkms-libre/dkms.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Dynamic Kernel Modules System
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/lib/systemd/scripts/dkms start
+ExecStop=/usr/lib/systemd/scripts/dkms stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/dkms-libre/dkms.systemd b/libre/dkms-libre/dkms.systemd
new file mode 100644
index 000000000..03e6bfe97
--- /dev/null
+++ b/libre/dkms-libre/dkms.systemd
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+. /etc/default/dkms
+
+# list dkms modules for the current running kernel
+list_dkms_modules() {
+ shopt -s nullglob
+ declare -a DKMS_MOULES
+ # dkms status needs uname -r to list correctly intalled version for current kernel
+ local modules_path=($(dkms status -k "$(uname -r)"|sed -rn 's#(.*), (.*), (.*), (.*): installed#\1/\2/\3/\4#p'))
+ for p in "${modules_path[@]}"; do
+ for m in /var/lib/dkms/"$p"/module/*.ko{,gz}; do
+ m=${m##*/}
+ m=${m%.gz}
+ m=${m%.ko}
+ DKMS_MODULES+=("$m")
+ done
+ done
+}
+
+# load installed kernel modules for the current kernel version
+load_dkms_modules() {
+ local ret=0
+ list_dkms_modules
+ for m in "${DKMS_MODULES[@]}"; do
+ modprobe "$m"
+ ret+=$?
+ done
+ return $ret
+}
+
+# unload installed kernel modules for the current kernel version
+unload_dkms_modules() {
+ list_dkms_modules
+ # ask for removal
+ for m in "${DKMS_MODULES[@]}"; do
+ modprobe --remove --quiet "$m"
+ done
+ # check modules are unloaded
+ # sometimes modprobe -r fail but modules are removed
+ for m in "${DKMS_MODULES[@]}"; do
+ [[ -e /sys/modules/$m ]] && return 1
+ done
+ return 0
+}
+
+case "$1" in
+ start)
+ dkms autoinstall -k "$(uname -r)"
+ [[ $LOAD =~ [Yy][Ee][Ss] ]] && load_dkms_modules
+ ;;
+ stop)
+ [[ $UNLOAD =~ [Yy][Ee][Ss] ]] && unload_dkms_modules
+ ;;
+ *)
+ echo "usage: $0 {start|stop}" >&2
+ ;;
+esac
+
+:
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/ipsec-tools-libre/PKGBUILD b/libre/ipsec-tools-libre/PKGBUILD
new file mode 100644
index 000000000..6de9bd7d5
--- /dev/null
+++ b/libre/ipsec-tools-libre/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 91859 2013-05-28 17:36:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Allan Henriksen <allan.henriksen@gmail.com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=ipsec-tools
+pkgname=ipsec-tools-libre
+pkgver=0.8.1
+pkgrel=4
+pkgdesc="KAME IPSec tools ported to Linux (built for the linux-libre-headers package)"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://ipsec-tools.sourceforge.net/"
+depends=('readline' 'openssl' 'krb5')
+makedepends=('linux-libre-headers')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+license=('GPL')
+options=('!makeflags' '!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/ipsec-tools/$_pkgname-$pkgver.tar.bz2
+ racoon.service
+ ipsec.service
+ ipsec-tools-linux-3.7-compat.patch)
+md5sums=('d38b39f291ba2962387c3232e7335dd8'
+ '3a64a9e3b498c6da90450ffb0b758aea'
+ '387a0b0c4f10e42b2bb62282885cdc9c'
+ 'ae1dd20c83dcfce3dedb46ee73e83613')
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+
+ patch -p1 <$srcdir/ipsec-tools-linux-3.7-compat.patch
+ sed -i 's#-Werror##' configure.ac
+
+ ./bootstrap
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin \
+ --enable-security-context=no --enable-hybrid --enable-dpd --enable-natt \
+ --enable-adminport --enable-gssapi \
+ --with-kernel-headers=/lib/modules/`pacman -Q linux-libre-headers | cut -f2 -d\ `-LIBRE/build/include
+ make
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -Dm0644 $srcdir/racoon.service $pkgdir/usr/lib/systemd/system/racoon.service
+ install -Dm0644 $srcdir/ipsec.service $pkgdir/usr/lib/systemd/system/ipsec.service
+}
diff --git a/libre/ipsec-tools-libre/ipsec-tools-linux-3.7-compat.patch b/libre/ipsec-tools-libre/ipsec-tools-linux-3.7-compat.patch
new file mode 100644
index 000000000..46b11ee51
--- /dev/null
+++ b/libre/ipsec-tools-libre/ipsec-tools-linux-3.7-compat.patch
@@ -0,0 +1,50 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -74,9 +74,10 @@ case "$host_os" in
+ [ KERNEL_INCLUDE="/lib/modules/`uname -r`/build/include" ])
+
+ AC_CHECK_HEADER($KERNEL_INCLUDE/linux/pfkeyv2.h, ,
+- [ AC_CHECK_HEADER(/usr/src/linux/include/linux/pfkeyv2.h,
+- KERNEL_INCLUDE=/usr/src/linux/include ,
+- [ AC_MSG_ERROR([Unable to find linux-2.6 kernel headers. Aborting.]) ] ) ] )
++ [ AC_CHECK_HEADER($KERNEL_INCLUDE/uapi/linux/pfkeyv2.h, ,
++ [ AC_CHECK_HEADER(/usr/src/linux/include/linux/pfkeyv2.h,
++ KERNEL_INCLUDE=/usr/src/linux/include ,
++ [ AC_MSG_ERROR([Unable to find linux-2.6 kernel headers. Aborting.]) ] ) ] ) ] )
+ AC_SUBST(KERNEL_INCLUDE)
+ # We need the configure script to run with correct kernel headers.
+ # However we don't want to point to kernel source tree in compile time,
+@@ -643,7 +644,14 @@ AC_EGREP_CPP(yes,
+ #ifdef SADB_X_EXT_NAT_T_TYPE
+ yes
+ #endif
+-], [kernel_natt="yes"])
++], [kernel_natt="yes"], [
++ AC_EGREP_CPP(yes,
++ [#include <uapi/linux/pfkeyv2.h>
++ #ifdef SADB_X_EXT_NAT_T_TYPE
++ yes
++ #endif
++ ], [kernel_natt="yes"])
++])
+ ;;
+ freebsd*|netbsd*)
+ # NetBSD case
+--- a/src/include-glibc/Makefile.am
++++ b/src/include-glibc/Makefile.am
+@@ -1,14 +1,7 @@
+-
+-.includes: ${top_builddir}/config.status
+- ln -snf $(KERNEL_INCLUDE)/linux
+- touch .includes
+-
+-all: .includes
+-
+ EXTRA_DIST = \
+ glibc-bugs.h \
+ net/pfkeyv2.h \
+ netinet/ipsec.h \
+ sys/queue.h
+
+-DISTCLEANFILES = .includes linux
++DISTCLEANFILES = linux
diff --git a/libre/ipsec-tools-libre/ipsec.service b/libre/ipsec-tools-libre/ipsec.service
new file mode 100644
index 000000000..483a5b58d
--- /dev/null
+++ b/libre/ipsec-tools-libre/ipsec.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Load IPSec Security Policy Database
+After=syslog.target network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/bin/setkey -f /etc/ipsec.conf
+ExecStop=/usr/bin/setkey -F -P ; /usr/bin/setkey -F
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/ipsec-tools-libre/racoon.service b/libre/ipsec-tools-libre/racoon.service
new file mode 100644
index 000000000..95324bd5d
--- /dev/null
+++ b/libre/ipsec-tools-libre/racoon.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Racoon IKEv1 key management daemon for IPSEC
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/racoon
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/oss-libre/PKGBUILD b/libre/oss-libre/PKGBUILD
new file mode 100644
index 000000000..ab51da0cd
--- /dev/null
+++ b/libre/oss-libre/PKGBUILD
@@ -0,0 +1,104 @@
+# $Id: PKGBUILD 92058 2013-05-31 02:02:47Z seblu $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Florian Pritz <bluewind@xinu.at>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+pkgname=oss-libre
+pkgver=4.2_2007
+pkgrel=4
+arch=('i686' 'x86_64')
+url="http://developer.opensound.com/"
+license=('GPL2')
+makedepends=('gtk2')
+source=("http://www.4front-tech.com/developer/sources/stable/gpl/oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl.tar.bz2"
+ "rm-init-scripts.patch"
+ "soundon.patch"
+ "remove-hal.patch"
+ "linux-3.8.patch"
+ "oss.service"
+)
+md5sums=('f995118db1759fee3bcd38483940da6f'
+ 'b9a380a0ac8896390d71ac13676f27e1'
+ '65f07fe241bfbf912f76d8b6d8f276b5'
+ 'cd7f1dc6166bba8c94d96f3a28e948a5'
+ 'effecefb774f1d08ef9f0af0ad205c34'
+ '39c46b10a6bc56fc146d669a61bd3028')
+_dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl
+
+build() {
+ cd "${srcdir}/${_dir}"
+
+ # Avoid these flags conflicting with OSS build system.
+ unset CFLAGS
+ unset LDFLAGS
+ unset OSFLAGS
+ unset LIBRARIES
+ export NO_WARNING_CHECKS=yes
+
+ msg "Preparing the build environment."
+ cd "${srcdir}"
+
+ # Create build directory and configure
+ rm -rf build
+ mkdir build && cd build
+ "${srcdir}/${_dir}/configure" --enable-libsalsa=NO --regparm
+
+ # ossvermagic hardcodes /lib/modules *grumble*
+ sed -i 's|/lib/modules|/usr&|' \
+ os_cmd/Linux/ossvermagic/ossvermagic.c
+
+ pushd "$srcdir/$_dir"
+ patch -p0 -i "${srcdir}/linux-3.8.patch"
+ popd
+
+ msg "Building OSS."
+ make build
+
+ msg "Patching init scripts."
+ cd "${srcdir}/build/prototype"
+ rm usr/lib/oss/etc/S89oss
+ patch -p0 -i "${srcdir}/rm-init-scripts.patch"
+ patch -p0 -i "${srcdir}/soundon.patch"
+ # remove hal dependency
+ patch -p0 -i "${srcdir}/remove-hal.patch"
+ rm -rf usr/lib/oss/scripts/oss_usb-create-devices usr/lib/oss/scripts/90-oss_usb-create-device.fdi
+
+ # fix kernel module directories
+ sed -i 's#/lib/modules/$KERNEL_VERSION/kernel/#/usr/lib/modules/$KERNEL_VERSION/extramodules/kernel/#g' usr/sbin/soundon
+ sed -i 's#/lib/modules/$UNAME/kernel/#/usr/lib/modules/$UNAME/extramodules/kernel/#g' usr/lib/oss/build/install.sh
+ sed -i 's#mkdir /lib/modules#mkdir -p /usr/lib/modules#' usr/lib/oss/build/install.sh
+ sed -i 's#mkdir \(/usr/lib/modules/$UNAME/extramodules/kernel/oss\)#mkdir -p \1#' usr/lib/oss/build/install.sh
+ sed -i 's#\([= ]\)/lib/modules#\1/usr/lib/modules#g' \
+ usr/lib/oss/build/install.sh \
+ usr/lib/oss/scripts/restore_drv.sh \
+ usr/lib/oss/scripts/setup-alsa.sh \
+ usr/lib/oss/scripts/remove_drv.sh \
+ usr/lib/oss/build/Makefile.tmpl \
+ usr/lib/oss/build/Makefile.osscore \
+ usr/lib/oss/cuckoo/Makefile
+}
+
+package() {
+ pkgdesc="Open Sound System UNIX audio architecture, without nonfree libflashsupport-oss recommendation (built for the linux-libre-headers package)"
+ depends=('gcc' 'make' 'linux-libre-headers' 'libtool' 'sed')
+ optdepends=('gtk2: for graphical mixer (ossxmix)')
+ replaces=('oss')
+ conflicts=('oss' 'oss-linux' 'oss-linux-free' 'oss-testing')
+ provides=("oss=${pkgver}")
+ backup=('usr/lib/oss/soundon.user')
+ install=oss.install
+
+ cd "${srcdir}/build/prototype"
+ cp -a * "${pkgdir}"
+
+ cd "$pkgdir"
+ mv usr/sbin/* usr/bin
+ rmdir usr/sbin
+ chmod -R a+r . # All files can have read permission (FS#13815)
+ find . -type d -exec chmod a+x '{}' \; # Make namcap happy
+ install -Dm644 "$srcdir/oss.service" usr/lib/systemd/system/oss.service
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/oss-libre/linux-3.8.patch b/libre/oss-libre/linux-3.8.patch
new file mode 100644
index 000000000..46200e01a
--- /dev/null
+++ b/libre/oss-libre/linux-3.8.patch
@@ -0,0 +1,40 @@
+--- setup/Linux/oss/build/pci_wrapper.inc 2009-08-27 05:19:07.000000000 +0300
++++ setup/Linux/oss/build/pci_wrapper.inc 2013-02-08 13:56:10.519794975 +0200
+@@ -17,7 +17,11 @@
+ static dev_map_t dev_map[MAX_INSTANCE];
+ static int n_devmap = 0;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
+ static int __devinit
++#else
++static int
++#endif
+ osspci_probe (struct pci_dev *pcidev, const struct pci_device_id *pciid)
+ {
+ oss_device_t *osdev;
+@@ -65,7 +69,11 @@
+ return 0;
+ }
+
+-static void __devexit
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
++static int __devexit
++#else
++static int
++#endif
+ osspci_remove (struct pci_dev *pcidev)
+ {
+ int i;
+@@ -80,10 +88,11 @@
+ pci_disable_device (dev_map[i].pcidev);
+ osdev_delete (osdev);
+
+- return;
++ return 0;
+ }
+
+ printk (KERN_ALERT DRIVER_NICK ": Can't find the PCI device to detach\n");
++ return -EIO;
+ }
+
+ void
diff --git a/libre/oss-libre/oss.install b/libre/oss-libre/oss.install
new file mode 100644
index 000000000..9bd4e1fbc
--- /dev/null
+++ b/libre/oss-libre/oss.install
@@ -0,0 +1,25 @@
+post_install() {
+ echo "Running OSS install script..."
+ sh /usr/lib/oss/build/install.sh &>/dev/null
+ echo
+ echo " Note that OSS can't currently work together with kernel"
+ echo " ALSA modules, so they were moved out by the OSS install"
+ echo " scripts. If you want the ALSA kernel modules back, you can"
+ echo " just remove this package using pacman."
+}
+
+post_upgrade() {
+ echo "Running OSS update script..."
+ sh /usr/lib/oss/build/install.sh &>/dev/null
+}
+
+pre_remove() {
+ # Restore any replaced ALSA drivers.
+ sh /usr/lib/oss/scripts/restore_drv.sh
+}
+
+post_remove() {
+ echo " Open Sound System was now removed, and the ALSA kernel"
+ echo " modules were restored."
+}
+
diff --git a/libre/oss-libre/oss.service b/libre/oss-libre/oss.service
new file mode 100644
index 000000000..0200d2477
--- /dev/null
+++ b/libre/oss-libre/oss.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Open Sound System v4
+Before=sound.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/soundon
+ExecStop=/usr/bin/soundoff
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/oss-libre/remove-hal.patch b/libre/oss-libre/remove-hal.patch
new file mode 100644
index 000000000..27e2ef2de
--- /dev/null
+++ b/libre/oss-libre/remove-hal.patch
@@ -0,0 +1,20 @@
+Date: Tue Aug 2 16:37:31 CEST 2011
+Author: Florian Pritz <bluewind@xinu.at>
+This removes all hal dependencies
+
+References:
+http://www.archlinux.org/todo/92/
+
+--- usr/lib/oss/build/install_2011-08-02_162647.sh 2011-08-02 16:26:47.000000000 +0200
++++ usr/lib/oss/build/install.sh 2011-08-02 16:27:13.000000000 +0200
+@@ -336,10 +336,4 @@
+ echo "autosave_mixer yes" > $OSSLIBDIR/etc/userdefs
+ fi
+
+-# Hal 0.5.0+ hotplug
+-mkdir -p /usr/lib/hal/scripts
+-ln -sf $OSSLIBDIR/scripts/oss_usb-create-devices /usr/lib/hal/scripts/
+-mkdir -p /usr/share/hal/fdi/policy/20thirdparty/
+-ln -sf $OSSLIBDIR/scripts/90-oss_usb-create-device.fdi /usr/share/hal/fdi/policy/20thirdparty/
+-
+ exit 0
diff --git a/libre/oss-libre/rm-init-scripts.patch b/libre/oss-libre/rm-init-scripts.patch
new file mode 100644
index 000000000..981ff605f
--- /dev/null
+++ b/libre/oss-libre/rm-init-scripts.patch
@@ -0,0 +1,52 @@
+--- usr/lib/oss/build/install.sh.orig 2008-09-25 11:41:47.180167692 -0300
++++ usr/lib/oss/build/install.sh 2008-09-25 11:41:47.180167692 -0300
+@@ -290,38 +290,6 @@
+ echo
+ fi
+
+-if ! test -d /etc/init.d
+-then
+- mkdir /etc/init.d
+-fi
+-
+-rm -f /etc/init.d/oss /etc/rc.d/rc3.d/S89oss /etc/rc3.d/S89oss
+-cp -f $OSSLIBDIR/etc/S89oss /etc/init.d/oss
+-
+-chmod 744 /etc/init.d/oss
+-
+-if test -x /sbin/chkconfig
+-then
+- /sbin/chkconfig oss on > /dev/null 2>&1
+-else
+- if test -x /usr/sbin/update-rc.d
+- then
+- /usr/sbin/update-rc.d oss defaults > /dev/null 2>&1
+- else
+- if test -d etc/rc.d/rc3.d
+- then
+- rm -f /etc/rc.d/rc3.d/S89oss
+- ln -s /etc/init.d/oss /etc/rc.d/rc3.d/S89oss
+- else
+- if test -d /etc/rc3.d
+- then
+- rm -f /etc/rc3.d/S89oss
+- ln -s /etc/init.d/oss /etc/rc3.d/S89oss
+- fi
+- fi
+- fi
+-fi
+-
+ # Install ALSA interface module (Cuckoo)
+ #(cd $OSSLIBDIR/cuckoo && make clean) > /dev/null 2>&1
+ #if (cd $OSSLIBDIR/cuckoo && make install) > /var/log/cuckoo.log 2>&1
+--- usr/lib/oss/scripts/restore_drv.sh.orig 2008-09-25 11:41:47.210168487 -0300
++++ usr/lib/oss/scripts/restore_drv.sh 2008-09-25 11:41:47.210168487 -0300
+@@ -18,8 +18,6 @@
+ fi
+ fi
+
+-rm -f /etc/init.d/oss
+-
+ if ! test -d /lib/modules/`uname -r`/kernel/sound
+ then
+ if test -f /lib/modules/`uname -r`/sound-preoss.tar.bz2
diff --git a/libre/oss-libre/soundon.patch b/libre/oss-libre/soundon.patch
new file mode 100644
index 000000000..4702b8680
--- /dev/null
+++ b/libre/oss-libre/soundon.patch
@@ -0,0 +1,28 @@
+--- usr/sbin/soundon.old 2009-09-04 06:35:26.000000000 +0100
++++ usr/sbin/soundon 2009-11-15 13:59:53.000000000 +0000
+@@ -255,7 +255,10 @@
+ then
+ if test "`uname -m` " = "x86_64 "
+ then
+- ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2
++ # Fix for compatibility with Arch's directory structure
++ # Not that we use it, there is no $OSSLIBDIR/.libsalsa_installed
++ ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib/libasound.so.2
++ #ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2
+ #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
+ else
+ if test -s /lib/libasound.so.2
+@@ -278,8 +281,11 @@
+ then
+ if test "`uname -m` " = "x86_64 "
+ then
+- ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
+- ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64
++ # Fix for compatibility with Arch's directory structure
++ ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib
++ ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib
++ #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
++ #ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64
+ else
+ if test -s /lib/libasound.so.2
+ then
diff --git a/libre/tomoyo-tools-libre/PKGBUILD b/libre/tomoyo-tools-libre/PKGBUILD
new file mode 100644
index 000000000..02a181b55
--- /dev/null
+++ b/libre/tomoyo-tools-libre/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 92638 2013-06-10 09:53:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jamie Nguyen <jamie AT tomoyolinux.co.uk>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=tomoyo-tools
+pkgname=tomoyo-tools-libre
+_basever=2.5.0
+_timestamp=20130406
+_file=53357
+pkgver=${_basever}.${_timestamp}
+pkgrel=1
+pkgdesc='TOMOYO Linux userspace tools for Linux kernels >=3.2 (built for the linux-libre kernel package)'
+arch=('i686' 'x86_64' 'mips64el')
+url='http://tomoyo.sourceforge.jp'
+#url='http://sourceforge.jp/projects/tomoyo/releases/?package_id=9818'
+license=('GPL')
+depends=('ncurses' 'linux-libre>=3.2')
+replaces=${_pkgname}
+conflicts=${_pkgname}
+provides=${_pkgname}=${pkgver}
+install=tomoyo-tools.install
+source=("http://sourceforge.jp/frs/redir.php?f=/tomoyo/${_file}/${_pkgname}-${_basever}-${_timestamp}.tar.gz")
+md5sums=('8888f83fcb87823d714ff551e8680d0d')
+
+prepare() {
+ cd "${srcdir}/${_pkgname}"
+ sed -i \
+ -e 's|usr/sbin|usr/bin|g' \
+ -e 's|sbin|usr/bin|g' \
+ usr_lib_tomoyo/init_policy.c
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}"
+ make USRSBINDIR=/usr/bin SBINDIR=/usr/bin
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}"
+ make USRSBINDIR=/usr/bin SBINDIR=/usr/bin INSTALLDIR="${pkgdir}" install
+}
diff --git a/libre/tomoyo-tools-libre/tomoyo-tools.install b/libre/tomoyo-tools-libre/tomoyo-tools.install
new file mode 100644
index 000000000..c23df1212
--- /dev/null
+++ b/libre/tomoyo-tools-libre/tomoyo-tools.install
@@ -0,0 +1,11 @@
+post_install () {
+ echo
+ echo " * To enable TOMOYO Linux, append 'security=tomoyo TOMOYO_trigger=/usr/bin/init' to the kernel"
+ echo " boot options and initialize policy with this command:"
+ echo " /usr/lib/tomoyo/init_policy"
+ echo
+}
+
+post_upgrade () {
+ post_install $1
+}