mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-17 23:34:07 +00:00
Merge branch 'master' of github.com:archlinuxarm/PKGBUILDs
This commit is contained in:
commit
6c7add1a00
62 changed files with 1665 additions and 1262 deletions
31
aur/mochad/PKGBUILD
Normal file
31
aur/mochad/PKGBUILD
Normal 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"
|
||||
}
|
|
@ -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: Farhan Yousaf <farhany at xaviya dot com>
|
||||
|
||||
plugrel=1
|
||||
|
||||
pkgname=netatalk
|
||||
pkgver=2.2.1
|
||||
pkgrel=1
|
||||
pkgver=2.2.2
|
||||
pkgrel=0
|
||||
pkgdesc="A kernel level implementation of the AppleTalk Protocol Suite"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://netatalk.sourceforge.net"
|
||||
|
@ -17,39 +17,35 @@ backup=('etc/netatalk/afpd.conf'
|
|||
'etc/netatalk/atalkd.conf'
|
||||
'etc/netatalk/papd.conf'
|
||||
'etc/netatalk/AppleVolumes.default'
|
||||
'etc/netatalk/AppleVolumes.system'
|
||||
'etc/avahi/services/afpd.service')
|
||||
depends=('libcups' 'tcp_wrappers' 'avahi' 'openssl' 'pam' 'coreutils>=7.1-2' 'db')
|
||||
'etc/netatalk/AppleVolumes.system')
|
||||
|
||||
depends=('libcups' 'pam' 'coreutils>=7.1-2' 'db')
|
||||
optdepends=('avahi' 'tcp_wrappers' 'openssl' 'libgcrypt')
|
||||
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)
|
||||
install=netatalk.install
|
||||
md5sums=('4a371025daf96adb73fa491efdbfef28'
|
||||
|
||||
md5sums=('bd42b686ec7209d9ab47bd8e2e2431c4'
|
||||
'16ab9fa50ec4abde6de478fc7de57805'
|
||||
'2d05de4a16faf7d4af21b5f14e33fa82'
|
||||
'b16a687c96dd1ca7ffefd7c995356c0d'
|
||||
'84d1961726aaa8df08d63a0925358b1a'
|
||||
'e21ef8051269583764e68d00683691bb'
|
||||
'9b6b2fee54fe052bba0c69f00d335bdb')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/netatalk-${pkgver}"
|
||||
./configure --prefix=/usr --with-cnid-cdb-backend --with-ssl-dir=/usr --localstatedir=/var --enable-fhs --enable-zeroconf=/usr --disable-srvloc --without-xfs
|
||||
make || return 1
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/netatalk-${pkgver}"
|
||||
make DESTDIR=${pkgdir} install
|
||||
|
||||
mv ${pkgdir}/usr/include/netatalk{,2}
|
||||
|
||||
install -d ${pkgdir}/etc/rc.d
|
||||
install -m755 ../{afpd,atalkd,papd,cnid} ${pkgdir}/etc/rc.d
|
||||
|
||||
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}
|
||||
cd $startdir/src/netatalk-$pkgver
|
||||
./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 DESTDIR=$startdir/pkg install
|
||||
|
||||
mv $startdir/pkg/usr/include/netatalk{,2}
|
||||
|
||||
install -d $startdir/pkg/etc/rc.d
|
||||
install -m755 ../{afpd,atalkd,papd,cnid} $startdir/pkg/etc/rc.d
|
||||
|
||||
install -d $startdir/pkg/etc/avahi/services
|
||||
install -m744 ../afpd.service $startdir/pkg/etc/avahi/services
|
||||
|
||||
rm -f $startdir/pkg/usr/share/man/man1/timeout.1{,.gz}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ PID=$(pidof -o %PPID /usr/sbin/cnid_metad)
|
|||
case "$1" in
|
||||
start)
|
||||
stat_busy "Starting cnid Daemon"
|
||||
[ -z $PID ] && /usr/sbin/cnid_metad
|
||||
[ -z "$PID" ] && /usr/sbin/cnid_metad
|
||||
if [ $? -gt 0 ]; then
|
||||
stat_fail
|
||||
else
|
||||
|
@ -19,7 +19,7 @@ case "$1" in
|
|||
;;
|
||||
stop)
|
||||
stat_busy "Stopping cnid Daemon"
|
||||
[ ! -z $PID ] && kill "$PID" &> /dev/null
|
||||
[ ! -z "$PID" ] && kill "$PID" &> /dev/null
|
||||
if [ $? -gt 0 ]; then
|
||||
stat_fail
|
||||
else
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
# Contributor: Stefan Kirrmann <stefan.kirrmann at gmail dot com>
|
||||
# Modified: Marco Lima <cipparello@gmail.com>
|
||||
|
||||
# No Plugbox changes, straight from AUR
|
||||
# Maintainer: Stefan Kirrmann <stefan.kirrmann at gmail dot com>
|
||||
|
||||
plugrel=1
|
||||
|
||||
pkgname=open-iscsi
|
||||
pkgver=2.0.871.3
|
||||
_pkgver=2.0-871.3
|
||||
pkgrel=1
|
||||
pkgver=2.0.872
|
||||
_pkgver=2.0-872
|
||||
pkgrel=2
|
||||
pkgdesc="userland tools"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.open-iscsi.org"
|
||||
|
@ -16,32 +13,28 @@ license=('GPL')
|
|||
depends=('bash')
|
||||
install="${pkgname}.install"
|
||||
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" \
|
||||
"open-iscsi" "open-iscsi.conf.d" "open-iscsi-build-error.patch")
|
||||
#source=("http://www.open-iscsi.org/bits/${pkgname}-${_pkgver}.tar.gz" \
|
||||
source=("http://www.open-iscsi.org/bits/${pkgname}-${_pkgver}.tar.gz" \
|
||||
"open-iscsi" "open-iscsi.conf.d")
|
||||
options=('docs')
|
||||
md5sums=('16474cb7cd5a41aea1b7b0b631ac996d'
|
||||
'b191af2549f7aff89321b54421eab96f'
|
||||
'd6e94c159ddfdeb1ebe69c0760ed1fa6'
|
||||
'cafea1118930cd7d9eb6209706020b6a')
|
||||
sha256sums=('37753697a170223ac02a292b3a23a315a3c747b490c42480e4057b676c9f8d4f'
|
||||
'817791c59d1c271ad5eb78a7609e4fa081cf9414f3d7ac26df897b9327286c23'
|
||||
'289ba27b72a3bd9d251e08b3d61dd3ae2f6ad545e5ffe2edaa2b79638996654c')
|
||||
|
||||
build() {
|
||||
cd ${startdir}/src/${pkgname}-${_pkgver}
|
||||
|
||||
patch -Np1 -i ${srcdir}/open-iscsi-build-error.patch
|
||||
cd ${srcdir}/${pkgname}-${_pkgver}
|
||||
|
||||
# include iscsistart program in the package
|
||||
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 DESTDIR=${pkgdir} install_user
|
||||
|
||||
install -D -m755 ${startdir}/src/open-iscsi ${pkgdir}/etc/rc.d/open-iscsi
|
||||
install -D -m644 ${startdir}/src/open-iscsi.conf.d ${pkgdir}/etc/conf.d/open-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
|
||||
install -D -m755 ${srcdir}/open-iscsi ${pkgdir}/etc/rc.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
|
||||
|
||||
# copy docs
|
||||
mkdir -p ${pkgdir}/usr/share/doc/${pkgname}
|
||||
|
|
|
@ -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"
|
|
@ -6,7 +6,7 @@
|
|||
plugrel=1
|
||||
|
||||
pkgname=percona-server
|
||||
pkgver=5.5.19_rel24.0
|
||||
pkgver=5.5.20_rel24.1
|
||||
pkgrel=1
|
||||
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')
|
||||
|
@ -105,7 +105,7 @@ package() {
|
|||
install -dm700 "${pkgdir}"/var/lib/mysql
|
||||
}
|
||||
|
||||
md5sums=('eb8c21bbb8179e0a4709d51c037e682c'
|
||||
md5sums=('0f61fde172ed1168a3ca9b7b003a6698'
|
||||
'243864805611764a7e5883c1dba7afd8'
|
||||
'1c949c0dbea5206af0db14942d9927b6'
|
||||
'9eb0ad531d162e031a2bcc08a5ab3bc5')
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -1,5 +0,0 @@
|
|||
#
|
||||
# /etc/depmod.d/depmod.conf
|
||||
#
|
||||
|
||||
search updates extramodules built-in
|
|
@ -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)
|
|
@ -12,7 +12,7 @@ pkgname=('linux-omap' 'linux-headers-omap')
|
|||
# pkgname=linux-custom # Build kernel with a different name
|
||||
_kernelname=${pkgname#linux}
|
||||
_basekernel=3.2
|
||||
pkgver=${_basekernel}.1
|
||||
pkgver=${_basekernel}.6
|
||||
pkgrel=1
|
||||
arch=('arm')
|
||||
url="http://www.kernel.org/"
|
||||
|
@ -21,14 +21,14 @@ makedepends=('xmlto' 'docbook-xsl' 'uboot-mkimage')
|
|||
options=('!strip')
|
||||
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"
|
||||
"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'
|
||||
'change-default-console-loglevel.patch'
|
||||
'0006-omap4-usb-improvement.patch')
|
||||
md5sums=('364066fa18767ec0ae5f4e4abcf9dc51'
|
||||
'31fc34340f11118873463a1d59d47b7f'
|
||||
'd041033ebd9a1d170c2477f0e1dd5c37'
|
||||
'041a4754d802a7e41e784dd44413389e'
|
||||
'2bd4679899df503177a3b61ae2068749'
|
||||
'9a38f8bff01e024ea9c82a81bf2b81c3'
|
||||
'0c09bb6de961a88352025e575804a4f0'
|
||||
'9d3c56a4b999c8bfbd4018089a62f662'
|
||||
'd4c22c6f6c8c53d595552b6285aeab79')
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 3.2.1 Kernel Configuration
|
||||
# Linux/arm 3.2.6 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
|
@ -637,7 +637,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
CONFIG_TCP_MD5SIG=y
|
||||
CONFIG_IPV6=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_INET6_AH=m
|
||||
CONFIG_INET6_ESP=m
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# arg 2: the old package version
|
||||
|
||||
KERNEL_NAME=-omap
|
||||
KERNEL_VERSION=3.2.1-1-ARCH
|
||||
KERNEL_VERSION=3.2.6-1-ARCH
|
||||
|
||||
post_install () {
|
||||
# updating module dependencies
|
||||
|
|
|
@ -12,7 +12,7 @@ pkgname=('linux-tegra' 'linux-headers-tegra')
|
|||
# pkgname=linux-custom # Build kernel with a different name
|
||||
_kernelname=${pkgname#linux}
|
||||
_basekernel=3.2
|
||||
pkgver=${_basekernel}.1
|
||||
pkgver=${_basekernel}.5
|
||||
pkgrel=1
|
||||
arch=('arm')
|
||||
url="http://www.kernel.org/"
|
||||
|
@ -25,7 +25,7 @@ source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.xz"
|
|||
'config'
|
||||
'change-default-console-loglevel.patch')
|
||||
md5sums=('364066fa18767ec0ae5f4e4abcf9dc51'
|
||||
'31fc34340f11118873463a1d59d47b7f'
|
||||
'fb4d0b76b4c9a42977d75c4b2f3948d0'
|
||||
'6e7667c6c6348bfeca22eaaa05462d62'
|
||||
'2605f5b881f2248f0e2f7d436a86e62b'
|
||||
'9d3c56a4b999c8bfbd4018089a62f662')
|
||||
|
|
|
@ -10,7 +10,7 @@ pkgname=('linux' 'linux-headers')
|
|||
_kernelname=${pkgname#linux}
|
||||
_basekernel=3.1
|
||||
pkgver=${_basekernel}.10
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
arch=('arm')
|
||||
url="http://www.kernel.org/"
|
||||
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')
|
||||
md5sums=('8d43453f8159b2332ad410b19d86a931'
|
||||
'a8e1c25a93a685ec2a1c3a808715fe9d'
|
||||
'f7b581e728911995dee392c11fd2b2fd'
|
||||
'7f2c10e9e8ab4decaaf1dd5437a775a3'
|
||||
'f5d3635da03cb45904bedd69b47133de'
|
||||
'3f64ed9d71499fe9293dc671f4e4087e'
|
||||
'29628745258df910abfb8cb24ca3ccd9'
|
||||
|
|
|
@ -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
|
||||
--- 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 @@
|
||||
+/*
|
||||
+ * 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
|
||||
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[] = {
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# arg 2: the old package version
|
||||
|
||||
KERNEL_NAME=
|
||||
KERNEL_VERSION=3.1.10-2-ARCH
|
||||
KERNEL_VERSION=3.1.10-3-ARCH
|
||||
|
||||
post_install () {
|
||||
# updating module dependencies
|
||||
|
|
20
core/nfs-utils/18-dont-use-PAGE_SIZE.patch
Normal file
20
core/nfs-utils/18-dont-use-PAGE_SIZE.patch
Normal 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
83
core/nfs-utils/PKGBUILD
Normal 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
15
core/nfs-utils/exports
Normal 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)
|
||||
#
|
14
core/nfs-utils/idmapd.conf
Normal file
14
core/nfs-utils/idmapd.conf
Normal 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
|
53
core/nfs-utils/kernel-3.0-segfault.patch
Normal file
53
core/nfs-utils/kernel-3.0-segfault.patch
Normal 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
315
core/nfs-utils/nfs-common
Normal 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
|
||||
|
40
core/nfs-utils/nfs-common.conf
Normal file
40
core/nfs-utils/nfs-common.conf
Normal 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
299
core/nfs-utils/nfs-server
Normal 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
|
29
core/nfs-utils/nfs-server.conf
Normal file
29
core/nfs-utils/nfs-server.conf
Normal 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=""
|
138
core/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
Normal file
138
core/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
Normal 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])
|
39
core/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
Normal file
39
core/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
Normal 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+");
|
15
core/nfs-utils/nfs-utils-1.1.4-no-exec.patch
Normal file
15
core/nfs-utils/nfs-utils-1.1.4-no-exec.patch
Normal 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;
|
||||
}
|
69
core/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
Normal file
69
core/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
Normal 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)
|
57
core/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
Normal file
57
core/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
Normal 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;
|
32
core/nfs-utils/nfs-utils.install
Normal file
32
core/nfs-utils/nfs-utils.install
Normal 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
|
||||
}
|
22
core/nfs-utils/start-statd.patch
Normal file
22
core/nfs-utils/start-statd.patch
Normal 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
|
||||
|
|
@ -12,8 +12,8 @@ plugrel=1
|
|||
noautobuild=1
|
||||
|
||||
pkgname=pacman
|
||||
pkgver=4.0.1
|
||||
pkgrel=4
|
||||
pkgver=4.0.2
|
||||
pkgrel=1
|
||||
pkgdesc="A library-based package manager with dependency support"
|
||||
arch=('i686' 'x86_64')
|
||||
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)
|
||||
install=pacman.install
|
||||
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
|
||||
makepkg.conf)
|
||||
md5sums=('76bd88eff8cd94bc9899faa091822dc1'
|
||||
'4605b3490d4fd1e5c6e20db17da9ded6'
|
||||
'a0edf98ad1845a4c7d902a86638d5d2d'
|
||||
'db051afbd12993b7743ccd4d58668499')
|
||||
md5sums=('289ba4a19a16393096e065cec1cb9b0a'
|
||||
'575140dce3ea597d91b6d081aa3f6a00'
|
||||
'9c58ab16092e34eb359ea7e8d56bfc3a'
|
||||
'e6d44e71b847d2c98bb38087e33cd76b')
|
||||
|
||||
# keep an upgrade path for older installations
|
||||
PKGEXT='.pkg.tar.gz'
|
||||
|
@ -45,6 +45,10 @@ build() {
|
|||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
make -C "$pkgname-$pkgver" check
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
make DESTDIR=$pkgdir install
|
||||
|
@ -91,6 +95,3 @@ package() {
|
|||
mkdir -p $pkgdir/usr/share/zsh/site-functions/
|
||||
install -m644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman
|
||||
}
|
||||
md5sums=('76bd88eff8cd94bc9899faa091822dc1'
|
||||
'9c58ab16092e34eb359ea7e8d56bfc3a'
|
||||
'e6d44e71b847d2c98bb38087e33cd76b')
|
||||
|
|
|
@ -12,10 +12,10 @@ plugrel=1
|
|||
|
||||
_pkgbase='udev'
|
||||
pkgname='udev-oxnas'
|
||||
pkgver=180
|
||||
pkgver=181
|
||||
_pkgver=175
|
||||
provides=('udev=180')
|
||||
pkgrel=1
|
||||
provides=('udev=181')
|
||||
pkgrel=2
|
||||
arch=(i686 x86_64)
|
||||
url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
|
||||
license=('GPL')
|
||||
|
|
|
@ -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"
|
||||
}
|
|
@ -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=
|
|
@ -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
|
|
@ -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>
|
|
@ -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
|
|
@ -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
|
||||
}
|
90
extra/imagemagick/PKGBUILD
Normal file
90
extra/imagemagick/PKGBUILD
Normal 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"
|
||||
}
|
10
extra/imagemagick/perlmagick.rpath.patch
Normal file
10
extra/imagemagick/perlmagick.rpath.patch
Normal 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
|
|
@ -8,7 +8,7 @@ plugrel=1
|
|||
|
||||
pkgname=kdebindings-python
|
||||
pkgver=4.8.0
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc="KDE bindings for Python"
|
||||
url="http://kde.org/"
|
||||
arch=('i686' 'x86_64')
|
||||
|
|
|
@ -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
|
||||
|
||||
pkgname=libjpeg-turbo
|
||||
pkgver=1.1.1
|
||||
pkgrel=4
|
||||
pkgdesc="ARM dummy package for the x86 assembly version"
|
||||
arch=('arm' 'armv7h')
|
||||
url="http://www.archlinuxarm.org"
|
||||
depends=('libjpeg')
|
||||
license=('BYOB')
|
||||
pkgver=1.2.0
|
||||
pkgrel=1
|
||||
pkgdesc="libjpeg derivative with accelerated baseline JPEG compression and decompression"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://libjpeg-turbo.virtualgl.org/"
|
||||
license=('GPL' 'custom')
|
||||
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() {
|
||||
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() {
|
||||
mkdir -p $pkgdir/usr/share
|
||||
echo "libjpeg-turbo!" > $pkgdir/usr/share/libjpeg-turbo
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
|
||||
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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -2,33 +2,33 @@
|
|||
# Contributor: dorphell <dorphell@archlinux.org>
|
||||
# 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
|
||||
|
||||
plugrel=1
|
||||
|
||||
pkgname=libvorbis
|
||||
pkgver=1.3.2
|
||||
pkgver=1.3.3
|
||||
pkgrel=1
|
||||
pkgdesc="Vorbis codec library"
|
||||
arch=('i686' 'x86_64')
|
||||
license=('custom')
|
||||
url="http://www.xiph.org/ogg/vorbis/"
|
||||
license=('BSD')
|
||||
url="http://www.xiph.org/vorbis/"
|
||||
depends=('libogg')
|
||||
options=('!libtool')
|
||||
source=(http://downloads.xiph.org/releases/vorbis/${pkgname}-${pkgver}.tar.gz)
|
||||
md5sums=('c870b9bd5858a0ecb5275c14486d9554')
|
||||
md5sums=('6b1a36f0d72332fae5130688e65efe1f')
|
||||
|
||||
build() {
|
||||
cd ${srcdir}/${pkgname}-${pkgver}
|
||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
||||
#-march=i686 optimizes too much, strip it out
|
||||
#CFLAGS=${CFLAGS/-march=$CARCH} ./configure --prefix=/usr --disable-static
|
||||
./configure --prefix=/usr --disable-static
|
||||
LIBS+="-lm" ./configure --prefix=/usr --disable-static
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${srcdir}/${pkgname}-${pkgver}
|
||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
||||
make DESTDIR="${pkgdir}" install
|
||||
install -Dm644 COPYING "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@plugapps.com>
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - configure option --enable-shared isn't supported for us
|
||||
|
||||
plugrel=1
|
||||
|
||||
pkgname=libvpx
|
||||
pkgver=0.9.7.p1
|
||||
realver=0.9.7-p1
|
||||
pkgver=1.0.0
|
||||
pkgrel=1
|
||||
pkgdesc="The VP8 Codec SDK"
|
||||
arch=('i686' 'x86_64')
|
||||
|
@ -16,11 +15,11 @@ url="http://www.webmproject.org/"
|
|||
license=('BSD')
|
||||
depends=('glibc')
|
||||
makedepends=('yasm')
|
||||
source=(http://webm.googlecode.com/files/${pkgname}-v${realver}.tar.bz2)
|
||||
sha1sums=('dacfefaf3363f781de43858f09cdd0b0d469e6fc')
|
||||
source=(http://webm.googlecode.com/files/$pkgname-v$pkgver.tar.bz2)
|
||||
sha1sums=('2919e11074fef72fc61ef1a75160050ffaad6074')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/${pkgname}-v${realver}"
|
||||
cd "$srcdir/$pkgname-v$pkgver"
|
||||
./configure --prefix=/usr --enable-vp8 \
|
||||
--enable-postproc \
|
||||
--enable-pic \
|
||||
|
@ -30,7 +29,7 @@ build() {
|
|||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/${pkgname}-v${realver}"
|
||||
cd "$srcdir/$pkgname-v$pkgver"
|
||||
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"
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
# Contributor: Alexander Baldeck <alexander@archlinux.org>
|
||||
|
||||
|
@ -8,16 +8,16 @@
|
|||
plugrel=1
|
||||
|
||||
pkgname=pixman
|
||||
pkgver=0.24.2
|
||||
pkgrel=1
|
||||
pkgdesc="Pixman library"
|
||||
pkgver=0.24.4
|
||||
pkgrel=2
|
||||
pkgdesc="The pixel-manipulation library for X and cairo"
|
||||
arch=(i686 x86_64)
|
||||
url="http://xorg.freedesktop.org"
|
||||
license=('custom')
|
||||
depends=('glibc')
|
||||
options=('!libtool')
|
||||
source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
|
||||
sha1sums=('233eed3cd16ee1b2a842140477503d2c68b74418')
|
||||
sha1sums=('683450f917015366ac7918fc517c76801aeff374')
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
||||
|
|
|
@ -11,8 +11,8 @@ plugrel=1
|
|||
|
||||
pkgbase=pyqt
|
||||
pkgname=('pyqt' 'python2-pyqt')
|
||||
pkgver=4.9
|
||||
pkgrel=2
|
||||
pkgver=4.9.1
|
||||
pkgrel=1
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://riverbankcomputing.co.uk/software/pyqt/intro"
|
||||
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"
|
||||
"fix-qthelp-build.patch"
|
||||
"PyQt4-4.7.3-qreal_float_support.patch")
|
||||
md5sums=('61619500d09d87b6c2a25bd3ea994504'
|
||||
'356a453331a33c507b1baba4a9771764'
|
||||
md5sums=('7f495dc49f71e3bfb64bf942e0d8bb3c'
|
||||
'6acfe0a5a00779f946c29d5fac647ce1'
|
||||
'a20d7022e91071f838bd4908851a0f7b')
|
||||
|
||||
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}"
|
||||
|
||||
patch -p0 -i "${srcdir}"/fix-qthelp-build.patch
|
||||
|
||||
cp -r PyQt-x11-gpl-${pkgver} Py2Qt-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 \
|
||||
--confirm-license \
|
||||
--qsci-api
|
||||
|
@ -48,10 +48,6 @@ build() {
|
|||
|
||||
### Python2 version ###
|
||||
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 \
|
||||
--confirm-license \
|
||||
-v /usr/share/sip \
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- PyQt-x11-gpl-4.9/configure.py~ 2011-12-23 14:53:07.981490550 +0100
|
||||
+++ PyQt-x11-gpl-4.9/configure.py 2011-12-23 14:52:38.384984221 +0100
|
||||
@@ -1264,7 +1264,7 @@
|
||||
--- PyQt-x11-gpl-4.9.1/configure.py~ 2012-02-13 20:16:11.418786488 +0000
|
||||
+++ PyQt-x11-gpl-4.9.1/configure.py 2012-02-13 20:16:50.561809527 +0000
|
||||
@@ -1261,7 +1261,7 @@
|
||||
opengl = (mname == "QtOpenGL")
|
||||
|
||||
qt = [mname]
|
||||
|
|
|
@ -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>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
|
@ -8,8 +8,9 @@
|
|||
plugrel=1
|
||||
|
||||
pkgname=qt3
|
||||
pkgver=3.3.8
|
||||
pkgrel=22
|
||||
pkgver=3.3.8b
|
||||
pkgrel=1
|
||||
epoch=1
|
||||
pkgdesc="The QT3 gui toolkit"
|
||||
arch=('i686' 'x86_64')
|
||||
url="http://www.trolltech.com/products/qt/index.html"
|
||||
|
@ -20,18 +21,14 @@ makedepends=('mysql' 'postgresql' 'unixodbc' 'sqlite3')
|
|||
optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc')
|
||||
options=('!libtool')
|
||||
install=qt.install
|
||||
source=(ftp://ftp.trolltech.com/qt/source/qt-x11-free-${pkgver}.tar.bz2
|
||||
qt.profile qt3-png15.patch qt-copy-kde-patches.tar.bz2
|
||||
qt-patches.tar.bz2 utf8-bug-qt3.diff qt-font-default-subst.diff
|
||||
mysql.patch eastern_asian_languagues.diff qt-odbc.patch gcc-4.6.patch arm.patch)
|
||||
sha1sums=('91b192cb8e80679607d24ae35d6e20ed68d149d7'
|
||||
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-patches.tar.bz2
|
||||
eastern_asian_languagues.diff qt-odbc.patch gcc-4.6.patch arm.patch)
|
||||
sha1sums=('745def6250dc7f337dbb265e20bf38dcb41fd854'
|
||||
'd2e257a9011208b2cb81b9cf47915b9a2f9dab83'
|
||||
'3d19510c46016a1a211d97bf8f82b01498b1b33c'
|
||||
'9cb2e5bec782069692ee337cfa171539d9d73753'
|
||||
'33418e5b117458af23c72cdbffc0c339bc34bdc4'
|
||||
'116afa0e737bdf27ea27f9b3653aeb56db9ec151'
|
||||
'ca5ecb29c7f1c826d48703339a3371038e306bb7'
|
||||
'd928ff55adb52c4bab2fb268df022651551cd70c'
|
||||
'bb6aad81cce143c23ff7840b1d79f6b2007a0c04'
|
||||
'40c7b8f06a21f809ddeb8b5560e9da63ccac6a17'
|
||||
'1346320614f6f86fbeb10b9fbad721dea29f5b61'
|
||||
'd9b83b8f6f9c8bd98d290dc1d0e9913a00b62c3f'
|
||||
|
@ -49,18 +46,12 @@ build() {
|
|||
cd "${srcdir}"/qt-x11-free-${pkgver}
|
||||
# apply qt patches from kde.org
|
||||
for i in ../qt-copy-kde-patches/*; do
|
||||
patch -Np0 -i $i
|
||||
patch -p0 -i $i
|
||||
done
|
||||
# apply other qt patches and one security fix from debian/gentoo
|
||||
for i in ../qt-patches/*; do
|
||||
patch -Np1 -i $i
|
||||
patch -p1 -i $i
|
||||
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)
|
||||
patch -p1 -i "${srcdir}"/eastern_asian_languagues.diff
|
||||
# fix build problem against new unixODBC
|
||||
|
|
|
@ -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
|
Binary file not shown.
|
@ -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,
|
|
@ -12,7 +12,7 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $
|
|||
#ifdef Q_OS_TEMP
|
||||
@@ -123,9 +124,24 @@ void setup_qt( QImage& image, png_struct
|
||||
png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
|
||||
0, 0, 0);
|
||||
0, 0, 0);
|
||||
|
||||
+ png_colorp info_ptr_palette = NULL;
|
||||
+ int info_ptr_num_palette = 0;
|
||||
|
@ -30,44 +30,44 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $
|
|||
+
|
||||
+
|
||||
if ( color_type == PNG_COLOR_TYPE_GRAY ) {
|
||||
// Black & White or 8-bit grayscale
|
||||
// Black & White or 8-bit grayscale
|
||||
- if ( bit_depth == 1 && info_ptr->channels == 1 ) {
|
||||
+ if ( bit_depth == 1 && png_get_channels(png_ptr, info_ptr) == 1 ) {
|
||||
png_set_invert_mono( png_ptr );
|
||||
png_read_update_info( png_ptr, info_ptr );
|
||||
if (!image.create( width, height, 1, 2, QImage::BigEndian ))
|
||||
png_set_invert_mono( png_ptr );
|
||||
png_read_update_info( png_ptr, info_ptr );
|
||||
if (!image.create( width, height, 1, 2, QImage::BigEndian ))
|
||||
@@ -159,7 +175,7 @@ void setup_qt( QImage& image, png_struct
|
||||
image.setColor( i, qRgba(c,c,c,0xff) );
|
||||
}
|
||||
if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
|
||||
image.setColor( i, qRgba(c,c,c,0xff) );
|
||||
}
|
||||
if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
|
||||
- const int g = info_ptr->trans_values.gray;
|
||||
+ const int g = info_ptr_trans_color->gray;
|
||||
if (g < ncols) {
|
||||
image.setAlphaBuffer(TRUE);
|
||||
image.setColor(g, image.color(g) & RGB_MASK);
|
||||
if (g < ncols) {
|
||||
image.setAlphaBuffer(TRUE);
|
||||
image.setColor(g, image.color(g) & RGB_MASK);
|
||||
@@ -168,7 +184,7 @@ void setup_qt( QImage& image, png_struct
|
||||
}
|
||||
}
|
||||
} else if ( color_type == PNG_COLOR_TYPE_PALETTE
|
||||
&& png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)
|
||||
- && info_ptr->num_palette <= 256 )
|
||||
+ && info_ptr_num_palette <= 256 )
|
||||
{
|
||||
// 1-bit and 8-bit color
|
||||
if ( bit_depth != 1 )
|
||||
// 1-bit and 8-bit color
|
||||
if ( bit_depth != 1 )
|
||||
@@ -176,28 +192,28 @@ void setup_qt( QImage& image, png_struct
|
||||
png_read_update_info( png_ptr, info_ptr );
|
||||
png_get_IHDR(png_ptr, info_ptr,
|
||||
&width, &height, &bit_depth, &color_type, 0, 0, 0);
|
||||
png_read_update_info( png_ptr, info_ptr );
|
||||
png_get_IHDR(png_ptr, info_ptr,
|
||||
&width, &height, &bit_depth, &color_type, 0, 0, 0);
|
||||
- if (!image.create(width, height, bit_depth, info_ptr->num_palette,
|
||||
+ if (!image.create(width, height, bit_depth, info_ptr_num_palette,
|
||||
QImage::BigEndian))
|
||||
return;
|
||||
int i = 0;
|
||||
if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
|
||||
image.setAlphaBuffer( TRUE );
|
||||
QImage::BigEndian))
|
||||
return;
|
||||
int i = 0;
|
||||
if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
|
||||
image.setAlphaBuffer( TRUE );
|
||||
- while ( i < info_ptr->num_trans ) {
|
||||
+ while ( i < info_ptr_num_trans ) {
|
||||
image.setColor(i, qRgba(
|
||||
image.setColor(i, qRgba(
|
||||
- info_ptr->palette[i].red,
|
||||
- info_ptr->palette[i].green,
|
||||
- info_ptr->palette[i].blue,
|
||||
|
@ -76,40 +76,40 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $
|
|||
+ info_ptr_palette[i].green,
|
||||
+ info_ptr_palette[i].blue,
|
||||
+ info_ptr_trans_alpha[i]
|
||||
)
|
||||
);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
)
|
||||
);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
- while ( i < info_ptr->num_palette ) {
|
||||
+ while ( i < info_ptr_num_palette ) {
|
||||
image.setColor(i, qRgba(
|
||||
image.setColor(i, qRgba(
|
||||
- info_ptr->palette[i].red,
|
||||
- info_ptr->palette[i].green,
|
||||
- info_ptr->palette[i].blue,
|
||||
+ info_ptr_palette[i].red,
|
||||
+ info_ptr_palette[i].green,
|
||||
+ info_ptr_palette[i].blue,
|
||||
0xff
|
||||
)
|
||||
);
|
||||
0xff
|
||||
)
|
||||
);
|
||||
@@ -284,7 +300,7 @@ void read_png_image(QImageIO* iio)
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
- if (setjmp(png_ptr->jmpbuf)) {
|
||||
+ if (setjmp(png_jmpbuf(png_ptr))) {
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
|
||||
iio->setStatus(-4);
|
||||
return;
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
|
||||
iio->setStatus(-4);
|
||||
return;
|
||||
@@ -469,7 +485,7 @@ bool QPNGImageWriter::writeImage(const Q
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
- if (setjmp(png_ptr->jmpbuf)) {
|
||||
+ if (setjmp(png_jmpbuf(png_ptr))) {
|
||||
png_destroy_write_struct(&png_ptr, &info_ptr);
|
||||
return FALSE;
|
||||
png_destroy_write_struct(&png_ptr, &info_ptr);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -491,10 +507,16 @@ bool QPNGImageWriter::writeImage(const Q
|
||||
|
||||
|
@ -121,16 +121,16 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $
|
|||
+should be able to comment this out.
|
||||
+
|
||||
info_ptr->channels =
|
||||
(image.depth() == 32)
|
||||
? (image.hasAlphaBuffer() ? 4 : 3)
|
||||
: 1;
|
||||
(image.depth() == 32)
|
||||
? (image.hasAlphaBuffer() ? 4 : 3)
|
||||
: 1;
|
||||
+*/
|
||||
|
||||
png_set_IHDR(png_ptr, info_ptr, image.width(), image.height(),
|
||||
image.depth() == 1 ? 1 : 8 /* per channel */,
|
||||
image.depth() == 1 ? 1 : 8 /* per channel */,
|
||||
@@ -504,11 +526,12 @@ bool QPNGImageWriter::writeImage(const Q
|
||||
: PNG_COLOR_TYPE_RGB
|
||||
: PNG_COLOR_TYPE_PALETTE, 0, 0, 0);
|
||||
: PNG_COLOR_TYPE_RGB
|
||||
: PNG_COLOR_TYPE_PALETTE, 0, 0, 0);
|
||||
|
||||
+ png_color_8 sig_bit;
|
||||
+ sig_bit.red = 8;
|
||||
|
@ -146,31 +146,31 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $
|
|||
if (image.depth() == 1 && image.bitOrder() == QImage::LittleEndian)
|
||||
png_set_packswap(png_ptr);
|
||||
@@ -522,11 +545,14 @@ bool QPNGImageWriter::writeImage(const Q
|
||||
png_set_PLTE(png_ptr, info_ptr, palette, num_palette);
|
||||
int* trans = new int[num_palette];
|
||||
int num_trans = 0;
|
||||
png_set_PLTE(png_ptr, info_ptr, palette, num_palette);
|
||||
int* trans = new int[num_palette];
|
||||
int num_trans = 0;
|
||||
+ png_colorp info_ptr_palette = NULL;
|
||||
+ int tmp;
|
||||
+ png_get_PLTE(png_ptr, info_ptr, &info_ptr_palette, &tmp);
|
||||
for (int i=0; i<num_palette; i++) {
|
||||
QRgb rgb=image.color(i);
|
||||
for (int i=0; i<num_palette; i++) {
|
||||
QRgb rgb=image.color(i);
|
||||
- info_ptr->palette[i].red = qRed(rgb);
|
||||
- info_ptr->palette[i].green = qGreen(rgb);
|
||||
- info_ptr->palette[i].blue = qBlue(rgb);
|
||||
+ info_ptr_palette[i].red = qRed(rgb);
|
||||
+ info_ptr_palette[i].green = qGreen(rgb);
|
||||
+ info_ptr_palette[i].blue = qBlue(rgb);
|
||||
if (image.hasAlphaBuffer()) {
|
||||
trans[i] = rgb >> 24;
|
||||
if (trans[i] < 255) {
|
||||
if (image.hasAlphaBuffer()) {
|
||||
trans[i] = rgb >> 24;
|
||||
if (trans[i] < 255) {
|
||||
@@ -534,6 +560,7 @@ bool QPNGImageWriter::writeImage(const Q
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+ png_set_PLTE(png_ptr, info_ptr, info_ptr_palette, num_palette);
|
||||
if (num_trans) {
|
||||
copy_trans = new png_byte[num_trans];
|
||||
for (int i=0; i<num_trans; i++)
|
||||
if (num_trans) {
|
||||
copy_trans = new png_byte[num_trans];
|
||||
for (int i=0; i<num_trans; i++)
|
||||
@@ -544,7 +571,10 @@ bool QPNGImageWriter::writeImage(const Q
|
||||
}
|
||||
|
||||
|
@ -184,23 +184,23 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $
|
|||
|
||||
// Swap ARGB to RGBA (normal PNG format) before saving on
|
||||
@@ -1030,7 +1060,7 @@ int QPNGFormat::decode(QImage& img, QIma
|
||||
return -1;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if (setjmp((png_ptr)->jmpbuf)) {
|
||||
+ if (setjmp(png_jmpbuf(png_ptr))) {
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, 0);
|
||||
image = 0;
|
||||
return -1;
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, 0);
|
||||
image = 0;
|
||||
return -1;
|
||||
@@ -1057,7 +1087,7 @@ int QPNGFormat::decode(QImage& img, QIma
|
||||
|
||||
if ( !png_ptr ) return 0;
|
||||
|
||||
- if (setjmp(png_ptr->jmpbuf)) {
|
||||
+ if (setjmp(png_jmpbuf(png_ptr))) {
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, 0);
|
||||
image = 0;
|
||||
state = MovieStart;
|
||||
png_destroy_read_struct(&png_ptr, &info_ptr, 0);
|
||||
image = 0;
|
||||
state = MovieStart;
|
||||
@@ -1117,7 +1147,7 @@ void QPNGFormat::end(png_structp png, pn
|
||||
consumer->frameDone(QPoint(offx,offy),r);
|
||||
consumer->end();
|
||||
|
|
|
@ -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);
|
|
@ -5,6 +5,7 @@
|
|||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - Removed clisp makedepend, removed xindy from build and packaging (only thing that used clisp)
|
||||
# - Use -fPIC with armv7
|
||||
# - --disable-cxx-runtime-hack in configure
|
||||
|
||||
plugrel=1
|
||||
|
||||
|
@ -53,7 +54,7 @@ md5sums=('220a4f4cc0d915bf8fcbcb553dcee1ae'
|
|||
'e7f0197559ef865d8c01683dab3b8526')
|
||||
|
||||
build() {
|
||||
if [ "${CARCH}" = "x86_64" ]; then
|
||||
if [ "${CARCH}" = "armv7h" ]; then
|
||||
export CFLAGS="${CFLAGS} -fPIC"
|
||||
export CXXFLAGS="${CXXFLAGS} -fPIC"
|
||||
fi
|
||||
|
@ -69,7 +70,7 @@ build() {
|
|||
../source/configure --prefix=/usr -C \
|
||||
--disable-native-texlive-build \
|
||||
--with-banner-add="/Arch Linux" \
|
||||
--enable-cxx-runtime-hack \
|
||||
--disable-cxx-runtime-hack \
|
||||
--disable-all-pkgs \
|
||||
--disable-dump-share \
|
||||
--disable-ptex \
|
||||
|
|
|
@ -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>
|
||||
# Contributor: damir <damir@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
|
||||
|
||||
plugrel=1
|
||||
|
||||
pkgname=x264
|
||||
pkgver=20111030
|
||||
pkgver=20120204
|
||||
pkgrel=1
|
||||
pkgdesc="free library for encoding H264/AVC video streams"
|
||||
arch=('i686' 'x86_64')
|
||||
|
@ -17,15 +17,19 @@ url="http://www.videolan.org/developers/x264.html"
|
|||
license=('GPL')
|
||||
depends=('glibc')
|
||||
makedepends=('yasm')
|
||||
source=(ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-$pkgver-2245.tar.bz2)
|
||||
md5sums=('fa52ad09dcb7d4e1a66adcaa2dab26bc')
|
||||
source=(ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-$pkgver-2245-stable.tar.bz2)
|
||||
md5sums=('4d793ecc4f9d308724ea47edf400f312')
|
||||
|
||||
build() {
|
||||
cd "$srcdir/$pkgname-snapshot-$pkgver-2245"
|
||||
cd "$srcdir/$pkgname-snapshot-$pkgver-2245-stable"
|
||||
|
||||
./configure --enable-shared --disable-asm
|
||||
|
||||
make
|
||||
}
|
||||
package() {
|
||||
cd "$srcdir/$pkgname-snapshot-$pkgver-2245-stable"
|
||||
|
||||
make DESTDIR="$pkgdir" \
|
||||
bindir=/usr/bin \
|
||||
libdir=/usr/lib \
|
||||
|
|
Loading…
Reference in a new issue