Merge branch 'master' of github.com:archlinuxarm/PKGBUILDs

This commit is contained in:
Stephen Oliver 2012-02-16 20:23:12 -05:00
commit 6c7add1a00
62 changed files with 1665 additions and 1262 deletions

31
aur/mochad/PKGBUILD Normal file
View file

@ -0,0 +1,31 @@
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
plugrel=1
pkgname=mochad
pkgver=0.1.14
pkgrel=1
pkgdesc="A Linux TCP gateway daemon for the X10 CM15A RF and PL controller and the CM19A RF controller"
arch=('arm' 'armv7h')
license=('GPL')
url="http://mochad.sourceforge.net/"
depends=('libusb')
source=(http://downloads.sf.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz)
md5sums=('e2e64c00f4809f16c9a2e0c882e77eb5')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --disable-dependency-tracking
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install-binPROGRAMS
make DESTDIR="${pkgdir}" install-data-am
install -D udev/91-usb-x10-controllers.rules "${pkgdir}/etc/udev/rules.d/91-usb-x10-controllers.rules"
install -D hotplug2/20-usb-x10 "${pkgdir}/etc/hotplug.d/usb/20-usb-x10"
install -D hotplug2/mochad "${pkgdir}/etc/rc.d/mochad"
}

View file

@ -1,12 +1,12 @@
# Maintainer: Dominik Dingel <mail at wodar dot de> # Maintainer: Andrea Crotti <mail andrea dot crotti dot 0 at gmail dot com>
# Contributor: William Udovich <nerdzrule7 at earthlink dot net> # Contributor: William Udovich <nerdzrule7 at earthlink dot net>
# Contributor: Farhan Yousaf <farhany at xaviya dot com> # Contributor: Farhan Yousaf <farhany at xaviya dot com>
plugrel=1 plugrel=1
pkgname=netatalk pkgname=netatalk
pkgver=2.2.1 pkgver=2.2.2
pkgrel=1 pkgrel=0
pkgdesc="A kernel level implementation of the AppleTalk Protocol Suite" pkgdesc="A kernel level implementation of the AppleTalk Protocol Suite"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="http://netatalk.sourceforge.net" url="http://netatalk.sourceforge.net"
@ -17,39 +17,35 @@ backup=('etc/netatalk/afpd.conf'
'etc/netatalk/atalkd.conf' 'etc/netatalk/atalkd.conf'
'etc/netatalk/papd.conf' 'etc/netatalk/papd.conf'
'etc/netatalk/AppleVolumes.default' 'etc/netatalk/AppleVolumes.default'
'etc/netatalk/AppleVolumes.system' 'etc/netatalk/AppleVolumes.system')
'etc/avahi/services/afpd.service')
depends=('libcups' 'tcp_wrappers' 'avahi' 'openssl' 'pam' 'coreutils>=7.1-2' 'db') depends=('libcups' 'pam' 'coreutils>=7.1-2' 'db')
optdepends=('avahi' 'tcp_wrappers' 'openssl' 'libgcrypt')
makedepends=('make' 'patch' 'gcc') makedepends=('make' 'patch' 'gcc')
source=(http://voxel.dl.sourceforge.net/project/netatalk/netatalk/2.2.1/netatalk-$pkgver.tar.bz2 \ source=(http://voxel.dl.sourceforge.net/project/netatalk/netatalk/$pkgver/netatalk-$pkgver.tar.bz2 \
afpd atalkd papd cnid afpd.service) afpd atalkd papd cnid afpd.service)
install=netatalk.install install=netatalk.install
md5sums=('4a371025daf96adb73fa491efdbfef28'
md5sums=('bd42b686ec7209d9ab47bd8e2e2431c4'
'16ab9fa50ec4abde6de478fc7de57805' '16ab9fa50ec4abde6de478fc7de57805'
'2d05de4a16faf7d4af21b5f14e33fa82' '2d05de4a16faf7d4af21b5f14e33fa82'
'b16a687c96dd1ca7ffefd7c995356c0d' 'b16a687c96dd1ca7ffefd7c995356c0d'
'84d1961726aaa8df08d63a0925358b1a' 'e21ef8051269583764e68d00683691bb'
'9b6b2fee54fe052bba0c69f00d335bdb') '9b6b2fee54fe052bba0c69f00d335bdb')
build() { build() {
cd "${srcdir}/netatalk-${pkgver}" cd $startdir/src/netatalk-$pkgver
./configure --prefix=/usr --with-cnid-cdb-backend --with-ssl-dir=/usr --localstatedir=/var --enable-fhs --enable-zeroconf=/usr --disable-srvloc --without-xfs ./configure --prefix=/usr --with-ssl-dir=/usr --localstatedir=/var --enable-fhs --enable-zeroconf=/usr --disable-srvloc --with-cnid-cdb-backend --enable-ddp
make || return 1 make || return 1
} make DESTDIR=$startdir/pkg install
package() { mv $startdir/pkg/usr/include/netatalk{,2}
cd "${srcdir}/netatalk-${pkgver}"
make DESTDIR=${pkgdir} install install -d $startdir/pkg/etc/rc.d
install -m755 ../{afpd,atalkd,papd,cnid} $startdir/pkg/etc/rc.d
mv ${pkgdir}/usr/include/netatalk{,2}
install -d $startdir/pkg/etc/avahi/services
install -d ${pkgdir}/etc/rc.d install -m744 ../afpd.service $startdir/pkg/etc/avahi/services
install -m755 ../{afpd,atalkd,papd,cnid} ${pkgdir}/etc/rc.d
rm -f $startdir/pkg/usr/share/man/man1/timeout.1{,.gz}
install -d ${pkgdir}/etc/avahi/services
install -m755 ../afpd.service ${pkgdir}/etc/avahi/services
# rm $startdir/pkg/usr/bin/timeout
rm -f ${pkgdir}/usr/share/man/man1/timeout.1{,.gz}
} }

View file

@ -7,7 +7,7 @@ PID=$(pidof -o %PPID /usr/sbin/cnid_metad)
case "$1" in case "$1" in
start) start)
stat_busy "Starting cnid Daemon" stat_busy "Starting cnid Daemon"
[ -z $PID ] && /usr/sbin/cnid_metad [ -z "$PID" ] && /usr/sbin/cnid_metad
if [ $? -gt 0 ]; then if [ $? -gt 0 ]; then
stat_fail stat_fail
else else
@ -19,7 +19,7 @@ case "$1" in
;; ;;
stop) stop)
stat_busy "Stopping cnid Daemon" stat_busy "Stopping cnid Daemon"
[ ! -z $PID ] && kill "$PID" &> /dev/null [ ! -z "$PID" ] && kill "$PID" &> /dev/null
if [ $? -gt 0 ]; then if [ $? -gt 0 ]; then
stat_fail stat_fail
else else

View file

@ -1,14 +1,11 @@
# Contributor: Stefan Kirrmann <stefan.kirrmann at gmail dot com> # Maintainer: Stefan Kirrmann <stefan.kirrmann at gmail dot com>
# Modified: Marco Lima <cipparello@gmail.com>
# No Plugbox changes, straight from AUR
plugrel=1 plugrel=1
pkgname=open-iscsi pkgname=open-iscsi
pkgver=2.0.871.3 pkgver=2.0.872
_pkgver=2.0-871.3 _pkgver=2.0-872
pkgrel=1 pkgrel=2
pkgdesc="userland tools" pkgdesc="userland tools"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="http://www.open-iscsi.org" url="http://www.open-iscsi.org"
@ -16,32 +13,28 @@ license=('GPL')
depends=('bash') depends=('bash')
install="${pkgname}.install" install="${pkgname}.install"
backup=('etc/iscsi/iscsid.conf' 'etc/iscsi/initiatorname.iscsi' 'etc/conf.d/open-iscsi') backup=('etc/iscsi/iscsid.conf' 'etc/iscsi/initiatorname.iscsi' 'etc/conf.d/open-iscsi')
source=("http://kernel.org/pub/linux/kernel/people/mnc/open-iscsi/releases/${pkgname}-${_pkgver}.tar.gz" \ source=("http://www.open-iscsi.org/bits/${pkgname}-${_pkgver}.tar.gz" \
"open-iscsi" "open-iscsi.conf.d" "open-iscsi-build-error.patch") "open-iscsi" "open-iscsi.conf.d")
#source=("http://www.open-iscsi.org/bits/${pkgname}-${_pkgver}.tar.gz" \
options=('docs') options=('docs')
md5sums=('16474cb7cd5a41aea1b7b0b631ac996d' sha256sums=('37753697a170223ac02a292b3a23a315a3c747b490c42480e4057b676c9f8d4f'
'b191af2549f7aff89321b54421eab96f' '817791c59d1c271ad5eb78a7609e4fa081cf9414f3d7ac26df897b9327286c23'
'd6e94c159ddfdeb1ebe69c0760ed1fa6' '289ba27b72a3bd9d251e08b3d61dd3ae2f6ad545e5ffe2edaa2b79638996654c')
'cafea1118930cd7d9eb6209706020b6a')
build() { build() {
cd ${startdir}/src/${pkgname}-${_pkgver} cd ${srcdir}/${pkgname}-${_pkgver}
patch -Np1 -i ${srcdir}/open-iscsi-build-error.patch
# include iscsistart program in the package # include iscsistart program in the package
sed -i -e '/^PROGRAMS = /s/$/ usr\/iscsistart/' Makefile sed -i -e '/^PROGRAMS = /s/$/ usr\/iscsistart/' Makefile
# build breaks if the openslp package is installed
sed -i -e 's/\(\.\/configure\)/ \1 --without-slp/g' Makefile
make user make user
make DESTDIR=${pkgdir} install_user make DESTDIR=${pkgdir} install_user
install -D -m755 ${startdir}/src/open-iscsi ${pkgdir}/etc/rc.d/open-iscsi install -D -m755 ${srcdir}/open-iscsi ${pkgdir}/etc/rc.d/open-iscsi
install -D -m644 ${startdir}/src/open-iscsi.conf.d ${pkgdir}/etc/conf.d/open-iscsi install -D -m644 ${srcdir}/open-iscsi.conf.d ${pkgdir}/etc/conf.d/open-iscsi
install -D -m644 ${srcdir}/${pkgname}-${_pkgver}/etc/iscsid.conf ${pkgdir}/etc/iscsi
# change permission configuration file
# chmod 600 ${startdir}/pkg/etc/iscsi/iscsid.conf
install -D -m644 ${startdir}/src/${pkgname}-${_pkgver}/etc/iscsid.conf ${pkgdir}/etc/iscsi
# copy docs # copy docs
mkdir -p ${pkgdir}/usr/share/doc/${pkgname} mkdir -p ${pkgdir}/usr/share/doc/${pkgname}

View file

@ -1,11 +0,0 @@
--- a/usr/iscsi_sysfs.c
+++ b/usr/iscsi_sysfs.c
@@ -22,6 +22,8 @@
#include <string.h>
#include <errno.h>
#include <dirent.h>
+#include <sys/types.h>
+#include <sys/stat.h>
#include "log.h"
#include "initiator.h"

View file

@ -6,7 +6,7 @@
plugrel=1 plugrel=1
pkgname=percona-server pkgname=percona-server
pkgver=5.5.19_rel24.0 pkgver=5.5.20_rel24.1
pkgrel=1 pkgrel=1
pkgdesc="A backwards-compatible drop-in replacement for MySQL that provides improved performance, diagnostics and instrumentation, and manageability of the server" pkgdesc="A backwards-compatible drop-in replacement for MySQL that provides improved performance, diagnostics and instrumentation, and manageability of the server"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
@ -105,7 +105,7 @@ package() {
install -dm700 "${pkgdir}"/var/lib/mysql install -dm700 "${pkgdir}"/var/lib/mysql
} }
md5sums=('eb8c21bbb8179e0a4709d51c037e682c' md5sums=('0f61fde172ed1168a3ca9b7b003a6698'
'243864805611764a7e5883c1dba7afd8' '243864805611764a7e5883c1dba7afd8'
'1c949c0dbea5206af0db14942d9927b6' '1c949c0dbea5206af0db14942d9927b6'
'9eb0ad531d162e031a2bcc08a5ab3bc5') '9eb0ad531d162e031a2bcc08a5ab3bc5')

View file

@ -1,34 +0,0 @@
From cdaf4b2f3ef60365c6b8006a63410368a7b38f39 Mon Sep 17 00:00:00 2001
From: Dave Reisner <dreisner@archlinux.org>
Date: Tue, 31 Jan 2012 00:12:32 -0500
Subject: [PATCH 1/4] partially fix parsing of alias with dots
---
libkmod/libkmod-util.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/libkmod/libkmod-util.c b/libkmod/libkmod-util.c
index 7c2611b..6a9f697 100644
--- a/libkmod/libkmod-util.c
+++ b/libkmod/libkmod-util.c
@@ -134,8 +134,7 @@ inline int alias_normalize(const char *alias, char buf[PATH_MAX], size_t *len)
case ']':
return -EINVAL;
case '[':
- while (alias[s] != ']' &&
- alias[s] != '.' && alias[s] != '\0')
+ while (alias[s] != ']' && alias[s] != '\0')
s++;
if (alias[s] != ']')
@@ -144,7 +143,6 @@ inline int alias_normalize(const char *alias, char buf[PATH_MAX], size_t *len)
s++;
break;
case '\0':
- case '.':
goto finish;
default:
buf[s] = c;
--
1.7.9

View file

@ -1,196 +0,0 @@
From 1d2f64689b2456ade81d6d489c4f5bfb5fdb92fd Mon Sep 17 00:00:00 2001
From: Dave Reisner <dreisner@archlinux.org>
Date: Tue, 31 Jan 2012 00:13:43 -0500
Subject: [PATCH 2/4] libkmod-module: used shared code in module creation
---
libkmod/libkmod-module.c | 135 ++++++++++++++++++++++++++-------------------
1 files changed, 78 insertions(+), 57 deletions(-)
diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
index 47b1709..48e4aa1 100644
--- a/libkmod/libkmod-module.c
+++ b/libkmod/libkmod-module.c
@@ -162,6 +162,76 @@ fail:
return err;
}
+/*
+ * Memory layout with alias:
+ *
+ * struct kmod_module {
+ * hashkey -----.
+ * alias -----. |
+ * name ----. | |
+ * } | | |
+ * name <----------' | |
+ * alias <-----------' |
+ * name\alias <--------'
+ *
+ * Memory layout without alias:
+ *
+ * struct kmod_module {
+ * hashkey ---.
+ * alias -----|----> NULL
+ * name ----. |
+ * } | |
+ * name <----------'-'
+ *
+ * @key is "name\alias" or "name" (in which case alias == NULL)
+ */
+static int kmod_module_new(struct kmod_ctx *ctx, const char *key,
+ const char *name, size_t namelen,
+ const char *alias, size_t aliaslen,
+ struct kmod_module **mod)
+{
+ struct kmod_module *m;
+ size_t keylen;
+
+ m = kmod_pool_get_module(ctx, key);
+ if (m != NULL) {
+ *mod = kmod_module_ref(m);
+ return 0;
+ }
+
+ if (alias == NULL)
+ keylen = namelen;
+ else
+ keylen = namelen + aliaslen + 1;
+
+ m = malloc(sizeof(*m) + (alias == NULL ? 1 : 2) * (keylen + 1));
+ if (m == NULL) {
+ free(m);
+ return -ENOMEM;
+ }
+
+ memset(m, 0, sizeof(*m));
+
+ m->ctx = kmod_ref(ctx);
+ m->name = (char *)m + sizeof(*m);
+ memcpy(m->name, key, keylen + 1);
+ if (alias == NULL) {
+ m->hashkey = m->name;
+ m->alias = NULL;
+ } else {
+ m->name[namelen] = '\0';
+ m->alias = m->name + namelen + 1;
+ m->hashkey = m->name + keylen + 1;
+ memcpy(m->hashkey, key, keylen + 1);
+ }
+
+ m->refcount = 1;
+ kmod_pool_add_module(ctx, m, m->hashkey);
+ *mod = m;
+
+ return 0;
+}
+
/**
* kmod_module_new_from_name:
* @ctx: kmod library context
@@ -188,54 +258,15 @@ KMOD_EXPORT int kmod_module_new_from_name(struct kmod_ctx *ctx,
const char *name,
struct kmod_module **mod)
{
- struct kmod_module *m;
size_t namelen;
char name_norm[PATH_MAX];
- char *namesep;
if (ctx == NULL || name == NULL || mod == NULL)
return -ENOENT;
- if (alias_normalize(name, name_norm, &namelen) < 0) {
- DBG(ctx, "invalid alias: %s\n", name);
- return -EINVAL;
- }
+ modname_normalize(name, name_norm, &namelen);
- m = kmod_pool_get_module(ctx, name_norm);
- if (m != NULL) {
- *mod = kmod_module_ref(m);
- return 0;
- }
-
- namesep = strchr(name_norm, '/');
- m = malloc(sizeof(*m) + (namesep == NULL ? 1 : 2) * namelen + 2);
- if (m == NULL) {
- free(m);
- return -ENOMEM;
- }
-
- memset(m, 0, sizeof(*m));
-
- m->ctx = kmod_ref(ctx);
- m->name = (char *)m + sizeof(*m);
- memcpy(m->name, name_norm, namelen + 1);
-
- if (namesep) {
- size_t len = namesep - name_norm;
-
- m->name[len] = '\0';
- m->alias = m->name + len + 1;
- m->hashkey = m->name + namelen + 1;
- memcpy(m->hashkey, name_norm, namelen + 1);
- } else {
- m->hashkey = m->name;
- }
-
- m->refcount = 1;
- kmod_pool_add_module(ctx, m, m->hashkey);
- *mod = m;
-
- return 0;
+ return kmod_module_new(ctx, name_norm, name_norm, namelen, NULL, 0, mod);
}
int kmod_module_new_from_alias(struct kmod_ctx *ctx, const char *alias,
@@ -251,9 +282,9 @@ int kmod_module_new_from_alias(struct kmod_ctx *ctx, const char *alias,
memcpy(key, name, namelen);
memcpy(key + namelen + 1, alias, aliaslen + 1);
- key[namelen] = '/';
+ key[namelen] = '\\';
- err = kmod_module_new_from_name(ctx, key, mod);
+ err = kmod_module_new(ctx, key, name, namelen, alias, aliaslen, mod);
if (err < 0)
return err;
@@ -323,7 +354,7 @@ KMOD_EXPORT int kmod_module_new_from_path(struct kmod_ctx *ctx,
free(abspath);
else {
ERR(ctx, "kmod_module '%s' already exists with different path: new-path='%s' old-path='%s'\n",
- name, abspath, m->path);
+ name, abspath, m->path);
free(abspath);
return -EEXIST;
}
@@ -332,21 +363,11 @@ KMOD_EXPORT int kmod_module_new_from_path(struct kmod_ctx *ctx,
return 0;
}
- m = malloc(sizeof(*m) + namelen + 1);
- if (m == NULL)
- return -errno;
-
- memset(m, 0, sizeof(*m));
+ err = kmod_module_new(ctx, name, name, namelen, NULL, 0, &m);
+ if (err < 0)
+ return err;
- m->ctx = kmod_ref(ctx);
- m->name = (char *)m + sizeof(*m);
- memcpy(m->name, name, namelen + 1);
m->path = abspath;
- m->hashkey = m->name;
- m->refcount = 1;
-
- kmod_pool_add_module(ctx, m, m->hashkey);
-
*mod = m;
return 0;
--
1.7.9

View file

@ -1,34 +0,0 @@
From fdf78d80d298353c29e1fe8c00602669dd9662bb Mon Sep 17 00:00:00 2001
From: Dave Reisner <dreisner@archlinux.org>
Date: Mon, 30 Jan 2012 23:05:26 -0500
Subject: [PATCH 3/4] modprobe: handle all error returns from init_module
---
tools/kmod-modprobe.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/tools/kmod-modprobe.c b/tools/kmod-modprobe.c
index 3e51506..c882856 100644
--- a/tools/kmod-modprobe.c
+++ b/tools/kmod-modprobe.c
@@ -551,6 +551,8 @@ static int insmod_do_insert_module(struct kmod_module *mod, const char *opts)
err = kmod_module_insert_module(mod, flags, opts);
switch (err) {
+ case 0:
+ break;
case -EEXIST:
/*
* We checked for EEXIST with an earlier call to
@@ -564,7 +566,7 @@ static int insmod_do_insert_module(struct kmod_module *mod, const char *opts)
ERR("Module %s already in kernel.\n",
kmod_module_get_name(mod));
break;
- case -EPERM:
+ default:
ERR("could not insert '%s': %s\n", kmod_module_get_name(mod),
strerror(-err));
break;
--
1.7.9

View file

@ -1,52 +0,0 @@
From 4e3dd21aff55b5bbaa08b037fc2a5625bfffc0a5 Mon Sep 17 00:00:00 2001
From: Dave Reisner <dreisner@archlinux.org>
Date: Mon, 30 Jan 2012 23:39:30 -0500
Subject: [PATCH 4/4] modprobe: remove 0 refcnt deps
---
tools/kmod-modprobe.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/tools/kmod-modprobe.c b/tools/kmod-modprobe.c
index c882856..bd991a5 100644
--- a/tools/kmod-modprobe.c
+++ b/tools/kmod-modprobe.c
@@ -381,7 +381,7 @@ static int rmmod_do_deps_list(struct kmod_list *list, bool stop_on_errors)
static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies)
{
const char *modname = kmod_module_get_name(mod);
- struct kmod_list *pre = NULL, *post = NULL;
+ struct kmod_list *pre = NULL, *post = NULL, *deps, *itr;
const char *cmd = NULL;
int err;
@@ -422,7 +422,7 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies)
rmmod_do_deps_list(post, false);
if (do_dependencies && remove_dependencies) {
- struct kmod_list *deps = kmod_module_get_dependencies(mod);
+ deps = kmod_module_get_dependencies(mod);
err = rmmod_do_deps_list(deps, true);
if (err < 0)
@@ -451,6 +451,17 @@ static int rmmod_do_module(struct kmod_module *mod, bool do_dependencies)
rmmod_do_deps_list(pre, false);
+ deps = kmod_module_get_dependencies(mod);
+ if (deps != NULL) {
+ kmod_list_foreach_reverse(itr, deps) {
+ struct kmod_module *dep = kmod_module_get_module(itr);
+ if (kmod_module_get_refcnt(dep) == 0)
+ rmmod_do_remove_module(dep);
+ kmod_module_unref(dep);
+ }
+ kmod_module_unref_list(deps);
+ }
+
error:
kmod_module_unref_list(pre);
kmod_module_unref_list(post);
--
1.7.9

View file

@ -1,77 +0,0 @@
# $Id: PKGBUILD 148462 2012-02-01 13:16:32Z dreisner $
# Maintainer: Dave Reisner <dreisner@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - fix for v5, credit: ambrop7 (issue #127)
plugrel=1
pkgname=kmod
pkgver=4
pkgrel=2.1
pkgdesc="Linux kernel module handling"
arch=('i686' 'x86_64')
url="http://git.profusion.mobi/cgit.cgi/kmod.git"
license=('GPL2')
depends=('glibc' 'zlib')
makedepends=('docbook2x')
options=('!libtool')
provides=('module-init-tools=3.16')
conflicts=('module-init-tools')
replaces=('module-init-tools')
source=("http://packages.profusion.mobi/$pkgname/$pkgname-$pkgver.tar.xz"
0001-partially-fix-parsing-of-alias-with-dots.patch
0002-libkmod-module-used-shared-code-in-module-creation.patch
0003-modprobe-handle-all-error-returns-from-init_module.patch
0004-modprobe-remove-0-refcnt-deps.patch
v5-alignment-fix.patch
"depmod-search.conf")
md5sums=('e14450a066a48accd0af1995b3c0232d'
'5f497ab3466ee1a616b6e6c97b330706'
'23a9257a152862753ce4c4ee7287761a'
'3a57671b0f37b1203b207f35a4442ae3'
'1fe88eee9302104b179124ce6bfc55d2'
'99d003b8337d9372b043b0d449a6b59a'
'4b8cbcbc54b9029c99fd730e257d4436')
build() {
cd "$pkgname-$pkgver"
patch -Np1 <"$srcdir/0001-partially-fix-parsing-of-alias-with-dots.patch"
patch -Np1 <"$srcdir/0002-libkmod-module-used-shared-code-in-module-creation.patch"
patch -Np1 <"$srcdir/0003-modprobe-handle-all-error-returns-from-init_module.patch"
patch -Np1 <"$srcdir/0004-modprobe-remove-0-refcnt-deps.patch"
[[ $CARCH == "arm" ]] && patch -p1 -i "${srcdir}/v5-alignment-fix.patch"
./configure \
--sysconfdir=/etc \
--with-rootprefix= \
--with-zlib
make
}
check() {
make -C "$pkgname-$pkgver" check
}
package() {
make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
# binary directories
install -dm755 "$pkgdir"/{,s}bin
# configuration directories
install -dm755 "$pkgdir"/{etc,lib}/{depmod,modprobe}.d
# add symlinks to kmod
ln -s /usr/bin/kmod "$pkgdir/bin/lsmod"
for tool in {ins,rm,dep}mod mod{info,probe}; do
ln -s ../usr/bin/kmod "$pkgdir/sbin/$tool"
done
# install depmod.d file for search/ dir
install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/lib/depmod.d/search.conf"
}
# vim: ft=sh syn=sh et

View file

@ -1,5 +0,0 @@
#
# /etc/depmod.d/depmod.conf
#
search updates extramodules built-in

View file

@ -1,58 +0,0 @@
diff --git a/libkmod/libkmod-hash.c b/libkmod/libkmod-hash.c
index f58e9db..8f647b4 100644
--- a/libkmod/libkmod-hash.c
+++ b/libkmod/libkmod-hash.c
@@ -83,6 +83,10 @@ void hash_free(struct hash *hash)
free(hash);
}
+struct unaligned_short {
+ unsigned short v;
+} __attribute__((packed));
+
static inline unsigned int hash_superfast(const char *key, unsigned int len)
{
/* Paul Hsieh (http://www.azillionmonkeys.com/qed/hash.html)
@@ -90,14 +94,14 @@ static inline unsigned int hash_superfast(const char *key, unsigned int len)
* EFL's eina and possible others.
*/
unsigned int tmp, hash = len, rem = len & 3;
- const unsigned short *itr = (const unsigned short *)key;
+ const struct unaligned_short *itr = (const unsigned short *)key;
len /= 4;
/* Main loop */
for (; len > 0; len--) {
- hash += itr[0];
- tmp = (itr[1] << 11) ^ hash;
+ hash += itr[0].v;
+ tmp = (itr[1].v << 11) ^ hash;
hash = (hash << 16) ^ tmp;
itr += 2;
hash += hash >> 11;
@@ -106,14 +110,14 @@ static inline unsigned int hash_superfast(const char *key, unsigned int len)
/* Handle end cases */
switch (rem) {
case 3:
- hash += *itr;
+ hash += itr->v;
hash ^= hash << 16;
hash ^= key[2] << 18;
hash += hash >> 11;
break;
case 2:
- hash += *itr;
+ hash += itr->v;
hash ^= hash << 11;
hash += hash >> 17;
break;
@@ -243,6 +247,7 @@ void *hash_find(const struct hash *hash, const char *key)
if (entry == NULL)
return NULL;
return (void *)entry->value;
+
}
int hash_del(struct hash *hash, const char *key)

View file

@ -12,7 +12,7 @@ pkgname=('linux-omap' 'linux-headers-omap')
# pkgname=linux-custom # Build kernel with a different name # pkgname=linux-custom # Build kernel with a different name
_kernelname=${pkgname#linux} _kernelname=${pkgname#linux}
_basekernel=3.2 _basekernel=3.2
pkgver=${_basekernel}.1 pkgver=${_basekernel}.6
pkgrel=1 pkgrel=1
arch=('arm') arch=('arm')
url="http://www.kernel.org/" url="http://www.kernel.org/"
@ -21,14 +21,14 @@ makedepends=('xmlto' 'docbook-xsl' 'uboot-mkimage')
options=('!strip') options=('!strip')
source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.xz" source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.xz"
"ftp://ftp.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.bz2" "ftp://ftp.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.bz2"
"rcn-ee.diff.gz::http://rcn-ee.net/deb/sid-armhf/v3.2.1-x3/patch-3.2.1-x3.diff.gz" "rcn-ee.diff.gz::http://rcn-ee.net/deb/sid-armhf/v3.2.6-x4/patch-3.2.6-x4.diff.gz"
'config' 'config'
'change-default-console-loglevel.patch' 'change-default-console-loglevel.patch'
'0006-omap4-usb-improvement.patch') '0006-omap4-usb-improvement.patch')
md5sums=('364066fa18767ec0ae5f4e4abcf9dc51' md5sums=('364066fa18767ec0ae5f4e4abcf9dc51'
'31fc34340f11118873463a1d59d47b7f' '2bd4679899df503177a3b61ae2068749'
'd041033ebd9a1d170c2477f0e1dd5c37' '9a38f8bff01e024ea9c82a81bf2b81c3'
'041a4754d802a7e41e784dd44413389e' '0c09bb6de961a88352025e575804a4f0'
'9d3c56a4b999c8bfbd4018089a62f662' '9d3c56a4b999c8bfbd4018089a62f662'
'd4c22c6f6c8c53d595552b6285aeab79') 'd4c22c6f6c8c53d595552b6285aeab79')

View file

@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/arm 3.2.1 Kernel Configuration # Linux/arm 3.2.6 Kernel Configuration
# #
CONFIG_ARM=y CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@ -637,7 +637,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_PRIVACY=y
# CONFIG_IPV6_ROUTER_PREF is not set CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
# CONFIG_IPV6_OPTIMISTIC_DAD is not set # CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=m CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m CONFIG_INET6_ESP=m

View file

@ -2,7 +2,7 @@
# arg 2: the old package version # arg 2: the old package version
KERNEL_NAME=-omap KERNEL_NAME=-omap
KERNEL_VERSION=3.2.1-1-ARCH KERNEL_VERSION=3.2.6-1-ARCH
post_install () { post_install () {
# updating module dependencies # updating module dependencies

View file

@ -12,7 +12,7 @@ pkgname=('linux-tegra' 'linux-headers-tegra')
# pkgname=linux-custom # Build kernel with a different name # pkgname=linux-custom # Build kernel with a different name
_kernelname=${pkgname#linux} _kernelname=${pkgname#linux}
_basekernel=3.2 _basekernel=3.2
pkgver=${_basekernel}.1 pkgver=${_basekernel}.5
pkgrel=1 pkgrel=1
arch=('arm') arch=('arm')
url="http://www.kernel.org/" url="http://www.kernel.org/"
@ -25,7 +25,7 @@ source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.xz"
'config' 'config'
'change-default-console-loglevel.patch') 'change-default-console-loglevel.patch')
md5sums=('364066fa18767ec0ae5f4e4abcf9dc51' md5sums=('364066fa18767ec0ae5f4e4abcf9dc51'
'31fc34340f11118873463a1d59d47b7f' 'fb4d0b76b4c9a42977d75c4b2f3948d0'
'6e7667c6c6348bfeca22eaaa05462d62' '6e7667c6c6348bfeca22eaaa05462d62'
'2605f5b881f2248f0e2f7d436a86e62b' '2605f5b881f2248f0e2f7d436a86e62b'
'9d3c56a4b999c8bfbd4018089a62f662') '9d3c56a4b999c8bfbd4018089a62f662')

View file

@ -10,7 +10,7 @@ pkgname=('linux' 'linux-headers')
_kernelname=${pkgname#linux} _kernelname=${pkgname#linux}
_basekernel=3.1 _basekernel=3.1
pkgver=${_basekernel}.10 pkgver=${_basekernel}.10
pkgrel=2 pkgrel=3
arch=('arm') arch=('arm')
url="http://www.kernel.org/" url="http://www.kernel.org/"
license=('GPL2') license=('GPL2')
@ -30,7 +30,7 @@ source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.bz2
'usb-add-reset-resume-quirk-for-several-webcams.patch') 'usb-add-reset-resume-quirk-for-several-webcams.patch')
md5sums=('8d43453f8159b2332ad410b19d86a931' md5sums=('8d43453f8159b2332ad410b19d86a931'
'a8e1c25a93a685ec2a1c3a808715fe9d' 'a8e1c25a93a685ec2a1c3a808715fe9d'
'f7b581e728911995dee392c11fd2b2fd' '7f2c10e9e8ab4decaaf1dd5437a775a3'
'f5d3635da03cb45904bedd69b47133de' 'f5d3635da03cb45904bedd69b47133de'
'3f64ed9d71499fe9293dc671f4e4087e' '3f64ed9d71499fe9293dc671f4e4087e'
'29628745258df910abfb8cb24ca3ccd9' '29628745258df910abfb8cb24ca3ccd9'

View file

@ -181,7 +181,7 @@ diff -urN a/arch/arm/mach-kirkwood/goflexhome-setup.c b/arch/arm/mach-kirkwood/g
+ +
diff -urN a/arch/arm/mach-kirkwood/goflexnet-setup.c b/arch/arm/mach-kirkwood/goflexnet-setup.c diff -urN a/arch/arm/mach-kirkwood/goflexnet-setup.c b/arch/arm/mach-kirkwood/goflexnet-setup.c
--- a/arch/arm/mach-kirkwood/goflexnet-setup.c 1970-01-01 00:00:00.000000000 +0000 --- a/arch/arm/mach-kirkwood/goflexnet-setup.c 1970-01-01 00:00:00.000000000 +0000
+++ b/arch/arm/mach-kirkwood/goflexnet-setup.c 2012-01-29 18:10:32.631138668 +0000 +++ b/arch/arm/mach-kirkwood/goflexnet-setup.c 2012-02-11 03:24:16.961504946 +0000
@@ -0,0 +1,176 @@ @@ -0,0 +1,176 @@
+/* +/*
+ * arch/arm/mach-kirkwood/goflexnet-setup.c + * arch/arm/mach-kirkwood/goflexnet-setup.c
@ -1262,3 +1262,17 @@ diff -urN a/arch/arm/mach-kirkwood/sheevaplug-setup.c b/arch/arm/mach-kirkwood/s
else else
kirkwood_sdio_init(&sheevaplug_mvsdio_data); kirkwood_sdio_init(&sheevaplug_mvsdio_data);
diff -urN a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c
--- a/arch/arm/plat-orion/common.c 2011-10-24 07:10:05.000000000 +0000
+++ b/arch/arm/plat-orion/common.c 2012-02-11 03:29:20.713024166 +0000
@@ -223,7 +223,9 @@
/*****************************************************************************
* GE00
****************************************************************************/
-struct mv643xx_eth_shared_platform_data orion_ge00_shared_data;
+struct mv643xx_eth_shared_platform_data orion_ge00_shared_data = {
+ .tx_csum_limit = 1600,
+};
static struct resource orion_ge00_shared_resources[] = {
{

View file

@ -2,7 +2,7 @@
# arg 2: the old package version # arg 2: the old package version
KERNEL_NAME= KERNEL_NAME=
KERNEL_VERSION=3.1.10-2-ARCH KERNEL_VERSION=3.1.10-3-ARCH
post_install () { post_install () {
# updating module dependencies # updating module dependencies

View file

@ -0,0 +1,20 @@
PAGE_SIZE is not exported by all architectures as it is not fixed: it can depend on the model of the machine. So it's better to query the system configuration for the actual page size on the machine.
---
utils/blkmapd/device-process.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/utils/blkmapd/device-process.c b/utils/blkmapd/device-process.c
index 27ff374..652a7a8 100644
--- a/utils/blkmapd/device-process.c
+++ b/utils/blkmapd/device-process.c
@@ -296,7 +296,7 @@ decode_blk_volume(uint32_t **pp, uint32_t *end, struct bl_volume *vols, int voln
off_t stripe_unit = vol->param.bv_stripe_unit;
/* Check limitations imposed by device-mapper */
if ((stripe_unit & (stripe_unit - 1)) != 0
- || stripe_unit < (off_t) (PAGE_SIZE >> 9))
+ || stripe_unit < (off_t) (sysconf(_SC_PAGE_SIZE) >> 9))
return -EIO;
BLK_READBUF(p, end, 4);
READ32(vol->bv_vol_n);

83
core/nfs-utils/PKGBUILD Normal file
View file

@ -0,0 +1,83 @@
# $Id: PKGBUILD 139844 2011-10-05 07:58:31Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
# Contributor: abelstr <abel@pinklf.eu>
# Contributor: Marco Lima <cipparello gmail com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - patch to not use PAGESIZE - not implemented for ARM
plugrel=1
pkgname=nfs-utils
pkgver=1.2.5
pkgrel=1
pkgdesc="Support programs for Network File Systems"
arch=('i686' 'x86_64')
url='http://nfs.sourceforge.net'
license=('GPL')
backup=(etc/{exports,idmapd.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
depends=('glibc' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=2.0.10' 'libgssglue' 'device-mapper')
makedepends=('pkgconfig' 'autoconf' 'automake')
source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2
nfs-common
nfs-common.conf
nfs-server
nfs-server.conf
exports
idmapd.conf
start-statd.patch
nfs-utils-1.1.4-mtab-sym.patch
nfs-utils-1.1.4-no-exec.patch
18-dont-use-PAGE_SIZE.patch)
install=nfs-utils.install
md5sums=('8395ac770720b83c5c469f88306d7765'
'dd0d65fc6e8f422fa12520813098264b'
'f73f197a16b02c3e248488ec35c4cf43'
'e619f18354ff958ed624d05d08853d8f'
'2bf71def3263325643a09458635520f0'
'ff585faf410a62c4333a027c50b56bae'
'eb4f4027fab6fc1201f1ca04f5954c76'
'e9144277a89a620d9bc80413158a7d27'
'7674106eaaa4c149bccd4f05fe3604e9'
'4f4827dfc93008dfadd0a530ad0872b2'
'1a56922af585f4cc3ec4e7504f00c3a2')
build() {
cd $srcdir/${pkgname}-${pkgver}
patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch
#patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
# arch specific patch
patch -Np0 -i $srcdir/start-statd.patch
# ALARM
patch -Np1 -i ../18-dont-use-PAGE_SIZE.patch
./configure --prefix=/usr --enable-nfsv3 --enable-nfsv4 --enable-gss \
--without-tcp-wrappers --with-statedir=/var/lib/nfs \
--enable-ipv6 --sysconfdir=/etc --enable-libmount-mount
make
}
package() {
cd $srcdir/${pkgname}-${pkgver}
make DESTDIR=$pkgdir install
# support python2 (FS#25120)
sed -i '1s/python$/python2/' "$pkgdir"/usr/sbin/{nfsiostat,mountstats}
# NFS & NFSv4 init scripts
install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common
install -D -m 755 ../nfs-server "$pkgdir/"etc/rc.d/nfs-server
# Configuration
install -D -m 644 ../exports "$pkgdir/"etc/exports
install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf
install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
# directories
mkdir "$pkgdir/"etc/exports.d
mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs
mkdir "$pkgdir/"var/lib/nfs/v4recovery
}

15
core/nfs-utils/exports Normal file
View file

@ -0,0 +1,15 @@
# /etc/exports
#
# List of directories exported to NFS clients. See exports(5).
# Use exportfs -arv to reread.
#
# Example for NFSv2 and NFSv3:
# /srv/home hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4 hostname1(rw,sync,fsid=0)
# /srv/nfs4/home hostname1(rw,sync,nohide)
# Using Kerberos and integrity checking:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/home gss/krb5i(rw,sync,nohide)
#

View file

@ -0,0 +1,14 @@
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nobody
[Translation]
Method = nsswitch

View file

@ -0,0 +1,53 @@
mount.nfs segfaults if kernel version number does not contain
at least 3 components delimited with a dot.
Avoid this by matching up to three unsigned integers inialised
to zero, separated by dots.
A version that does not start with an integer is probably a future
version where the versioning evolved to another scheme.
Return UINT_MAX which is guaranteed to be higher than existing
versions. This would also make it possible to easily identify
versions that do not start with an integer.
Signed-off-by: Luk Claes <luk@...>
---
utils/mount/version.h | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/utils/mount/version.h b/utils/mount/version.h
index af61a6f..531cf68 100644
--- a/utils/mount/version.h
+++ b/utils/mount/version.h
@@ -23,8 +23,8 @@
#ifndef _NFS_UTILS_MOUNT_VERSION_H
#define _NFS_UTILS_MOUNT_VERSION_H
-#include <stdlib.h>
-#include <string.h>
+#include <stdio.h>
+#include <limits.h>
#include <sys/utsname.h>
@@ -37,14 +37,16 @@ static inline unsigned int MAKE_VERSION(unsigned int p, unsigned int q,
static inline unsigned int linux_version_code(void)
{
struct utsname my_utsname;
- unsigned int p, q, r;
+ unsigned int p, q = 0, r = 0;
+ /* UINT_MAX as backward compatibility code should not be run */
if (uname(&my_utsname))
- return 0;
+ return UINT_MAX;
- p = (unsigned int)atoi(strtok(my_utsname.release, "."));
- q = (unsigned int)atoi(strtok(NULL, "."));
- r = (unsigned int)atoi(strtok(NULL, "."));
+ /* UINT_MAX as future versions might not start with an integer */
+ if (sscanf(my_utsname.release, "%u.%u.%u", &p, &q, &r) < 1)
+ return UINT_MAX;
+
return MAKE_VERSION(p, q, r);
}

315
core/nfs-utils/nfs-common Normal file
View file

@ -0,0 +1,315 @@
#!/bin/bash
daemon_name=nfs-common
NEED_STATD=
STATD_OPTS=
NEED_IDMAPD=
IDMAPD_OPTS=
NEED_GSSD=
GSSD_OPTS=
PIPEFS_MOUNTPOINT=
PIPEFS_MOUNTOPTS=
# rpc.statd daemon & binary location
STATD_DAEMON_NAME=rpc.statd
STATD="/usr/sbin/rpc.statd"
# rpc.idmapd daemon & binary location
IDMAPD_DAEMON_NAME=rpc.idmapd
IDMAPD="/usr/sbin/rpc.idmapd"
# rpc.gssd daemon & binary location
GSSD_DAEMON_NAME=rpc.gssd
GSSD="/usr/sbin/rpc.gssd"
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/$daemon_name.conf
# Default mountpoint and options for rpc_pipefs filesystem
[ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs"
[ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults"
# Parse the fstab file, and determine whether we need idmapd and gssd. (The
# /etc/conf.d/nfs-common settings, if any, will override our autodetection.)
AUTO_NEED_IDMAPD=no
AUTO_NEED_GSSD=no
if [ -f /etc/fstab ]; then
exec 9<&0 </etc/fstab
while read DEV MTPT FSTYPE OPTS REST; do
if [ "$FSTYPE" = "nfs4" ]; then
AUTO_NEED_IDMAPD=yes
fi
case "$OPTS" in
sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
AUTO_NEED_GSSD=yes
;;
esac
done
exec 0<&9 9<&-
fi
# We also need idmapd if we run an NFSv4 server. It's fairly difficult
# to autodetect whether there are NFSv4 exports or not, and idmapd is not a
# particularily heavy daemon, so we auto-enable it if we find an /etc/exports
# file. This does not mean that there are NFSv4 or other mounts active (or
# even that nfs-kernel-server is installed), but it matches what the "start"
# condition in nfs-kernel-server's init script does, which has a value in
# itself.
if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' /etc/exports; then
AUTO_NEED_IDMAPD=yes
fi
case "$NEED_STATD" in
yes|no)
;;
*)
NEED_STATD=yes
;;
esac
case "$NEED_IDMAPD" in
yes|no)
;;
*)
NEED_IDMAPD=$AUTO_NEED_IDMAPD
;;
esac
case "$NEED_GSSD" in
yes|no)
;;
*)
NEED_GSSD=$AUTO_NEED_GSSD
;;
esac
do_modprobe() {
if [ -x /sbin/modprobe -a -f /proc/modules ]; then
modprobe -q "$1" || true
fi
}
do_mount() {
if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
return 1
fi
if grep -vw "$1" /proc/mounts &> /dev/null ; then
if ! mountpoint -q "$2" ; then
mount -t "$1" "$1" "$2" -o "$3"
return
fi
fi
return 0
}
do_umount() {
if mountpoint -q "$1" ; then
umount "$1"
fi
return 0
}
get_pid() {
pidof -o %PPID "$1"
}
case "$1" in
start)
ck_daemon rpcbind && { echo -n "Start rpcbind first." >&2; stat_die; }
rc=0
if [ "$NEED_STATD" = yes ]; then
stat_busy "Starting $STATD_DAEMON_NAME daemon"
PID=$(get_pid $STATD)
if [ -z "$PID" ]; then
[ -f /var/run/$STATD_DAEMON_NAME.pid ] && rm -f /var/run/$STATD_DAEMON_NAME.pid
# RUN
$STATD $STATD_OPTS
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $STATD) > /var/run/$STATD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
# Run sm-notify
/usr/sbin/sm-notify $SMNOTIFY_OPTS
fi
if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
stat_busy "Mounting pipefs filesystem"
do_modprobe sunrpc
do_modprobe nfs
do_modprobe nfsd
do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS"
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
stat_done
fi
if [ "$NEED_IDMAPD" = yes ]; then
stat_busy "Starting $IDMAPD_DAEMON_NAME daemon"
PID=$(get_pid $IDMAPD)
if [ -z "$PID" ]; then
[ -f /var/run/$IDMAPD_DAEMON_NAME.pid ] && rm -f /var/run/$IDMAPD_DAEMON_NAME.pid
# RUN
$IDMAPD $IDMAPD_OPTS
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $IDMAPD) > /var/run/$IDMAPD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
fi
if [ "$NEED_GSSD" = yes ]; then
do_modprobe rpcsec_gss_krb5
stat_busy "Starting $GSSD_DAEMON_NAME daemon"
PID=$(get_pid $GSSD)
if [ -z "$PID" ]; then
[ -f /var/run/$GSSD_DAEMON_NAME.pid ] && rm -f /var/run/$GSSD_DAEMON_NAME.pid
# RUN
$GSSD $GSSD_OPTS
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $GSSD) > /var/run/$GSSD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
fi
fi
add_daemon $daemon_name
;;
stop)
rc=0
if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
if [ "$NEED_GSSD" = yes ]; then
stat_busy "Stopping $GSSD_DAEMON_NAME daemon"
PID=$(get_pid $GSSD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
fi
if [ "$NEED_IDMAPD" = yes ]; then
stat_busy "Stopping $IDMAPD_DAEMON_NAME daemon"
PID=$(get_pid $IDMAPD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
fi
do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true
fi
if [ "$NEED_STATD" = yes ]; then
stat_busy "Stopping $STATD_DAEMON_NAME daemon"
PID=$(get_pid $STATD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
fi
rm_daemon $daemon_name
;;
status)
stat_busy "Checking $daemon_name status";
ck_status $daemon_name
if [ "$NEED_STATD" = yes ]; then
stat_busy "Daemon $STATD_DAEMON_NAME running"
PID=$(get_pid $STATD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
fi
if [ "$NEED_GSSD" = yes ]; then
stat_busy "Daemon $GSSD_DAEMON_NAME running"
PID=$(get_pid $GSSD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
fi
if [ "$NEED_IDMAPD" = yes ]; then
stat_busy "Daemon $IDMAPD_DAEMON_NAME running"
PID=$(get_pid $IDMAPD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
fi
echo
;;
restart)
$0 stop
sleep 3
$0 start
;;
*)
echo "usage: $0 {start|stop|status|restart}"
esac
exit 0

View file

@ -0,0 +1,40 @@
# Parameters to be passed to nfs-common (nfs clients & server) init script.
#
# If you do not set values for the NEED_ options, they will be attempted
# autodetected; this should be sufficient for most people. Valid alternatives
# for the NEED_ options are "yes" and "no".
# Do you want to start the statd daemon? It is not needed for NFSv4.
NEED_STATD=""
# Options to pass to rpc.statd.
# See rpc.statd(8) for more details.
# N.B. statd normally runs on both client and server, and run-time
# options should be specified accordingly.
# STATD_OPTS="-p 32765 -o 32766"
STATD_OPTS=""
# Options to pass to sm-notify
# e.g. SMNOTIFY_OPTS="-p 32764"
SMNOTIFY_OPTS=""
# Do you want to start the idmapd daemon? It is only needed for NFSv4.
NEED_IDMAPD=""
# Options to pass to rpc.idmapd.
# See rpc.idmapd(8) for more details.
IDMAPD_OPTS=""
# Do you want to start the gssd daemon? It is required for Kerberos mounts.
NEED_GSSD=""
# Options to pass to rpc.gssd.
# See rpc.gssd(8) for more details.
GSSD_OPTS=""
# Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs".
PIPEFS_MOUNTPOINT=""
# Options used to mount rpc_pipefs filesystem; the default is "defaults".
PIPEFS_MOUNTOPTS=""

299
core/nfs-utils/nfs-server Normal file
View file

@ -0,0 +1,299 @@
#!/bin/bash
daemon_name=nfs-server
NFSD_COUNT=
NFSD_OPTS=
NEED_SVCGSSD=
SVCGSSD_OPTS=
MOUNTD_OPTS=
PROCNFSD_MOUNTPOINT=
PROCNFSD_MOUNTOPTS=
# rpc.nfsd daemon & binary location
NFSD_PROCESS_NAME=nfsd
NFSD_DAEMON_NAME=rpc.nfsd
NFSD="/usr/sbin/rpc.nfsd"
# rpc.svcgssd daemon & binary location
SVCGSSD_DAEMON_NAME=rpc.svcgssd
SVCGSSD="/usr/sbin/rpc.svcgssd"
# rpc.idmapd daemon & binary location
IDMAPD_DAEMON_NAME=rpc.idmapd
IDMAPD="/usr/sbin/rpc.idmapd"
# rpc.mountd daemon & binary location
MOUNTD_DAEMON_NAME=rpc.mountd
MOUNTD="/usr/sbin/rpc.mountd"
# exortfs binary location
EXPORTFS="/usr/sbin/exportfs"
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/$daemon_name.conf
# Default number of nfsd servers
[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8
# Default mountpoint and options for nfsd filesystem
[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd"
[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid"
case "$NEED_SVCGSSD" in
yes|no)
;;
*)
NEED_SVCGSSD=no
;;
esac
do_modprobe() {
if [ -x /sbin/modprobe -a -f /proc/modules ]; then
modprobe -q "$1" || true
fi
}
do_mount() {
if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
return 1
fi
if grep -vw "$1" /proc/mounts &> /dev/null ; then
if ! mountpoint -q "$2" ; then
mount -t "$1" "$1" "$2" -o "$3"
return
fi
fi
return 0
}
do_umount() {
if mountpoint -q "$1" ; then
umount "$1"
fi
return 0
}
get_pid() {
pidof -o %PPID "$1"
}
case "$1" in
start)
ck_daemon nfs-common && { echo -n "Start nfs-common first." >&2; stat_die; }
rc=0
stat_busy "Mounting nfsd filesystem"
do_modprobe nfsd
do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS"
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
stat_done
fi
stat_busy "Exporting all directories"
$EXPORTFS -r
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
stat_done
fi
stat_busy "Starting $NFSD_DAEMON_NAME daemon"
PID=$(get_pid $NFSD_PROCESS_NAME)
if [ -z "$PID" ]; then
[ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid
# RUN
$NFSD $NFSD_OPTS $NFSD_COUNT
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
if [ "$NEED_SVCGSSD" = yes ]; then
do_modprobe rpcsec_gss_krb5
stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon"
PID=$(get_pid $SVCGSSD)
if [ -z "$PID" ]; then
[ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid
# RUN
$SVCGSSD $SVCGSSD_OPTS
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
fi
PID=$(get_pid $IDMAPD)
[ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null
stat_busy "Starting $MOUNTD_DAEMON_NAME daemon"
PID=$(get_pid $MOUNTD)
if [ -z "$PID" ]; then
[ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid
# RUN
$MOUNTD $MOUNTD_OPTS
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid
stat_done
fi
else
stat_fail
exit 1
fi
add_daemon $daemon_name
;;
stop)
rc=0
stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon"
PID=$(get_pid $MOUNTD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
if [ "$NEED_SVCGSSD" = yes ]; then
stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon"
PID=$(get_pid $SVCGSSD)
# KILL
[ ! -z "$PID" ] && kill $PID &> /dev/null
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
fi
stat_busy "Stopping $NFSD_DAEMON_NAME daemon"
PID=$(get_pid $NFSD_PROCESS_NAME)
# KILL (SIGINT)
[ ! -z "$PID" ] && kill -2 $PID &> /dev/null
#
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
sleep 1
PID=$(get_pid $NFSD_PROCESS_NAME)
# KILL (KILL) - just to be sure
[ ! -z "$PID" ] && kill -9 $PID &> /dev/null
#
rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null
stat_done
fi
stat_busy "Unexporting all directories"
$EXPORTFS -au
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
stat_done
fi
# flush everything out of the kernels export table
if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then
$EXPORTFS -f
fi
do_umount "$PROCNFSD_MOUNTPOINT" 2>/dev/null || true
rm_daemon $daemon_name
;;
status)
stat_busy "Checking $daemon_name status";
ck_status $daemon_name
stat_busy "Daemon $NFSD_DAEMON_NAME running"
PID=$(get_pid $NFSD_PROCESS_NAME)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
stat_busy "Daemon $MOUNTD_DAEMON_NAME running"
PID=$(get_pid $MOUNTD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
if [ "$NEED_SVCGSSD" = yes ]; then
stat_busy "Daemon $SVCGSSD_DAEMON_NAME running"
PID=$(get_pid $SVCGSSD)
if [ -z "$PID" ]; then
stat_fail
else
stat_done
fi
fi
echo
;;
reload)
rc=0
stat_busy "Re-exporting all directories"
$EXPORTFS -r
rc=$(($rc+$?))
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
else
stat_done
fi
;;
restart)
$0 stop
sleep 3
$0 start
;;
*)
echo "usage: $0 {start|stop|status|reload|restart}"
esac
exit 0

View file

@ -0,0 +1,29 @@
# Parameters to be passed to nfs-server init script.
#
# Options to pass to rpc.nfsd.
# See rpc.nfsd(8) for more details.
NFSD_OPTS=""
# Number of servers to start up; the default is 8 servers.
NFSD_COUNT=""
# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
PROCNFSD_MOUNTPOINT=""
# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
PROCNFSD_MOUNTOPTS=""
# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option.
# See rpc.mountd(8) for more details.
MOUNTD_OPTS="--no-nfs-version 2"
# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=""
# Options to pass to rpc.svcgssd.
# See rpc.svcgssd(8) for more details.
SVCGSSD_OPTS=""

View file

@ -0,0 +1,138 @@
diff -NaurwB nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 nfs-utils-1.1.2/aclocal/kerberos5.m4
--- nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 2008-03-14 16:46:29.000000000 +0100
+++ nfs-utils-1.1.2/aclocal/kerberos5.m4 2008-06-12 17:13:51.000000000 +0200
@@ -1,112 +1,48 @@
-dnl Checks for Kerberos
-dnl NOTE: while we intend to do generic gss-api, currently we
-dnl have a requirement to get an initial Kerberos machine
-dnl credential. Thus, the requirement for Kerberos.
-dnl The Kerberos gssapi library will be dynamically loaded?
AC_DEFUN([AC_KERBEROS_V5],[
+ K5CONFIG="krb5-config"
AC_MSG_CHECKING(for Kerberos v5)
- AC_ARG_WITH(krb5,
- [AC_HELP_STRING([--with-krb5=DIR], [use Kerberos v5 installation in DIR])],
+ AC_ARG_WITH(krb5-config,
+ [AC_HELP_STRING([--with-krb5-config=PATH], [Full Path to krb5-config.])],
[ case "$withval" in
yes|no)
- krb5_with=""
+ K5CONFIG="krb5-config"
;;
*)
- krb5_with="$withval"
+ K5CONFIG="$withval"
;;
esac ]
)
- for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
- /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
- dnl This ugly hack brought on by the split installation of
- dnl MIT Kerberos on Fedora Core 1
- K5CONFIG=""
- if test -f $dir/bin/krb5-config; then
- K5CONFIG=$dir/bin/krb5-config
- elif test -f "/usr/kerberos/bin/krb5-config"; then
- K5CONFIG="/usr/kerberos/bin/krb5-config"
- elif test -f "/usr/lib/mit/bin/krb5-config"; then
- K5CONFIG="/usr/lib/mit/bin/krb5-config"
- fi
if test "$K5CONFIG" != ""; then
KRBCFLAGS=`$K5CONFIG --cflags`
KRBLIBS=`$K5CONFIG --libs gssapi`
- K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(4),v,"."); if (v@<:@"3"@:>@ == "") v@<:@"3"@:>@ = "0"; print v@<:@"1"@:>@v@<:@"2"@:>@v@<:@"3"@:>@ }'`
- AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
- if test -f $dir/include/gssapi/gssapi_krb5.h -a \
- \( -f $dir/lib/libgssapi_krb5.a -o \
- -f $dir/lib64/libgssapi_krb5.a -o \
- -f $dir/lib64/libgssapi_krb5.so -o \
- -f $dir/lib/libgssapi_krb5.so \) ; then
+ if $K5CONFIG --version | grep -q -e heimdal; then
+ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f2 -d ' ' | tr -d '.'`
+ AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
+ gssapi_lib=gssapi
+ KRBIMPL="heimdal"
+ elif $K5CONFIG --version | grep -q -e mit; then
+ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f4 -d ' ' | tr -d '.'`
AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
- KRBDIR="$dir"
- dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the
- dnl private function (gss_krb5_ccache_name) to get correct
- dnl behavior of changing the ccache used by gssapi.
- dnl Starting in 1.3.2, we *DO NOT* want to use
- dnl gss_krb5_ccache_name, instead we want to set KRB5CCNAME
- dnl to get gssapi to use a different ccache
if test $K5VERS -le 131; then
AC_DEFINE(USE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the private function, gss_krb5_cache_name, must be used to tell the Kerberos library which credentials cache to use. Otherwise, this is done by setting the KRB5CCNAME environment variable])
fi
gssapi_lib=gssapi_krb5
- break
- dnl The following ugly hack brought on by the split installation
- dnl of Heimdal Kerberos on SuSe
- elif test \( -f $dir/include/heim_err.h -o\
- -f $dir/include/heimdal/heim_err.h \) -a \
- -f $dir/lib/libroken.a; then
- AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
- KRBDIR="$dir"
- gssapi_lib=gssapi
- break
- fi
- fi
- done
- dnl We didn't find a usable Kerberos environment
- if test "x$KRBDIR" = "x"; then
- if test "x$krb5_with" = "x"; then
- AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=)
+ KRBIMPL="mit-krb5"
else
- AC_MSG_ERROR(Kerberos v5 with GSS support not found at $krb5_with)
- fi
+ AC_MSG_ERROR(Unknown Kerberos 5 Implementation. Is neither heimdal or mit-krb5.)
+ KRBIMPL="unknown"
fi
- AC_MSG_RESULT($KRBDIR)
-
- dnl Check if -rpath=$(KRBDIR)/lib is needed
- echo "The current KRBDIR is $KRBDIR"
- if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \
- -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then
- KRBLDFLAGS="";
- elif /sbin/ldconfig -p | grep > /dev/null "=> $KRBDIR/lib/"; then
- KRBLDFLAGS="";
- else
- KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib"
+ AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
fi
+ AC_MSG_RESULT($KRBIMPL)
- dnl Now check for functions within gssapi library
- AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context,
- AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
- AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes,
- AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
- AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name,
- AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
-
- dnl Check for newer error message facility
- AC_CHECK_LIB($gssapi_lib, krb5_get_error_message,
- AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context, AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes, AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name, AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, krb5_get_error_message, AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
+ AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless, AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
- dnl Check for function to specify addressless tickets
- AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless,
- AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
-
- dnl If they specified a directory and it didn't work, give them a warning
- if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
- AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!)
- fi
-
- AC_SUBST([KRBDIR])
AC_SUBST([KRBLIBS])
AC_SUBST([KRBCFLAGS])
AC_SUBST([KRBLDFLAGS])

View file

@ -0,0 +1,39 @@
ripped from Debian
--- nfs-utils-1.1.4/utils/mount/fstab.c
+++ nfs-utils-1.1.4/utils/mount/fstab.c
@@ -57,7 +57,7 @@ mtab_does_not_exist(void) {
return var_mtab_does_not_exist;
}
-static int
+int
mtab_is_a_symlink(void) {
get_mtab_info();
return var_mtab_is_a_symlink;
--- nfs-utils-1.1.4/utils/mount/fstab.h
+++ nfs-utils-1.1.4/utils/mount/fstab.h
@@ -7,6 +7,7 @@
#define _PATH_FSTAB "/etc/fstab"
#endif
+int mtab_is_a_symlink(void);
int mtab_is_writable(void);
int mtab_does_not_exist(void);
void reset_mtab_info(void);
--- nfs-utils-1.1.4/utils/mount/mount.c
+++ nfs-utils-1.1.4/utils/mount/mount.c
@@ -230,6 +230,13 @@ create_mtab (void) {
int flags;
mntFILE *mfp;
+ /* Avoid writing if the mtab is a symlink to /proc/mounts, since
+ that would create a file /proc/mounts in case the proc filesystem
+ is not mounted, and the fchmod below would also fail. */
+ if (mtab_is_a_symlink()) {
+ return EX_SUCCESS;
+ }
+
lock_mtab();
mfp = nfs_setmntent (MOUNTED, "a+");

View file

@ -0,0 +1,15 @@
ripped from Debian
--- nfs-utils-1.1.2/utils/mount/mount.c
+++ nfs-utils-1.1.2/utils/mount/mount.c
@@ -381,10 +381,6 @@
mount_error(NULL, mount_point, ENOTDIR);
return 1;
}
- if (access(mount_point, X_OK) < 0) {
- mount_error(NULL, mount_point, errno);
- return 1;
- }
return 0;
}

View file

@ -0,0 +1,69 @@
diff -Naur nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c nfs-utils-1.1.6/utils/gssd/krb5_util.c
--- utils/gssd/krb5_util.c 2009-04-20 19:32:50.000000000 +0200
+++ utils/gssd/krb5_util.c 2009-04-20 20:57:31.000000000 +0200
@@ -940,9 +940,37 @@
{
krb5_error_code ret;
krb5_creds creds;
- krb5_cc_cursor cur;
int found = 0;
+#ifdef HAVE_HEIMDAL
+ krb5_creds pattern;
+ krb5_realm *client_realm;
+
+ krb5_cc_clear_mcred(&pattern);
+
+ client_realm = krb5_princ_realm (context, principal);
+
+ ret = krb5_make_principal (context, &pattern.server,
+ *client_realm, KRB5_TGS_NAME, *client_realm,
+ NULL);
+ if (ret)
+ krb5_err (context, 1, ret, "krb5_make_principal");
+ pattern.client = principal;
+
+ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
+ krb5_free_principal (context, pattern.server);
+ if (ret) {
+ if (ret == KRB5_CC_END)
+ return 1;
+ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
+ }
+
+ found = creds.times.endtime > time(NULL);
+
+ krb5_free_cred_contents (context, &creds);
+#else
+ krb5_cc_cursor cur;
+
ret = krb5_cc_start_seq_get(context, ccache, &cur);
if (ret)
return 0;
@@ -962,6 +990,7 @@
krb5_free_cred_contents(context, &creds);
}
krb5_cc_end_seq_get(context, ccache, &cur);
+#endif
return found;
}
@@ -1008,6 +1037,9 @@
}
krb5_free_principal(context, principal);
err_princ:
+#ifdef HAVE_HEIMDAL
+#define KRB5_TC_OPENCLOSE 0x00000001
+#endif
krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
krb5_cc_close(context, ccache);
err_cache:
@@ -1262,7 +1294,7 @@
if (context != NULL) {
origmsg = krb5_get_error_message(context, code);
msg = strdup(origmsg);
- krb5_free_error_message(context, origmsg);
+ krb5_free_error_string(context, origmsg);
}
#endif
if (msg != NULL)

View file

@ -0,0 +1,57 @@
Index: nfs-utils-1.1.6/utils/gssd/context_lucid.c
===================================================================
--- nfs-utils-1.1.6.orig/utils/gssd/context_lucid.c
+++ nfs-utils-1.1.6/utils/gssd/context_lucid.c
@@ -51,8 +51,10 @@
#include "context.h"
#ifndef OM_uint64
+#ifndef GSSAPI_GSSAPI_H_
typedef uint64_t OM_uint64;
#endif
+#endif
static int
write_lucid_keyblock(char **p, char *end, gss_krb5_lucid_key_t *key)
@@ -177,10 +179,10 @@
int retcode = 0;
printerr(2, "DEBUG: serialize_krb5_ctx: lucid version!\n");
- maj_stat = gss_export_lucid_sec_context(&min_stat, &ctx,
+ maj_stat = gss_krb5_export_lucid_sec_context(&min_stat, &ctx,
1, &return_ctx);
if (maj_stat != GSS_S_COMPLETE) {
- pgsserr("gss_export_lucid_sec_context",
+ pgsserr("gss_krb5_export_lucid_sec_context",
maj_stat, min_stat, &krb5oid);
goto out_err;
}
@@ -204,9 +206,9 @@
else
retcode = prepare_krb5_rfc_cfx_buffer(lctx, buf, endtime);
- maj_stat = gss_free_lucid_sec_context(&min_stat, ctx, return_ctx);
+ maj_stat = gss_krb5_free_lucid_sec_context(&min_stat, ctx);
if (maj_stat != GSS_S_COMPLETE) {
- pgsserr("gss_export_lucid_sec_context",
+ pgsserr("gss_krb5_export_lucid_sec_context",
maj_stat, min_stat, &krb5oid);
printerr(0, "WARN: failed to free lucid sec context\n");
}
Index: nfs-utils-1.1.6/utils/gssd/krb5_util.c
===================================================================
--- nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c
+++ nfs-utils-1.1.6/utils/gssd/krb5_util.c
@@ -332,10 +332,10 @@
return -1;
}
- maj_stat = gss_set_allowable_enctypes(&min_stat, credh, &krb5oid,
+ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
num_enctypes, &enctypes);
if (maj_stat != GSS_S_COMPLETE) {
- pgsserr("gss_set_allowable_enctypes",
+ pgsserr("gss_krb5_set_allowable_enctypes",
maj_stat, min_stat, &krb5oid);
gss_release_cred(&min_stat, &credh);
return -1;

View file

@ -0,0 +1,32 @@
## arg 1: the new package version
post_install() {
cat << 'EOM'
==> PLEASE NOTE:
==> Extended configuration options for NFS (clients & server) are available in
==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf
==>
==> Please refer to http://wiki.archlinux.org/index.php/Nfs
==> for further information on NFS; for NFSv4, refer to
==> http://wiki.archlinux.org/index.php/NFSv4
EOM
}
## arg 1: the new package version
## arg 2: the old package version
post_upgrade() {
if [ "$(vercmp $2 1.2.0-2)" -lt 0 ]; then
cat << 'EOM'
==> IMPORTANT NFS UTILS CHANGES:
==> This is a rather important upgrade, you are going to have to change config files.
==> /etc/rc.conf daemons changes:
==> Change portmap to rpcbind
==> Change nfslock to nfs-common
==> Change nfsd to nfs-server
==>
==> Extended configuration options for NFS (clients & server) are available in:
==> /etc/conf.d/nfs-common
==> /etc/conf.d/nfs-server
==> Please change them to your needs.
EOM
fi
}

View file

@ -0,0 +1,22 @@
--- utils/statd/start-statd 2007-05-11 04:40:57.000000000 +0100
+++ utils/statd/start-statd.new 2007-09-21 17:11:34.000000000 +0100
@@ -1,9 +1,16 @@
-#!/bin/bash -p
+#!/bin/sh
+
+# Original script provided by the NFS project
+# Modified for Arch Linux by Tom Killian
+
# nfsmount calls this script when mounting a filesystem with locking
# enabled, but when statd does not seem to be running (based on
# /var/run/rpc.statd.pid).
# It should run statd with whatever flags are apropriate for this
# site.
-PATH=/sbin:/usr/sbin
-exec rpc.statd --no-notify
+
+# source application-specific settings
+[ -f /etc/conf.d/nfs-common.conf ] && . /etc/conf.d/nfs-common.conf
+
+exec /usr/sbin/rpc.statd $STATD_OPTS

View file

@ -12,8 +12,8 @@ plugrel=1
noautobuild=1 noautobuild=1
pkgname=pacman pkgname=pacman
pkgver=4.0.1 pkgver=4.0.2
pkgrel=4 pkgrel=1
pkgdesc="A library-based package manager with dependency support" pkgdesc="A library-based package manager with dependency support"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="http://www.archlinux.org/pacman/" url="http://www.archlinux.org/pacman/"
@ -26,13 +26,13 @@ optdepends=('fakeroot: for makepkg usage as normal user')
backup=(etc/pacman.conf etc/makepkg.conf) backup=(etc/pacman.conf etc/makepkg.conf)
install=pacman.install install=pacman.install
options=(!libtool) options=(!libtool)
source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
pacman.conf pacman.conf
makepkg.conf) makepkg.conf)
md5sums=('76bd88eff8cd94bc9899faa091822dc1' md5sums=('289ba4a19a16393096e065cec1cb9b0a'
'4605b3490d4fd1e5c6e20db17da9ded6' '575140dce3ea597d91b6d081aa3f6a00'
'a0edf98ad1845a4c7d902a86638d5d2d' '9c58ab16092e34eb359ea7e8d56bfc3a'
'db051afbd12993b7743ccd4d58668499') 'e6d44e71b847d2c98bb38087e33cd76b')
# keep an upgrade path for older installations # keep an upgrade path for older installations
PKGEXT='.pkg.tar.gz' PKGEXT='.pkg.tar.gz'
@ -45,6 +45,10 @@ build() {
make make
} }
check() {
make -C "$pkgname-$pkgver" check
}
package() { package() {
cd $srcdir/$pkgname-$pkgver cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir install make DESTDIR=$pkgdir install
@ -91,6 +95,3 @@ package() {
mkdir -p $pkgdir/usr/share/zsh/site-functions/ mkdir -p $pkgdir/usr/share/zsh/site-functions/
install -m644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman install -m644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman
} }
md5sums=('76bd88eff8cd94bc9899faa091822dc1'
'9c58ab16092e34eb359ea7e8d56bfc3a'
'e6d44e71b847d2c98bb38087e33cd76b')

View file

@ -12,10 +12,10 @@ plugrel=1
_pkgbase='udev' _pkgbase='udev'
pkgname='udev-oxnas' pkgname='udev-oxnas'
pkgver=180 pkgver=181
_pkgver=175 _pkgver=175
provides=('udev=180') provides=('udev=181')
pkgrel=1 pkgrel=2
arch=(i686 x86_64) arch=(i686 x86_64)
url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
license=('GPL') license=('GPL')

View file

@ -1,150 +0,0 @@
# $Id: PKGBUILD 138021 2011-09-14 11:59:52Z pierre $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - rebuild for db update, remove when updated upstream
plugrel=1
pkgname=apache
pkgver=2.2.21
pkgrel=1.2
pkgdesc='A high performance Unix-based HTTP server'
arch=('i686' 'x86_64')
options=('!libtool')
url='http://www.apache.org/dist/httpd'
license=('APACHE')
backup=(etc/conf.d/apache etc/httpd/conf/httpd.conf
etc/httpd/conf/extra/httpd-{autoindex,dav,default,info,languages}.conf
etc/httpd/conf/extra/httpd-{manual,mpm,multilang-errordoc}.conf
etc/httpd/conf/extra/httpd-{ssl,userdir,vhosts}.conf
etc/logrotate.d/httpd)
depends=('openssl' 'zlib' 'apr-util' 'pcre')
optdepends=('lynx: apachectl status')
_itkurl=http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01
source=(http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2
${_itkurl}/02-rename-prefork-to-itk.patch
${_itkurl}/03-add-mpm-to-build-system.patch
${_itkurl}/04-correct-output-makefile-location.patch
${_itkurl}/05-add-copyright.patch
${_itkurl}/06-hook-just-after-merging-perdir-config.patch
${_itkurl}/07-base-functionality.patch
${_itkurl}/08-max-clients-per-vhost.patch
${_itkurl}/09-capabilities.patch
${_itkurl}/10-nice.patch
${_itkurl}/11-fix-htaccess-reads-for-persistent-connections.patch
apachectl-confd.patch
apache.conf.d
httpd.logrotate
httpd
arch.layout)
md5sums=('1696ae62cd879ab1d4dd9ff021a470f2'
'f1d9d41360908ceb2374da55ae99197a'
'cdfa04985a0efa850976aef01c2a0c40'
'0930d2d0612eb0a53a0d00aea7e8687f'
'3a0c29bb91442c33ea73ebbe072af922'
'0ef4729a6f1ffc848ad0e9b440a66f66'
'940944caa948340b11ddae56adaef89b'
'ce09a987523884de8838f73dc8ec0d19'
'e75b7dd8d8afcd299ba4ab2ab81c11e4'
'ce1ccc21f3ad8625169c8f62913450ac'
'1e5b222edcfbf99a3edc56fcb2074fbe'
'4ac64df6e019edbe137017cba1ff2f51'
'08b3c875f6260644f2f52b4056d656b0'
'6382331e9700ed9e8cc78ea51887b537'
'c7e300a287ef7e2e066ac7639536f87e'
'3d659d41276ba3bfcb20c231eb254e0c')
build() {
cd "${srcdir}/httpd-${pkgver}"
patch -Np0 -i "${srcdir}/apachectl-confd.patch"
# set default user
sed -e 's#User daemon#User http#' \
-e 's#Group daemon#Group http#' \
-i docs/conf/httpd.conf.in
cat "${srcdir}/arch.layout" >> config.layout
for mpm in prefork worker itk; do
if [ "${mpm}" = "itk" ]; then
# Fix patch to apply with latest Apache version
sed -i -e 's/mpmt_os2}/mpmt_os2|winnt}/g' "${srcdir}/03-add-mpm-to-build-system.patch"
mkdir -p server/mpm/experimental/itk
cp -r server/mpm/prefork/* server/mpm/experimental/itk/
mv server/mpm/experimental/itk/prefork.c server/mpm/experimental/itk/itk.c
patch -Np1 -i "${srcdir}/02-rename-prefork-to-itk.patch"
patch -Np1 -i "${srcdir}/03-add-mpm-to-build-system.patch"
patch -Np1 -i "${srcdir}/04-correct-output-makefile-location.patch"
patch -Np1 -i "${srcdir}/05-add-copyright.patch"
patch -Np1 -i "${srcdir}/06-hook-just-after-merging-perdir-config.patch"
patch -Np1 -i "${srcdir}/07-base-functionality.patch"
patch -Np1 -i "${srcdir}/08-max-clients-per-vhost.patch"
patch -Np1 -i "${srcdir}/09-capabilities.patch"
patch -Np1 -i "${srcdir}/10-nice.patch"
patch -Np1 -i "${srcdir}/11-fix-htaccess-reads-for-persistent-connections.patch"
autoconf
fi
mkdir build-${mpm}
pushd build-${mpm}
../configure --enable-layout=Arch \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-suexec \
--with-suexec-caller=http \
--with-suexec-docroot=/srv/http \
--with-suexec-logfile=/var/log/httpd/suexec.log \
--with-suexec-bin=/usr/sbin/suexec \
--with-suexec-uidmin=99 --with-suexec-gidmin=99 \
--enable-ldap --enable-authnz-ldap \
--enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache \
--enable-ssl --with-ssl \
--enable-deflate --enable-cgid \
--enable-proxy --enable-proxy-connect \
--enable-proxy-http --enable-proxy-ftp \
--enable-dbd \
--with-apr=/usr/bin/apr-1-config \
--with-apr-util=/usr/bin/apu-1-config \
--with-pcre=/usr \
--with-mpm=${mpm}
make
if [ "${mpm}" = "prefork" ]; then
make DESTDIR="${pkgdir}" install
else
install -m755 httpd "${pkgdir}/usr/sbin/httpd.${mpm}"
fi
popd
done
install -D -m755 "${srcdir}/httpd" "${pkgdir}/etc/rc.d/httpd"
install -D -m644 "${srcdir}/httpd.logrotate" "${pkgdir}/etc/logrotate.d/httpd"
install -D -m644 "${srcdir}/apache.conf.d" "${pkgdir}/etc/conf.d/apache"
# symlinks for /etc/httpd
ln -fs /var/log/httpd "${pkgdir}/etc/httpd/logs"
ln -fs /var/run/httpd "${pkgdir}/etc/httpd/run"
ln -fs /usr/lib/httpd/modules "${pkgdir}/etc/httpd/modules"
ln -fs /usr/lib/httpd/build "${pkgdir}/etc/httpd/build"
# set sane defaults
sed -e 's#/usr/lib/httpd/modules/#modules/#' \
-e 's|#\(Include conf/extra/httpd-multilang-errordoc.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-autoindex.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-languages.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-userdir.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-default.conf\)|\1|' \
-i "${pkgdir}/etc/httpd/conf/httpd.conf"
# cleanup
rm -rf "${pkgdir}/usr/share/httpd/manual"
rm -rf "${pkgdir}/etc/httpd/conf/original"
rm -rf "${pkgdir}/srv/"
rm -rf "${pkgdir}/usr/bin"
}

View file

@ -1,15 +0,0 @@
# Configuration file for the httpd service.
#
# The default processing model (MPM) is the process-based
# 'prefork' model. A thread-based model, 'worker', is also
# available, but does not work with some modules (such as PHP).
# The service must be stopped before changing this variable.
#
#HTTPD=/usr/sbin/httpd.worker
#
# To pass additional options (for instance, -D definitions) to the
# httpd binary at startup, set OPTIONS here.
#
#OPTIONS=

View file

@ -1,15 +0,0 @@
--- support/apachectl.in.orig 2010-03-06 18:09:11.000000000 +0100
+++ support/apachectl.in 2010-03-06 18:12:31.000000000 +0100
@@ -56,6 +56,12 @@
# the URL to your server's mod_status status page. If you do not
# have one, then status and fullstatus will not work.
STATUSURL="http://localhost:@PORT@/server-status"
+
+# Source /etc/conf.d/apache for $HTTPD setting, etc.
+if [ -r /etc/conf.d/apache ]; then
+ . /etc/conf.d/apache
+fi
+
#
# Set this variable to a command that increases the maximum
# number of file descriptors allowed per child process. This is

View file

@ -1,22 +0,0 @@
<Layout Arch>
prefix: /etc/httpd
exec_prefix: /usr
bindir: /usr/bin
sbindir: /usr/sbin
libdir: /usr/lib/httpd
libexecdir: /usr/lib/httpd/modules
mandir: /usr/share/man
sysconfdir: /etc/httpd/conf
datadir: /usr/share/httpd
installbuilddir: /usr/lib/httpd/build
errordir: /usr/share/httpd/error
iconsdir: /usr/share/httpd/icons
htdocsdir: /srv/http
manualdir: /usr/share/httpd/manual
cgidir: /srv/http/cgi-bin
includedir: /usr/include/httpd
localstatedir: /var
runtimedir: /var/run/httpd
logfiledir: /var/log/httpd
proxycachedir: /var/cache/httpd
</Layout>

View file

@ -1,65 +0,0 @@
#!/bin/bash
daemon_name=httpd
. /etc/rc.conf
. /etc/rc.d/functions
APACHECTL=/usr/sbin/apachectl
case "$1" in
start)
stat_busy "Starting Apache Web Server"
[ ! -d /var/run/httpd ] && install -d /var/run/httpd
if $APACHECTL start >/dev/null ; then
add_daemon $daemon_name
stat_done
else
stat_fail
exit 1
fi
;;
stop)
stat_busy "Stopping Apache Web Server"
if $APACHECTL stop >/dev/null ; then
rm_daemon $daemon_name
stat_done
else
stat_fail
exit 1
fi
;;
reload)
stat_busy "Reloading Apache Web Server"
if $APACHECTL graceful >/dev/null ; then
add_daemon $daemon_name
stat_done
else
stat_fail
exit 1
fi
;;
restart)
stat_busy "Restarting Apache Web Server"
if $APACHECTL restart >/dev/null ; then
add_daemon $daemon_name
stat_done
else
stat_fail
exit 1
fi
;;
status)
stat_busy "Checking Apache Web Server status";
ck_status $daemon_name
;;
*)
echo "usage: $0 {start|stop|reload|restart|status}"
esac
exit 0

View file

@ -1,6 +0,0 @@
/var/log/httpd/*log {
missingok
postrotate
/bin/kill -HUP `cat /var/run/httpd/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}

View file

@ -0,0 +1,90 @@
# $Id: PKGBUILD 149825 2012-02-11 09:11:58Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - use sunet.se mirror
# - set quantum depth to 32 to fix FTBFS
plugrel=1
pkgbase=imagemagick
pkgname=('imagemagick' 'imagemagick-doc')
pkgver=6.7.5.3
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.imagemagick.org/"
license=('custom')
depends=('perl' 'libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'libjpeg-turbo')
makedepends=('ghostscript' 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper' 'libpng')
source=(http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
perlmagick.rpath.patch)
sha1sums=('b6cee59cb380f38572ec40769c438901dcc7500e'
'23405f80904b1de94ebd7bd6fe2a332471b8c283')
build() {
cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
sed '/AC_PATH_XTRA/d' -i configure.ac
autoreconf
patch -p0 -i ../perlmagick.rpath.patch
LIBS="$LIBS -L/usr/lib/perl5/core_perl/CORE -lperl" \
./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
--enable-openmp --with-wmf --with-openexr --with-xml --with-lcms2 --with-jp2 \
--with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
--with-perl --with-perl-options="INSTALLDIRS=vendor" \
--without-gvc --without-djvu --without-autotrace --without-webp \
--without-jbig --without-fpx --without-dps --without-fftw --without-lqr --with-quantum-depth=32
make
}
check() {
cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
make check
}
package_imagemagick() {
pkgdesc="An image viewing/manipulation program"
optdepends=('ghostscript: for Ghostscript support'
'openexr: for OpenEXR support'
'libwmf: for WMF support'
'librsvg: for SVG support'
'libxml2: for XML support'
'jasper: for JPEG-2000 support'
'libpng: for PNG support')
backup=('etc/ImageMagick/coder.xml'
'etc/ImageMagick/colors.xml'
'etc/ImageMagick/delegates.xml'
'etc/ImageMagick/log.xml'
'etc/ImageMagick/magic.xml'
'etc/ImageMagick/mime.xml'
'etc/ImageMagick/policy.xml'
'etc/ImageMagick/sRGB.icc'
'etc/ImageMagick/thresholds.xml'
'etc/ImageMagick/type.xml'
'etc/ImageMagick/type-dejavu.xml'
'etc/ImageMagick/type-ghostscript.xml'
'etc/ImageMagick/type-windows.xml')
options=('!makeflags' '!docs' 'libtool')
cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
make DESTDIR="${pkgdir}" install
chmod 755 "${pkgdir}/usr/lib/perl5/vendor_perl/auto/Image/Magick/Magick.so"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/imagemagick/LICENSE"
install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/imagemagick/NOTICE"
#Cleaning
find "${pkgdir}" -name '*.bs' -delete
rm -f "${pkgdir}"/usr/lib/*.la
}
package_imagemagick-doc() {
pkgdesc="The ImageMagick documentation (utilities manuals and libraries API)"
depends=()
options=('!makeflags')
cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
make DESTDIR="${pkgdir}" install-data-html
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/imagemagick-doc/LICENSE"
install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/imagemagick-doc/NOTICE"
}

View file

@ -0,0 +1,10 @@
--- Makefile.in.orig 2009-05-26 16:22:11.000000000 -0300
+++ Makefile.in 2009-05-26 16:23:27.000000000 -0300
@@ -10067,6 +10067,7 @@
@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@$(PERLMAKEFILE): perl-sources $(PERLMAKEMAKER)
@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @PERL@ Makefile.PL $(PERL_MAKE_OPTIONS)
+@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @SED@ -i 's|LD_RUN_PATH|DIE_LD_RUN_PATH_DIE|g' Makefile
@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@install-exec-perl: $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) $(PERLMAKEFILE)
@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && $(MAKE) CC='@CC@' install

View file

@ -8,7 +8,7 @@ plugrel=1
pkgname=kdebindings-python pkgname=kdebindings-python
pkgver=4.8.0 pkgver=4.8.0
pkgrel=1 pkgrel=2
pkgdesc="KDE bindings for Python" pkgdesc="KDE bindings for Python"
url="http://kde.org/" url="http://kde.org/"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')

View file

@ -1,21 +1,61 @@
# Maintainer: Kevin Mihelich <kevin@plugapps.com> # $Id: PKGBUILD 149986 2012-02-12 02:54:27Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Simone Sclavi 'Ito' <darkhado@gmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - removed makedepends on nasm
# - added --without-simd to configure, no NEON in main repositories yet
plugrel=1 plugrel=1
pkgname=libjpeg-turbo pkgname=libjpeg-turbo
pkgver=1.1.1 pkgver=1.2.0
pkgrel=4 pkgrel=1
pkgdesc="ARM dummy package for the x86 assembly version" pkgdesc="libjpeg derivative with accelerated baseline JPEG compression and decompression"
arch=('arm' 'armv7h') arch=('i686' 'x86_64')
url="http://www.archlinuxarm.org" url="http://libjpeg-turbo.virtualgl.org/"
depends=('libjpeg') license=('GPL' 'custom')
license=('BYOB') depends=('glibc')
#makedepends=('nasm')
provides=('libjpeg=8.0.2')
conflicts=('libjpeg')
replaces=('libjpeg')
options=('!libtool')
source=(http://sourceforge.net/projects/$pkgname/files/$pkgver/$pkgname-$pkgver.tar.gz)
md5sums=('5329fa80953938cb4f097afae55059e2')
build() { build() {
echo "libjpeg-turbo!" cd $srcdir/$pkgname-$pkgver
# put documentation in a reasonable directory...
sed -i "/docdir = /s#/doc#/doc/libjpeg-turbo#" Makefile.in
sed -i "/exampledir = /s#/doc#/doc/libjpeg-turbo#" Makefile.in
./configure --prefix=/usr --with-jpeg8 --mandir=/usr/share/man --without-simd
make
}
check() {
cd $srcdir/$pkgname-$pkgver
make test
} }
package() { package() {
mkdir -p $pkgdir/usr/share cd $srcdir/$pkgname-$pkgver
echo "libjpeg-turbo!" > $pkgdir/usr/share/libjpeg-turbo
make DESTDIR=$pkgdir/ install
# provide jpegint.h as it is required by various software
install -m644 jpegint.h $pkgdir/usr/include/
# do not distributre libturbojpeg as it is unversioned
rm $pkgdir/usr/lib/libturbojpeg.{so,a}
rm $pkgdir/usr/include/turbojpeg.h
install -dm755 $pkgdir/usr/share/licenses/libjpeg-turbo/
ln -s ../../doc/libjpeg-turbo/README \
$pkgdir/usr/share/licenses/libjpeg-turbo/README
ln -s ../../doc/libjpeg-turbo/README-turbo.txt \
$pkgdir/usr/share/licenses/libjpeg-turbo/README-turbo.txt
} }

View file

@ -1,39 +0,0 @@
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
# ALARM: Kevin Mihelich <kevin@plugapps.com>
# - Arch replaced this with libjpeg-turbo, which relies on x86 asm
plugrel=1
noautobuild=1
pkgname=libjpeg
# pkgver follows the library soname to avoid issues with version comparisons
pkgver=8.3.0
_pkgver=8c
pkgrel=1
pkgdesc="Library of JPEG support functions"
arch=('i686' 'x86_64')
url="http://www.ijg.org/"
license=('custom')
depends=('glibc')
makedepends=('libtool')
options=('!libtool')
source=(http://www.ijg.org/files/jpegsrc.v${_pkgver}.tar.gz)
md5sums=('a2c10c04f396a9ce72894beb18b4e1f9')
build() {
cd $srcdir/jpeg-${_pkgver}
./configure --prefix=/usr --enable-shared --enable-static
make
}
package() {
cd $srcdir/jpeg-${_pkgver}
make prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man install
# See FS#11116 - re-assess current need sometime...
install -m644 jpegint.h $pkgdir/usr/include
install -Dm644 README $pkgdir/usr/share/licenses/libjpeg/README
}

View file

@ -2,33 +2,33 @@
# Contributor: dorphell <dorphell@archlinux.org> # Contributor: dorphell <dorphell@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net> # Contributor: John Proctor <jproctor@prium.net>
# ALARM: Kevin Mihelich <kevin@plugapps.com> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - remove Arch's CFLAGS replacement, doesn't work with our flags # - remove Arch's CFLAGS replacement, doesn't work with our flags
plugrel=1 plugrel=1
pkgname=libvorbis pkgname=libvorbis
pkgver=1.3.2 pkgver=1.3.3
pkgrel=1 pkgrel=1
pkgdesc="Vorbis codec library" pkgdesc="Vorbis codec library"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
license=('custom') license=('BSD')
url="http://www.xiph.org/ogg/vorbis/" url="http://www.xiph.org/vorbis/"
depends=('libogg') depends=('libogg')
options=('!libtool') options=('!libtool')
source=(http://downloads.xiph.org/releases/vorbis/${pkgname}-${pkgver}.tar.gz) source=(http://downloads.xiph.org/releases/vorbis/${pkgname}-${pkgver}.tar.gz)
md5sums=('c870b9bd5858a0ecb5275c14486d9554') md5sums=('6b1a36f0d72332fae5130688e65efe1f')
build() { build() {
cd ${srcdir}/${pkgname}-${pkgver} cd "${srcdir}/${pkgname}-${pkgver}"
#-march=i686 optimizes too much, strip it out #-march=i686 optimizes too much, strip it out
#CFLAGS=${CFLAGS/-march=$CARCH} ./configure --prefix=/usr --disable-static #CFLAGS=${CFLAGS/-march=$CARCH} ./configure --prefix=/usr --disable-static
./configure --prefix=/usr --disable-static LIBS+="-lm" ./configure --prefix=/usr --disable-static
make make
} }
package() { package() {
cd ${srcdir}/${pkgname}-${pkgver} cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install make DESTDIR="${pkgdir}" install
install -Dm644 COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE" install -Dm644 COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
} }

View file

@ -1,14 +1,13 @@
# $Id: PKGBUILD 135631 2011-08-16 21:19:09Z ibiru $ # $Id: PKGBUILD 149273 2012-02-06 17:33:27Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org> # Maintainer: Ionut Biru <ibiru@archlinux.org>
# ALARM: Kevin Mihelich <kevin@plugapps.com> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - configure option --enable-shared isn't supported for us # - configure option --enable-shared isn't supported for us
plugrel=1 plugrel=1
pkgname=libvpx pkgname=libvpx
pkgver=0.9.7.p1 pkgver=1.0.0
realver=0.9.7-p1
pkgrel=1 pkgrel=1
pkgdesc="The VP8 Codec SDK" pkgdesc="The VP8 Codec SDK"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
@ -16,11 +15,11 @@ url="http://www.webmproject.org/"
license=('BSD') license=('BSD')
depends=('glibc') depends=('glibc')
makedepends=('yasm') makedepends=('yasm')
source=(http://webm.googlecode.com/files/${pkgname}-v${realver}.tar.bz2) source=(http://webm.googlecode.com/files/$pkgname-v$pkgver.tar.bz2)
sha1sums=('dacfefaf3363f781de43858f09cdd0b0d469e6fc') sha1sums=('2919e11074fef72fc61ef1a75160050ffaad6074')
build() { build() {
cd "${srcdir}/${pkgname}-v${realver}" cd "$srcdir/$pkgname-v$pkgver"
./configure --prefix=/usr --enable-vp8 \ ./configure --prefix=/usr --enable-vp8 \
--enable-postproc \ --enable-postproc \
--enable-pic \ --enable-pic \
@ -30,7 +29,7 @@ build() {
} }
package() { package() {
cd "${srcdir}/${pkgname}-v${realver}" cd "$srcdir/$pkgname-v$pkgver"
make DIST_DIR="$pkgdir/usr" install make DIST_DIR="$pkgdir/usr" install
install -D -m 0644 LICENSE "$pkgdir/usr/share/licenses/${pkgname}/LICENSE" install -D -m 0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
} }

View file

@ -1,4 +1,4 @@
# $Id: PKGBUILD 147073 2012-01-21 15:12:23Z andyrtr $ # $Id: PKGBUILD 149216 2012-02-06 13:29:48Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org> # Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org>
@ -8,16 +8,16 @@
plugrel=1 plugrel=1
pkgname=pixman pkgname=pixman
pkgver=0.24.2 pkgver=0.24.4
pkgrel=1 pkgrel=2
pkgdesc="Pixman library" pkgdesc="The pixel-manipulation library for X and cairo"
arch=(i686 x86_64) arch=(i686 x86_64)
url="http://xorg.freedesktop.org" url="http://xorg.freedesktop.org"
license=('custom') license=('custom')
depends=('glibc') depends=('glibc')
options=('!libtool') options=('!libtool')
source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2) source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
sha1sums=('233eed3cd16ee1b2a842140477503d2c68b74418') sha1sums=('683450f917015366ac7918fc517c76801aeff374')
build() { build() {
cd "${srcdir}/${pkgname}-${pkgver}" cd "${srcdir}/${pkgname}-${pkgver}"

View file

@ -11,8 +11,8 @@ plugrel=1
pkgbase=pyqt pkgbase=pyqt
pkgname=('pyqt' 'python2-pyqt') pkgname=('pyqt' 'python2-pyqt')
pkgver=4.9 pkgver=4.9.1
pkgrel=2 pkgrel=1
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="http://riverbankcomputing.co.uk/software/pyqt/intro" url="http://riverbankcomputing.co.uk/software/pyqt/intro"
license=('GPL') license=('GPL')
@ -21,22 +21,22 @@ makedepends=('qt' 'python-sip' 'dbus-python' 'python2-sip' 'phonon'
source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz" source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz"
"fix-qthelp-build.patch" "fix-qthelp-build.patch"
"PyQt4-4.7.3-qreal_float_support.patch") "PyQt4-4.7.3-qreal_float_support.patch")
md5sums=('61619500d09d87b6c2a25bd3ea994504' md5sums=('7f495dc49f71e3bfb64bf942e0d8bb3c'
'356a453331a33c507b1baba4a9771764' '6acfe0a5a00779f946c29d5fac647ce1'
'a20d7022e91071f838bd4908851a0f7b') 'a20d7022e91071f838bd4908851a0f7b')
build() { build() {
# Build QtHelp (FS#27665)
cd "${srcdir}"/PyQt-x11-gpl-${pkgver}
patch -p1 -i "${srcdir}"/fix-qthelp-build.patch
# ALARM: Fix for QReal
patch -p1 -i "${srcdir}"/PyQt4-4.7.3-qreal_float_support.patch
cd "${srcdir}" cd "${srcdir}"
patch -p0 -i "${srcdir}"/fix-qthelp-build.patch
cp -r PyQt-x11-gpl-${pkgver} Py2Qt-x11-gpl-${pkgver} cp -r PyQt-x11-gpl-${pkgver} Py2Qt-x11-gpl-${pkgver}
cd "${srcdir}/PyQt-x11-gpl-${pkgver}" cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
# ALARM: Fix for QReal
patch -Np1 -i ${srcdir}/PyQt4-4.7.3-qreal_float_support.patch
python configure.py \ python configure.py \
--confirm-license \ --confirm-license \
--qsci-api --qsci-api
@ -48,10 +48,6 @@ build() {
### Python2 version ### ### Python2 version ###
cd "${srcdir}/Py2Qt-x11-gpl-${pkgver}" cd "${srcdir}/Py2Qt-x11-gpl-${pkgver}"
# ALARM: Fix for QReal
patch -Np1 -i ${srcdir}/PyQt4-4.7.3-qreal_float_support.patch
python2 configure.py \ python2 configure.py \
--confirm-license \ --confirm-license \
-v /usr/share/sip \ -v /usr/share/sip \

View file

@ -1,6 +1,6 @@
--- PyQt-x11-gpl-4.9/configure.py~ 2011-12-23 14:53:07.981490550 +0100 --- PyQt-x11-gpl-4.9.1/configure.py~ 2012-02-13 20:16:11.418786488 +0000
+++ PyQt-x11-gpl-4.9/configure.py 2011-12-23 14:52:38.384984221 +0100 +++ PyQt-x11-gpl-4.9.1/configure.py 2012-02-13 20:16:50.561809527 +0000
@@ -1264,7 +1264,7 @@ @@ -1261,7 +1261,7 @@
opengl = (mname == "QtOpenGL") opengl = (mname == "QtOpenGL")
qt = [mname] qt = [mname]

View file

@ -1,4 +1,4 @@
# $Id: PKGBUILD 145340 2011-12-21 20:47:29Z andrea $ # $Id: PKGBUILD 149356 2012-02-07 05:40:02Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org> # Maintainer: Eric Bélanger <eric@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
@ -8,8 +8,9 @@
plugrel=1 plugrel=1
pkgname=qt3 pkgname=qt3
pkgver=3.3.8 pkgver=3.3.8b
pkgrel=22 pkgrel=1
epoch=1
pkgdesc="The QT3 gui toolkit" pkgdesc="The QT3 gui toolkit"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="http://www.trolltech.com/products/qt/index.html" url="http://www.trolltech.com/products/qt/index.html"
@ -20,18 +21,14 @@ makedepends=('mysql' 'postgresql' 'unixodbc' 'sqlite3')
optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc') optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc')
options=('!libtool') options=('!libtool')
install=qt.install install=qt.install
source=(ftp://ftp.trolltech.com/qt/source/qt-x11-free-${pkgver}.tar.bz2 source=(ftp://ftp.trolltech.com/qt/source/qt-x11-free-${pkgver}.tar.gz
qt.profile qt3-png15.patch qt-copy-kde-patches.tar.bz2 qt.profile qt3-png15.patch qt-copy-kde-patches.tar.bz2 qt-patches.tar.bz2
qt-patches.tar.bz2 utf8-bug-qt3.diff qt-font-default-subst.diff eastern_asian_languagues.diff qt-odbc.patch gcc-4.6.patch arm.patch)
mysql.patch eastern_asian_languagues.diff qt-odbc.patch gcc-4.6.patch arm.patch) sha1sums=('745def6250dc7f337dbb265e20bf38dcb41fd854'
sha1sums=('91b192cb8e80679607d24ae35d6e20ed68d149d7'
'd2e257a9011208b2cb81b9cf47915b9a2f9dab83' 'd2e257a9011208b2cb81b9cf47915b9a2f9dab83'
'3d19510c46016a1a211d97bf8f82b01498b1b33c' '3d19510c46016a1a211d97bf8f82b01498b1b33c'
'9cb2e5bec782069692ee337cfa171539d9d73753' '33418e5b117458af23c72cdbffc0c339bc34bdc4'
'116afa0e737bdf27ea27f9b3653aeb56db9ec151' '116afa0e737bdf27ea27f9b3653aeb56db9ec151'
'ca5ecb29c7f1c826d48703339a3371038e306bb7'
'd928ff55adb52c4bab2fb268df022651551cd70c'
'bb6aad81cce143c23ff7840b1d79f6b2007a0c04'
'40c7b8f06a21f809ddeb8b5560e9da63ccac6a17' '40c7b8f06a21f809ddeb8b5560e9da63ccac6a17'
'1346320614f6f86fbeb10b9fbad721dea29f5b61' '1346320614f6f86fbeb10b9fbad721dea29f5b61'
'd9b83b8f6f9c8bd98d290dc1d0e9913a00b62c3f' 'd9b83b8f6f9c8bd98d290dc1d0e9913a00b62c3f'
@ -49,18 +46,12 @@ build() {
cd "${srcdir}"/qt-x11-free-${pkgver} cd "${srcdir}"/qt-x11-free-${pkgver}
# apply qt patches from kde.org # apply qt patches from kde.org
for i in ../qt-copy-kde-patches/*; do for i in ../qt-copy-kde-patches/*; do
patch -Np0 -i $i patch -p0 -i $i
done done
# apply other qt patches and one security fix from debian/gentoo # apply other qt patches and one security fix from debian/gentoo
for i in ../qt-patches/*; do for i in ../qt-patches/*; do
patch -Np1 -i $i patch -p1 -i $i
done done
# fix utf8 bug
patch -p0 -i "${srcdir}"/utf8-bug-qt3.diff
# fix asia fonts
patch -p0 -i "${srcdir}"/qt-font-default-subst.diff
# fix segfaults on exit when using mysql DB driver
patch -p0 -i "${srcdir}"/mysql.patch
# fix CJK font/chars select error (FS#11245) # fix CJK font/chars select error (FS#11245)
patch -p1 -i "${srcdir}"/eastern_asian_languagues.diff patch -p1 -i "${srcdir}"/eastern_asian_languagues.diff
# fix build problem against new unixODBC # fix build problem against new unixODBC

View file

@ -1,47 +0,0 @@
--- src/sql/drivers/mysql/qsql_mysql.cpp
+++ src/sql/drivers/mysql/qsql_mysql.cpp
@@ -37,7 +37,6 @@
#include "qsql_mysql.h"
#include <private/qsqlextension_p.h>
-#include <qapplication.h>
#include <qdatetime.h>
#include <qvaluevector.h>
#include <qsqlrecord.h>
@@ -341,14 +340,6 @@ int QMYSQLResult::numRowsAffected()
}
/////////////////////////////////////////////////////////
-static void qServerEnd()
-{
-#ifndef Q_NO_MYSQL_EMBEDDED
-# if MYSQL_VERSION_ID >= 40000
- mysql_server_end();
-# endif // MYSQL_VERSION_ID
-#endif // Q_NO_MYSQL_EMBEDDED
-}
static void qServerInit()
{
@@ -366,9 +357,7 @@ static void qServerInit()
qWarning( "QMYSQLDriver::qServerInit: unable to start server." );
# endif
}
- qAddPostRoutine(qServerEnd);
init = TRUE;
-
# endif // MYSQL_VERSION_ID
#endif // Q_NO_MYSQL_EMBEDDED
}
@@ -411,6 +400,11 @@ QMYSQLDriver::~QMYSQLDriver()
QSqlOpenExtension *ext = qSqlOpenExtDict()->take( this );
delete ext;
}
+#ifndef Q_NO_MYSQL_EMBEDDED
+# if MYSQL_VERSION_ID > 40000
+ mysql_server_end();
+# endif
+#endif
}
bool QMYSQLDriver::hasFeature( DriverFeature f ) const

View file

@ -1,77 +0,0 @@
--- src/kernel/qfontdatabase_x11.cpp
+++ src/kernel/qfontdatabase_x11.cpp
@@ -1589,15 +1589,6 @@ QFontEngine *loadEngine( QFont::Script s
if (script == QFont::Latin)
// add Euro character
FcCharSetAddChar(cs, 0x20ac);
- if (script == QFont::Han_SimplifiedChinese)
- FcCharSetAddChar(cs, 0x3400);
- if (script == QFont::Han_TraditionalChinese){
- FcCharSetAddChar(cs, 0x3435);
- FcCharSetAddChar(cs, 0xE000);
- FcCharSetAddChar(cs, 0xF6B1);
- }
- if (script == QFont::MiscellaneousSymbols)
- FcCharSetAddChar(cs, 0x2714);
FcPatternAddCharSet(pattern, FC_CHARSET, cs);
FcCharSetDestroy(cs);
}
@@ -1813,7 +1804,11 @@ static QFontEngine *loadFontConfigFont(c
FcPatternPrint(pattern);
#endif
+ // XftFontMatch calls the right ConfigSubstitute variants, but as we use
+ // FcFontMatch/Sort here we have to do it manually.
FcConfigSubstitute(0, pattern, FcMatchPattern);
+ XftDefaultSubstitute(QPaintDevice::x11AppDisplay(), QPaintDevice::x11AppScreen(), pattern);
+
// qDebug("1: pattern contains:");
// FcPatternPrint(pattern);
@@ -1847,10 +1842,6 @@ static QFontEngine *loadFontConfigFont(c
value.u.s = (const FcChar8 *)cs.data();
FcPatternAddWeak(pattern, FC_FAMILY, value, FcTrue);
}
-#ifdef FONT_MATCH_DEBUG
- printf("final pattern contains:\n");
- FcPatternPrint(pattern);
-#endif
}
if (script != QFont::Unicode) {
@@ -1860,19 +1851,15 @@ static QFontEngine *loadFontConfigFont(c
if (script == QFont::Latin)
// add Euro character
FcCharSetAddChar(cs, 0x20ac);
- if (script == QFont::Han_SimplifiedChinese)
- FcCharSetAddChar(cs, 0x3400);
- if (script == QFont::Han_TraditionalChinese) {
- FcCharSetAddChar(cs, 0x3435);
- FcCharSetAddChar(cs, 0xE000);
- FcCharSetAddChar(cs, 0xF6B1);
- }
- if (script == QFont::MiscellaneousSymbols)
- FcCharSetAddChar(cs, 0x2714);
FcPatternAddCharSet(pattern, FC_CHARSET, cs);
FcCharSetDestroy(cs);
}
+#ifdef FONT_MATCH_DEBUG
+ printf("final pattern contains:\n");
+ FcPatternPrint(pattern);
+#endif
+
QFontEngine *fe = 0;
for( int jj = (FcGetVersion() >= 20392 ? 0 : 1); jj < 2; ++jj ) {
--- src/kernel/qfontdatabase.cpp
+++ src/kernel/qfontdatabase.cpp
@@ -554,7 +554,7 @@ static const unsigned short sample_chars
// GeometricSymbols,
{ 0x2500, 0x0 },
// MiscellaneousSymbols,
- { 0x2640, 0x0 },
+ { 0x2640, 0x2714, 0x0 },
// EnclosedAndSquare,
{ 0x2460, 0x0 },
// Braille,

View file

@ -1,101 +0,0 @@
--- src/codecs/qutfcodec.cpp
+++ src/codecs/qutfcodec.cpp
@@ -154,6 +154,7 @@
class QUtf8Decoder : public QTextDecoder {
uint uc;
+ uint min_uc;
int need;
bool headerDone;
public:
@@ -167,8 +168,9 @@
result.setLength( len ); // worst case
QChar *qch = (QChar *)result.unicode();
uchar ch;
+ int error = -1;
for (int i=0; i<len; i++) {
- ch = *chars++;
+ ch = chars[i];
if (need) {
if ( (ch&0xc0) == 0x80 ) {
uc = (uc << 6) | (ch & 0x3f);
@@ -182,6 +184,8 @@
*qch++ = QChar(high);
*qch++ = QChar(low);
headerDone = TRUE;
+ } else if ((uc < min_uc) || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
+ *qch++ = QChar::replacement;
} else {
if (headerDone || QChar(uc) != QChar::byteOrderMark)
*qch++ = uc;
@@ -190,6 +194,7 @@
}
} else {
// error
+ i = error;
*qch++ = QChar::replacement;
need = 0;
}
@@ -200,12 +205,21 @@
} else if ((ch & 0xe0) == 0xc0) {
uc = ch & 0x1f;
need = 1;
+ error = i;
+ min_uc = 0x80;
} else if ((ch & 0xf0) == 0xe0) {
uc = ch & 0x0f;
need = 2;
+ error = i;
+ min_uc = 0x800;
} else if ((ch&0xf8) == 0xf0) {
uc = ch & 0x07;
need = 3;
+ error = i;
+ min_uc = 0x10000;
+ } else {
+ // error
+ *qch++ = QChar::replacement;
}
}
}
--- src/tools/qstring.cpp
+++ src/tools/qstring.cpp
@@ -5805,6 +5805,7 @@
result.setLength( len ); // worst case
QChar *qch = (QChar *)result.unicode();
uint uc = 0;
+ uint min_uc = 0;
int need = 0;
int error = -1;
uchar ch;
@@ -5822,6 +5823,12 @@
unsigned short low = uc%0x400 + 0xdc00;
*qch++ = QChar(high);
*qch++ = QChar(low);
+ } else if (uc < min_uc || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
+ // overlong seqence, UTF16 surrogate or BOM
+ i = error;
+ qch = addOne(qch, result);
+ *qch++ = QChar(0xdbff);
+ *qch++ = QChar(0xde00+((uchar)utf8[i]));
} else {
*qch++ = uc;
}
@@ -5844,14 +5851,17 @@
uc = ch & 0x1f;
need = 1;
error = i;
+ min_uc = 0x80;
} else if ((ch & 0xf0) == 0xe0) {
uc = ch & 0x0f;
need = 2;
error = i;
+ min_uc = 0x800;
} else if ((ch&0xf8) == 0xf0) {
uc = ch & 0x07;
need = 3;
error = i;
+ min_uc = 0x10000;
} else {
// Error
qch = addOne(qch, result);

View file

@ -5,6 +5,7 @@
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - Removed clisp makedepend, removed xindy from build and packaging (only thing that used clisp) # - Removed clisp makedepend, removed xindy from build and packaging (only thing that used clisp)
# - Use -fPIC with armv7 # - Use -fPIC with armv7
# - --disable-cxx-runtime-hack in configure
plugrel=1 plugrel=1
@ -53,7 +54,7 @@ md5sums=('220a4f4cc0d915bf8fcbcb553dcee1ae'
'e7f0197559ef865d8c01683dab3b8526') 'e7f0197559ef865d8c01683dab3b8526')
build() { build() {
if [ "${CARCH}" = "x86_64" ]; then if [ "${CARCH}" = "armv7h" ]; then
export CFLAGS="${CFLAGS} -fPIC" export CFLAGS="${CFLAGS} -fPIC"
export CXXFLAGS="${CXXFLAGS} -fPIC" export CXXFLAGS="${CXXFLAGS} -fPIC"
fi fi
@ -69,7 +70,7 @@ build() {
../source/configure --prefix=/usr -C \ ../source/configure --prefix=/usr -C \
--disable-native-texlive-build \ --disable-native-texlive-build \
--with-banner-add="/Arch Linux" \ --with-banner-add="/Arch Linux" \
--enable-cxx-runtime-hack \ --disable-cxx-runtime-hack \
--disable-all-pkgs \ --disable-all-pkgs \
--disable-dump-share \ --disable-dump-share \
--disable-ptex \ --disable-ptex \

View file

@ -1,15 +1,15 @@
# $Id: PKGBUILD 140060 2011-10-06 07:33:33Z ibiru $ # $Id: PKGBUILD 149275 2012-02-06 17:33:29Z ibiru $
# Maintainer : Ionut Biru <ibiru@archlinux.org> # Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: damir <damir@archlinux.org> # Contributor: damir <damir@archlinux.org>
# Contributor: Paul Mattal <paul@archlinux.org> # Contributor: Paul Mattal <paul@archlinux.org>
# ALARM: Kevin Mihelich <kevin@plugapps.com> # ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - configure needs --disable-asm to build on ARM # - configure needs --disable-asm to build on ARM
plugrel=1 plugrel=1
pkgname=x264 pkgname=x264
pkgver=20111030 pkgver=20120204
pkgrel=1 pkgrel=1
pkgdesc="free library for encoding H264/AVC video streams" pkgdesc="free library for encoding H264/AVC video streams"
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
@ -17,15 +17,19 @@ url="http://www.videolan.org/developers/x264.html"
license=('GPL') license=('GPL')
depends=('glibc') depends=('glibc')
makedepends=('yasm') makedepends=('yasm')
source=(ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-$pkgver-2245.tar.bz2) source=(ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-$pkgver-2245-stable.tar.bz2)
md5sums=('fa52ad09dcb7d4e1a66adcaa2dab26bc') md5sums=('4d793ecc4f9d308724ea47edf400f312')
build() { build() {
cd "$srcdir/$pkgname-snapshot-$pkgver-2245" cd "$srcdir/$pkgname-snapshot-$pkgver-2245-stable"
./configure --enable-shared --disable-asm ./configure --enable-shared --disable-asm
make make
}
package() {
cd "$srcdir/$pkgname-snapshot-$pkgver-2245-stable"
make DESTDIR="$pkgdir" \ make DESTDIR="$pkgdir" \
bindir=/usr/bin \ bindir=/usr/bin \
libdir=/usr/lib \ libdir=/usr/lib \