summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-04-01 14:14:34 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-04-01 14:14:34 -0300
commit8fd2c2a514867be3323667ed746bfdae2863ffb3 (patch)
tree08fc36f9b9d539ae6263dab7b030839c5791b225
parent49eea85ac87dc7d353ccd3af154d94359de752cf (diff)
parentaa100084bd4ba3ebc3f452ad2cc1acbf8f253a17 (diff)
Merge branch 'master' of ssh://gparabola/abslibre-mips64el
-rw-r--r--community/afpfs-ng/01-gcrypt.patch26
-rw-r--r--community/afpfs-ng/02-pointer.patch280
-rw-r--r--community/afpfs-ng/10-fix-errno.patch23
-rw-r--r--community/afpfs-ng/20-build-error-fixes.patch125
-rw-r--r--community/afpfs-ng/21-header-path-fix.patch16
-rw-r--r--community/afpfs-ng/30-include-fixes.patch44
-rw-r--r--community/afpfs-ng/PKGBUILD66
-rw-r--r--community/afpfs-ng/fix_afpfs-ng_includes.patch3082
-rw-r--r--community/clanlib/PKGBUILD6
-rw-r--r--community/flightgear/PKGBUILD2
-rw-r--r--community/gendesk/PKGBUILD36
-rw-r--r--community/go/PKGBUILD51
-rwxr-xr-xcommunity/go/go.sh2
-rw-r--r--community/guake/PKGBUILD17
-rw-r--r--community/guake/guake-glib2.32.patch21
-rw-r--r--community/gummi/PKGBUILD9
-rw-r--r--community/intellij-idea-libs/PKGBUILD8
-rw-r--r--community/libcec/PKGBUILD30
-rw-r--r--community/libnfs/PKGBUILD30
-rw-r--r--community/libshairport/PKGBUILD33
-rw-r--r--community/openscenegraph/PKGBUILD2
-rw-r--r--community/openthreads/PKGBUILD2
-rw-r--r--community/packeth/PKGBUILD25
-rw-r--r--community/percona-server/PKGBUILD6
-rw-r--r--community/percona-server/percona.install4
-rw-r--r--community/regexxer/PKGBUILD11
-rw-r--r--community/regexxer/regexxer-glib2.32.patch35
-rw-r--r--community/root/PKGBUILD2
-rw-r--r--community/simgear/PKGBUILD2
-rw-r--r--community/sword/PKGBUILD37
-rw-r--r--community/sxiv/PKGBUILD9
-rw-r--r--community/sxiv/config.h2
-rw-r--r--community/sxiv/sxiv.install4
-rw-r--r--core/dhcpcd/PKGBUILD19
-rw-r--r--core/gnupg/PKGBUILD36
-rw-r--r--core/gnupg/install (renamed from testing/gnupg/install)0
-rw-r--r--core/sqlite3/PKGBUILD8
-rw-r--r--extra/clamav/PKGBUILD17
-rw-r--r--extra/clamav/config.patch2
-rw-r--r--extra/clamav/install4
-rw-r--r--extra/clamav/logrotate4
-rw-r--r--extra/clamav/rc.d5
-rw-r--r--extra/clamav/tmpfiles.d1
-rw-r--r--extra/garcon/PKGBUILD6
-rw-r--r--extra/genius/PKGBUILD6
-rw-r--r--extra/gtk-xfce-engine/PKGBUILD6
-rw-r--r--extra/gv/PKGBUILD17
-rw-r--r--extra/imagemagick/PKGBUILD6
-rw-r--r--extra/libdrm/PKGBUILD6
-rw-r--r--extra/libnotify/PKGBUILD10
-rw-r--r--extra/libzip/PKGBUILD15
-rw-r--r--extra/misdnuser/PKGBUILD33
-rwxr-xr-xextra/misdnuser/misdncapid.rc45
-rw-r--r--extra/mysql/PKGBUILD6
-rw-r--r--extra/notification-daemon/PKGBUILD10
-rw-r--r--extra/pycups/PKGBUILD8
-rw-r--r--extra/python-lxml/PKGBUILD12
-rw-r--r--extra/qt/PKGBUILD32
-rw-r--r--extra/qt/gcc47.patch27
-rw-r--r--extra/r/PKGBUILD6
-rw-r--r--extra/spandsp/PKGBUILD30
-rw-r--r--extra/system-config-printer/PKGBUILD10
-rw-r--r--extra/thunar-volman/PKGBUILD11
-rw-r--r--extra/tumbler/PKGBUILD8
-rw-r--r--extra/xaw3d/PKGBUILD6
-rw-r--r--extra/xf86-input-keyboard/PKGBUILD2
-rw-r--r--extra/xf86-input-mouse/PKGBUILD2
-rw-r--r--extra/xf86-video-ati/PKGBUILD10
-rw-r--r--extra/xfce4-power-manager/PKGBUILD17
-rw-r--r--gnome-unstable/evolution-ews/PKGBUILD27
-rw-r--r--gnome-unstable/evolution-exchange/PKGBUILD33
-rw-r--r--gnome-unstable/evolution-exchange/evolution-exchange.install17
-rw-r--r--gnome-unstable/evolution-groupwise/PKGBUILD32
-rw-r--r--gnome-unstable/farstream/vp8.patch12
-rw-r--r--gnome-unstable/pidgin/port-to-farstream-v3.patch447
-rw-r--r--gnome-unstable/zenity/PKGBUILD26
-rw-r--r--libre/grub/PKGBUILD26
-rw-r--r--libre/grub2/20_memtest86+10
-rw-r--r--libre/grub2/PKGBUILD379
-rw-r--r--libre/grub2/archlinux_grub2_mkconfig_fixes.patch92
-rw-r--r--libre/grub2/archlinux_grub_mkconfig_fixes.patch141
-rw-r--r--libre/grub2/fix_stack_pointer_handling_16_relocator.patch13
-rw-r--r--libre/grub2/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch15
-rw-r--r--libre/grub2/grub.cfg139
-rw-r--r--libre/grub2/grub.default9
-rw-r--r--libre/grub2/grub2.install6
-rw-r--r--libre/grub2/grub2_automake_1.11.2_pkglib_to_pkgdata.patch134
-rw-r--r--libre/grub2/grub2_bzr_export.sh96
-rw-r--r--libre/grub2/grub_extras_lua_args_fix.patch13
-rw-r--r--libre/thunderbird-libre/PKGBUILD6
-rw-r--r--multilib/lib32-krb5/krb5-1.10.1-gcc47.patch11
-rw-r--r--staging/fcitx/Fix-for-gcc-4.7.0.patch31
-rw-r--r--staging/fcitx/PKGBUILD67
-rw-r--r--staging/fcitx/fcitx-gtk2.install11
-rw-r--r--staging/fcitx/fcitx-gtk3.install11
-rw-r--r--staging/fcitx/fcitx.install13
-rw-r--r--testing/coreutils/PKGBUILD68
-rw-r--r--testing/coreutils/coreutils-pam.patch428
-rw-r--r--testing/coreutils/coreutils-uname.patch173
-rw-r--r--testing/coreutils/coreutils.install21
-rw-r--r--testing/coreutils/su.pam9
-rw-r--r--testing/expat/CVE-2009-3560.patch13
-rw-r--r--testing/expat/CVE-2009-3720.patch12
-rw-r--r--testing/expat/PKGBUILD32
-rw-r--r--~mtjm/python-getmediumurl/PKGBUILD4
105 files changed, 5053 insertions, 2015 deletions
diff --git a/community/afpfs-ng/01-gcrypt.patch b/community/afpfs-ng/01-gcrypt.patch
new file mode 100644
index 000000000..7bcace281
--- /dev/null
+++ b/community/afpfs-ng/01-gcrypt.patch
@@ -0,0 +1,26 @@
+diff -ru afpfs-ng-0.8.1/configure.ac afpfs-ng-0.8.1+iPhone/configure.ac
+--- afpfs-ng-0.8.1/configure.ac 2008-03-08 16:23:12.000000000 +0000
++++ afpfs-ng-0.8.1+iPhone/configure.ac 2010-10-24 05:26:15.000000000 +0000
+@@ -50,21 +50,6 @@
+ case $host in
+ *-*-darwin*)
+ AC_MSG_CHECKING([for correct gcrypt version])
+- AC_RUN_IFELSE(
+- [AC_LANG_PROGRAM([
+- #include <gcrypt.h>
+- #include <stdio.h>],[
+- char*p= GCRYPT_VERSION;
+- unsigned int vers;
+- vers=atoi(p)*10000;
+- p=strchr(p,'.')+1;
+- vers+=atoi(p)*100;
+- p=strchr(p,'.')+1;
+- vers+=atoi(p);
+- if (vers<10400) return 1;
+- ])],
+- [AC_MSG_RESULT([yes])],
+- [AC_MSG_ERROR([version is < 1.4.0])])
+ AM_CONDITIONAL(HAVE_LIBGCRYPT, true)
+ AC_DEFINE([HAVE_LIBGCRYPT], [1] )
+ ;;
+
diff --git a/community/afpfs-ng/02-pointer.patch b/community/afpfs-ng/02-pointer.patch
new file mode 100644
index 000000000..80507b572
--- /dev/null
+++ b/community/afpfs-ng/02-pointer.patch
@@ -0,0 +1,280 @@
+diff -up afpfs-ng-0.8.1/cmdline/getstatus.c.pointer afpfs-ng-0.8.1/cmdline/getstatus.c
+--- afpfs-ng-0.8.1/cmdline/getstatus.c.pointer 2011-06-14 17:06:35.000000000 +0200
++++ afpfs-ng-0.8.1/cmdline/getstatus.c 2011-06-14 17:07:25.000000000 +0200
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <pthread.h>
+
+diff -up afpfs-ng-0.8.1/fuse/client.c.pointer afpfs-ng-0.8.1/fuse/client.c
+--- afpfs-ng-0.8.1/fuse/client.c.pointer 2008-03-08 03:44:16.000000000 +0100
++++ afpfs-ng-0.8.1/fuse/client.c 2011-06-14 17:02:15.000000000 +0200
+@@ -61,8 +61,9 @@ static int start_afpfsd(void)
+ snprintf(filename, PATH_MAX,
+ "/usr/local/bin/%s",AFPFSD_FILENAME);
+ if (access(filename,X_OK)) {
+- snprintf(filename, "/usr/bin/%s",
++ snprintf(filename, sizeof(filename), "/usr/bin/%s",
+ AFPFSD_FILENAME);
++ filename[sizeof(filename) - 1] = 0;
+ if (access(filename,X_OK)) {
+ printf("Could not find server (%s)\n",
+ filename);
+diff -up afpfs-ng-0.8.1/fuse/fuse_int.c.pointer afpfs-ng-0.8.1/fuse/fuse_int.c
+--- afpfs-ng-0.8.1/fuse/fuse_int.c.pointer 2008-03-02 06:06:24.000000000 +0100
++++ afpfs-ng-0.8.1/fuse/fuse_int.c 2011-06-14 17:02:15.000000000 +0200
+@@ -197,7 +197,7 @@ static int fuse_open(const char *path, s
+ ret = ml_open(volume,path,flags,&fp);
+
+ if (ret==0)
+- fi->fh=(void *) fp;
++ fi->fh=(unsigned long) fp;
+
+ return ret;
+ }
+diff -up afpfs-ng-0.8.1/include/afpfs-ng/afp.h.pointer afpfs-ng-0.8.1/include/afp.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/afp.h.pointer 2008-03-08 17:08:18.000000000 +0100
++++ afpfs-ng-0.8.1/include/afpfs-ng/afp.h 2011-06-14 17:02:15.000000000 +0200
+@@ -370,7 +370,7 @@ int afp_unmount_all_volumes(struct afp_s
+
+ int afp_opendt(struct afp_volume *volume, unsigned short * refnum);
+
+-int afp_closedt(struct afp_server * server, unsigned short * refnum);
++int afp_closedt(struct afp_server * server, unsigned short refnum);
+
+ int afp_getcomment(struct afp_volume *volume, unsigned int did,
+ const char * pathname, struct afp_comment * comment);
+diff -up afpfs-ng-0.8.1/include/afpfs-gn/utils.h.pointer afpfs-ng-0.8.1/include/utils.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/utils.h.pointer 2008-02-18 04:33:58.000000000 +0100
++++ afpfs-ng-0.8.1/include/afpfs-ng/utils.h 2011-06-14 17:02:15.000000000 +0200
+@@ -8,8 +8,8 @@
+ #define hton64(x) (x)
+ #define ntoh64(x) (x)
+ #else /* BYTE_ORDER == BIG_ENDIAN */
+-#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \
+- (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32))
++#define hton64(x) ((u_int64_t) (htonl((((unsigned long long)(x)) >> 32) & 0xffffffffLL)) | \
++ (u_int64_t) ((htonl((unsigned long long)(x)) & 0xffffffffLL) << 32))
+ #define ntoh64(x) (hton64(x))
+ #endif /* BYTE_ORDER == BIG_ENDIAN */
+
+diff -up afpfs-ng-0.8.1/lib/afp_url.c.pointer afpfs-ng-0.8.1/lib/afp_url.c
+--- afpfs-ng-0.8.1/lib/afp_url.c.pointer 2008-03-04 21:16:49.000000000 +0100
++++ afpfs-ng-0.8.1/lib/afp_url.c 2011-06-14 17:02:15.000000000 +0200
+@@ -33,7 +33,7 @@ static int check_port(char * port)
+ static int check_uamname(const char * uam)
+ {
+ char * p;
+- for (p=uam;*p;p++) {
++ for (p=(char *)uam;*p;p++) {
+ if (*p==' ') continue;
+ if ((*p<'A') || (*p>'z')) return -1;
+ }
+@@ -188,7 +188,7 @@ int afp_parse_url(struct afp_url * url,
+ return -1;
+
+ }
+- if (p==NULL) p=toparse;
++ if (p==NULL) p=(char *)toparse;
+
+ /* Now split on the first / */
+ if (sscanf(p,"%[^/]/%[^$]",
+diff -up afpfs-ng-0.8.1/lib/did.c.pointer afpfs-ng-0.8.1/lib/did.c
+--- afpfs-ng-0.8.1/lib/did.c.pointer 2008-02-18 04:39:17.000000000 +0100
++++ afpfs-ng-0.8.1/lib/did.c 2011-06-14 17:02:15.000000000 +0200
+@@ -226,7 +226,7 @@ int get_dirid(struct afp_volume * volume
+
+
+ /* Go to the end of last known entry */
+- p=path+(p-copy);
++ p=(char *)path+(p-copy);
+ p2=p;
+
+ while ((p=strchr(p+1,'/'))) {
+diff -up afpfs-ng-0.8.1/lib/dsi.c.pointer afpfs-ng-0.8.1/lib/dsi.c
+--- afpfs-ng-0.8.1/lib/dsi.c.pointer 2008-02-18 04:53:03.000000000 +0100
++++ afpfs-ng-0.8.1/lib/dsi.c 2011-06-14 17:02:15.000000000 +0200
+@@ -474,7 +474,7 @@ void dsi_getstatus_reply(struct afp_serv
+ }
+ server->flags=ntohs(reply1->flags);
+
+- p=(void *)((unsigned int) server->incoming_buffer + sizeof(*reply1));
++ p=(void *)((unsigned long) server->incoming_buffer + sizeof(*reply1));
+ p+=copy_from_pascal(server->server_name,p,AFP_SERVER_NAME_LEN)+1;
+
+ /* Now work our way through the variable bits */
+@@ -757,7 +757,7 @@ gotenough:
+ printf("<<< read() of rest of AFP, %d bytes\n",amount_to_read);
+ #endif
+ ret = read(server->fd, (void *)
+- (((unsigned int) server->incoming_buffer)+server->data_read),
++ (((unsigned long) server->incoming_buffer)+server->data_read),
+ amount_to_read);
+ if (ret<0) return -1;
+ if (ret==0) {
+diff -up afpfs-ng-0.8.1/lib/loop.c.pointer afpfs-ng-0.8.1/lib/loop.c
+--- afpfs-ng-0.8.1/lib/loop.c.pointer 2008-02-18 04:40:11.000000000 +0100
++++ afpfs-ng-0.8.1/lib/loop.c 2011-06-14 17:02:15.000000000 +0200
+@@ -25,7 +25,7 @@
+ static unsigned char exit_program=0;
+
+ static pthread_t ending_thread;
+-static pthread_t main_thread = NULL;
++static pthread_t main_thread = (pthread_t)NULL;
+
+ static int loop_started=0;
+ static pthread_cond_t loop_started_condition;
+diff -up afpfs-ng-0.8.1/lib/lowlevel.c.pointer afpfs-ng-0.8.1/lib/lowlevel.c
+--- afpfs-ng-0.8.1/lib/lowlevel.c.pointer 2008-02-20 02:33:17.000000000 +0100
++++ afpfs-ng-0.8.1/lib/lowlevel.c 2011-06-14 17:02:15.000000000 +0200
+@@ -582,7 +582,7 @@ int ll_getattr(struct afp_volume * volum
+ if (volume->server->using_version->av_number>=30)
+ stbuf->st_mode |= fp.unixprivs.permissions;
+ else
+- set_nonunix_perms(stbuf,&fp);
++ set_nonunix_perms(&stbuf->st_mode,&fp);
+
+ stbuf->st_uid=fp.unixprivs.uid;
+ stbuf->st_gid=fp.unixprivs.gid;
+diff -up afpfs-ng-0.8.1/lib/midlevel.c.pointer afpfs-ng-0.8.1/lib/midlevel.c
+--- afpfs-ng-0.8.1/lib/midlevel.c.pointer 2008-03-08 17:08:18.000000000 +0100
++++ afpfs-ng-0.8.1/lib/midlevel.c 2011-06-14 17:02:15.000000000 +0200
+@@ -713,7 +713,7 @@ int ml_write(struct afp_volume * volume,
+ {
+
+ int ret,err=0;
+- int totalwritten = 0;
++ size_t totalwritten = 0;
+ uint64_t sizetowrite, ignored;
+ unsigned char flags = 0;
+ unsigned int max_packet_size=volume->server->tx_quantum;
+diff -up afpfs-ng-0.8.1/lib/proto_attr.c.pointer afpfs-ng-0.8.1/lib/proto_attr.c
+--- afpfs-ng-0.8.1/lib/proto_attr.c.pointer 2008-01-30 05:37:58.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_attr.c 2011-06-14 17:02:15.000000000 +0200
+@@ -166,7 +166,7 @@ int afp_getextattr(struct afp_volume * v
+ copy_path(server,p,pathname,strlen(pathname));
+ unixpath_to_afppath(server,p);
+ p2=p+sizeof_path_header(server)+strlen(pathname);
+- if (((unsigned int ) p2) & 0x1) p2++;
++ if (((unsigned long) p2) & 0x1) p2++;
+ req2=(void *) p2;
+
+ req2->len=htons(namelen);
+diff -up afpfs-ng-0.8.1/lib/proto_desktop.c.pointer afpfs-ng-0.8.1/lib/proto_desktop.c
+--- afpfs-ng-0.8.1/lib/proto_desktop.c.pointer 2008-02-18 04:44:11.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_desktop.c 2011-06-14 17:02:15.000000000 +0200
+@@ -168,7 +168,7 @@ int afp_getcomment_reply(struct afp_serv
+ return 0;
+ }
+
+-int afp_closedt(struct afp_server * server, unsigned short * refnum)
++int afp_closedt(struct afp_server * server, unsigned short refnum)
+ {
+ struct {
+ struct dsi_header dsi_header __attribute__((__packed__));
+diff -up afpfs-ng-0.8.1/lib/proto_directory.c.pointer afpfs-ng-0.8.1/lib/proto_directory.c
+--- afpfs-ng-0.8.1/lib/proto_directory.c.pointer 2008-02-19 03:39:29.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_directory.c 2011-06-14 17:02:15.000000000 +0200
+@@ -248,6 +248,7 @@ int afp_enumerate_reply(struct afp_serve
+
+ return 0;
+ }
++
+ int afp_enumerateext2_reply(struct afp_server *server, char * buf, unsigned int size, void * other)
+ {
+
+@@ -266,8 +267,7 @@ int afp_enumerateext2_reply(struct afp_s
+ char * p = buf + sizeof(*reply);
+ int i;
+ char *max=buf+size;
+- struct afp_file_info * filebase = NULL, *filecur=NULL, *new_file=NULL;
+- void ** x = other;
++ struct afp_file_info * filebase = NULL, *filecur = NULL, *new_file = NULL, **x = (struct afp_file_info **) other;
+
+ if (reply->dsi_header.return_code.error_code) {
+ return reply->dsi_header.return_code.error_code;
+diff -up afpfs-ng-0.8.1/lib/proto_map.c.pointer afpfs-ng-0.8.1/lib/proto_map.c
+--- afpfs-ng-0.8.1/lib/proto_map.c.pointer 2008-01-30 05:37:59.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_map.c 2011-06-14 17:02:15.000000000 +0200
+@@ -122,7 +122,7 @@ int afp_mapid_reply(struct afp_server *s
+
+ if (reply->header.return_code.error_code!=kFPNoErr) return -1;
+
+- copy_from_pascal_two(name,&reply->name,255);
++ copy_from_pascal_two(name,reply->name,255);
+
+ return 0;
+ }
+diff -up afpfs-ng-0.8.1/lib/proto_session.c.pointer afpfs-ng-0.8.1/lib/proto_session.c
+--- afpfs-ng-0.8.1/lib/proto_session.c.pointer 2008-02-18 04:46:19.000000000 +0100
++++ afpfs-ng-0.8.1/lib/proto_session.c 2011-06-14 17:02:15.000000000 +0200
+@@ -39,7 +39,7 @@ int afp_getsessiontoken(struct afp_serve
+ switch (type) {
+ case kLoginWithTimeAndID:
+ case kReconnWithTimeAndID: {
+- uint32_t *p = (void *) (((unsigned int) request)+
++ uint32_t *p = (void *) (((unsigned long) request)+
+ sizeof(*request));
+
+ offset=sizeof(timestamp);
+@@ -63,7 +63,7 @@ int afp_getsessiontoken(struct afp_serve
+ goto error;
+ }
+
+- data=(void *) (((unsigned int) request)+sizeof(*request)+offset);
++ data=(void *) (((unsigned long) request)+sizeof(*request)+offset);
+ request->idlength=htonl(datalen);
+ request->pad=0;
+ request->type=htons(type);
+@@ -127,7 +127,7 @@ int afp_disconnectoldsession(struct afp_
+ if ((request=malloc(sizeof(*request) + AFP_TOKEN_MAX_LEN))==NULL)
+ return -1;
+
+- token_data = request + sizeof(*request);
++ token_data = (char *)request + sizeof(*request);
+
+ request->type=htons(type);
+
+diff -up afpfs-ng-0.8.1/lib/uams.c.pointer afpfs-ng-0.8.1/lib/uams.c
+--- afpfs-ng-0.8.1/lib/uams.c.pointer 2008-01-04 04:52:44.000000000 +0100
++++ afpfs-ng-0.8.1/lib/uams.c 2011-06-14 17:02:15.000000000 +0200
+@@ -180,7 +180,7 @@ static int cleartxt_login(struct afp_ser
+ goto cleartxt_fail;
+
+ p += copy_to_pascal(p, username) + 1;
+- if ((int)p & 0x1)
++ if ((long)p & 0x1)
+ len--;
+ else
+ p++;
+@@ -230,7 +230,7 @@ static int cleartxt_passwd(struct afp_se
+ goto cleartxt_fail;
+
+ p += copy_to_pascal(p, username) + 1;
+- if ((int)p & 0x1)
++ if ((long)p & 0x1)
+ len--;
+ else
+ p++;
+@@ -580,7 +580,7 @@ static int dhx_login(struct afp_server *
+ if (ai == NULL)
+ goto dhx_noctx_fail;
+ d += copy_to_pascal(ai, username) + 1;
+- if (((int)d) % 2)
++ if (((long)d) % 2)
+ d++;
+ else
+ ai_len--;
+diff -up afpfs-ng-0.8.1/lib/utils.c.pointer afpfs-ng-0.8.1/lib/utils.c
+--- afpfs-ng-0.8.1/lib/utils.c.pointer 2008-02-18 04:53:37.000000000 +0100
++++ afpfs-ng-0.8.1/lib/utils.c 2011-06-14 17:02:15.000000000 +0200
+@@ -196,7 +196,7 @@ int invalid_filename(struct afp_server *
+ maxlen=255;
+
+
+- p=filename+1;
++ p=(char *)filename+1;
+ while ((q=strchr(p,'/'))) {
+ if (q>p+maxlen)
+ return 1;
diff --git a/community/afpfs-ng/10-fix-errno.patch b/community/afpfs-ng/10-fix-errno.patch
new file mode 100644
index 000000000..ff7ce44bd
--- /dev/null
+++ b/community/afpfs-ng/10-fix-errno.patch
@@ -0,0 +1,23 @@
+--- afpfs-ng-0.8.1/lib/afp.c 2011-09-04 19:42:42.000000000 +0200
++++ afpfs-ng-0.8.1/lib/afp.c 2011-09-04 19:39:44.000000000 +0200
+@@ -19,7 +19,6 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+-#include <errno.h>
+
+ #include <afpfs-ng/afp_protocol.h>
+ #include <afpfs-ng/libafpclient.h>
+--- afpfs-ng-0.8.1/lib/afp_url.c 2011-09-04 19:42:42.000000000 +0200
++++ afpfs-ng-0.8.1/lib/afp_url.c 2011-09-04 19:40:27.000000000 +0200
+@@ -21,7 +21,9 @@
+
+ static int check_port(char * port)
+ {
+- long long ret = strtol(port,NULL,10);
++ long long ret = 0;
++ errno = 0;
++ ret = strtol(port,NULL,10);
+ if ((ret<0) || (ret>32767)) return -1;
+ if (errno) {
+ printf("port error\n");
diff --git a/community/afpfs-ng/20-build-error-fixes.patch b/community/afpfs-ng/20-build-error-fixes.patch
new file mode 100644
index 000000000..303e2646c
--- /dev/null
+++ b/community/afpfs-ng/20-build-error-fixes.patch
@@ -0,0 +1,125 @@
+Description: Fix build errors.
+Origin: http://anonscm.debian.org/gitweb/?p=collab-maint/afpfs-ng.git;a=blob;f=debian/patches/build-error-fixes.patch
+
+--- a/lib/afp_url.c
++++ b/lib/afp_url.c
+@@ -233,7 +233,7 @@
+ }
+ }
+
+- snprintf(url->servername,strlen(p)+1,p);
++ strcpy(url->servername,p);
+ if (check_servername(url->servername)) {
+ if (verbose) printf("This isn't a valid servername\n");
+ return -1;
+@@ -263,7 +263,7 @@
+ if ((q=escape_strrchr(p,':',":"))) {
+ *q='\0';
+ q++;
+- snprintf(url->password,strlen(q)+1,q);
++ strcpy(url->password,q);
+ if (check_password(url->password)) {
+ if (verbose) printf("This isn't a valid passwd\n");
+ return -1;
+@@ -276,7 +276,7 @@
+ if ((q=strstr(p,";AUTH="))) {
+ *q='\0';
+ q+=6;
+- snprintf(url->uamname,strlen(q)+1,q);
++ strcpy(url->uamname,q);
+ if (check_uamname(url->uamname)) {
+ if (verbose) printf("This isn't a valid uamname\n");
+ return -1;
+@@ -284,7 +284,7 @@
+ }
+
+ if (strlen(p)>0) {
+- snprintf(url->username,strlen(p)+1,p);
++ strcpy(url->username,p);
+ if (check_username(url->username)) {
+ if (verbose) printf("This isn't a valid username\n");
+ return -1;;
+@@ -304,12 +304,12 @@
+ *q='\0';
+ q++;
+ }
+- snprintf(url->volumename,strlen(p)+1,p);
++ strcpy(url->volumename,p);
+
+
+ if (q) {
+ url->path[0]='/';
+- snprintf(url->path+1,strlen(q)+1,q);
++ strcpy(url->path+1,q);
+ }
+
+ done:
+--- a/fuse/commands.c
++++ b/fuse/commands.c
+@@ -163,8 +163,7 @@
+
+ if (c) {
+ len = strlen(c->client_string);
+- snprintf(c->client_string+len,
+- MAX_CLIENT_RESPONSE-len,
++ strcpy(c->client_string+len,
+ message);
+ } else {
+
+@@ -468,7 +467,7 @@
+ volume->mapping=req->map;
+ afp_detect_mapping(volume);
+
+- snprintf(volume->mountpoint,255,req->mountpoint);
++ strcpy(volume->mountpoint,req->mountpoint);
+
+ /* Create the new thread and block until we get an answer back */
+ {
+--- a/fuse/client.c
++++ b/fuse/client.c
+@@ -547,7 +547,7 @@
+ done:
+ memset(toprint,0,MAX_CLIENT_RESPONSE+200);
+ snprintf(toprint,MAX_CLIENT_RESPONSE+200,"%s",incoming_buffer+sizeof(*answer));
+- printf(toprint);
++ printf("%s",toprint);
+ return ((struct afp_server_response *) incoming_buffer)->result;
+
+ return 0;
+--- a/cmdline/cmdline_afp.c
++++ b/cmdline/cmdline_afp.c
+@@ -828,11 +828,11 @@
+ char text[40960];
+
+ afp_status_header(text,&len);
+- printf(text);
++ printf("%s",text);
+
+ len=40960;
+ afp_status_server(server,text,&len);
+- printf(text);
++ printf("%s",text);
+ return 0;
+ }
+
+--- a/cmdline/cmdline_testafp.c
++++ b/cmdline/cmdline_testafp.c
+@@ -26,12 +26,12 @@
+ struct afp_url valid_url;
+ afp_default_url(&valid_url);
+ valid_url.protocol=protocol;
+- sprintf(valid_url.servername,servername);
+- sprintf(valid_url.volumename,volumename);
+- sprintf(valid_url.path,path);
+- sprintf(valid_url.username,username);
+- sprintf(valid_url.password,password);
+- sprintf(valid_url.uamname,uamname);
++ strcpy(valid_url.servername,servername);
++ strcpy(valid_url.volumename,volumename);
++ strcpy(valid_url.path,path);
++ strcpy(valid_url.username,username);
++ strcpy(valid_url.password,password);
++ strcpy(valid_url.uamname,uamname);
+ valid_url.port=port;
+
+ if (afp_url_validate(url_string,&valid_url))
diff --git a/community/afpfs-ng/21-header-path-fix.patch b/community/afpfs-ng/21-header-path-fix.patch
new file mode 100644
index 000000000..fe79b1f59
--- /dev/null
+++ b/community/afpfs-ng/21-header-path-fix.patch
@@ -0,0 +1,16 @@
+Description: Ensure internal headers are picked instead of system headers.
+Origin: http://anonscm.debian.org/gitweb/?p=collab-maint/afpfs-ng.git;a=blob;f=debian/patches/header-path-fix.patch
+
+--- a/include/afpfs-ng/afp.h
++++ b/include/afpfs-ng/afp.h
+@@ -7,8 +7,8 @@
+ #include <netdb.h>
+ #include <sys/statvfs.h>
+ #include <pwd.h>
+-#include <afpfs-ng/afp_protocol.h>
+-#include <afpfs-ng/libafpclient.h>
++#include "afp_protocol.h"
++#include "libafpclient.h"
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
diff --git a/community/afpfs-ng/30-include-fixes.patch b/community/afpfs-ng/30-include-fixes.patch
new file mode 100644
index 000000000..de4f88392
--- /dev/null
+++ b/community/afpfs-ng/30-include-fixes.patch
@@ -0,0 +1,44 @@
+--- a/include/afpfs-ng/dsi.h 2012-02-23 10:02:07.062734160 +0100
++++ b/include/afpfs-ng/dsi.h 2012-02-23 10:09:46.297111254 +0100
+@@ -2,7 +2,7 @@
+ #ifndef __DSI_H_
+ #define __DSI_H_
+
+-#include "afpfs-ng/afp.h"
++#include "afp.h"
+
+ struct dsi_request
+ {
+--- a/include/afpfs-ng/map_def.h 2012-02-23 10:02:07.062734160 +0100
++++ b/include/afpfs-ng/map_def.h 2012-02-23 10:11:32.769953053 +0100
+@@ -1,7 +1,7 @@
+ #ifndef __MAP_H_
+ #define __MAP_H_
+
+-#include "afpfs-ng/afp.h"
++#include "afp.h"
+
+ #define AFP_MAPPING_UNKNOWN 0
+ #define AFP_MAPPING_COMMON 1
+--- a/include/afpfs-ng/midlevel.h 2012-02-23 10:02:07.062734160 +0100
++++ b/include/afpfs-ng/midlevel.h 2012-02-23 10:12:40.519943675 +0100
+@@ -2,7 +2,7 @@
+ #define __MIDLEVEL_H_
+
+ #include <utime.h>
+-#include "afpfs-ng/afp.h"
++#include "afp.h"
+
+ int ml_open(struct afp_volume * volume, const char *path, int flags,
+ struct afp_file_info **newfp);
+--- a/include/afpfs-ng/utils.h 2012-02-23 10:14:42.212332892 +0100
++++ b/include/afpfs-ng/utils.h 2012-02-23 10:14:51.116069525 +0100
+@@ -2,7 +2,7 @@
+ #define __UTILS_H_
+ #include <stdio.h>
+
+-#include "afpfs-ng/afp.h"
++#include "afp.h"
+
+ #if BYTE_ORDER == BIG_ENDIAN
+ #define hton64(x) (x)
diff --git a/community/afpfs-ng/PKGBUILD b/community/afpfs-ng/PKGBUILD
new file mode 100644
index 000000000..f8dc2d6fc
--- /dev/null
+++ b/community/afpfs-ng/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 68567 2012-03-28 10:22:57Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: slubman <slubman.dndd@laposte.net>
+
+pkgname=afpfs-ng
+pkgver=0.8.1
+pkgrel=5
+pkgdesc="A client for the Apple Filing Protocol (AFP)"
+url="http://alexthepuffin.googlepages.com/"
+license=('GPL')
+depends=('gmp' 'fuse' 'libgcrypt')
+arch=('i686' 'x86_64')
+options=(!libtool)
+source=(
+ "http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2"
+ 'fix_afpfs-ng_includes.patch'
+ '01-gcrypt.patch'
+ '02-pointer.patch'
+ '10-fix-errno.patch'
+ '20-build-error-fixes.patch'
+ '21-header-path-fix.patch'
+ '30-include-fixes.patch'
+)
+sha256sums=(
+ '688560de1cde57ab8d9e0ef7dc6436dbf0267fe8884f9014e50ff92b297b01a8'
+ '627d94ab3c1cbc002b18839f514c6fa980b0a25dfc21e8761b389fcd39f32755'
+ '18dc77b064fc02c229e0cfa071a7e31cde6d0243671ebde2f561ebdf09dc38bb'
+ '8537b086c496e776be2a6757325717cb15dee6dcf2aedccebed6b4b2332d3dc1'
+ '0e1c0c0e3a9ff6e55ccbbbc1b4de630c874ff058e2ea94360b7d90e650d04811'
+ '393662da1bcd5d3aba180a2add37d9006e0a487c3bb7bf157a15aa492f4d6a87'
+ 'f551ae9debe8ce2c4ed1d7a8bce497801ace995473876a5fefa0443353232477'
+ '71b8f52923cef39f0cccb8fdff610575958fd5dbed66e5aa4413ae6aceeec656'
+)
+
+build() {
+ cd "$pkgname-$pkgver"
+ # apply patches
+ msg2 'fix_afpfs-ng_includes.patch'
+ patch -Np1 -i "$srcdir/fix_afpfs-ng_includes.patch"
+ msg2 '01-gcrypt.patch'
+ patch -Np1 -i "$srcdir/01-gcrypt.patch"
+ msg2 '02-pointer.patch'
+ patch -Np1 -i "$srcdir/02-pointer.patch"
+ msg2 '10-fix-errno.patch'
+ patch -Np1 -i "$srcdir/10-fix-errno.patch"
+ msg2 '20-build-error-fixes.patch'
+ patch -Np1 -i "$srcdir/20-build-error-fixes.patch"
+ msg2 '21-header-path-fix.patch'
+ patch -Np1 -i "$srcdir/21-header-path-fix.patch"
+ msg2 '30-include-fixes.patch'
+ patch -Np1 -i "$srcdir/30-include-fixes.patch"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # install headers
+ cd include
+ for header in afpfs-ng/*.h; do
+ install -Dm644 "$header" "$pkgdir/usr/include/$header"
+ done
+}
diff --git a/community/afpfs-ng/fix_afpfs-ng_includes.patch b/community/afpfs-ng/fix_afpfs-ng_includes.patch
new file mode 100644
index 000000000..f507a485e
--- /dev/null
+++ b/community/afpfs-ng/fix_afpfs-ng_includes.patch
@@ -0,0 +1,3082 @@
+diff -Naur afpfs-ng-0.8.1/cmdline/cmdline_afp.c afpfs-ng-0.8.1.patch/cmdline/cmdline_afp.c
+--- afpfs-ng-0.8.1/cmdline/cmdline_afp.c 2008-02-19 02:54:19.000000000 +0100
++++ afpfs-ng-0.8.1.patch/cmdline/cmdline_afp.c 2011-09-10 12:13:50.102124369 +0200
+@@ -3,9 +3,9 @@
+
+ */
+
+-#include "afp.h"
+-#include "midlevel.h"
+-#include "map_def.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/midlevel.h"
++#include "afpfs-ng/map_def.h"
+
+ #include <string.h>
+ #include <stdio.h>
+diff -Naur afpfs-ng-0.8.1/cmdline/cmdline_testafp.c afpfs-ng-0.8.1.patch/cmdline/cmdline_testafp.c
+--- afpfs-ng-0.8.1/cmdline/cmdline_testafp.c 2008-03-04 21:16:50.000000000 +0100
++++ afpfs-ng-0.8.1.patch/cmdline/cmdline_testafp.c 2011-09-10 12:13:50.102124369 +0200
+@@ -3,8 +3,8 @@
+
+ */
+
+-#include "afp.h"
+-#include "midlevel.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/midlevel.h"
+
+ #include "cmdline_main.h"
+
+diff -Naur afpfs-ng-0.8.1/cmdline/getstatus.c afpfs-ng-0.8.1.patch/cmdline/getstatus.c
+--- afpfs-ng-0.8.1/cmdline/getstatus.c 2008-02-18 04:28:09.000000000 +0100
++++ afpfs-ng-0.8.1.patch/cmdline/getstatus.c 2011-09-10 12:13:50.109124463 +0200
+@@ -2,7 +2,7 @@
+ #include <string.h>
+ #include <pthread.h>
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ static int getstatus(char * address_string, unsigned int port)
+ {
+diff -Naur afpfs-ng-0.8.1/configure.ac afpfs-ng-0.8.1.patch/configure.ac
+--- afpfs-ng-0.8.1/configure.ac 2008-03-08 17:23:12.000000000 +0100
++++ afpfs-ng-0.8.1.patch/configure.ac 2011-09-10 12:13:50.109124463 +0200
+@@ -11,6 +11,7 @@
+ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_LIBTOOL
++AM_PROG_CC_C_O
+
+ # Checks for libraries.
+ # FIXME: Replace `main' with a function in `-lncurses':
+@@ -105,7 +106,7 @@
+
+
+
+-AC_CONFIG_FILES([lib/Makefile fuse/Makefile cmdline/Makefile Makefile docs/Makefile])
++AC_CONFIG_FILES([lib/Makefile fuse/Makefile cmdline/Makefile Makefile include/Makefile include/afpfs-ng/Makefile docs/Makefile])
+
+ AC_OUTPUT
+
+diff -Naur afpfs-ng-0.8.1/fuse/client.c afpfs-ng-0.8.1.patch/fuse/client.c
+--- afpfs-ng-0.8.1/fuse/client.c 2008-03-08 03:44:16.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/client.c 2011-09-10 12:13:50.110124477 +0200
+@@ -12,11 +12,11 @@
+ #include <grp.h>
+
+ #include "config.h"
+-#include <afp.h>
++#include <afpfs-ng/afp.h>
+ #include "afp_server.h"
+-#include "uams_def.h"
+-#include "map_def.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/uams_def.h"
++#include "afpfs-ng/map_def.h"
++#include "afpfs-ng/libafpclient.h"
+
+ #define default_uam "Cleartxt Passwrd"
+
+diff -Naur afpfs-ng-0.8.1/fuse/commands.c afpfs-ng-0.8.1.patch/fuse/commands.c
+--- afpfs-ng-0.8.1/fuse/commands.c 2008-03-08 17:06:25.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/commands.c 2011-09-10 12:13:50.110124477 +0200
+@@ -19,15 +19,15 @@
+ #include <getopt.h>
+ #include <signal.h>
+
+-#include "afp.h"
+-#include "dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
+ #include "afp_server.h"
+-#include "utils.h"
++#include "afpfs-ng/utils.h"
+ #include "daemon.h"
+-#include "uams_def.h"
+-#include "codepage.h"
+-#include "libafpclient.h"
+-#include "map_def.h"
++#include "afpfs-ng/uams_def.h"
++#include "afpfs-ng/codepage.h"
++#include "afpfs-ng/libafpclient.h"
++#include "afpfs-ng/map_def.h"
+ #include "fuse_int.h"
+ #include "fuse_error.h"
+ #include "fuse_internal.h"
+diff -Naur afpfs-ng-0.8.1/fuse/daemon.c afpfs-ng-0.8.1.patch/fuse/daemon.c
+--- afpfs-ng-0.8.1/fuse/daemon.c 2008-03-04 18:26:05.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/daemon.c 2011-09-10 12:13:50.110124477 +0200
+@@ -23,11 +23,11 @@
+ #include <signal.h>
+ #include <sys/socket.h>
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+ #include "afp_server.h"
+-#include "utils.h"
++#include "afpfs-ng/utils.h"
+ #include "daemon.h"
+ #include "commands.h"
+
+diff -Naur afpfs-ng-0.8.1/fuse/fuse_error.c afpfs-ng-0.8.1.patch/fuse/fuse_error.c
+--- afpfs-ng-0.8.1/fuse/fuse_error.c 2008-01-18 05:40:10.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/fuse_error.c 2011-09-10 12:13:50.111124491 +0200
+@@ -4,7 +4,7 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <stdio.h>
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "fuse_internal.h"
+
+ #define TMP_FILE "/tmp/fuse_stderr"
+diff -Naur afpfs-ng-0.8.1/fuse/fuse_int.c afpfs-ng-0.8.1.patch/fuse/fuse_int.c
+--- afpfs-ng-0.8.1/fuse/fuse_int.c 2008-03-02 06:06:24.000000000 +0100
++++ afpfs-ng-0.8.1.patch/fuse/fuse_int.c 2011-09-10 12:13:50.111124491 +0200
+@@ -18,7 +18,7 @@
+ #define FUSE_USE_VERSION 25
+
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ #include <fuse.h>
+ #include <stdio.h>
+@@ -39,10 +39,10 @@
+ #include <pwd.h>
+ #include <stdarg.h>
+
+-#include "dsi.h"
+-#include "afp_protocol.h"
+-#include "codepage.h"
+-#include "midlevel.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/codepage.h"
++#include "afpfs-ng/midlevel.h"
+ #include "fuse_error.h"
+
+ /* Uncomment the following line to enable full debugging: */
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/afp.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/afp.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h 2011-09-10 12:13:50.112124505 +0200
+@@ -0,0 +1,533 @@
++
++#ifndef _AFP_H_
++#define _AFP_H_
++
++#include <arpa/inet.h>
++#include <pthread.h>
++#include <netdb.h>
++#include <sys/statvfs.h>
++#include <pwd.h>
++#include <afpfs-ng/afp_protocol.h>
++#include <afpfs-ng/libafpclient.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <unistd.h>
++#include <netinet/in.h>
++
++
++#define AFPFS_VERSION "0.8.1"
++
++/* This is the maximum AFP version this library supports */
++#define AFP_MAX_SUPPORTED_VERSION 32
++
++/* afp_url is used to pass locations around */
++struct afp_url {
++ enum {TCPIP,AT} protocol;
++ char username[AFP_MAX_USERNAME_LEN];
++ char uamname[50];
++ char password[AFP_MAX_PASSWORD_LEN];
++ char servername[AFP_SERVER_NAME_UTF8_LEN];
++ int port;
++ char volumename[AFP_VOLUME_NAME_UTF8_LEN];
++ char path[AFP_MAX_PATH];
++
++ int requested_version;
++ char zone[AFP_ZONE_LEN]; /* Only used for Appletalk */
++ char volpassword[9];;
++};
++
++struct afp_token {
++ unsigned int length;
++ char data[AFP_TOKEN_MAX_LEN];
++};
++
++#define SERVER_MAX_VERSIONS 10
++#define SERVER_MAX_UAMS 10
++
++struct afp_rx_buffer {
++ unsigned int size;
++ unsigned int maxsize;
++ char * data;
++ int errorcode;
++};
++
++
++struct afp_file_info {
++ unsigned short attributes;
++ unsigned int did;
++ unsigned int creation_date;
++ unsigned int modification_date;
++ unsigned int backup_date;
++ unsigned int fileid;
++ unsigned short offspring;
++ char sync;
++ char finderinfo[32];
++ char name[AFP_MAX_PATH];
++ char basename[AFP_MAX_PATH];
++ char translated_name[AFP_MAX_PATH];
++ struct afp_unixprivs unixprivs;
++ unsigned int accessrights;
++ struct afp_file_info * next;
++ struct afp_file_info * largelist_next;
++ unsigned char isdir;
++ unsigned long long size;
++ unsigned short resourcesize;
++ unsigned int resource;
++ unsigned short forkid;
++ struct afp_icon * icon;
++ int eof;
++};
++
++
++#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_KNOWN 0x1
++#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_BROKEN 0x2
++#define VOLUME_EXTRA_FLAGS_SHOW_APPLEDOUBLE 0x4
++#define VOLUME_EXTRA_FLAGS_VOL_SUPPORTS_UNIX 0x8
++#define VOLUME_EXTRA_FLAGS_NO_LOCKING 0x10
++#define VOLUME_EXTRA_FLAGS_IGNORE_UNIXPRIVS 0x20
++#define VOLUME_EXTRA_FLAGS_READONLY 0x40
++
++#define AFP_VOLUME_UNMOUNTED 0
++#define AFP_VOLUME_MOUNTED 1
++#define AFP_VOLUME_UNMOUNTING 2
++
++struct afp_volume {
++ unsigned short volid;
++ char flags; /* This is from afpGetSrvrParms */
++ unsigned short attributes; /* This is from VolOpen */
++ unsigned short signature; /* This is fixed or variable */
++ unsigned int creation_date;
++ unsigned int modification_date;
++ unsigned int backup_date;
++ struct statvfs stat;
++ unsigned char mounted;
++ char mountpoint[255];
++ struct afp_server * server;
++ char volume_name[AFP_VOLUME_NAME_LEN];
++ char volume_name_printable[AFP_VOLUME_NAME_UTF8_LEN];
++ unsigned short dtrefnum;
++ char volpassword[AFP_VOLPASS_LEN];
++ unsigned int extra_flags; /* This is an afpfs-ng specific field */
++
++ /* Our directory ID cache */
++ struct did_cache_entry * did_cache_base;
++ pthread_mutex_t did_cache_mutex;
++
++ /* Our journal of open forks */
++ struct afp_file_info * open_forks;
++ pthread_mutex_t open_forks_mutex;
++
++ /* Used to trigger startup */
++ pthread_cond_t startup_condition_cond;
++
++ struct {
++ uint64_t hits;
++ uint64_t misses;
++ uint64_t expired;
++ uint64_t force_removed;
++ } did_cache_stats;
++
++ void * priv; /* This is a private structure for fuse/cmdline, etc */
++ pthread_t thread; /* This is the per-volume thread */
++
++ int mapping;
++
++};
++
++#define SERVER_STATE_CONNECTED 1
++#define SERVER_STATE_DISCONNECTED 2
++
++enum server_type{
++ AFPFS_SERVER_TYPE_UNKNOWN,
++ AFPFS_SERVER_TYPE_NETATALK,
++ AFPFS_SERVER_TYPE_AIRPORT,
++ AFPFS_SERVER_TYPE_MACINTOSH,
++};
++
++#define is_netatalk(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_NETATALK )
++#define is_airport(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_AIRPORT )
++#define is_macintosh(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_MACINTOSH )
++
++
++
++struct afp_versions {
++ char *av_name;
++ int av_number;
++};
++extern struct afp_versions afp_versions[];
++
++struct afp_server {
++
++ /* Our buffer sizes */
++ unsigned int tx_quantum;
++ unsigned int rx_quantum;
++
++ unsigned int tx_delay;
++
++ /* Connection information */
++ struct sockaddr_in address;
++ int fd;
++
++ /* Some stats, for information only */
++ struct {
++ uint64_t runt_packets;
++ uint64_t incoming_dsi;
++ uint64_t rx_bytes;
++ uint64_t tx_bytes;
++ uint64_t requests_pending;
++ } stats;
++
++ /* General information */
++ char server_name[AFP_SERVER_NAME_LEN];
++ char server_name_utf8[AFP_SERVER_NAME_UTF8_LEN];
++ char server_name_printable[AFP_SERVER_NAME_UTF8_LEN];
++
++ char machine_type[17];
++ char icon[256];
++ char signature[16];
++ unsigned short flags;
++ int connect_state;
++ enum server_type server_type;
++
++ /* This is the time we connected */
++ time_t connect_time;
++
++ /* UAMs */
++ unsigned int supported_uams;
++ unsigned int using_uam;
++
++ /* Authentication */
++ char username[AFP_MAX_USERNAME_LEN];
++ char password[AFP_MAX_PASSWORD_LEN];
++
++ /* Session */
++ struct afp_token token;
++ char need_resume;
++
++ /* Versions */
++ unsigned char requested_version;
++ unsigned char versions[SERVER_MAX_VERSIONS];
++ struct afp_versions *using_version;
++
++ /* Volumes */
++ unsigned char num_volumes;
++ struct afp_volume * volumes;
++
++ void * dsi;
++ unsigned int exit_flag;
++
++ /* Our DSI request queue */
++ pthread_mutex_t requestid_mutex;
++ pthread_mutex_t request_queue_mutex;
++ unsigned short lastrequestid;
++ unsigned short expectedrequestid;
++ struct dsi_request * command_requests;
++
++
++ char loginmesg[200];
++ char servermesg[200];
++ char path_encoding;
++
++ /* This is the data for the incoming buffer */
++ char * incoming_buffer;
++ int data_read;
++ int bufsize;
++
++ /* And this is for the outgoing queue */
++ pthread_mutex_t send_mutex;
++
++ /* This is for user mapping */
++ struct passwd passwd;
++ unsigned int server_uid, server_gid;
++ int server_gid_valid;
++
++ struct afp_server *next;
++
++ /* These are for DSI attention packets */
++ unsigned int attention_quantum;
++ unsigned int attention_len;
++ char * attention_buffer;
++
++};
++
++struct afp_extattr_info {
++ unsigned int maxsize;
++ unsigned int size;
++ char data[1024];
++};
++struct afp_comment {
++ unsigned int maxsize;
++ unsigned int size;
++ char *data;
++};
++
++struct afp_icon {
++ unsigned int maxsize;
++ unsigned int size;
++ char *data;
++};
++
++#define AFP_DEFAULT_ATTENTION_QUANTUM 1024
++
++void afp_unixpriv_to_stat(struct afp_file_info *fp,
++ struct stat *stat);
++
++int init_uams(void) ;
++
++unsigned int find_uam_by_name(const char * name);
++char * uam_bitmap_to_string(unsigned int bitmap);
++
++
++char * get_uam_names_list(void);
++
++unsigned int default_uams_mask(void);
++
++struct afp_volume * find_volume_by_name(struct afp_server * server,
++ const char * volname);
++
++struct afp_connection_request {
++ unsigned int uam_mask;
++ struct afp_url url;
++};
++
++void afp_default_url(struct afp_url *url);
++int afp_parse_url(struct afp_url * url, const char * toparse, int verbose);
++void afp_print_url(struct afp_url * url);
++int afp_url_validate(char * url_string, struct afp_url * valid_url);
++
++int afp_list_volnames(struct afp_server * server, char * names, int max);
++
++/* User mapping */
++int afp_detect_mapping(struct afp_volume * volume);
++
++/* These are some functions that help with simple status text generation */
++
++int afp_status_header(char * text, int * len);
++int afp_status_server(struct afp_server * s,char * text, int * len);
++
++
++struct afp_server * afp_server_full_connect(void * priv, struct afp_connection_request * req);
++
++void * just_end_it_now(void *other);
++void add_fd_and_signal(int fd);
++void loop_disconnect(struct afp_server *s);
++void afp_wait_for_started_loop(void);
++
++
++struct afp_versions * pick_version(unsigned char *versions,
++ unsigned char requested) ;
++int pick_uam(unsigned int u1, unsigned int u2);
++
++int afp_server_login(struct afp_server *server,
++ char * mesg, unsigned int *l, unsigned int max);
++
++
++int afp_dologin(struct afp_server *server,
++ unsigned int uam, char * username, char * passwd);
++
++void afp_free_server(struct afp_server **server);
++
++struct afp_server * afp_server_init(struct sockaddr_in * address);
++int afp_get_address(void * priv, const char * hostname, unsigned int port,
++ struct sockaddr_in * address);
++
++
++int afp_main_loop(int command_fd);
++int afp_main_quick_startup(pthread_t * thread);
++
++int afp_server_destroy(struct afp_server *s) ;
++int afp_server_reconnect(struct afp_server * s, char * mesg,
++ unsigned int *l, unsigned int max);
++int afp_server_connect(struct afp_server *s, int full);
++
++struct afp_server * afp_server_complete_connection(
++ void * priv,
++ struct afp_server * server,
++ struct sockaddr_in * address, unsigned char * versions,
++ unsigned int uams, char * username, char * password,
++ unsigned int requested_version, unsigned int uam_mask);
++
++int afp_connect_volume(struct afp_volume * volume, struct afp_server * server,
++ char * mesg, unsigned int * l, unsigned int max);
++int something_is_mounted(struct afp_server * server);
++
++int add_cache_entry(struct afp_file_info * file) ;
++struct afp_file_info * get_cache_by_name(char * name);
++struct afp_server * find_server_by_address(struct sockaddr_in * address);
++struct afp_server * find_server_by_signature(char * signature);
++struct afp_server * find_server_by_name(char * name);
++int server_still_valid(struct afp_server * server);
++
++
++struct afp_server * get_server_base(void);
++int afp_server_remove(struct afp_server * server);
++
++int afp_unmount_volume(struct afp_volume * volume);
++int afp_unmount_all_volumes(struct afp_server * server);
++
++#define volume_is_readonly(x) (((x)->attributes&kReadOnly) || \
++ ((x)->extra_flags & VOLUME_EXTRA_FLAGS_READONLY))
++
++int afp_opendt(struct afp_volume *volume, unsigned short * refnum);
++
++int afp_closedt(struct afp_server * server, unsigned short * refnum);
++
++int afp_getcomment(struct afp_volume *volume, unsigned int did,
++ const char * pathname, struct afp_comment * comment);
++
++int afp_addcomment(struct afp_volume *volume, unsigned int did,
++ const char * pathname, char * comment,uint64_t *size);
++
++int afp_geticon(struct afp_volume * volume, unsigned int filecreator,
++ unsigned int filetype, unsigned char icontype,
++ unsigned short length, struct afp_icon * icon);
++
++/* Things you want to do to a server */
++
++int afp_getsrvrmsg(struct afp_server *server, unsigned short messagetype,unsigned char utf8, unsigned char block, char * mesg);
++
++int afp_login(struct afp_server *server, char * uaname,
++ char * userauthinfo, unsigned int userauthinfo_len,
++ struct afp_rx_buffer *rx);
++
++int afp_changepassword(struct afp_server *server, char * uaname,
++ char * userauthinfo, unsigned int userauthinfo_len,
++ struct afp_rx_buffer *rx);
++
++int afp_logincont(struct afp_server *server, unsigned short id,
++ char * userauthinfo, unsigned int userauthinfo_len,
++ struct afp_rx_buffer *rx);
++
++int afp_getsessiontoken(struct afp_server * server, int type,
++ unsigned int timestamp, struct afp_token *outgoing_token,
++ struct afp_token * incoming_token);
++
++int afp_getsrvrparms(struct afp_server *server);
++
++int afp_logout(struct afp_server *server,unsigned char wait);
++
++int afp_mapname(struct afp_server * server, unsigned char subfunction,
++ char * name, unsigned int * id);
++
++int afp_mapid(struct afp_server * server, unsigned char subfunction,
++ unsigned int id, char *name);
++
++int afp_getuserinfo(struct afp_server * server, int thisuser,
++ unsigned int userid, unsigned short bitmap,
++ unsigned int *newuid, unsigned int *newgid);
++
++int afp_zzzzz(struct afp_server *server);
++
++int afp_volopen(struct afp_volume * volume,
++ unsigned short bitmap, char * password);
++
++int afp_flush(struct afp_volume * volume);
++
++int afp_getfiledirparms(struct afp_volume *volume, unsigned int did,
++ unsigned int filebitmap, unsigned int dirbitmap, const char * pathname,
++ struct afp_file_info *fp);
++
++int afp_enumerate(struct afp_volume * volume,
++ unsigned int dirid,
++ unsigned int filebitmap, unsigned int dirbitmap,
++ unsigned short reqcount,
++ unsigned short startindex,
++ char * path,
++ struct afp_file_info ** file_p);
++
++int afp_enumerateext2(struct afp_volume * volume,
++ unsigned int dirid,
++ unsigned int filebitmap, unsigned int dirbitmap,
++ unsigned short reqcount,
++ unsigned long startindex,
++ char * path,
++ struct afp_file_info ** file_p);
++
++int afp_openfork(struct afp_volume * volume,
++ unsigned char forktype,
++ unsigned int dirid,
++ unsigned short accessmode,
++ char * filename,
++ struct afp_file_info *fp);
++
++int afp_read(struct afp_volume * volume, unsigned short forkid,
++ uint32_t offset,
++ uint32_t count, struct afp_rx_buffer * rx);
++
++int afp_readext(struct afp_volume * volume, unsigned short forkid,
++ uint64_t offset,
++ uint64_t count, struct afp_rx_buffer * rx);
++
++int afp_getvolparms(struct afp_volume * volume, unsigned short bitmap);
++
++
++int afp_createdir(struct afp_volume * volume, unsigned int dirid, const char * pathname, unsigned int *did_p);
++
++int afp_delete(struct afp_volume * volume,
++ unsigned int dirid, char * pathname);
++
++
++int afp_createfile(struct afp_volume * volume, unsigned char flag,
++ unsigned int did, char * pathname);
++
++int afp_write(struct afp_volume * volume, unsigned short forkid,
++ uint32_t offset, uint32_t reqcount,
++ char * data, uint32_t * written);
++
++int afp_writeext(struct afp_volume * volume, unsigned short forkid,
++ uint64_t offset, uint64_t reqcount,
++ char * data, uint64_t * written);
++
++int afp_flushfork(struct afp_volume * volume, unsigned short forkid);
++
++int afp_closefork(struct afp_volume * volume, unsigned short forkid);
++int afp_setfileparms(struct afp_volume * volume,
++ unsigned int dirid, const char * pathname, unsigned short bitmap,
++ struct afp_file_info *fp);
++int afp_setfiledirparms(struct afp_volume * volume,
++ unsigned int dirid, const char * pathname, unsigned short bitmap,
++ struct afp_file_info *fp);
++
++int afp_setdirparms(struct afp_volume * volume,
++ unsigned int dirid, const char * pathname, unsigned short bitmap,
++ struct afp_file_info *fp);
++
++int afp_volclose(struct afp_volume * volume);
++
++
++int afp_setforkparms(struct afp_volume *volume,
++ unsigned short forkid, unsigned short bitmap, unsigned long len);
++
++int afp_byterangelock(struct afp_volume * volume,
++ unsigned char flag,
++ unsigned short forkid,
++ uint32_t offset,
++ uint32_t len, uint32_t *generated_offset);
++
++int afp_byterangelockext(struct afp_volume * volume,
++ unsigned char flag,
++ unsigned short forkid,
++ uint64_t offset,
++ uint64_t len, uint64_t *generated_offset);
++
++int afp_moveandrename(struct afp_volume *volume,
++ unsigned int src_did,
++ unsigned int dst_did,
++ char * src_path, char * dst_path, char *new_name);
++
++int afp_rename(struct afp_volume * volume,
++ unsigned int dirid,
++ char * path_from, char * path_to);
++
++int afp_listextattr(struct afp_volume * volume,
++ unsigned int dirid, unsigned short bitmap,
++ char * pathname, struct afp_extattr_info * info);
++
++/* This is a currently undocumented command */
++int afp_newcommand76(struct afp_volume * volume, unsigned int dlen, char * data);
++
++/* For debugging */
++char * afp_get_command_name(char code);
++
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/afp_protocol.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp_protocol.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/afp_protocol.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp_protocol.h 2011-09-10 12:13:50.112124505 +0200
+@@ -0,0 +1,361 @@
++
++#ifndef _AFP_PROTOCOL_H_
++#define _AFP_PROTOCOL_H_
++
++#include <sys/types.h>
++#include <stddef.h>
++#include <unistd.h>
++#include <stdint.h>
++
++/* This file defines constants for the Apple File Protocol.
++ All page references are from "Apple Filing Protocol Programming" version 3.2.
++ except where noted.
++*/
++
++#define AFP_SERVER_NAME_LEN 33
++#define AFP_SERVER_NAME_UTF8_LEN 255
++#define AFP_VOLUME_NAME_LEN 33
++#define AFP_VOLUME_NAME_UTF8_LEN 33
++#define AFP_SIGNATURE_LEN 16
++#define AFP_MACHINETYPE_LEN 33
++#define AFP_LOGINMESG_LEN 200
++#define AFP_VOLPASS_LEN 8
++#define AFP_HOSTNAME_LEN 255
++/* This is actually just a guess, and only used for appletalk */
++#define AFP_ZONE_LEN 255
++
++#define AFP_SERVER_ICON_LEN 256
++
++
++#define AFP_MAX_USERNAME_LEN 127
++#define AFP_MAX_PASSWORD_LEN 127
++
++
++/* This is the maximum length of any UAM string */
++#define AFP_UAM_LENGTH 24
++
++/* This is the maximum length of any path description */
++#define AFP_MAX_PATH 768
++
++#define AFP_VOL_FLAT 1
++#define AFP_VOL_FIXED 2
++#define AFP_VOL_VARIABLE 3
++
++/* The root directory ID, p.26 */
++
++#define AFP_ROOT_DID 2
++
++/* Path type constants, p.249 */
++
++enum {
++kFPShortName = 1,
++kFPLongName = 2,
++kFPUTF8Name = 3
++};
++
++/* fork types */
++
++#define AFP_FORKTYPE_DATA 0x0
++#define AFP_FORKTYPE_RESOURCE 0x80
++
++/* openfork access modes, from p.196 */
++
++#define AFP_OPENFORK_ALLOWREAD 1
++#define AFP_OPENFORK_ALLOWWRITE 2
++#define AFP_OPENFORK_DENYREAD 0x10
++#define AFP_OPENFORK_DENYWRITE 0x20
++
++/* Message type for getsrvmesg, p. 169*/
++
++typedef enum {
++ AFPMESG_LOGIN = 0,
++ AFPMESG_SERVER = 1
++} afpmessage_t;
++
++/* Message bitmap for getsrvrmsg */
++
++#define AFP_GETSRVRMSG_UTF8 0x2
++#define AFP_GETSRVRMSG_GETMSG 0x1
++
++
++/* Maximum Version length, p.17 */
++#define AFP_MAX_VERSION_LENGTH 16
++
++/* Maximum length of a token, this is undocumented */
++#define AFP_TOKEN_MAX_LEN 256
++
++/* The maximum size of a file for AFP 2 */
++#define AFP_MAX_AFP2_FILESIZE (4294967296)
++
++/* Unix privs, p.240 */
++
++struct afp_unixprivs {
++ uint32_t uid __attribute__((__packed__));
++ uint32_t gid __attribute__((__packed__));
++ uint32_t permissions __attribute__((__packed__));
++ uint32_t ua_permissions __attribute__((__packed__));
++
++};
++
++
++/* AFP Volume attributes bitmap, p.241 */
++
++enum {
++ kReadOnly = 0x01,
++ kHasVolumePassword = 0x02,
++ kSupportsFileIDs = 0x04,
++ kSupportsCatSearch = 0x08,
++ kSupportsBlankAccessPrivs = 0x10,
++ kSupportsUnixPrivs = 0x20,
++ kSupportsUTF8Names = 0x40,
++ kNoNetworkUserIDs = 0x80,
++ kDefaultPrivsFromParent = 0x100,
++ kNoExchangeFiles = 0x200,
++ kSupportsExtAttrs = 0x400,
++ kSupportsACLs=0x800
++};
++
++/* AFP file creation constantes, p.250 */
++enum {
++kFPSoftCreate = 0,
++kFPHardCreate = 0x80
++};
++
++/* AFP Directory attributes, taken from the protocol guide p.236 */
++
++enum {
++ kFPAttributeBit = 0x1,
++ kFPParentDirIDBit = 0x2,
++ kFPCreateDateBit = 0x4,
++ kFPModDateBit = 0x8,
++ kFPBackupDateBit = 0x10,
++ kFPFinderInfoBit = 0x20,
++ kFPLongNameBit = 0x40,
++ kFPShortNameBit = 0x80,
++ kFPNodeIDBit = 0x100,
++ kFPOffspringCountBit = 0x0200,
++ kFPOwnerIDBit = 0x0400,
++ kFPGroupIDBit = 0x0800,
++ kFPAccessRightsBit = 0x1000,
++ kFPProDOSInfoBit = 0x2000, // AFP version 2.2 and earlier
++ kFPUTF8NameBit = 0x2000, // AFP version 3.0 and later
++ kFPUnixPrivsBit = 0x8000 // AFP version 3.0 and later
++};
++
++/* AFP File bitmap, p.238. These are the ones not in the AFP Directory
++ attributes map. */
++
++enum {
++ kFPDataForkLenBit = 0x0200,
++ kFPRsrcForkLenBit = 0x0400,
++ kFPExtDataForkLenBit = 0x0800, // AFP version 3.0 and later
++ kFPLaunchLimitBit = 0x1000,
++ kFPExtRsrcForkLenBit = 0x4000, // AFP version 3.0 and later
++};
++
++/* AFP Extended Attributes Bitmap, p.238 */
++
++enum {
++ kXAttrNoFollow = 0x1,
++ kXAttrCreate = 0x2,
++ kXAttrREplace=0x4
++};
++
++
++/* AFP function codes */
++enum AFPFunction
++{
++ afpByteRangeLock = 1, afpCloseVol, afpCloseDir, afpCloseFork,
++ afpCopyFile, afpCreateDir, afpCreateFile,
++ afpDelete, afpEnumerate, afpFlush, afpFlushFork,
++ afpGetForkParms = 14, afpGetSrvrInfo, afpGetSrvrParms,
++ afpGetVolParms, afpLogin, afpLoginCont, afpLogout, afpMapID,
++ afpMapName, afpMoveAndRename, afpOpenVol, afpOpenDir, afpOpenFork,
++ afpRead, afpRename, afpSetDirParms, afpSetFileParms,
++ afpSetForkParms, afpSetVolParms, afpWrite, afpGetFileDirParms,
++ afpSetFileDirParms, afpChangePassword,
++ afpGetUserInfo=37,afpGetSrvrMsg = 38,
++ afpOpenDT=48,
++ afpCloseDT=49,
++ afpGetIcon=51, afpGetIconInfo=52,
++ afpAddComment=56, afpRemoveComment=57, afpGetComment=58,
++ afpByteRangeLockExt=59, afpReadExt, afpWriteExt,
++ afpGetAuthMethods=62,
++ afp_LoginExt=63,
++ afpGetSessionToken=64,
++ afpDisconnectOldSession=65,
++ afpEnumerateExt=66,
++ afpCatSearchExt = 67,
++ afpEnumerateExt2 = 68, afpGetExtAttr, afpSetExtAttr,
++ afpRemoveExtAttr , afpListExtAttrs,
++ afpZzzzz = 122,
++ afpAddIcon=192,
++};
++
++/* AFP Volume bitmap. Take from 242 of the protocol guide. */
++enum {
++ kFPBadVolPre222Bitmap = 0xFe00,
++ kFPBadVolBitmap = 0xF000,
++ kFPVolAttributeBit = 0x1,
++ kFPVolSignatureBit = 0x2,
++ kFPVolCreateDateBit = 0x4,
++ kFPVolModDateBit = 0x8,
++ kFPVolBackupDateBit = 0x10,
++ kFPVolIDBit = 0x20,
++ kFPVolBytesFreeBit = 0x40,
++ kFPVolBytesTotalBit = 0x80,
++ kFPVolNameBit = 0x100,
++ kFPVolExtBytesFreeBit = 0x200,
++ kFPVolExtBytesTotalBit = 0x400,
++ kFPVolBlockSizeBit = 0x800
++};
++
++/* AFP Attention Codes -- 4 bits */
++#define AFPATTN_SHUTDOWN (1 << 15) /* shutdown/disconnect */
++#define AFPATTN_CRASH (1 << 14) /* server crashed */
++#define AFPATTN_MESG (1 << 13) /* server has message */
++#define AFPATTN_NORECONNECT (1 << 12) /* don't reconnect */
++/* server notification */
++#define AFPATTN_NOTIFY (AFPATTN_MESG | AFPATTN_NORECONNECT)
++
++/* extended bitmap -- 12 bits. volchanged is only useful w/ a server
++ * notification, and time is only useful for shutdown. */
++#define AFPATTN_VOLCHANGED (1 << 0) /* volume has changed */
++#define AFPATTN_TIME(x) ((x) & 0xfff) /* time in minutes */
++
++#define kFPNoErr 0
++
++/* AFP result codes, p252 */
++#define kASPSessClosed -1072
++#define kFPAccessDenied -5000
++#define kFPAuthContinue -5001
++#define kFPBadUAM -5002
++#define kFPBadVersNum -5003
++#define kFPBitmapErr -5004
++#define kFPCantMove -5005
++#define kFPDenyConflict -5006
++#define kFPDirNotEmpty -5007
++#define kFPDiskFull -5008
++#define kFPEOFErr -5009
++#define kFPFileBusy -5010
++#define kFPFlatVol -5011
++#define kFPItemNotFound -5012
++#define kFPLockErr -5013
++#define kFPMiscErr -5014
++#define kFPNoMoreLocks -5015
++#define kFPNoServer -5016
++#define kFPObjectExists -5017
++#define kFPObjectNotFound -5018
++#define kFPParamErr -5019
++#define kFPRangeNotLocked -5020
++#define kFPRangeOverlap -5021
++#define kFPSessClosed -5022
++#define kFPUserNotAuth -5023
++#define kFPCallNotSupported -5024
++#define kFPObjectTypeErr -5025
++#define kFPTooManyFilesOpen -5026
++#define kFPServerGoingDown -5027
++#define kFPCantRename -5028
++#define kFPDirNotFound -5029
++#define kFPIconTypeError -5030
++#define kFPVolLocked -5031
++#define kFPObjectLocked -5032
++#define kFPContainsSharedErr -5033
++#define kFPIDNotFound -5034
++#define kFPIDExists -5035
++#define kFPDiffVolErr -5036
++#define kFPCatalogChanged -5037
++#define kFPSameObjectErr -5038
++#define kFPBadIDErr -5039
++#define kFPPwdSameErr -5040
++#define kFPPwdTooShortErr -5041
++#define kFPPwdExpiredErr -5042
++#define kFPInsideSharedErr -5043
++#define kFPInsideTrashErr -5044
++#define kFPPwdNeedsChangeErr -5045
++#define kFPPwdPolicyErr -5046
++#define kFPDiskQuotaExceeded –5047
++
++
++
++/* These flags determine to lock or unlock in ByteRangeLock(Ext) */
++
++enum {
++ByteRangeLock_Lock = 0,
++ByteRangeLock_Unlock = 1
++};
++
++/* These flags are used in volopen and getsrvrparm replies, p.171 */
++
++#define HasConfigInfo 0x1
++#define HasPassword 0x80
++
++/* These are the subfunction for kFPMapID, as per p.248 */
++
++enum {
++kUserIDToName = 1,
++kGroupIDToName = 2,
++kUserIDToUTF8Name = 3,
++kGroupIDToUTF8Name = 4,
++kUserUUIDToUTF8Name = 5,
++kGroupUUIDToUTF8Name = 6
++};
++
++
++/* These are the subfunction flags described in the FPMapName command, p.286.
++ Note that this is different than what's described on p. 186. */
++
++enum {
++kNameToUserID = 1,
++kNameToGroupID = 2,
++kUTF8NameToUserID = 3,
++kUTF8NameToGroupID = 4,
++kUTF8NameToUserUUID = 5,
++kUTF8NameToGroupUUID = 6
++};
++
++/* These are bits for FPGetUserInfo, p.173. */
++#define kFPGetUserInfo_USER_ID 1
++#define kFPGetUserInfo_PRI_GROUPID 2
++
++/* Flags for the replies of GetSrvrInfo and DSI GetStatus, p.240 */
++
++enum {
++ kSupportsCopyfile = 0x01,
++ kSupportsChgPwd = 0x02,
++ kDontAllowSavePwd = 0x04,
++ kSupportsSrvrMsg = 0x08,
++ kSrvrSig = 0x10,
++ kSupportsTCP = 0x20,
++ kSupportsSrvrNotify = 0x40,
++ kSupportsReconnect = 0x80,
++ kSupportsDirServices = 0x100,
++ kSupportsUTF8SrvrName = 0x200,
++ kSupportsUUIDs = 0x400,
++ kSupportsSuperClient = 0x8000
++};
++
++
++/* p.247 */
++
++enum {
++ kLoginWithoutID = 0,
++ kLoginWithID = 1,
++ kReconnWithID = 2,
++ kLoginWithTimeAndID = 3,
++ kReconnWithTimeAndID = 4,
++ kRecon1Login = 5,
++ kRecon1ReconnectLogin = 6,
++ kRecon1Refresh = 7, kGetKerberosSessionKey = 8
++};
++
++
++#define AFP_CHMOD_ALLOWED_BITS_22 \
++ (S_IRUSR |S_IWUSR | S_IRGRP | S_IWGRP |S_IROTH | S_IWOTH | S_IFREG )
++
++
++#endif
++
++
++
++
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/codepage.h afpfs-ng-0.8.1.patch/include/afpfs-ng/codepage.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/codepage.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/codepage.h 2011-09-10 12:13:50.113124518 +0200
+@@ -0,0 +1,11 @@
++#ifndef __CODE_PAGE_H_
++#define __CODE_PAGE_H_
++int convert_utf8dec_to_utf8pre(const char *src, int src_len,
++ char * dest, int dest_len);
++int convert_utf8pre_to_utf8dec(const char * src, int src_len,
++ char * dest, int dest_len);
++int convert_path_to_unix(char encoding, char * dest,
++ char * src, int dest_len);
++int convert_path_to_afp(char encoding, char * dest,
++ char * src, int dest_len);
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/dsi.h afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/dsi.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h 2011-09-10 12:13:50.115124544 +0200
+@@ -0,0 +1,33 @@
++
++#ifndef __DSI_H_
++#define __DSI_H_
++
++#include "afpfs-ng/afp.h"
++
++struct dsi_request
++{
++ unsigned short requestid;
++ unsigned char subcommand;
++ void * other;
++ unsigned char wait;
++ pthread_cond_t condition_cond;
++ struct dsi_request * next;
++ int return_code;
++};
++
++int dsi_receive(struct afp_server * server, void * data, int size);
++int dsi_getstatus(struct afp_server * server);
++
++int dsi_opensession(struct afp_server *server);
++
++int dsi_send(struct afp_server *server, char * msg, int size,int wait,unsigned char subcommand, void ** other);
++struct dsi_session * dsi_create(struct afp_server *server);
++int dsi_restart(struct afp_server *server);
++int dsi_recv(struct afp_server * server);
++
++#define DSI_BLOCK_TIMEOUT -1
++#define DSI_DONT_WAIT 0
++#define DSI_DEFAULT_TIMEOUT 5
++
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/libafpclient.h afpfs-ng-0.8.1.patch/include/afpfs-ng/libafpclient.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/libafpclient.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/libafpclient.h 2011-09-10 12:13:50.115124544 +0200
+@@ -0,0 +1,50 @@
++
++#ifndef __CLIENT_H_
++#define __CLIENT_H_
++
++#include <unistd.h>
++#include <syslog.h>
++
++#define MAX_CLIENT_RESPONSE 2048
++
++
++enum loglevels {
++ AFPFSD,
++};
++
++struct afp_server;
++struct afp_volume;
++
++struct libafpclient {
++ int (*unmount_volume) (struct afp_volume * volume);
++ void (*log_for_client)(void * priv,
++ enum loglevels loglevel, int logtype, const char *message);
++ void (*forced_ending_hook)(void);
++ int (*scan_extra_fds)(int command_fd,fd_set *set, int * max_fd);
++ void (*loop_started)(void);
++} ;
++
++extern struct libafpclient * libafpclient;
++
++void libafpclient_register(struct libafpclient * tmpclient);
++
++
++void signal_main_thread(void);
++
++/* These are logging functions */
++
++#define MAXLOGSIZE 2048
++
++#define LOG_METHOD_SYSLOG 1
++#define LOG_METHOD_STDOUT 2
++
++void set_log_method(int m);
++
++
++void log_for_client(void * priv,
++ enum loglevels loglevel, int logtype, char * message,...);
++
++void stdout_log_for_client(void * priv,
++ enum loglevels loglevel, int logtype, const char *message);
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/Makefile.am afpfs-ng-0.8.1.patch/include/afpfs-ng/Makefile.am
+--- afpfs-ng-0.8.1/include/afpfs-ng/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/Makefile.am 2011-09-10 12:13:50.115124544 +0200
+@@ -0,0 +1,6 @@
++## Process this file with automake to produce Makefile.in
++
++afpfsincludedir = $(includedir)/afpfs-ng
++
++afpfsinclude_HEADERS = afp.h afp_protocol.h libafpclient.h
++nodist_afpfsinclude_HEADERS = codepage.h dsi.h map_def.h midlevel.h uams_def.h utils.h
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/map_def.h afpfs-ng-0.8.1.patch/include/afpfs-ng/map_def.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/map_def.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/map_def.h 2011-09-10 12:13:50.116124557 +0200
+@@ -0,0 +1,15 @@
++#ifndef __MAP_H_
++#define __MAP_H_
++
++#include "afpfs-ng/afp.h"
++
++#define AFP_MAPPING_UNKNOWN 0
++#define AFP_MAPPING_COMMON 1
++#define AFP_MAPPING_LOGINIDS 2
++#define AFP_MAPPING_NAME 3
++
++unsigned int map_string_to_num(char * name);
++char * get_mapping_name(struct afp_volume * volume);
++
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/midlevel.h afpfs-ng-0.8.1.patch/include/afpfs-ng/midlevel.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/midlevel.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/midlevel.h 2011-09-10 12:13:50.116124557 +0200
+@@ -0,0 +1,64 @@
++#ifndef __MIDLEVEL_H_
++#define __MIDLEVEL_H_
++
++#include <utime.h>
++#include "afpfs-ng/afp.h"
++
++int ml_open(struct afp_volume * volume, const char *path, int flags,
++ struct afp_file_info **newfp);
++
++int ml_creat(struct afp_volume * volume, const char *path,mode_t mode);
++
++int ml_readdir(struct afp_volume * volume,
++ const char *path,
++ struct afp_file_info **base);
++
++int ml_read(struct afp_volume * volume, const char *path,
++ char *buf, size_t size, off_t offset,
++ struct afp_file_info *fp, int * eof);
++
++int ml_chmod(struct afp_volume * vol, const char * path, mode_t mode);
++
++int ml_unlink(struct afp_volume * vol, const char *path);
++
++int ml_mkdir(struct afp_volume * vol, const char * path, mode_t mode);
++
++int ml_close(struct afp_volume * volume, const char * path,
++ struct afp_file_info * fp);
++
++int ml_getattr(struct afp_volume * volume, const char *path,
++ struct stat *stbuf);
++
++int ml_write(struct afp_volume * volume, const char * path,
++ const char *data, size_t size, off_t offset,
++ struct afp_file_info * fp, uid_t uid,
++ gid_t gid);
++
++int ml_readlink(struct afp_volume * vol, const char * path,
++ char *buf, size_t size);
++
++int ml_rmdir(struct afp_volume * vol, const char *path);
++
++int ml_chown(struct afp_volume * vol, const char * path,
++ uid_t uid, gid_t gid);
++
++int ml_truncate(struct afp_volume * vol, const char * path, off_t offset);
++
++int ml_utime(struct afp_volume * vol, const char * path,
++ struct utimbuf * timebuf);
++
++int ml_symlink(struct afp_volume *vol, const char * path1, const char * path2);
++
++int ml_rename(struct afp_volume * vol,
++ const char * path_from, const char * path_to);
++
++int ml_statfs(struct afp_volume * vol, const char *path, struct statvfs *stat);
++
++void afp_ml_filebase_free(struct afp_file_info **filebase);
++
++int ml_passwd(struct afp_server *server,
++ char * username, char * oldpasswd, char * newpasswd);
++
++
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/uams_def.h afpfs-ng-0.8.1.patch/include/afpfs-ng/uams_def.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/uams_def.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/uams_def.h 2011-09-10 12:13:50.116124557 +0200
+@@ -0,0 +1,16 @@
++#ifndef __UAM_DEFS_H_
++#define __UAM_DEFS_H_
++
++#define UAM_NOUSERAUTHENT 0x1
++#define UAM_CLEARTXTPASSWRD 0x2
++#define UAM_RANDNUMEXCHANGE 0x4
++#define UAM_2WAYRANDNUM 0x8
++#define UAM_DHCAST128 0x10
++#define UAM_CLIENTKRB 0x20
++#define UAM_DHX2 0x40
++#define UAM_RECON1 0x80
++
++int uam_string_to_bitmap(char * name);
++char * uam_bitmap_to_string(unsigned int bitmap);
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/utils.h afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h
+--- afpfs-ng-0.8.1/include/afpfs-ng/utils.h 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h 2011-09-10 12:13:50.116124557 +0200
+@@ -0,0 +1,43 @@
++#ifndef __UTILS_H_
++#define __UTILS_H_
++#include <stdio.h>
++
++#include "afpfs-ng/afp.h"
++
++#if BYTE_ORDER == BIG_ENDIAN
++#define hton64(x) (x)
++#define ntoh64(x) (x)
++#else /* BYTE_ORDER == BIG_ENDIAN */
++#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \
++ (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32))
++#define ntoh64(x) (hton64(x))
++#endif /* BYTE_ORDER == BIG_ENDIAN */
++
++#define min(a,b) (((a)<(b)) ? (a) : (b))
++#define max(a,b) (((a)>(b)) ? (a) : (b))
++
++
++
++unsigned char unixpath_to_afppath(
++ struct afp_server * server,
++ char * buf);
++
++unsigned char sizeof_path_header(struct afp_server * server);
++
++
++
++unsigned char copy_from_pascal(char *dest, char *pascal,unsigned int max_len) ;
++unsigned short copy_from_pascal_two(char *dest, char *pascal,unsigned int max_len);
++
++unsigned char copy_to_pascal(char *dest, const char *src);
++unsigned short copy_to_pascal_two(char *dest, const char *src);
++
++void copy_path(struct afp_server * server, char * dest, const char * pathname, unsigned char len);
++
++
++char * create_path(struct afp_server * server, char * pathname, unsigned short * len);
++
++
++int invalid_filename(struct afp_server * server, const char * filename);
++
++#endif
+diff -Naur afpfs-ng-0.8.1/include/afp.h afpfs-ng-0.8.1.patch/include/afp.h
+--- afpfs-ng-0.8.1/include/afp.h 2008-03-08 17:08:18.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afp.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,533 +0,0 @@
+-
+-#ifndef _AFP_H_
+-#define _AFP_H_
+-
+-#include <arpa/inet.h>
+-#include <pthread.h>
+-#include <netdb.h>
+-#include <sys/statvfs.h>
+-#include <pwd.h>
+-#include <afp_protocol.h>
+-#include <libafpclient.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <unistd.h>
+-#include <netinet/in.h>
+-
+-
+-#define AFPFS_VERSION "0.8.1"
+-
+-/* This is the maximum AFP version this library supports */
+-#define AFP_MAX_SUPPORTED_VERSION 32
+-
+-/* afp_url is used to pass locations around */
+-struct afp_url {
+- enum {TCPIP,AT} protocol;
+- char username[AFP_MAX_USERNAME_LEN];
+- char uamname[50];
+- char password[AFP_MAX_PASSWORD_LEN];
+- char servername[AFP_SERVER_NAME_UTF8_LEN];
+- int port;
+- char volumename[AFP_VOLUME_NAME_UTF8_LEN];
+- char path[AFP_MAX_PATH];
+-
+- int requested_version;
+- char zone[AFP_ZONE_LEN]; /* Only used for Appletalk */
+- char volpassword[9];;
+-};
+-
+-struct afp_token {
+- unsigned int length;
+- char data[AFP_TOKEN_MAX_LEN];
+-};
+-
+-#define SERVER_MAX_VERSIONS 10
+-#define SERVER_MAX_UAMS 10
+-
+-struct afp_rx_buffer {
+- unsigned int size;
+- unsigned int maxsize;
+- char * data;
+- int errorcode;
+-};
+-
+-
+-struct afp_file_info {
+- unsigned short attributes;
+- unsigned int did;
+- unsigned int creation_date;
+- unsigned int modification_date;
+- unsigned int backup_date;
+- unsigned int fileid;
+- unsigned short offspring;
+- char sync;
+- char finderinfo[32];
+- char name[AFP_MAX_PATH];
+- char basename[AFP_MAX_PATH];
+- char translated_name[AFP_MAX_PATH];
+- struct afp_unixprivs unixprivs;
+- unsigned int accessrights;
+- struct afp_file_info * next;
+- struct afp_file_info * largelist_next;
+- unsigned char isdir;
+- unsigned long long size;
+- unsigned short resourcesize;
+- unsigned int resource;
+- unsigned short forkid;
+- struct afp_icon * icon;
+- int eof;
+-};
+-
+-
+-#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_KNOWN 0x1
+-#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_BROKEN 0x2
+-#define VOLUME_EXTRA_FLAGS_SHOW_APPLEDOUBLE 0x4
+-#define VOLUME_EXTRA_FLAGS_VOL_SUPPORTS_UNIX 0x8
+-#define VOLUME_EXTRA_FLAGS_NO_LOCKING 0x10
+-#define VOLUME_EXTRA_FLAGS_IGNORE_UNIXPRIVS 0x20
+-#define VOLUME_EXTRA_FLAGS_READONLY 0x40
+-
+-#define AFP_VOLUME_UNMOUNTED 0
+-#define AFP_VOLUME_MOUNTED 1
+-#define AFP_VOLUME_UNMOUNTING 2
+-
+-struct afp_volume {
+- unsigned short volid;
+- char flags; /* This is from afpGetSrvrParms */
+- unsigned short attributes; /* This is from VolOpen */
+- unsigned short signature; /* This is fixed or variable */
+- unsigned int creation_date;
+- unsigned int modification_date;
+- unsigned int backup_date;
+- struct statvfs stat;
+- unsigned char mounted;
+- char mountpoint[255];
+- struct afp_server * server;
+- char volume_name[AFP_VOLUME_NAME_LEN];
+- char volume_name_printable[AFP_VOLUME_NAME_UTF8_LEN];
+- unsigned short dtrefnum;
+- char volpassword[AFP_VOLPASS_LEN];
+- unsigned int extra_flags; /* This is an afpfs-ng specific field */
+-
+- /* Our directory ID cache */
+- struct did_cache_entry * did_cache_base;
+- pthread_mutex_t did_cache_mutex;
+-
+- /* Our journal of open forks */
+- struct afp_file_info * open_forks;
+- pthread_mutex_t open_forks_mutex;
+-
+- /* Used to trigger startup */
+- pthread_cond_t startup_condition_cond;
+-
+- struct {
+- uint64_t hits;
+- uint64_t misses;
+- uint64_t expired;
+- uint64_t force_removed;
+- } did_cache_stats;
+-
+- void * priv; /* This is a private structure for fuse/cmdline, etc */
+- pthread_t thread; /* This is the per-volume thread */
+-
+- int mapping;
+-
+-};
+-
+-#define SERVER_STATE_CONNECTED 1
+-#define SERVER_STATE_DISCONNECTED 2
+-
+-enum server_type{
+- AFPFS_SERVER_TYPE_UNKNOWN,
+- AFPFS_SERVER_TYPE_NETATALK,
+- AFPFS_SERVER_TYPE_AIRPORT,
+- AFPFS_SERVER_TYPE_MACINTOSH,
+-};
+-
+-#define is_netatalk(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_NETATALK )
+-#define is_airport(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_AIRPORT )
+-#define is_macintosh(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_MACINTOSH )
+-
+-
+-
+-struct afp_versions {
+- char *av_name;
+- int av_number;
+-};
+-extern struct afp_versions afp_versions[];
+-
+-struct afp_server {
+-
+- /* Our buffer sizes */
+- unsigned int tx_quantum;
+- unsigned int rx_quantum;
+-
+- unsigned int tx_delay;
+-
+- /* Connection information */
+- struct sockaddr_in address;
+- int fd;
+-
+- /* Some stats, for information only */
+- struct {
+- uint64_t runt_packets;
+- uint64_t incoming_dsi;
+- uint64_t rx_bytes;
+- uint64_t tx_bytes;
+- uint64_t requests_pending;
+- } stats;
+-
+- /* General information */
+- char server_name[AFP_SERVER_NAME_LEN];
+- char server_name_utf8[AFP_SERVER_NAME_UTF8_LEN];
+- char server_name_printable[AFP_SERVER_NAME_UTF8_LEN];
+-
+- char machine_type[17];
+- char icon[256];
+- char signature[16];
+- unsigned short flags;
+- int connect_state;
+- enum server_type server_type;
+-
+- /* This is the time we connected */
+- time_t connect_time;
+-
+- /* UAMs */
+- unsigned int supported_uams;
+- unsigned int using_uam;
+-
+- /* Authentication */
+- char username[AFP_MAX_USERNAME_LEN];
+- char password[AFP_MAX_PASSWORD_LEN];
+-
+- /* Session */
+- struct afp_token token;
+- char need_resume;
+-
+- /* Versions */
+- unsigned char requested_version;
+- unsigned char versions[SERVER_MAX_VERSIONS];
+- struct afp_versions *using_version;
+-
+- /* Volumes */
+- unsigned char num_volumes;
+- struct afp_volume * volumes;
+-
+- void * dsi;
+- unsigned int exit_flag;
+-
+- /* Our DSI request queue */
+- pthread_mutex_t requestid_mutex;
+- pthread_mutex_t request_queue_mutex;
+- unsigned short lastrequestid;
+- unsigned short expectedrequestid;
+- struct dsi_request * command_requests;
+-
+-
+- char loginmesg[200];
+- char servermesg[200];
+- char path_encoding;
+-
+- /* This is the data for the incoming buffer */
+- char * incoming_buffer;
+- int data_read;
+- int bufsize;
+-
+- /* And this is for the outgoing queue */
+- pthread_mutex_t send_mutex;
+-
+- /* This is for user mapping */
+- struct passwd passwd;
+- unsigned int server_uid, server_gid;
+- int server_gid_valid;
+-
+- struct afp_server *next;
+-
+- /* These are for DSI attention packets */
+- unsigned int attention_quantum;
+- unsigned int attention_len;
+- char * attention_buffer;
+-
+-};
+-
+-struct afp_extattr_info {
+- unsigned int maxsize;
+- unsigned int size;
+- char data[1024];
+-};
+-struct afp_comment {
+- unsigned int maxsize;
+- unsigned int size;
+- char *data;
+-};
+-
+-struct afp_icon {
+- unsigned int maxsize;
+- unsigned int size;
+- char *data;
+-};
+-
+-#define AFP_DEFAULT_ATTENTION_QUANTUM 1024
+-
+-void afp_unixpriv_to_stat(struct afp_file_info *fp,
+- struct stat *stat);
+-
+-int init_uams(void) ;
+-
+-unsigned int find_uam_by_name(const char * name);
+-char * uam_bitmap_to_string(unsigned int bitmap);
+-
+-
+-char * get_uam_names_list(void);
+-
+-unsigned int default_uams_mask(void);
+-
+-struct afp_volume * find_volume_by_name(struct afp_server * server,
+- const char * volname);
+-
+-struct afp_connection_request {
+- unsigned int uam_mask;
+- struct afp_url url;
+-};
+-
+-void afp_default_url(struct afp_url *url);
+-int afp_parse_url(struct afp_url * url, const char * toparse, int verbose);
+-void afp_print_url(struct afp_url * url);
+-int afp_url_validate(char * url_string, struct afp_url * valid_url);
+-
+-int afp_list_volnames(struct afp_server * server, char * names, int max);
+-
+-/* User mapping */
+-int afp_detect_mapping(struct afp_volume * volume);
+-
+-/* These are some functions that help with simple status text generation */
+-
+-int afp_status_header(char * text, int * len);
+-int afp_status_server(struct afp_server * s,char * text, int * len);
+-
+-
+-struct afp_server * afp_server_full_connect(void * priv, struct afp_connection_request * req);
+-
+-void * just_end_it_now(void *other);
+-void add_fd_and_signal(int fd);
+-void loop_disconnect(struct afp_server *s);
+-void afp_wait_for_started_loop(void);
+-
+-
+-struct afp_versions * pick_version(unsigned char *versions,
+- unsigned char requested) ;
+-int pick_uam(unsigned int u1, unsigned int u2);
+-
+-int afp_server_login(struct afp_server *server,
+- char * mesg, unsigned int *l, unsigned int max);
+-
+-
+-int afp_dologin(struct afp_server *server,
+- unsigned int uam, char * username, char * passwd);
+-
+-void afp_free_server(struct afp_server **server);
+-
+-struct afp_server * afp_server_init(struct sockaddr_in * address);
+-int afp_get_address(void * priv, const char * hostname, unsigned int port,
+- struct sockaddr_in * address);
+-
+-
+-int afp_main_loop(int command_fd);
+-int afp_main_quick_startup(pthread_t * thread);
+-
+-int afp_server_destroy(struct afp_server *s) ;
+-int afp_server_reconnect(struct afp_server * s, char * mesg,
+- unsigned int *l, unsigned int max);
+-int afp_server_connect(struct afp_server *s, int full);
+-
+-struct afp_server * afp_server_complete_connection(
+- void * priv,
+- struct afp_server * server,
+- struct sockaddr_in * address, unsigned char * versions,
+- unsigned int uams, char * username, char * password,
+- unsigned int requested_version, unsigned int uam_mask);
+-
+-int afp_connect_volume(struct afp_volume * volume, struct afp_server * server,
+- char * mesg, unsigned int * l, unsigned int max);
+-int something_is_mounted(struct afp_server * server);
+-
+-int add_cache_entry(struct afp_file_info * file) ;
+-struct afp_file_info * get_cache_by_name(char * name);
+-struct afp_server * find_server_by_address(struct sockaddr_in * address);
+-struct afp_server * find_server_by_signature(char * signature);
+-struct afp_server * find_server_by_name(char * name);
+-int server_still_valid(struct afp_server * server);
+-
+-
+-struct afp_server * get_server_base(void);
+-int afp_server_remove(struct afp_server * server);
+-
+-int afp_unmount_volume(struct afp_volume * volume);
+-int afp_unmount_all_volumes(struct afp_server * server);
+-
+-#define volume_is_readonly(x) (((x)->attributes&kReadOnly) || \
+- ((x)->extra_flags & VOLUME_EXTRA_FLAGS_READONLY))
+-
+-int afp_opendt(struct afp_volume *volume, unsigned short * refnum);
+-
+-int afp_closedt(struct afp_server * server, unsigned short * refnum);
+-
+-int afp_getcomment(struct afp_volume *volume, unsigned int did,
+- const char * pathname, struct afp_comment * comment);
+-
+-int afp_addcomment(struct afp_volume *volume, unsigned int did,
+- const char * pathname, char * comment,uint64_t *size);
+-
+-int afp_geticon(struct afp_volume * volume, unsigned int filecreator,
+- unsigned int filetype, unsigned char icontype,
+- unsigned short length, struct afp_icon * icon);
+-
+-/* Things you want to do to a server */
+-
+-int afp_getsrvrmsg(struct afp_server *server, unsigned short messagetype,unsigned char utf8, unsigned char block, char * mesg);
+-
+-int afp_login(struct afp_server *server, char * uaname,
+- char * userauthinfo, unsigned int userauthinfo_len,
+- struct afp_rx_buffer *rx);
+-
+-int afp_changepassword(struct afp_server *server, char * uaname,
+- char * userauthinfo, unsigned int userauthinfo_len,
+- struct afp_rx_buffer *rx);
+-
+-int afp_logincont(struct afp_server *server, unsigned short id,
+- char * userauthinfo, unsigned int userauthinfo_len,
+- struct afp_rx_buffer *rx);
+-
+-int afp_getsessiontoken(struct afp_server * server, int type,
+- unsigned int timestamp, struct afp_token *outgoing_token,
+- struct afp_token * incoming_token);
+-
+-int afp_getsrvrparms(struct afp_server *server);
+-
+-int afp_logout(struct afp_server *server,unsigned char wait);
+-
+-int afp_mapname(struct afp_server * server, unsigned char subfunction,
+- char * name, unsigned int * id);
+-
+-int afp_mapid(struct afp_server * server, unsigned char subfunction,
+- unsigned int id, char *name);
+-
+-int afp_getuserinfo(struct afp_server * server, int thisuser,
+- unsigned int userid, unsigned short bitmap,
+- unsigned int *newuid, unsigned int *newgid);
+-
+-int afp_zzzzz(struct afp_server *server);
+-
+-int afp_volopen(struct afp_volume * volume,
+- unsigned short bitmap, char * password);
+-
+-int afp_flush(struct afp_volume * volume);
+-
+-int afp_getfiledirparms(struct afp_volume *volume, unsigned int did,
+- unsigned int filebitmap, unsigned int dirbitmap, const char * pathname,
+- struct afp_file_info *fp);
+-
+-int afp_enumerate(struct afp_volume * volume,
+- unsigned int dirid,
+- unsigned int filebitmap, unsigned int dirbitmap,
+- unsigned short reqcount,
+- unsigned short startindex,
+- char * path,
+- struct afp_file_info ** file_p);
+-
+-int afp_enumerateext2(struct afp_volume * volume,
+- unsigned int dirid,
+- unsigned int filebitmap, unsigned int dirbitmap,
+- unsigned short reqcount,
+- unsigned long startindex,
+- char * path,
+- struct afp_file_info ** file_p);
+-
+-int afp_openfork(struct afp_volume * volume,
+- unsigned char forktype,
+- unsigned int dirid,
+- unsigned short accessmode,
+- char * filename,
+- struct afp_file_info *fp);
+-
+-int afp_read(struct afp_volume * volume, unsigned short forkid,
+- uint32_t offset,
+- uint32_t count, struct afp_rx_buffer * rx);
+-
+-int afp_readext(struct afp_volume * volume, unsigned short forkid,
+- uint64_t offset,
+- uint64_t count, struct afp_rx_buffer * rx);
+-
+-int afp_getvolparms(struct afp_volume * volume, unsigned short bitmap);
+-
+-
+-int afp_createdir(struct afp_volume * volume, unsigned int dirid, const char * pathname, unsigned int *did_p);
+-
+-int afp_delete(struct afp_volume * volume,
+- unsigned int dirid, char * pathname);
+-
+-
+-int afp_createfile(struct afp_volume * volume, unsigned char flag,
+- unsigned int did, char * pathname);
+-
+-int afp_write(struct afp_volume * volume, unsigned short forkid,
+- uint32_t offset, uint32_t reqcount,
+- char * data, uint32_t * written);
+-
+-int afp_writeext(struct afp_volume * volume, unsigned short forkid,
+- uint64_t offset, uint64_t reqcount,
+- char * data, uint64_t * written);
+-
+-int afp_flushfork(struct afp_volume * volume, unsigned short forkid);
+-
+-int afp_closefork(struct afp_volume * volume, unsigned short forkid);
+-int afp_setfileparms(struct afp_volume * volume,
+- unsigned int dirid, const char * pathname, unsigned short bitmap,
+- struct afp_file_info *fp);
+-int afp_setfiledirparms(struct afp_volume * volume,
+- unsigned int dirid, const char * pathname, unsigned short bitmap,
+- struct afp_file_info *fp);
+-
+-int afp_setdirparms(struct afp_volume * volume,
+- unsigned int dirid, const char * pathname, unsigned short bitmap,
+- struct afp_file_info *fp);
+-
+-int afp_volclose(struct afp_volume * volume);
+-
+-
+-int afp_setforkparms(struct afp_volume *volume,
+- unsigned short forkid, unsigned short bitmap, unsigned long len);
+-
+-int afp_byterangelock(struct afp_volume * volume,
+- unsigned char flag,
+- unsigned short forkid,
+- uint32_t offset,
+- uint32_t len, uint32_t *generated_offset);
+-
+-int afp_byterangelockext(struct afp_volume * volume,
+- unsigned char flag,
+- unsigned short forkid,
+- uint64_t offset,
+- uint64_t len, uint64_t *generated_offset);
+-
+-int afp_moveandrename(struct afp_volume *volume,
+- unsigned int src_did,
+- unsigned int dst_did,
+- char * src_path, char * dst_path, char *new_name);
+-
+-int afp_rename(struct afp_volume * volume,
+- unsigned int dirid,
+- char * path_from, char * path_to);
+-
+-int afp_listextattr(struct afp_volume * volume,
+- unsigned int dirid, unsigned short bitmap,
+- char * pathname, struct afp_extattr_info * info);
+-
+-/* This is a currently undocumented command */
+-int afp_newcommand76(struct afp_volume * volume, unsigned int dlen, char * data);
+-
+-/* For debugging */
+-char * afp_get_command_name(char code);
+-
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/afp_protocol.h afpfs-ng-0.8.1.patch/include/afp_protocol.h
+--- afpfs-ng-0.8.1/include/afp_protocol.h 2008-02-18 04:33:43.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/afp_protocol.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,361 +0,0 @@
+-
+-#ifndef _AFP_PROTOCOL_H_
+-#define _AFP_PROTOCOL_H_
+-
+-#include <sys/types.h>
+-#include <stddef.h>
+-#include <unistd.h>
+-#include <stdint.h>
+-
+-/* This file defines constants for the Apple File Protocol.
+- All page references are from "Apple Filing Protocol Programming" version 3.2.
+- except where noted.
+-*/
+-
+-#define AFP_SERVER_NAME_LEN 33
+-#define AFP_SERVER_NAME_UTF8_LEN 255
+-#define AFP_VOLUME_NAME_LEN 33
+-#define AFP_VOLUME_NAME_UTF8_LEN 33
+-#define AFP_SIGNATURE_LEN 16
+-#define AFP_MACHINETYPE_LEN 33
+-#define AFP_LOGINMESG_LEN 200
+-#define AFP_VOLPASS_LEN 8
+-#define AFP_HOSTNAME_LEN 255
+-/* This is actually just a guess, and only used for appletalk */
+-#define AFP_ZONE_LEN 255
+-
+-#define AFP_SERVER_ICON_LEN 256
+-
+-
+-#define AFP_MAX_USERNAME_LEN 127
+-#define AFP_MAX_PASSWORD_LEN 127
+-
+-
+-/* This is the maximum length of any UAM string */
+-#define AFP_UAM_LENGTH 24
+-
+-/* This is the maximum length of any path description */
+-#define AFP_MAX_PATH 768
+-
+-#define AFP_VOL_FLAT 1
+-#define AFP_VOL_FIXED 2
+-#define AFP_VOL_VARIABLE 3
+-
+-/* The root directory ID, p.26 */
+-
+-#define AFP_ROOT_DID 2
+-
+-/* Path type constants, p.249 */
+-
+-enum {
+-kFPShortName = 1,
+-kFPLongName = 2,
+-kFPUTF8Name = 3
+-};
+-
+-/* fork types */
+-
+-#define AFP_FORKTYPE_DATA 0x0
+-#define AFP_FORKTYPE_RESOURCE 0x80
+-
+-/* openfork access modes, from p.196 */
+-
+-#define AFP_OPENFORK_ALLOWREAD 1
+-#define AFP_OPENFORK_ALLOWWRITE 2
+-#define AFP_OPENFORK_DENYREAD 0x10
+-#define AFP_OPENFORK_DENYWRITE 0x20
+-
+-/* Message type for getsrvmesg, p. 169*/
+-
+-typedef enum {
+- AFPMESG_LOGIN = 0,
+- AFPMESG_SERVER = 1
+-} afpmessage_t;
+-
+-/* Message bitmap for getsrvrmsg */
+-
+-#define AFP_GETSRVRMSG_UTF8 0x2
+-#define AFP_GETSRVRMSG_GETMSG 0x1
+-
+-
+-/* Maximum Version length, p.17 */
+-#define AFP_MAX_VERSION_LENGTH 16
+-
+-/* Maximum length of a token, this is undocumented */
+-#define AFP_TOKEN_MAX_LEN 256
+-
+-/* The maximum size of a file for AFP 2 */
+-#define AFP_MAX_AFP2_FILESIZE (4294967296)
+-
+-/* Unix privs, p.240 */
+-
+-struct afp_unixprivs {
+- uint32_t uid __attribute__((__packed__));
+- uint32_t gid __attribute__((__packed__));
+- uint32_t permissions __attribute__((__packed__));
+- uint32_t ua_permissions __attribute__((__packed__));
+-
+-};
+-
+-
+-/* AFP Volume attributes bitmap, p.241 */
+-
+-enum {
+- kReadOnly = 0x01,
+- kHasVolumePassword = 0x02,
+- kSupportsFileIDs = 0x04,
+- kSupportsCatSearch = 0x08,
+- kSupportsBlankAccessPrivs = 0x10,
+- kSupportsUnixPrivs = 0x20,
+- kSupportsUTF8Names = 0x40,
+- kNoNetworkUserIDs = 0x80,
+- kDefaultPrivsFromParent = 0x100,
+- kNoExchangeFiles = 0x200,
+- kSupportsExtAttrs = 0x400,
+- kSupportsACLs=0x800
+-};
+-
+-/* AFP file creation constantes, p.250 */
+-enum {
+-kFPSoftCreate = 0,
+-kFPHardCreate = 0x80
+-};
+-
+-/* AFP Directory attributes, taken from the protocol guide p.236 */
+-
+-enum {
+- kFPAttributeBit = 0x1,
+- kFPParentDirIDBit = 0x2,
+- kFPCreateDateBit = 0x4,
+- kFPModDateBit = 0x8,
+- kFPBackupDateBit = 0x10,
+- kFPFinderInfoBit = 0x20,
+- kFPLongNameBit = 0x40,
+- kFPShortNameBit = 0x80,
+- kFPNodeIDBit = 0x100,
+- kFPOffspringCountBit = 0x0200,
+- kFPOwnerIDBit = 0x0400,
+- kFPGroupIDBit = 0x0800,
+- kFPAccessRightsBit = 0x1000,
+- kFPProDOSInfoBit = 0x2000, // AFP version 2.2 and earlier
+- kFPUTF8NameBit = 0x2000, // AFP version 3.0 and later
+- kFPUnixPrivsBit = 0x8000 // AFP version 3.0 and later
+-};
+-
+-/* AFP File bitmap, p.238. These are the ones not in the AFP Directory
+- attributes map. */
+-
+-enum {
+- kFPDataForkLenBit = 0x0200,
+- kFPRsrcForkLenBit = 0x0400,
+- kFPExtDataForkLenBit = 0x0800, // AFP version 3.0 and later
+- kFPLaunchLimitBit = 0x1000,
+- kFPExtRsrcForkLenBit = 0x4000, // AFP version 3.0 and later
+-};
+-
+-/* AFP Extended Attributes Bitmap, p.238 */
+-
+-enum {
+- kXAttrNoFollow = 0x1,
+- kXAttrCreate = 0x2,
+- kXAttrREplace=0x4
+-};
+-
+-
+-/* AFP function codes */
+-enum AFPFunction
+-{
+- afpByteRangeLock = 1, afpCloseVol, afpCloseDir, afpCloseFork,
+- afpCopyFile, afpCreateDir, afpCreateFile,
+- afpDelete, afpEnumerate, afpFlush, afpFlushFork,
+- afpGetForkParms = 14, afpGetSrvrInfo, afpGetSrvrParms,
+- afpGetVolParms, afpLogin, afpLoginCont, afpLogout, afpMapID,
+- afpMapName, afpMoveAndRename, afpOpenVol, afpOpenDir, afpOpenFork,
+- afpRead, afpRename, afpSetDirParms, afpSetFileParms,
+- afpSetForkParms, afpSetVolParms, afpWrite, afpGetFileDirParms,
+- afpSetFileDirParms, afpChangePassword,
+- afpGetUserInfo=37,afpGetSrvrMsg = 38,
+- afpOpenDT=48,
+- afpCloseDT=49,
+- afpGetIcon=51, afpGetIconInfo=52,
+- afpAddComment=56, afpRemoveComment=57, afpGetComment=58,
+- afpByteRangeLockExt=59, afpReadExt, afpWriteExt,
+- afpGetAuthMethods=62,
+- afp_LoginExt=63,
+- afpGetSessionToken=64,
+- afpDisconnectOldSession=65,
+- afpEnumerateExt=66,
+- afpCatSearchExt = 67,
+- afpEnumerateExt2 = 68, afpGetExtAttr, afpSetExtAttr,
+- afpRemoveExtAttr , afpListExtAttrs,
+- afpZzzzz = 122,
+- afpAddIcon=192,
+-};
+-
+-/* AFP Volume bitmap. Take from 242 of the protocol guide. */
+-enum {
+- kFPBadVolPre222Bitmap = 0xFe00,
+- kFPBadVolBitmap = 0xF000,
+- kFPVolAttributeBit = 0x1,
+- kFPVolSignatureBit = 0x2,
+- kFPVolCreateDateBit = 0x4,
+- kFPVolModDateBit = 0x8,
+- kFPVolBackupDateBit = 0x10,
+- kFPVolIDBit = 0x20,
+- kFPVolBytesFreeBit = 0x40,
+- kFPVolBytesTotalBit = 0x80,
+- kFPVolNameBit = 0x100,
+- kFPVolExtBytesFreeBit = 0x200,
+- kFPVolExtBytesTotalBit = 0x400,
+- kFPVolBlockSizeBit = 0x800
+-};
+-
+-/* AFP Attention Codes -- 4 bits */
+-#define AFPATTN_SHUTDOWN (1 << 15) /* shutdown/disconnect */
+-#define AFPATTN_CRASH (1 << 14) /* server crashed */
+-#define AFPATTN_MESG (1 << 13) /* server has message */
+-#define AFPATTN_NORECONNECT (1 << 12) /* don't reconnect */
+-/* server notification */
+-#define AFPATTN_NOTIFY (AFPATTN_MESG | AFPATTN_NORECONNECT)
+-
+-/* extended bitmap -- 12 bits. volchanged is only useful w/ a server
+- * notification, and time is only useful for shutdown. */
+-#define AFPATTN_VOLCHANGED (1 << 0) /* volume has changed */
+-#define AFPATTN_TIME(x) ((x) & 0xfff) /* time in minutes */
+-
+-#define kFPNoErr 0
+-
+-/* AFP result codes, p252 */
+-#define kASPSessClosed -1072
+-#define kFPAccessDenied -5000
+-#define kFPAuthContinue -5001
+-#define kFPBadUAM -5002
+-#define kFPBadVersNum -5003
+-#define kFPBitmapErr -5004
+-#define kFPCantMove -5005
+-#define kFPDenyConflict -5006
+-#define kFPDirNotEmpty -5007
+-#define kFPDiskFull -5008
+-#define kFPEOFErr -5009
+-#define kFPFileBusy -5010
+-#define kFPFlatVol -5011
+-#define kFPItemNotFound -5012
+-#define kFPLockErr -5013
+-#define kFPMiscErr -5014
+-#define kFPNoMoreLocks -5015
+-#define kFPNoServer -5016
+-#define kFPObjectExists -5017
+-#define kFPObjectNotFound -5018
+-#define kFPParamErr -5019
+-#define kFPRangeNotLocked -5020
+-#define kFPRangeOverlap -5021
+-#define kFPSessClosed -5022
+-#define kFPUserNotAuth -5023
+-#define kFPCallNotSupported -5024
+-#define kFPObjectTypeErr -5025
+-#define kFPTooManyFilesOpen -5026
+-#define kFPServerGoingDown -5027
+-#define kFPCantRename -5028
+-#define kFPDirNotFound -5029
+-#define kFPIconTypeError -5030
+-#define kFPVolLocked -5031
+-#define kFPObjectLocked -5032
+-#define kFPContainsSharedErr -5033
+-#define kFPIDNotFound -5034
+-#define kFPIDExists -5035
+-#define kFPDiffVolErr -5036
+-#define kFPCatalogChanged -5037
+-#define kFPSameObjectErr -5038
+-#define kFPBadIDErr -5039
+-#define kFPPwdSameErr -5040
+-#define kFPPwdTooShortErr -5041
+-#define kFPPwdExpiredErr -5042
+-#define kFPInsideSharedErr -5043
+-#define kFPInsideTrashErr -5044
+-#define kFPPwdNeedsChangeErr -5045
+-#define kFPPwdPolicyErr -5046
+-#define kFPDiskQuotaExceeded –5047
+-
+-
+-
+-/* These flags determine to lock or unlock in ByteRangeLock(Ext) */
+-
+-enum {
+-ByteRangeLock_Lock = 0,
+-ByteRangeLock_Unlock = 1
+-};
+-
+-/* These flags are used in volopen and getsrvrparm replies, p.171 */
+-
+-#define HasConfigInfo 0x1
+-#define HasPassword 0x80
+-
+-/* These are the subfunction for kFPMapID, as per p.248 */
+-
+-enum {
+-kUserIDToName = 1,
+-kGroupIDToName = 2,
+-kUserIDToUTF8Name = 3,
+-kGroupIDToUTF8Name = 4,
+-kUserUUIDToUTF8Name = 5,
+-kGroupUUIDToUTF8Name = 6
+-};
+-
+-
+-/* These are the subfunction flags described in the FPMapName command, p.286.
+- Note that this is different than what's described on p. 186. */
+-
+-enum {
+-kNameToUserID = 1,
+-kNameToGroupID = 2,
+-kUTF8NameToUserID = 3,
+-kUTF8NameToGroupID = 4,
+-kUTF8NameToUserUUID = 5,
+-kUTF8NameToGroupUUID = 6
+-};
+-
+-/* These are bits for FPGetUserInfo, p.173. */
+-#define kFPGetUserInfo_USER_ID 1
+-#define kFPGetUserInfo_PRI_GROUPID 2
+-
+-/* Flags for the replies of GetSrvrInfo and DSI GetStatus, p.240 */
+-
+-enum {
+- kSupportsCopyfile = 0x01,
+- kSupportsChgPwd = 0x02,
+- kDontAllowSavePwd = 0x04,
+- kSupportsSrvrMsg = 0x08,
+- kSrvrSig = 0x10,
+- kSupportsTCP = 0x20,
+- kSupportsSrvrNotify = 0x40,
+- kSupportsReconnect = 0x80,
+- kSupportsDirServices = 0x100,
+- kSupportsUTF8SrvrName = 0x200,
+- kSupportsUUIDs = 0x400,
+- kSupportsSuperClient = 0x8000
+-};
+-
+-
+-/* p.247 */
+-
+-enum {
+- kLoginWithoutID = 0,
+- kLoginWithID = 1,
+- kReconnWithID = 2,
+- kLoginWithTimeAndID = 3,
+- kReconnWithTimeAndID = 4,
+- kRecon1Login = 5,
+- kRecon1ReconnectLogin = 6,
+- kRecon1Refresh = 7, kGetKerberosSessionKey = 8
+-};
+-
+-
+-#define AFP_CHMOD_ALLOWED_BITS_22 \
+- (S_IRUSR |S_IWUSR | S_IRGRP | S_IWGRP |S_IROTH | S_IWOTH | S_IFREG )
+-
+-
+-#endif
+-
+-
+-
+-
+diff -Naur afpfs-ng-0.8.1/include/codepage.h afpfs-ng-0.8.1.patch/include/codepage.h
+--- afpfs-ng-0.8.1/include/codepage.h 2007-09-23 16:21:30.000000000 +0200
++++ afpfs-ng-0.8.1.patch/include/codepage.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-#ifndef __CODE_PAGE_H_
+-#define __CODE_PAGE_H_
+-int convert_utf8dec_to_utf8pre(const char *src, int src_len,
+- char * dest, int dest_len);
+-int convert_utf8pre_to_utf8dec(const char * src, int src_len,
+- char * dest, int dest_len);
+-int convert_path_to_unix(char encoding, char * dest,
+- char * src, int dest_len);
+-int convert_path_to_afp(char encoding, char * dest,
+- char * src, int dest_len);
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/dsi.h afpfs-ng-0.8.1.patch/include/dsi.h
+--- afpfs-ng-0.8.1/include/dsi.h 2008-02-18 04:33:24.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/dsi.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,33 +0,0 @@
+-
+-#ifndef __DSI_H_
+-#define __DSI_H_
+-
+-#include "afp.h"
+-
+-struct dsi_request
+-{
+- unsigned short requestid;
+- unsigned char subcommand;
+- void * other;
+- unsigned char wait;
+- pthread_cond_t condition_cond;
+- struct dsi_request * next;
+- int return_code;
+-};
+-
+-int dsi_receive(struct afp_server * server, void * data, int size);
+-int dsi_getstatus(struct afp_server * server);
+-
+-int dsi_opensession(struct afp_server *server);
+-
+-int dsi_send(struct afp_server *server, char * msg, int size,int wait,unsigned char subcommand, void ** other);
+-struct dsi_session * dsi_create(struct afp_server *server);
+-int dsi_restart(struct afp_server *server);
+-int dsi_recv(struct afp_server * server);
+-
+-#define DSI_BLOCK_TIMEOUT -1
+-#define DSI_DONT_WAIT 0
+-#define DSI_DEFAULT_TIMEOUT 5
+-
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/libafpclient.h afpfs-ng-0.8.1.patch/include/libafpclient.h
+--- afpfs-ng-0.8.1/include/libafpclient.h 2008-01-30 05:37:59.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/libafpclient.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,50 +0,0 @@
+-
+-#ifndef __CLIENT_H_
+-#define __CLIENT_H_
+-
+-#include <unistd.h>
+-#include <syslog.h>
+-
+-#define MAX_CLIENT_RESPONSE 2048
+-
+-
+-enum loglevels {
+- AFPFSD,
+-};
+-
+-struct afp_server;
+-struct afp_volume;
+-
+-struct libafpclient {
+- int (*unmount_volume) (struct afp_volume * volume);
+- void (*log_for_client)(void * priv,
+- enum loglevels loglevel, int logtype, const char *message);
+- void (*forced_ending_hook)(void);
+- int (*scan_extra_fds)(int command_fd,fd_set *set, int * max_fd);
+- void (*loop_started)(void);
+-} ;
+-
+-extern struct libafpclient * libafpclient;
+-
+-void libafpclient_register(struct libafpclient * tmpclient);
+-
+-
+-void signal_main_thread(void);
+-
+-/* These are logging functions */
+-
+-#define MAXLOGSIZE 2048
+-
+-#define LOG_METHOD_SYSLOG 1
+-#define LOG_METHOD_STDOUT 2
+-
+-void set_log_method(int m);
+-
+-
+-void log_for_client(void * priv,
+- enum loglevels loglevel, int logtype, char * message,...);
+-
+-void stdout_log_for_client(void * priv,
+- enum loglevels loglevel, int logtype, const char *message);
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/Makefile.am afpfs-ng-0.8.1.patch/include/Makefile.am
+--- afpfs-ng-0.8.1/include/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/Makefile.am 2011-09-10 12:13:50.126124692 +0200
+@@ -0,0 +1,3 @@
++## Process this file with automake to produce Makefile.in
++
++SUBDIRS = afpfs-ng
+diff -Naur afpfs-ng-0.8.1/include/map_def.h afpfs-ng-0.8.1.patch/include/map_def.h
+--- afpfs-ng-0.8.1/include/map_def.h 2008-01-17 05:55:46.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/map_def.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,15 +0,0 @@
+-#ifndef __MAP_H_
+-#define __MAP_H_
+-
+-#include "afp.h"
+-
+-#define AFP_MAPPING_UNKNOWN 0
+-#define AFP_MAPPING_COMMON 1
+-#define AFP_MAPPING_LOGINIDS 2
+-#define AFP_MAPPING_NAME 3
+-
+-unsigned int map_string_to_num(char * name);
+-char * get_mapping_name(struct afp_volume * volume);
+-
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/midlevel.h afpfs-ng-0.8.1.patch/include/midlevel.h
+--- afpfs-ng-0.8.1/include/midlevel.h 2007-12-24 20:39:25.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/midlevel.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,64 +0,0 @@
+-#ifndef __MIDLEVEL_H_
+-#define __MIDLEVEL_H_
+-
+-#include <utime.h>
+-#include "afp.h"
+-
+-int ml_open(struct afp_volume * volume, const char *path, int flags,
+- struct afp_file_info **newfp);
+-
+-int ml_creat(struct afp_volume * volume, const char *path,mode_t mode);
+-
+-int ml_readdir(struct afp_volume * volume,
+- const char *path,
+- struct afp_file_info **base);
+-
+-int ml_read(struct afp_volume * volume, const char *path,
+- char *buf, size_t size, off_t offset,
+- struct afp_file_info *fp, int * eof);
+-
+-int ml_chmod(struct afp_volume * vol, const char * path, mode_t mode);
+-
+-int ml_unlink(struct afp_volume * vol, const char *path);
+-
+-int ml_mkdir(struct afp_volume * vol, const char * path, mode_t mode);
+-
+-int ml_close(struct afp_volume * volume, const char * path,
+- struct afp_file_info * fp);
+-
+-int ml_getattr(struct afp_volume * volume, const char *path,
+- struct stat *stbuf);
+-
+-int ml_write(struct afp_volume * volume, const char * path,
+- const char *data, size_t size, off_t offset,
+- struct afp_file_info * fp, uid_t uid,
+- gid_t gid);
+-
+-int ml_readlink(struct afp_volume * vol, const char * path,
+- char *buf, size_t size);
+-
+-int ml_rmdir(struct afp_volume * vol, const char *path);
+-
+-int ml_chown(struct afp_volume * vol, const char * path,
+- uid_t uid, gid_t gid);
+-
+-int ml_truncate(struct afp_volume * vol, const char * path, off_t offset);
+-
+-int ml_utime(struct afp_volume * vol, const char * path,
+- struct utimbuf * timebuf);
+-
+-int ml_symlink(struct afp_volume *vol, const char * path1, const char * path2);
+-
+-int ml_rename(struct afp_volume * vol,
+- const char * path_from, const char * path_to);
+-
+-int ml_statfs(struct afp_volume * vol, const char *path, struct statvfs *stat);
+-
+-void afp_ml_filebase_free(struct afp_file_info **filebase);
+-
+-int ml_passwd(struct afp_server *server,
+- char * username, char * oldpasswd, char * newpasswd);
+-
+-
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/uams_def.h afpfs-ng-0.8.1.patch/include/uams_def.h
+--- afpfs-ng-0.8.1/include/uams_def.h 2007-09-07 15:10:51.000000000 +0200
++++ afpfs-ng-0.8.1.patch/include/uams_def.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,16 +0,0 @@
+-#ifndef __UAM_DEFS_H_
+-#define __UAM_DEFS_H_
+-
+-#define UAM_NOUSERAUTHENT 0x1
+-#define UAM_CLEARTXTPASSWRD 0x2
+-#define UAM_RANDNUMEXCHANGE 0x4
+-#define UAM_2WAYRANDNUM 0x8
+-#define UAM_DHCAST128 0x10
+-#define UAM_CLIENTKRB 0x20
+-#define UAM_DHX2 0x40
+-#define UAM_RECON1 0x80
+-
+-int uam_string_to_bitmap(char * name);
+-char * uam_bitmap_to_string(unsigned int bitmap);
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/include/utils.h afpfs-ng-0.8.1.patch/include/utils.h
+--- afpfs-ng-0.8.1/include/utils.h 2008-02-18 04:33:58.000000000 +0100
++++ afpfs-ng-0.8.1.patch/include/utils.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,43 +0,0 @@
+-#ifndef __UTILS_H_
+-#define __UTILS_H_
+-#include <stdio.h>
+-
+-#include "afp.h"
+-
+-#if BYTE_ORDER == BIG_ENDIAN
+-#define hton64(x) (x)
+-#define ntoh64(x) (x)
+-#else /* BYTE_ORDER == BIG_ENDIAN */
+-#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \
+- (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32))
+-#define ntoh64(x) (hton64(x))
+-#endif /* BYTE_ORDER == BIG_ENDIAN */
+-
+-#define min(a,b) (((a)<(b)) ? (a) : (b))
+-#define max(a,b) (((a)>(b)) ? (a) : (b))
+-
+-
+-
+-unsigned char unixpath_to_afppath(
+- struct afp_server * server,
+- char * buf);
+-
+-unsigned char sizeof_path_header(struct afp_server * server);
+-
+-
+-
+-unsigned char copy_from_pascal(char *dest, char *pascal,unsigned int max_len) ;
+-unsigned short copy_from_pascal_two(char *dest, char *pascal,unsigned int max_len);
+-
+-unsigned char copy_to_pascal(char *dest, const char *src);
+-unsigned short copy_to_pascal_two(char *dest, const char *src);
+-
+-void copy_path(struct afp_server * server, char * dest, const char * pathname, unsigned char len);
+-
+-
+-char * create_path(struct afp_server * server, char * pathname, unsigned short * len);
+-
+-
+-int invalid_filename(struct afp_server * server, const char * filename);
+-
+-#endif
+diff -Naur afpfs-ng-0.8.1/lib/afp.c afpfs-ng-0.8.1.patch/lib/afp.c
+--- afpfs-ng-0.8.1/lib/afp.c 2008-03-08 03:44:16.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/afp.c 2011-09-10 12:13:50.131124759 +0200
+@@ -9,7 +9,7 @@
+
+
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+ #include <config.h>
+
+ #include <stdio.h>
+@@ -21,17 +21,17 @@
+ #include <sys/socket.h>
+ #include <errno.h>
+
+-#include "afp_protocol.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "server.h"
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+ #include "dsi_protocol.h"
+-#include "utils.h"
++#include "afpfs-ng/utils.h"
+ #include "afp_replies.h"
+ #include "afp_internal.h"
+ #include "did.h"
+ #include "forklist.h"
+-#include "codepage.h"
++#include "afpfs-ng/codepage.h"
+
+ struct afp_versions afp_versions[] = {
+ { "AFPVersion 1.1", 11 },
+diff -Naur afpfs-ng-0.8.1/lib/afp_internal.h afpfs-ng-0.8.1.patch/lib/afp_internal.h
+--- afpfs-ng-0.8.1/lib/afp_internal.h 2007-11-09 05:27:20.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/afp_internal.h 2011-09-10 12:13:50.132124772 +0200
+@@ -1,7 +1,7 @@
+ #ifndef _AFP_INTERNAL_H_
+ #define _AFP_INTERNAL_H_
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ extern struct afp_versions afp_versions[];
+
+diff -Naur afpfs-ng-0.8.1/lib/afp_url.c afpfs-ng-0.8.1.patch/lib/afp_url.c
+--- afpfs-ng-0.8.1/lib/afp_url.c 2008-03-04 21:16:49.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/afp_url.c 2011-09-10 12:13:50.132124772 +0200
+@@ -3,7 +3,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <errno.h>
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ void afp_default_url(struct afp_url *url)
+ {
+diff -Naur afpfs-ng-0.8.1/lib/client.c afpfs-ng-0.8.1.patch/lib/client.c
+--- afpfs-ng-0.8.1/lib/client.c 2008-02-18 04:36:30.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/client.c 2011-09-10 12:13:50.132124772 +0200
+@@ -1,5 +1,5 @@
+-#include <afp.h>
+-#include <libafpclient.h>
++#include <afpfs-ng/afp.h>
++#include <afpfs-ng/libafpclient.h>
+
+
+ struct libafpclient * libafpclient = NULL;
+diff -Naur afpfs-ng-0.8.1/lib/codepage.c afpfs-ng-0.8.1.patch/lib/codepage.c
+--- afpfs-ng-0.8.1/lib/codepage.c 2008-02-18 04:36:54.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/codepage.c 2011-09-10 12:13:50.133124786 +0200
+@@ -14,8 +14,8 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include "afp_protocol.h"
+-#include "utils.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/utils.h"
+ #include "unicode.h"
+
+ int convert_utf8dec_to_utf8pre(const char *src, int src_len,
+diff -Naur afpfs-ng-0.8.1/lib/connect.c afpfs-ng-0.8.1.patch/lib/connect.c
+--- afpfs-ng-0.8.1/lib/connect.c 2008-02-18 04:38:59.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/connect.c 2011-09-10 12:13:50.133124786 +0200
+@@ -10,13 +10,13 @@
+ #include <string.h>
+ #include <sys/socket.h>
+
+-#include "afp.h"
+-#include "dsi.h"
+-#include "utils.h"
+-#include "uams_def.h"
+-#include "codepage.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/uams_def.h"
++#include "afpfs-ng/codepage.h"
+ #include "users.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "server.h"
+
+
+diff -Naur afpfs-ng-0.8.1/lib/did.c afpfs-ng-0.8.1.patch/lib/did.c
+--- afpfs-ng-0.8.1/lib/did.c 2008-02-18 04:39:17.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/did.c 2011-09-10 12:13:50.133124786 +0200
+@@ -9,8 +9,8 @@
+ #include <string.h>
+ #include <stdio.h>
+
+-#include "afp.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/afp_protocol.h"
+
+ #undef DID_CACHE_DISABLE
+
+diff -Naur afpfs-ng-0.8.1/lib/dsi.c afpfs-ng-0.8.1.patch/lib/dsi.c
+--- afpfs-ng-0.8.1/lib/dsi.c 2008-02-18 04:53:03.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/dsi.c 2011-09-10 12:13:50.134124800 +0200
+@@ -19,12 +19,12 @@
+ #include <signal.h>
+ #include <iconv.h>
+
+-#include "utils.h"
+-#include "dsi.h"
+-#include "afp.h"
+-#include "uams_def.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/uams_def.h"
+ #include "dsi_protocol.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "afp_internal.h"
+ #include "afp_replies.h"
+
+diff -Naur afpfs-ng-0.8.1/lib/forklist.c afpfs-ng-0.8.1.patch/lib/forklist.c
+--- afpfs-ng-0.8.1/lib/forklist.c 2008-01-17 05:49:16.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/forklist.c 2011-09-10 12:13:50.135124814 +0200
+@@ -10,7 +10,7 @@
+ */
+
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ #include <stdlib.h>
+ #include <pthread.h>
+diff -Naur afpfs-ng-0.8.1/lib/log.c afpfs-ng-0.8.1.patch/lib/log.c
+--- afpfs-ng-0.8.1/lib/log.c 2008-01-30 05:37:58.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/log.c 2011-09-10 12:13:50.135124814 +0200
+@@ -3,7 +3,7 @@
+ #include <stdarg.h>
+ #include <string.h>
+ #include <stdlib.h>
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+
+ void log_for_client(void * priv,
+ enum loglevels loglevel, int logtype, char *format, ...) {
+diff -Naur afpfs-ng-0.8.1/lib/loop.c afpfs-ng-0.8.1.patch/lib/loop.c
+--- afpfs-ng-0.8.1/lib/loop.c 2008-02-18 04:40:11.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/loop.c 2011-09-10 12:13:50.135124814 +0200
+@@ -16,9 +16,9 @@
+ #include <sys/time.h>
+ #include <signal.h>
+
+-#include "afp.h"
+-#include "dsi.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/utils.h"
+
+ #define SIGNAL_TO_USE SIGUSR2
+
+diff -Naur afpfs-ng-0.8.1/lib/lowlevel.c afpfs-ng-0.8.1.patch/lib/lowlevel.c
+--- afpfs-ng-0.8.1/lib/lowlevel.c 2008-02-20 02:33:17.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/lowlevel.c 2011-09-10 12:13:50.136124828 +0200
+@@ -19,10 +19,10 @@
+ #else
+ #include <fcntl.h>
+ #endif
+-#include "afp.h"
+-#include "afp_protocol.h"
+-#include "codepage.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/codepage.h"
++#include "afpfs-ng/utils.h"
+ #include "did.h"
+ #include "users.h"
+
+diff -Naur afpfs-ng-0.8.1/lib/map_def.c afpfs-ng-0.8.1.patch/lib/map_def.c
+--- afpfs-ng-0.8.1/lib/map_def.c 2007-09-07 15:10:59.000000000 +0200
++++ afpfs-ng-0.8.1.patch/lib/map_def.c 2011-09-10 12:13:50.136124828 +0200
+@@ -1,6 +1,6 @@
+ #include <string.h>
+-#include "afp.h"
+-#include "map_def.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/map_def.h"
+
+ static char *afp_map_strings[] = {
+ "Unknown",
+diff -Naur afpfs-ng-0.8.1/lib/meta.c afpfs-ng-0.8.1.patch/lib/meta.c
+--- afpfs-ng-0.8.1/lib/meta.c 2008-01-04 04:52:44.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/meta.c 2011-09-10 12:13:50.137124841 +0200
+@@ -17,10 +17,10 @@
+ #include <unistd.h>
+ #include <sys/time.h>
+
+-#include "afp.h"
+-#include "dsi.h"
+-#include "afp_protocol.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/utils.h"
+
+
+ int afp_meta_getattr(const char *path, struct stat *stbuf)
+diff -Naur afpfs-ng-0.8.1/lib/midlevel.c afpfs-ng-0.8.1.patch/lib/midlevel.c
+--- afpfs-ng-0.8.1/lib/midlevel.c 2008-03-08 17:08:18.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/midlevel.c 2011-09-10 12:13:50.160125150 +0200
+@@ -10,7 +10,7 @@
+ */
+
+
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+
+ #include <sys/stat.h>
+ #include <string.h>
+@@ -28,9 +28,9 @@
+ #include "users.h"
+ #include "did.h"
+ #include "resource.h"
+-#include "utils.h"
+-#include "codepage.h"
+-#include "midlevel.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/codepage.h"
++#include "afpfs-ng/midlevel.h"
+ #include "afp_internal.h"
+ #include "forklist.h"
+ #include "uams.h"
+diff -Naur afpfs-ng-0.8.1/lib/proto_attr.c afpfs-ng-0.8.1.patch/lib/proto_attr.c
+--- afpfs-ng-0.8.1/lib/proto_attr.c 2008-01-30 05:37:58.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_attr.c 2011-09-10 12:13:50.168125257 +0200
+@@ -7,10 +7,10 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "dsi_protocol.h"
+
+ /* This is a new command, function 76. There are currently no docs, so this
+diff -Naur afpfs-ng-0.8.1/lib/proto_desktop.c afpfs-ng-0.8.1.patch/lib/proto_desktop.c
+--- afpfs-ng-0.8.1/lib/proto_desktop.c 2008-02-18 04:44:11.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_desktop.c 2011-09-10 12:13:50.168125257 +0200
+@@ -9,10 +9,10 @@
+ #include <string.h>
+ #include <stdlib.h>
+
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "dsi_protocol.h"
+
+ /* closedt, addicon, geticoninfo, addappl, removeappl */
+diff -Naur afpfs-ng-0.8.1/lib/proto_directory.c afpfs-ng-0.8.1.patch/lib/proto_directory.c
+--- afpfs-ng-0.8.1/lib/proto_directory.c 2008-02-19 03:39:29.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_directory.c 2011-09-10 12:13:50.168125257 +0200
+@@ -9,10 +9,10 @@
+ #include <string.h>
+ #include <stdlib.h>
+
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "dsi_protocol.h"
+ #include "afp_replies.h"
+
+diff -Naur afpfs-ng-0.8.1/lib/proto_files.c afpfs-ng-0.8.1.patch/lib/proto_files.c
+--- afpfs-ng-0.8.1/lib/proto_files.c 2008-02-18 04:46:18.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_files.c 2011-09-10 12:13:50.169125270 +0200
+@@ -8,11 +8,11 @@
+
+ #include <stdlib.h>
+ #include <string.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "afp_internal.h"
+
+ /* afp_setfileparms, afp_setdirparms and afpsetfiledirparms are all remarkably
+diff -Naur afpfs-ng-0.8.1/lib/proto_fork.c afpfs-ng-0.8.1.patch/lib/proto_fork.c
+--- afpfs-ng-0.8.1/lib/proto_fork.c 2008-01-30 05:37:58.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_fork.c 2011-09-10 12:13:50.169125270 +0200
+@@ -9,11 +9,11 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+
+ int afp_setforkparms(struct afp_volume * volume,
+ unsigned short forkid, unsigned short bitmap, unsigned long len)
+diff -Naur afpfs-ng-0.8.1/lib/proto_login.c afpfs-ng-0.8.1.patch/lib/proto_login.c
+--- afpfs-ng-0.8.1/lib/proto_login.c 2008-01-30 05:37:59.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_login.c 2011-09-10 12:13:50.169125270 +0200
+@@ -10,10 +10,10 @@
+
+ #include <stdlib.h>
+ #include <string.h>
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+ #include "dsi_protocol.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "afp_internal.h"
+
+
+diff -Naur afpfs-ng-0.8.1/lib/proto_map.c afpfs-ng-0.8.1.patch/lib/proto_map.c
+--- afpfs-ng-0.8.1/lib/proto_map.c 2008-01-30 05:37:59.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_map.c 2011-09-10 12:13:50.170125283 +0200
+@@ -9,11 +9,11 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+
+ /* This is used to pass the return values back from afp_getuserinfo_reply() */
+ struct uidgid {
+diff -Naur afpfs-ng-0.8.1/lib/proto_replyblock.c afpfs-ng-0.8.1.patch/lib/proto_replyblock.c
+--- afpfs-ng-0.8.1/lib/proto_replyblock.c 2008-02-18 04:46:19.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_replyblock.c 2011-09-10 12:13:50.170125283 +0200
+@@ -6,9 +6,9 @@
+ */
+
+ #include <string.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "afp_internal.h"
+
+
+diff -Naur afpfs-ng-0.8.1/lib/proto_server.c afpfs-ng-0.8.1.patch/lib/proto_server.c
+--- afpfs-ng-0.8.1/lib/proto_server.c 2008-02-19 02:56:21.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_server.c 2011-09-10 12:13:50.170125283 +0200
+@@ -7,12 +7,12 @@
+ */
+ #include <stdlib.h>
+ #include <string.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
+-#include "codepage.h"
++#include "afpfs-ng/afp_protocol.h"
++#include "afpfs-ng/codepage.h"
+ #include "afp_internal.h"
+
+ int afp_getsrvrparms(struct afp_server *server)
+diff -Naur afpfs-ng-0.8.1/lib/proto_session.c afpfs-ng-0.8.1.patch/lib/proto_session.c
+--- afpfs-ng-0.8.1/lib/proto_session.c 2008-02-18 04:46:19.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_session.c 2011-09-10 12:13:50.170125283 +0200
+@@ -8,10 +8,10 @@
+ */
+ #include <stdlib.h>
+ #include <string.h>
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+ #include "dsi_protocol.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+
+ int afp_getsessiontoken(struct afp_server * server, int type,
+ unsigned int timestamp, struct afp_token *outgoing_token,
+diff -Naur afpfs-ng-0.8.1/lib/proto_volume.c afpfs-ng-0.8.1.patch/lib/proto_volume.c
+--- afpfs-ng-0.8.1/lib/proto_volume.c 2008-02-18 04:47:48.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/proto_volume.c 2011-09-10 12:13:50.171125296 +0200
+@@ -8,13 +8,13 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "dsi_protocol.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+ #include "afp_internal.h"
+-#include "codepage.h"
++#include "afpfs-ng/codepage.h"
+
+ static int parse_volbitmap_reply(struct afp_server * server,
+ struct afp_volume * tmpvol,
+diff -Naur afpfs-ng-0.8.1/lib/resource.c afpfs-ng-0.8.1.patch/lib/resource.c
+--- afpfs-ng-0.8.1/lib/resource.c 2008-02-18 04:46:56.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/resource.c 2011-09-10 12:13:50.171125296 +0200
+@@ -3,11 +3,11 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include "afp.h"
++#include "afpfs-ng/afp.h"
+ #include "resource.h"
+ #include "lowlevel.h"
+ #include "did.h"
+-#include "midlevel.h"
++#include "afpfs-ng/midlevel.h"
+
+ #define appledouble ".AppleDouble"
+ #define finderinfo_string ".finderinfo"
+diff -Naur afpfs-ng-0.8.1/lib/server.c afpfs-ng-0.8.1.patch/lib/server.c
+--- afpfs-ng-0.8.1/lib/server.c 2008-02-19 02:56:21.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/server.c 2011-09-10 12:13:50.172125310 +0200
+@@ -8,15 +8,15 @@
+ #include <string.h>
+ #include <time.h>
+
+-#include "afp.h"
+-#include "dsi.h"
+-#include "utils.h"
+-#include "uams_def.h"
+-#include "codepage.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/uams_def.h"
++#include "afpfs-ng/codepage.h"
+ #include "users.h"
+-#include "libafpclient.h"
++#include "afpfs-ng/libafpclient.h"
+ #include "afp_internal.h"
+-#include "dsi.h"
++#include "afpfs-ng/dsi.h"
+
+
+ struct afp_server * afp_server_complete_connection(
+diff -Naur afpfs-ng-0.8.1/lib/status.c afpfs-ng-0.8.1.patch/lib/status.c
+--- afpfs-ng-0.8.1/lib/status.c 2008-03-08 17:08:38.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/status.c 2011-09-10 12:13:50.172125310 +0200
+@@ -1,8 +1,8 @@
+ #include <string.h>
+ #include <stdio.h>
+-#include "map_def.h"
+-#include "dsi.h"
+-#include "afp.h"
++#include "afpfs-ng/map_def.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
+
+ int afp_status_header(char * text, int * len)
+ {
+diff -Naur afpfs-ng-0.8.1/lib/uams.c afpfs-ng-0.8.1.patch/lib/uams.c
+--- afpfs-ng-0.8.1/lib/uams.c 2008-01-04 04:52:44.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/uams.c 2011-09-10 12:13:50.173125324 +0200
+@@ -8,10 +8,10 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include "dsi.h"
+-#include "afp.h"
+-#include "utils.h"
+-#include "uams_def.h"
++#include "afpfs-ng/dsi.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
++#include "afpfs-ng/uams_def.h"
+ #include "config.h"
+
+ #ifdef HAVE_LIBGCRYPT
+diff -Naur afpfs-ng-0.8.1/lib/users.c afpfs-ng-0.8.1.patch/lib/users.c
+--- afpfs-ng-0.8.1/lib/users.c 2008-02-18 04:48:56.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/users.c 2011-09-10 12:13:50.174125338 +0200
+@@ -3,8 +3,8 @@
+ #include <grp.h>
+ #include <string.h>
+
+-#include "afp.h"
+-#include "map_def.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/map_def.h"
+
+ /* How mapping works
+ *
+diff -Naur afpfs-ng-0.8.1/lib/utils.c afpfs-ng-0.8.1.patch/lib/utils.c
+--- afpfs-ng-0.8.1/lib/utils.c 2008-02-18 04:53:37.000000000 +0100
++++ afpfs-ng-0.8.1.patch/lib/utils.c 2011-09-10 12:13:50.174125338 +0200
+@@ -8,10 +8,10 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+-#include "afp.h"
+-#include "utils.h"
++#include "afpfs-ng/afp.h"
++#include "afpfs-ng/utils.h"
+ #include "afp_internal.h"
+-#include "afp_protocol.h"
++#include "afpfs-ng/afp_protocol.h"
+
+ struct afp_path_header_long {
+ unsigned char type;
+diff -Naur afpfs-ng-0.8.1/Makefile.am afpfs-ng-0.8.1.patch/Makefile.am
+--- afpfs-ng-0.8.1/Makefile.am 2008-02-18 04:24:14.000000000 +0100
++++ afpfs-ng-0.8.1.patch/Makefile.am 2011-09-10 12:13:50.176125365 +0200
+@@ -1,5 +1,5 @@
+ if HAVE_LIBFUSE
+-SUBDIRS = lib fuse cmdline docs
++SUBDIRS = lib fuse cmdline include docs
+ else
+-SUBDIRS = lib cmdline docs
++SUBDIRS = lib cmdline include docs
+ endif
diff --git a/community/clanlib/PKGBUILD b/community/clanlib/PKGBUILD
index c6d501081..c4f532fa0 100644
--- a/community/clanlib/PKGBUILD
+++ b/community/clanlib/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 66368 2012-02-24 10:57:28Z svenstaro $
+# $Id: PKGBUILD 68660 2012-03-30 19:41:39Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
pkgname=clanlib
-pkgver=2.3.5
+pkgver=2.3.6
pkgrel=1
pkgdesc="A multi-platform game development library."
arch=('i686' 'x86_64' 'mips64el')
@@ -12,7 +12,7 @@ depends=('alsa-lib' 'libjpeg' 'libmikmod' 'libpng' 'libvorbis' 'libxi' 'libxmu'
makedepends=('doxygen' 'graphviz')
options=('!libtool')
source=(http://clanlib.org/download/releases-2.0/ClanLib-${pkgver}.tgz)
-md5sums=('7c26fa5513c078a4db1b0de9035b535a')
+md5sums=('aa037a8a6297fb0b2efd927b1b15e8de')
build() {
cd ${srcdir}/ClanLib-${pkgver}
diff --git a/community/flightgear/PKGBUILD b/community/flightgear/PKGBUILD
index 476b72360..b1fb51b41 100644
--- a/community/flightgear/PKGBUILD
+++ b/community/flightgear/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=flightgear
pkgver=2.6.0
pkgrel=3
pkgdesc="An open-source, multi-platform flight simulator"
-arch=(i686 x86_64 mips64el)
+arch=(i686 x86_64)
depends=('simgear' 'libxmu' 'libxi' 'zlib' 'openscenegraph' 'subversion')
makedepends=('boost' 'cmake')
license=("GPL")
diff --git a/community/gendesk/PKGBUILD b/community/gendesk/PKGBUILD
new file mode 100644
index 000000000..a14415418
--- /dev/null
+++ b/community/gendesk/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 68634 2012-03-30 15:35:07Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Thanks to Moonprincessluna at DeviantArt for the default icon:
+# http://mylittlepixel.deviantart.com/gallery/35405924#/d4pt23a
+
+pkgname=gendesk
+pkgver=0.4
+pkgrel=1
+pkgdesc="Utility to generate .desktop files and download icons"
+arch=('x86_64' 'i686')
+url="http://roboticoverlords.org/gendesk/"
+license=('MIT')
+depends=('glibc')
+makedepends=('go>=2:1-2')
+conflicts=('go-hg')
+source=("http://roboticoverlords.org/$pkgname/$pkgname-$pkgver.tar.gz"
+ "http://roboticoverlords.org/images/default.png")
+sha256sums=('33f95ce4b48ffb194693b0c35f8b9728a6d9c961f365a0c38bbd128c0d851993'
+ '4d96eded48e536d02e35727c36dc20844c2e44654e81baf78e10aee4eb48e837')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ msg2 "Compiling..."
+ go build
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm755 "$pkgname-$pkgver" "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 "$srcdir/default.png" "$pkgdir/usr/share/pixmaps/default.png"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/go/PKGBUILD b/community/go/PKGBUILD
index e15bdd371..c835cc950 100644
--- a/community/go/PKGBUILD
+++ b/community/go/PKGBUILD
@@ -1,23 +1,24 @@
-# $Id: PKGBUILD 63009 2012-01-30 12:36:34Z arodseth $
+# $Id: PKGBUILD 68608 2012-03-29 13:28:45Z arodseth $
# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
# Contributor: Andres Perera <andres87p gmail>
# Contributor: Matthew Bauer <mjbauer95@gmail.com>
# Contributor: Christian Himpel <chressie at gmail dot com>
+# Contributor: Mike "str1ngs" Rosset
pkgname=go
-pkgver=r60.3
-pkgrel=3
-epoch=1
+pkgver=1
+pkgrel=2
+epoch=2
pkgdesc='Google Go compiler and tools (release version)'
arch=('i686' 'x86_64' 'mips64el')
url="http://golang.org/"
license=('custom')
-depends=('perl' 'ed')
+depends=('perl' 'ed' 'gawk')
makedepends=('mercurial' 'inetutils')
-options=('!strip')
+options=('!strip' '!emptydirs')
install=$pkgname.install
source=($pkgname.sh)
-md5sums=('67c472bfcfdb760d1d1f0a87cfe3661f')
+md5sums=('e7087d190fd519db3be5adb3a51194cc')
build() {
_hgroot="https://go.googlecode.com/hg/"
@@ -35,41 +36,36 @@ build() {
fi
msg "Mercurial checkout done or server timeout"
- msg "Starting make..."
rm -rf "$srcdir/$_hgrepo-build"
cp -r "$srcdir/$_hgrepo" "$srcdir/$_hgrepo-build"
cd "$srcdir/$_hgrepo-build"
export GOROOT="$srcdir/$_hgrepo-build"
+ export GOOS_FINAL="/usr/lib/go"
export GOOS=linux
export GOBIN="$GOROOT/bin"
export PATH="$GOBIN:$PATH"
mkdir -p "$GOROOT/bin"
cd "$GOROOT/src"
- hg update release.$pkgver
-
+ hg update release-branch.go$pkgver
. ./make.bash
}
-check() {
- export GOROOT="$srcdir/$_hgrepo-build"
- export GOOS=linux
- export GOBIN="$GOROOT/bin"
- cd "$GOROOT/src/pkg"
- gomake -k test || true
-}
-
package() {
cd "$srcdir/release-build"
install -Dm644 LICENSE $pkgdir/usr/share/licenses/go/LICENSE
install -Dm644 misc/bash/go $pkgdir/etc/bash_completion.d/go
- install -Dm644 misc/emacs/go-mode-load.el $pkgdir/usr/share/emacs/site-lisp/go-mode-load.el
- install -Dm644 misc/emacs/go-mode.el $pkgdir/usr/share/emacs/site-lisp/go-mode.el
- install -Dm644 misc/vim/ftdetect/gofiletype.vim $pkgdir/usr/share/vim/vimfiles/ftdetect/gofiletype.vim
- install -Dm644 misc/vim/syntax/go.vim $pkgdir/usr/share/vim/vimfiles/syntax/go.vim
+ install -Dm644 misc/emacs/go-mode-load.el \
+ $pkgdir/usr/share/emacs/site-lisp/go-mode-load.el
+ install -Dm644 misc/emacs/go-mode.el \
+ $pkgdir/usr/share/emacs/site-lisp/go-mode.el
+ install -Dm644 misc/vim/ftdetect/gofiletype.vim \
+ $pkgdir/usr/share/vim/vimfiles/ftdetect/gofiletype.vim
+ install -Dm644 misc/vim/syntax/go.vim \
+ $pkgdir/usr/share/vim/vimfiles/syntax/go.vim
mkdir -p $pkgdir/{etc/profile.d,usr/{share/go,lib/go,lib/go/src}}
@@ -78,18 +74,23 @@ package() {
ln -s /usr/share/go/doc $pkgdir/usr/lib/go/doc
cp -r pkg $pkgdir/usr/lib/go
cp -r $GOROOT/src/pkg $pkgdir/usr/lib/go/src/
+ cp -r $GOROOT/src/cmd $pkgdir/usr/lib/go/src/cmd
cp -r $GOROOT/src/lib9 $pkgdir/usr/lib/go/src/
cp -r $GOROOT/lib $pkgdir/usr/lib/go/
install -Dm644 src/Make.* $pkgdir/usr/lib/go/src
- # remove object files from target src dir
+ # Remove object files from target src dir
find $pkgdir/usr/lib/go/src/ -type f -name '*.[ao]' -delete
find $pkgdir/usr/lib/go/src/pkg -type f -executable -delete
# Headers for C modules
- install -Dm644 src/pkg/runtime/runtime.h $pkgdir/usr/lib/go/src/pkg/runtime/runtime.h
- install -Dm644 src/pkg/runtime/cgocall.h $pkgdir/usr/lib/go/src/pkg/runtime/cgocall.h
+ install -Dm644 src/pkg/runtime/runtime.h \
+ $pkgdir/usr/lib/go/src/pkg/runtime/runtime.h
+ install -Dm644 src/pkg/runtime/cgocall.h \
+ $pkgdir/usr/lib/go/src/pkg/runtime/cgocall.h
install $srcdir/go.sh $pkgdir/etc/profile.d/
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/go/go.sh b/community/go/go.sh
index 4aa526a11..8393dc8d2 100755
--- a/community/go/go.sh
+++ b/community/go/go.sh
@@ -1,3 +1 @@
export GOROOT=/usr/lib/go
-export GOOS=linux
-export GOBIN=/usr/bin
diff --git a/community/guake/PKGBUILD b/community/guake/PKGBUILD
index 8cc8170cc..3bcd46d0a 100644
--- a/community/guake/PKGBUILD
+++ b/community/guake/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 68271 2012-03-21 05:47:03Z bgyorgy $
+# $Id: PKGBUILD 68559 2012-03-28 06:25:01Z bgyorgy $
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: Wilson Pinto Júnior (N3RD3X) <n3rd3x@linuxmail.org>
pkgname=guake
pkgver=0.4.2
-pkgrel=6
+pkgrel=7
pkgdesc='Drop-down terminal for GNOME'
arch=('i686' 'x86_64' 'mips64el')
url="http://guake.org/"
@@ -15,18 +15,24 @@ makedepends=('intltool')
options=('!libtool')
install=$pkgname.install
source=(http://guake.org/files/$pkgname-$pkgver.tar.gz
- http://guake.org/raw-attachment/ticket/246/0001-Retrieve-port-as-int.2.patch)
+ http://guake.org/raw-attachment/ticket/246/0001-Retrieve-port-as-int.2.patch
+ guake-glib2.32.patch)
md5sums=('1f0feff3bfc15c998147dbf07d9d8a8e'
- '9aca6ba8e46ae1b69958cda0e03320ff')
+ '9aca6ba8e46ae1b69958cda0e03320ff'
+ 'ac692391e2fa171f6f96e5ceb2284c2d')
build() {
cd "$srcdir/$pkgname-$pkgver"
sed -i 's|schemadir = $(sysconfdir)/gconf/schemas|schemadir = $(GCONF_SCHEMA_FILE_DIR)|' data/Makefile.in
sed -i 's|PYTHON="/usr/bin/python"|PYTHON="/usr/bin/python2"|' src/guake{,-prefs}.in
+ patch -Np1 -i "$srcdir/guake-glib2.32.patch"
# Patch to import proxy port setting as int (http://guake.org/ticket/246)
patch -Np1 -i "$srcdir/0001-Retrieve-port-as-int.2.patch"
+ # Do not disable autostart in GNOME
+ sed -i '/X-GNOME-Autostart-enabled/ d' data/guake.desktop.in
+
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--disable-static --disable-schemas-install \
--with-gconf-schema-file-dir=/usr/share/gconf/schemas \
@@ -38,4 +44,7 @@ package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
+
+ # Remove autostart file
+ rm -r "$pkgdir/etc"
}
diff --git a/community/guake/guake-glib2.32.patch b/community/guake/guake-glib2.32.patch
new file mode 100644
index 000000000..a370e123c
--- /dev/null
+++ b/community/guake/guake-glib2.32.patch
@@ -0,0 +1,21 @@
+commit 0353da88e550031b4694a4168bd6d489f873d68a
+Author: max ulidtko <ulidtko@gmail.com>
+Date: Fri Mar 2 07:51:38 2012 +0200
+
+ globalhotkeys build fix for glib 2.31
+
+ apply patch from #425
+
+diff --git a/src/globalhotkeys/keybinder.h b/src/globalhotkeys/keybinder.h
+index 00e532d..69a50c0 100644
+--- a/src/globalhotkeys/keybinder.h
++++ b/src/globalhotkeys/keybinder.h
+@@ -2,7 +2,7 @@
+ #ifndef __KEY_BINDER_H__
+ #define __KEY_BINDER_H__
+
+-#include <glib/gtypes.h>
++#include <glib.h>
+
+ G_BEGIN_DECLS
+
diff --git a/community/gummi/PKGBUILD b/community/gummi/PKGBUILD
index 6cc2dfde7..1c9ac43ec 100644
--- a/community/gummi/PKGBUILD
+++ b/community/gummi/PKGBUILD
@@ -1,12 +1,11 @@
-# $Id: PKGBUILD 68113 2012-03-18 11:53:48Z arodseth $
-
+# $Id: PKGBUILD 68592 2012-03-28 22:12:45Z arodseth $
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: Sergio A. Morales <sergiomorales@archlinux.cl>
# Contributor: soeren <nonick@posteo.de>
pkgname=gummi
-pkgver=0.6.2
+pkgver=0.6.3
pkgrel=1
pkgdesc='Simple LaTex editor for GTK users'
arch=('x86_64' 'i686' 'mips64el')
@@ -15,8 +14,8 @@ license=('MIT')
depends=('texlive-core' 'gtkspell' 'gtksourceview2' 'poppler-glib' 'desktop-file-utils')
makedepends=('glib2' 'gtk2' 'pango' 'poppler' 'intltool')
install=$pkgname.install
-source=("http://dev.midnightcoding.org/attachments/download/258/$pkgname-$pkgver.tar.gz")
-sha256sums=('1d886e6036a9a480662f9cf3ae8afa4d1129929c16cb78081755ad1d10be8277')
+source=("http://dev.midnightcoding.org/projects/$pkgname/latest.tar.gz")
+sha256sums=('d44196e56ed61e125bba01e5949be0928cf09919fdb80e62e6a41999a478f0ed')
build() {
cd "$pkgname-$pkgver"
diff --git a/community/intellij-idea-libs/PKGBUILD b/community/intellij-idea-libs/PKGBUILD
index eb2a209a4..fa2120572 100644
--- a/community/intellij-idea-libs/PKGBUILD
+++ b/community/intellij-idea-libs/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 63458 2012-02-04 10:12:39Z stativ $
+# $Id: PKGBUILD 68602 2012-03-29 08:23:57Z stativ $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=intellij-idea-libs
-pkgver=11.0.2
-_pkgver=111.277
+pkgver=11.1
+_pkgver=117.105
pkgrel=1
pkgdesc="Architecture dependend libraries needed by the Intellij Idea IDE"
arch=('i686' 'x86_64' 'mips64el')
@@ -10,7 +10,7 @@ url="http://www.jetbrains.org/"
license=('apache')
depends=('glibc')
source=(http://download.jetbrains.com/idea/ideaIC-$pkgver.tar.gz)
-md5sums=('156fddbdeba44bb9427c05fe567f7070')
+md5sums=('bb9943b052bcdb4832ea9b2f3f72848b')
build() {
cd "$srcdir"
diff --git a/community/libcec/PKGBUILD b/community/libcec/PKGBUILD
new file mode 100644
index 000000000..6a2af7230
--- /dev/null
+++ b/community/libcec/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 68568 2012-03-28 10:28:32Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: Philippe Cherel <philippe.cherel@mayenne.org>
+
+pkgname=libcec
+pkgver=1.5.2
+pkgrel=1
+pkgdesc="Pulse-Eight's libcec for the Pulse-Eight USB-CEC adapter"
+arch=('i686' 'x86_64')
+url="https://github.com/Pulse-Eight/libcec"
+license=('GPL')
+depends=('udev')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/Pulse-Eight/libcec/tarball/$pkgname-$pkgver")
+_srcfolder=Pulse-Eight-libcec-00a02d1
+sha256sums=('93990024d01da7c66e2c78ca23919fd83137f6b944a2dc82fb5cc6d58a46742f')
+options=(!libtool)
+
+build() {
+ mv "$_srcfolder" "$pkgname-$pkgver"
+
+ cd "$pkgname-$pkgver"
+ autoreconf -vif
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libnfs/PKGBUILD b/community/libnfs/PKGBUILD
new file mode 100644
index 000000000..eaef7ac71
--- /dev/null
+++ b/community/libnfs/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 68570 2012-03-28 10:32:51Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+
+pkgname=libnfs
+pkgver=1.3.0
+pkgrel=1
+pkgdesc="client library for accessing NFS shares"
+arch=('i686' 'x86_64')
+url="https://github.com/sahlberg/libnfs"
+license=('GPL')
+depends=('glibc')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/sahlberg/libnfs/tarball/$pkgname-$pkgver")
+_srcfolder=sahlberg-libnfs-47e5a2c
+sha256sums=('0acda3029db699c3978684080843f71d222ad35b30a2ff0d220d144e98854948')
+options=(!libtool)
+
+build() {
+ mv "$_srcfolder" "$pkgname-$pkgver"
+
+ cd "$pkgname-$pkgver"
+
+ autoreconf -vif
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/libshairport/PKGBUILD b/community/libshairport/PKGBUILD
new file mode 100644
index 000000000..d6e406c41
--- /dev/null
+++ b/community/libshairport/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 68571 2012-03-28 10:35:14Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+
+pkgname=libshairport
+_developer='amejia1'
+_version=1.2.1
+_commithash='aeb4987'
+pkgver=${_version}
+pkgrel=2
+pkgdesc="emulates an AirPort Express"
+arch=('i686' 'x86_64')
+url='https://github.com/amejia1/libshairport'
+license=('GPL')
+depends=('openssl' 'libao')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/amejia1/libshairport/tarball/$_commithash")
+sha256sums=('003c65f56123a7cb090b2d7249f0facbef668f7db6048f4b458713892a6911ca')
+options=(!libtool)
+
+_srcfolder=$_developer-$pkgname-$_commithash
+
+build() {
+ mv "$_srcfolder" "$pkgname-$pkgver"
+
+ cd "$pkgname-$pkgver"
+ autoreconf -vif
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/openscenegraph/PKGBUILD b/community/openscenegraph/PKGBUILD
index 80683611a..0366a02f5 100644
--- a/community/openscenegraph/PKGBUILD
+++ b/community/openscenegraph/PKGBUILD
@@ -8,7 +8,7 @@ pkgname=openscenegraph
pkgver=3.0.1
pkgrel=4
pkgdesc="An Open Source, high performance real-time graphics toolkit"
-arch=('i686' 'x86_64' 'mips64el')
+arch=('i686' 'x86_64')
license=('custom:OSGPL')
url="http://www.openscenegraph.org"
depends=('giflib' 'jasper' 'librsvg' 'xine-lib' 'curl' 'pth')
diff --git a/community/openthreads/PKGBUILD b/community/openthreads/PKGBUILD
index ab5bf7bf7..ff94915c2 100644
--- a/community/openthreads/PKGBUILD
+++ b/community/openthreads/PKGBUILD
@@ -6,7 +6,7 @@ pkgname=openthreads
pkgver=2.3.0
pkgrel=2
pkgdesc="A minimal & complete Object-Oriented thread interface for C++ programmers"
-arch=('i686' 'x86_64' 'mips64el')
+arch=('i686' 'x86_64')
url="http://openthreads.sourceforge.net"
license=("LGPL")
depends=('gcc-libs')
diff --git a/community/packeth/PKGBUILD b/community/packeth/PKGBUILD
new file mode 100644
index 000000000..041f3f71b
--- /dev/null
+++ b/community/packeth/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 68633 2012-03-30 15:24:47Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Rudy Matela <rudy.matela@gmail.com>
+
+pkgname=packeth
+pkgver=1.7.1
+pkgrel=1
+pkgdesc="A Linux GUI packet generator tool for ethernet."
+depends=(gtk2)
+source=("http://downloads.sourceforge.net/packeth/packETH-$pkgver.tar.bz2")
+url="http://packeth.sourceforge.net/"
+md5sums=('38403ec01072f13ba7f0145abf15b12d')
+arch=('i686' 'x86_64')
+license=('GPL')
+
+build() {
+ cd "$srcdir"/packETH-1.7
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir"/packETH-1.7
+ make install DESTDIR="$pkgdir/"
+}
diff --git a/community/percona-server/PKGBUILD b/community/percona-server/PKGBUILD
index 476adeef8..f3551b8fa 100644
--- a/community/percona-server/PKGBUILD
+++ b/community/percona-server/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 68238 2012-03-20 13:04:11Z mtorromeo $
+# $Id: PKGBUILD 68626 2012-03-30 09:33:33Z mtorromeo $
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
pkgname=percona-server
-pkgver=5.5.21_rel25.0
+pkgver=5.5.21_rel25.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')
@@ -99,6 +99,6 @@ package() {
install -dm700 "${pkgdir}"/var/lib/mysql
}
-md5sums=('e0091c0e8213378f0b5756535fe5799f'
+md5sums=('fdbc6cb1452f577d4c21ed3f1686dac8'
'243864805611764a7e5883c1dba7afd8'
'1c949c0dbea5206af0db14942d9927b6')
diff --git a/community/percona-server/percona.install b/community/percona-server/percona.install
index caacccf1b..20b6f2932 100644
--- a/community/percona-server/percona.install
+++ b/community/percona-server/percona.install
@@ -1,8 +1,8 @@
post_install(){
groupadd -g 89 mysql &>/dev/null
useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
- /usr/bin/mysql_install_db --user=mysql --basedir=/usr
- chown -R mysql:mysql var/lib/mysql &>/dev/null
+ /usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
+ chown -R mysql:mysql /var/lib/mysql &>/dev/null
}
post_upgrade(){
diff --git a/community/regexxer/PKGBUILD b/community/regexxer/PKGBUILD
index 85d87b7a6..c570f654d 100644
--- a/community/regexxer/PKGBUILD
+++ b/community/regexxer/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 68478 2012-03-25 19:09:20Z bgyorgy $
+# $Id: PKGBUILD 68556 2012-03-28 05:13:10Z bgyorgy $
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
pkgname=regexxer
pkgver=0.10
-pkgrel=2
+pkgrel=3
pkgdesc="Interactive search and replace tool for GNOME"
arch=('i686' 'x86_64')
url="http://regexxer.sourceforge.net/"
@@ -11,11 +11,14 @@ license=('GPL')
depends=('gtksourceviewmm' 'dconf' 'hicolor-icon-theme' 'xdg-utils')
makedepends=('intltool')
install=$pkgname.install
-source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz)
-sha256sums=('2a7832541a0306b3d4eb63a1cf8978d7bbfc7927e9304473fe801d71fd99736c')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz
+ regexxer-glib2.32.patch)
+sha256sums=('2a7832541a0306b3d4eb63a1cf8978d7bbfc7927e9304473fe801d71fd99736c'
+ '1addebc552e4374f3f9ee778fb734c08c1ed3a4b2b5e70905f7c9287c9b34882')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ patch -Np1 -i "$srcdir/regexxer-glib2.32.patch"
sed -i '/GLIB_COMPILE_SCHEMAS/ d' Makefile.in
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
diff --git a/community/regexxer/regexxer-glib2.32.patch b/community/regexxer/regexxer-glib2.32.patch
new file mode 100644
index 000000000..7d732b8bb
--- /dev/null
+++ b/community/regexxer/regexxer-glib2.32.patch
@@ -0,0 +1,35 @@
+diff -Naur regexxer-0.10.orig/src/fileshared.h regexxer-0.10/src/fileshared.h
+--- regexxer-0.10.orig/src/fileshared.h 2012-03-27 03:59:38.209864722 +0000
++++ regexxer-0.10/src/fileshared.h 2012-03-27 04:17:47.161371044 +0000
+@@ -23,6 +23,7 @@
+
+ #include "sharedptr.h"
+
++#include <glibmm/regex.h>
+ #include <gtkmm/textbuffer.h>
+ #include <functional>
+ #include <utility>
+diff -Naur regexxer-0.10.orig/src/globalstrings.h regexxer-0.10/src/globalstrings.h
+--- regexxer-0.10.orig/src/globalstrings.h 2012-03-27 03:59:38.209864722 +0000
++++ regexxer-0.10/src/globalstrings.h 2012-03-27 04:21:44.906198757 +0000
+@@ -21,7 +21,7 @@
+ #ifndef REGEXXER_GLOBALSTRINGS_H_INCLUDED
+ #define REGEXXER_GLOBALSTRINGS_H_INCLUDED
+
+-#include <glib/gutils.h> /* for G_DIR_SEPARATOR_S */
++#include <glib.h> /* for G_DIR_SEPARATOR_S */
+
+ namespace Regexxer
+ {
+diff -Naur regexxer-0.10.orig/src/translation.h regexxer-0.10/src/translation.h
+--- regexxer-0.10.orig/src/translation.h 2012-03-27 03:59:38.206531386 +0000
++++ regexxer-0.10/src/translation.h 2012-03-27 04:21:39.209576021 +0000
+@@ -21,7 +21,7 @@
+ #ifndef REGEXXER_TRANSLATION_H_INCLUDED
+ #define REGEXXER_TRANSLATION_H_INCLUDED
+
+-#include <glib/gmacros.h>
++#include <glib.h>
+ #include <glibmm/ustring.h>
+
+ #ifndef gettext_noop
diff --git a/community/root/PKGBUILD b/community/root/PKGBUILD
index fe9d12b10..c45456a91 100644
--- a/community/root/PKGBUILD
+++ b/community/root/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=root
pkgver=5.32.02
-pkgrel=1
+pkgrel=2
pkgdesc='C++ data analysis framework and interpreter from CERN.'
arch=('i686' 'x86_64' 'mips64el')
url='http://root.cern.ch'
diff --git a/community/simgear/PKGBUILD b/community/simgear/PKGBUILD
index 472fda815..c9f376a5a 100644
--- a/community/simgear/PKGBUILD
+++ b/community/simgear/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=simgear
pkgver=2.6.0
pkgrel=1
pkgdesc="A set of open-source libraries designed to be used as building blocks for quickly assembling 3d simulations, games, and visualization applications."
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
depends=('glut' 'freealut' 'plib' 'openscenegraph')
makedepends=('boost' 'cmake')
license=("GPL")
diff --git a/community/sword/PKGBUILD b/community/sword/PKGBUILD
index 950c35862..bdb8cbb72 100644
--- a/community/sword/PKGBUILD
+++ b/community/sword/PKGBUILD
@@ -1,11 +1,13 @@
-# $Id: PKGBUILD 60193 2011-12-07 12:16:33Z arodseth $
+# $Id: PKGBUILD 68590 2012-03-28 20:56:27Z arodseth $
# Maintainer: Alexander Rødseth
+# Contributor: Andrea Scarpino
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
# Contributor: TripleE <eric1548@yahoo.com>
+
pkgname=sword
pkgver=1.6.2
-pkgrel=6
-pkgdesc="Libraries for Bible programs"
+pkgrel=8
+pkgdesc="Library for Bible study programs"
arch=('x86_64' 'i686' 'mips64el')
url="http://www.crosswire.org/sword/"
license=('GPL')
@@ -13,9 +15,9 @@ depends=('curl' 'clucene' 'swig')
makedepends=('cmake')
backup=('etc/sword.conf')
source=("http://www.crosswire.org/ftpmirror/pub/$pkgname/source/v1.6/$pkgname-$pkgver.tar.gz"
- curl.patch)
-md5sums=('a7dc4456e20e915fec46d774b690e305'
- 'e84a226ce3697af33b9fdd9a22884a2a')
+ "curl.patch")
+sha256sums=('af76c7d54135c444b09eeaafb49229ef5201a4e1d44539d9341dceaeb60a87b9'
+ '3c2676b6dc1d56b08b2532f46af32c54e91ea71ed92a5d7a30ee29ed7ff09124')
build() {
cd "$srcdir/$pkgname-$pkgver"
@@ -25,11 +27,11 @@ build() {
mkdir ../build
cd ../build
- cmake "../$pkgname-$pkgver" \
+ CXXFLAGS=-fpermissive cmake "../$pkgname-$pkgver" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=Release
-
- make
+ -DCMAKE_BUILD_TYPE=Release \
+ -DSWORD_GLOBAL_CONF_DIR=/etc
+ make
}
package() {
@@ -38,20 +40,25 @@ package() {
make DESTDIR="$pkgdir" install
install -d "$pkgdir/usr/lib/sword"
- mv "$pkgdir"/usr/lib/1.6.2_icu_4.8* "$pkgdir/usr/lib/sword/"
+ mv "$pkgdir"/usr/lib/${pkgver}_icu_* \
+ "$pkgdir/usr/lib/sword/"
cd "$srcdir/$pkgname-$pkgver/locales.d/"
for file in *.conf; do
- install -Dm644 "$file" "$pkgdir/usr/share/sword/locales.d/$file"
+ install -Dm644 "$file" \
+ "$pkgdir/usr/share/sword/locales.d/$file"
done
cd ../include
install -d "$pkgdir/usr/include/sword"
- install -Dm644 canon_{catholic{,2},synodalp}.h "$pkgdir/usr/include/sword"
+ install -Dm644 canon_{catholic{,2},synodalp}.h \
+ "$pkgdir/usr/include/sword"
cd ../samples
- install -Dm644 mods.d/globals.conf "$pkgdir/usr/share/sword/mods.d/globals.conf"
- install -Dm644 recommended/sword.conf "$pkgdir/etc/sword.conf"
+ install -Dm644 mods.d/globals.conf \
+ "$pkgdir/usr/share/sword/mods.d/globals.conf"
+ install -Dm644 recommended/sword.conf \
+ "$pkgdir/etc/sword.conf"
}
# vim:set ts=2 sw=2 et:
diff --git a/community/sxiv/PKGBUILD b/community/sxiv/PKGBUILD
index 9af3a3f56..de24295bb 100644
--- a/community/sxiv/PKGBUILD
+++ b/community/sxiv/PKGBUILD
@@ -1,24 +1,23 @@
-# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: Bert Muennich <muennich at informatik.hu-berlin.de>
# Contributor: Brad Fanella <bradfanella@archlinux.us>
pkgname=sxiv
pkgver=1.0
-pkgrel=2
+pkgrel=3
pkgdesc='simple x image viewer'
arch=('i686' 'x86_64' 'mips64el')
license=('GPL2')
install=sxiv.install
url='https://github.com/muennich/sxiv'
-depends=('libx11' 'xproto' 'imlib2' 'giflib' 'desktop-file-utils')
+depends=('libx11' 'xproto' 'imlib2' 'giflib' 'libexif' 'desktop-file-utils')
source=("https://github.com/downloads/muennich/sxiv/sxiv-${pkgver}.tar.gz"
'sxiv.desktop'
'config.h')
md5sums=('c887e0af1e4d5a101b285a46d288c419'
'1dda85ff6bed4de337f8fb303075ed11'
- '67c470b605eae732aed4a8119a70832b')
-
+ 'c3e6c4b86da6b17687699dbd32c7717b')
build() {
cd "sxiv-${pkgver}"
diff --git a/community/sxiv/config.h b/community/sxiv/config.h
index f84629cb4..cc95fd46a 100644
--- a/community/sxiv/config.h
+++ b/community/sxiv/config.h
@@ -3,7 +3,7 @@
/* auto-orientate jpeg files according to their exif tags?
* (requires libexif [-lexif] to be installed)
*/
-#define EXIF_SUPPORT 0
+#define EXIF_SUPPORT 1
/* load all frames from gif files and support gif animations?
* (requires giflib [-lgif] to be installed)
*/
diff --git a/community/sxiv/sxiv.install b/community/sxiv/sxiv.install
index c50e26c78..f09c533f4 100644
--- a/community/sxiv/sxiv.install
+++ b/community/sxiv/sxiv.install
@@ -1,8 +1,8 @@
post_install () {
update-desktop-database -q
- echo "* Look into config.h to customize sxiv to your needs."
- echo " Use 'makepkg --skipinteg' to rebuild the package after changing config.h."
+ echo "* Edit config.h in sxiv's PKGBUILD directory (generally /var/abs/community/sxiv/)"
+ echo " and rebuild package if you want to change settings."
echo "* Create the directory ~/.sxiv/ to enable thumbnail caching."
echo " See sxiv(1) for more information."
}
diff --git a/core/dhcpcd/PKGBUILD b/core/dhcpcd/PKGBUILD
index 817f7c7d7..b4a3c295d 100644
--- a/core/dhcpcd/PKGBUILD
+++ b/core/dhcpcd/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 150154 2012-02-13 15:50:03Z ronald $
+# $Id: PKGBUILD 154510 2012-03-29 17:58:41Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Tom Killian <tom.archlinux.org>
# Contributor: Judd Vinet <jvinet.zeroflux.org>
pkgname=dhcpcd
-pkgver=5.5.4
+pkgver=5.5.5
pkgrel=1
pkgdesc="RFC2131 compliant DHCP client daemon"
url="http://roy.marples.name/dhcpcd/"
@@ -15,19 +15,16 @@ depends=('glibc' 'sh')
backup=('etc/conf.d/dhcpcd' 'etc/dhcpcd.conf')
options=('emptydirs') # We Need the Empty /var/lib/dhcpcd Directory
source=("http://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.bz2" \
- 'dhcpcd.conf.d' '0001-Set-hostname-via-proc-if-file-is-available.patch' \
- '0001-set-MTU-via-sysfs-if-file-is-available.patch')
-sha1sums=('8aa42abd28d49cce5b179998490c36f6c490e338'
- 'b67b9ce6a2faaca75fea356966a16be2283b7db0'
- 'ee85adac972a8172a9d9b3a1bdd46e0430301582'
- 'afbed18dc5544f7d0b81e2266b322ca12becf9a4')
+ 'dhcpcd.conf.d')
+sha1sums=('1856ad1535f2c7551cefcb492af24d345c6a1b50'
+ 'b67b9ce6a2faaca75fea356966a16be2283b7db0')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- # remove net-tools dep
- patch -Np1 -i ${srcdir}/0001-Set-hostname-via-proc-if-file-is-available.patch
- patch -Np1 -i ${srcdir}/0001-set-MTU-via-sysfs-if-file-is-available.patch
+ # remove net-tools dep (upstream now)
+# patch -Np1 -i ${srcdir}/0001-Set-hostname-via-proc-if-file-is-available.patch
+# patch -Np1 -i ${srcdir}/0001-set-MTU-via-sysfs-if-file-is-available.patch
# configure variables
./configure --libexecdir=/usr/lib/dhcpcd --dbdir=/var/lib/dhcpcd \
diff --git a/core/gnupg/PKGBUILD b/core/gnupg/PKGBUILD
index 7b2003a56..5e8fe1088 100644
--- a/core/gnupg/PKGBUILD
+++ b/core/gnupg/PKGBUILD
@@ -1,11 +1,12 @@
-# $Id: PKGBUILD 154386 2012-03-27 12:00:15Z bisson $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 154487 2012-03-29 08:18:37Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=gnupg
-pkgver=2.0.18
-pkgrel=2
+pkgver=2.0.19
+pkgrel=1
pkgdesc='Complete and free implementation of the OpenPGP standard'
url='http://www.gnupg.org/'
license=('GPL')
@@ -16,29 +17,30 @@ optdepends=('curl: gpg2keys_curl'
'texinfo: documentation')
makedepends=('curl' 'libldap' 'libusb-compat' 'texinfo')
depends=('bzip2' 'libksba' 'libgcrypt' 'pth' 'libassuan' 'readline' 'pinentry' 'dirmngr')
-install=${pkgname}.install
-source=(ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-$pkgver.tar.bz2{,.sig})
-sha1sums=('5ec2f718760cc3121970a140aeea004b64545c46'
- 'c1b15a6c204434081e2bd8249dde233b6c88c4d0')
+source=("ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig})
+sha1sums=('190c09e6688f688fb0a5cf884d01e240d957ac1f'
+ 'f6e6830610a8629b0aad69d789373bf8ca481733')
+
+install=install
conflicts=('gnupg2')
provides=("gnupg2=${pkgver}")
replaces=('gnupg2')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --libexecdir=/usr/lib/gnupg
- make
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --libexecdir=/usr/lib/gnupg
+ make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make check
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- ln -s gpg2 "${pkgdir}"/usr/bin/gpg
- ln -s gpg2.1.gz "${pkgdir}"/usr/share/man/man1/gpg.1.gz
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ ln -s gpg2 "${pkgdir}"/usr/bin/gpg
+ ln -s gpg2.1.gz "${pkgdir}"/usr/share/man/man1/gpg.1.gz
}
diff --git a/testing/gnupg/install b/core/gnupg/install
index 3a5dc9fd6..3a5dc9fd6 100644
--- a/testing/gnupg/install
+++ b/core/gnupg/install
diff --git a/core/sqlite3/PKGBUILD b/core/sqlite3/PKGBUILD
index c00db6b7d..d7d705592 100644
--- a/core/sqlite3/PKGBUILD
+++ b/core/sqlite3/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 147078 2012-01-21 15:49:21Z andyrtr $
+# $Id: PKGBUILD 154652 2012-03-30 14:26:35Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgbase="sqlite3"
pkgname=('sqlite3' 'sqlite3-tcl')
-_amalgamationver=3071000
+_amalgamationver=3071100
_amalgamationver2=${_amalgamationver/00/}
_docver=${_amalgamationver} #3070700
#pkgver=${_amalgamationver2//0/.}
-pkgver=3.7.10
+pkgver=3.7.11
pkgrel=1
pkgdesc="A C library that implements an SQL database engine"
arch=('i686' 'x86_64' 'mips64el')
@@ -19,7 +19,7 @@ source=( # tarball containing the amalgamation for SQLite 3.7.5 together with a
http://www.sqlite.org/sqlite-autoconf-$_amalgamationver.tar.gz
license.txt)
options=('!libtool' '!emptydirs')
-md5sums=('9ed2ca93577b58cfa0d01f64b9312ab9'
+md5sums=('0552d71bda98ebdcaea305cd6058221b'
'c1cdbc5544034d9012e421e75a5e4890')
build() {
diff --git a/extra/clamav/PKGBUILD b/extra/clamav/PKGBUILD
index 7c4eb55fc..5fe88e742 100644
--- a/extra/clamav/PKGBUILD
+++ b/extra/clamav/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 153568 2012-03-16 04:06:01Z bisson $
+# $Id: PKGBUILD 154496 2012-03-29 15:43:20Z bisson $
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Gregor Ibic <gregor.ibic@intelicom.si>
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
pkgname=clamav
pkgver=0.97.4
-pkgrel=1
+pkgrel=2
pkgdesc='Anti-virus toolkit for Unix'
url='http://www.clamav.net/'
license=('GPL')
@@ -17,12 +17,14 @@ source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver
'rc.d'
'conf.d'
'logrotate'
+ 'tmpfiles.d'
'config.patch')
sha1sums=('56f90cf8a73acba8f97beca86b42c65c3923935d'
- '50cfe02c97e4297a0efd25b23142408380305d30'
+ 'c9d508c1e5972f0f849d8694c1872455fa9e74de'
'cb116cdab49a810381a515cbcfb6a6c148547f07'
- 'be3310d2b41a68ce06e33c84ab68ffe59fdce104'
- '701a61571788d10ff7af01597785835c6bfea918')
+ '7cace58743a36dae3e63e5e0c6cc73ea5ef9a6ee'
+ 'a224ea9b4d0f4f196827347d54bed51e11c197ea'
+ '1c8ef193919b041135115170acd6313f008de808')
install=install
@@ -44,15 +46,16 @@ package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
- # make sure conf files get installed, because make install
+ # Make sure conf files get installed, because make install
# doesn't do that if clamav is already installed upon building.
install -D -m644 etc/clamd.conf "${pkgdir}/etc/clamav/clamd.conf"
install -D -m644 etc/freshclam.conf "${pkgdir}/etc/clamav/freshclam.conf"
+ install -D -m644 ../tmpfiles.d "${pkgdir}/usr/lib/tmpfiles.d/clamav.conf"
install -D -m644 ../logrotate "${pkgdir}/etc/logrotate.d/clamav"
install -D -m644 ../conf.d "${pkgdir}/etc/conf.d/clamav"
install -D -m755 ../rc.d "${pkgdir}/etc/rc.d/clamav"
- # un-distribute databases to require freshclam
+ # Un-distribute databases to require freshclam.
rm "${pkgdir}"/var/lib/clamav/*.cvd
}
diff --git a/extra/clamav/config.patch b/extra/clamav/config.patch
index a0105bd48..0640df2c3 100644
--- a/extra/clamav/config.patch
+++ b/extra/clamav/config.patch
@@ -9,7 +9,7 @@ diff -arU 0 old/etc/clamd.conf new/etc/clamd.conf
+LogTime yes
@@ -61 +61 @@
-#PidFile /var/run/clamd.pid
-+PidFile /var/run/clamav/clamd.pid
++PidFile /run/clamav/clamd.pid
@@ -65 +65 @@
-#TemporaryDirectory /var/tmp
+TemporaryDirectory /tmp
diff --git a/extra/clamav/install b/extra/clamav/install
index 144134dde..a2092e815 100644
--- a/extra/clamav/install
+++ b/extra/clamav/install
@@ -2,9 +2,9 @@ post_install() {
getent group clamav &>/dev/null || groupadd -r -g 64 clamav >/dev/null
getent passwd clamav &>/dev/null || useradd -r -u 64 -g clamav -d /dev/null -s /bin/false -c "Clam AntiVirus" clamav >/dev/null
- install -d /var/log/clamav
- chown clamav:root /var/log/clamav
chown -R clamav:clamav /var/lib/clamav
+ install -o clamav -g clamav -d /run/clamav
+ install -o clamav -g clamav -d /var/log/clamav
}
post_remove() {
diff --git a/extra/clamav/logrotate b/extra/clamav/logrotate
index d1dc94dce..6a9051bed 100644
--- a/extra/clamav/logrotate
+++ b/extra/clamav/logrotate
@@ -2,7 +2,7 @@
create 644 clamav clamav
sharedscripts
postrotate
- /bin/kill -HUP `cat /var/run/clamav/clamd.pid 2>/dev/null` 2> /dev/null || true
- /bin/kill -HUP `cat /var/run/clamav/freshclam.pid 2>/dev/null` 2> /dev/null || true
+ /bin/kill -HUP `cat /run/clamav/clamd.pid 2>/dev/null` 2> /dev/null || true
+ /bin/kill -HUP `cat /run/clamav/freshclam.pid 2>/dev/null` 2> /dev/null || true
endscript
}
diff --git a/extra/clamav/rc.d b/extra/clamav/rc.d
index 04e959903..127c86c0f 100644
--- a/extra/clamav/rc.d
+++ b/extra/clamav/rc.d
@@ -3,8 +3,7 @@
. /etc/rc.conf
. /etc/rc.d/functions
-[[ -f /etc/conf.d/clamav ]] && . /etc/conf.d/clamav
-[[ -d /var/run/clamav ]] || install -d -o clamav -g root /var/run/clamav
+[[ -f /etc/conf.d/clamav ]] && source /etc/conf.d/clamav
PID_FC=$(pidof -o %PPID /usr/bin/freshclam)
PID_CD=$(pidof -o %PPID /usr/sbin/clamd)
@@ -24,7 +23,7 @@ case "$1" in
sleep 1
if [[ $START_FRESHCLAM = yes ]]; then
stat_busy "Starting FreshClam"
- [[ -z $PID_FC ]] && /usr/bin/freshclam -p /var/run/clamav/freshclam.pid -d $FRESHCLAM_OPTS
+ [[ -z $PID_FC ]] && /usr/bin/freshclam -p /run/clamav/freshclam.pid -d $FRESHCLAM_OPTS
if [[ $? -gt 0 ]]; then
stat_fail
else
diff --git a/extra/clamav/tmpfiles.d b/extra/clamav/tmpfiles.d
new file mode 100644
index 000000000..22d29941e
--- /dev/null
+++ b/extra/clamav/tmpfiles.d
@@ -0,0 +1 @@
+d /run/clamav 0755 clamav clamav
diff --git a/extra/garcon/PKGBUILD b/extra/garcon/PKGBUILD
index 98c07df7c..b943786ca 100644
--- a/extra/garcon/PKGBUILD
+++ b/extra/garcon/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 150129 2012-02-13 08:08:25Z foutrelis $
+# $Id: PKGBUILD 154452 2012-03-28 18:46:15Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Xavier Devlamynck <magicrhesus@ouranos.be>
pkgname=garcon
-pkgver=0.1.10
+pkgver=0.1.11
pkgrel=1
pkgdesc="Implementation of the freedesktop.org menu specification"
arch=('i686' 'x86_64' 'mips64el')
@@ -15,7 +15,7 @@ makedepends=('pkgconfig' 'intltool' 'xfce4-dev-tools')
replaces=('libxfce4menu')
options=('!libtool' '!makeflags')
source=(http://archive.xfce.org/src/xfce/garcon/0.1/garcon-$pkgver.tar.bz2)
-sha256sums=('c2497a2991101fc1e621dc712ef72aba7c238f6e5f5a1733c9572f9b23761316')
+sha256sums=('272c1207a3449ce969a86ebdc61c6afcad05003f0a986e222bb90c01c1692dfc')
build() {
cd "$srcdir/garcon-$pkgver"
diff --git a/extra/genius/PKGBUILD b/extra/genius/PKGBUILD
index 0eb84efd5..92d7466bb 100644
--- a/extra/genius/PKGBUILD
+++ b/extra/genius/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 134294 2011-08-02 19:07:41Z jgc $
+# $Id: PKGBUILD 154806 2012-03-30 18:41:27Z heftig $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Arjan Timmerman <arjan@soulfly.nl>
pkgname=genius
-pkgver=1.0.14
+pkgver=1.0.15
pkgrel=1
pkgdesc="Advanced calculator including a mathematical programming language"
arch=('i686' 'x86_64' 'mips64el')
@@ -14,7 +14,7 @@ makedepends=('intltool' 'pkgconfig' 'gnome-doc-utils>=0.20.0')
options=('!libtool' '!makeflags')
install=genius.install
source=(http://ftp.gnome.org/pub/GNOME/sources/genius/1.0/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('90ed181e6bb0b4a8a5adcad1eb8273c55685345e7f322b3591b59be02e41bb5f')
+sha256sums=('941e9d09d9f151f3f36ae190bad3c4e2887a552a301dc99af5fd06f8c5c76377')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/gtk-xfce-engine/PKGBUILD b/extra/gtk-xfce-engine/PKGBUILD
index 87c77013a..47b44451a 100644
--- a/extra/gtk-xfce-engine/PKGBUILD
+++ b/extra/gtk-xfce-engine/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 149817 2012-02-11 08:22:29Z foutrelis $
+# $Id: PKGBUILD 154599 2012-03-30 12:26:06Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: tobias <tobias funnychar archlinux.org>
pkgbase=gtk-xfce-engine
pkgname=('gtk2-xfce-engine' 'gtk3-xfce-engine')
-pkgver=2.99.1
+pkgver=2.99.2
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://www.xfce.org/"
@@ -13,7 +13,7 @@ groups=('xfce4')
makedepends=('gtk2' 'gtk3')
options=('!libtool')
source=(http://archive.xfce.org/src/xfce/$pkgbase/2.99/$pkgbase-$pkgver.tar.bz2)
-sha256sums=('077a3d68bb560371af902d4aa35ad949c70974e923ecdf2ec946801a480dece2')
+sha256sums=('81301df31b2bd8b345b40331fa9f1d5deeb6e3e18fa1a60cd23c0fa9b44de2ee')
build() {
cd "$srcdir/$pkgbase-$pkgver"
diff --git a/extra/gv/PKGBUILD b/extra/gv/PKGBUILD
index 26c364db7..92ab94cbe 100644
--- a/extra/gv/PKGBUILD
+++ b/extra/gv/PKGBUILD
@@ -1,26 +1,23 @@
-# $Id: PKGBUILD 148658 2012-02-05 11:45:52Z ibiru $
+# $Id: PKGBUILD 154831 2012-03-31 01:32:23Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=gv
-pkgver=3.7.3
+pkgver=3.7.3.90
pkgrel=1
pkgdesc="A program to view PostScript and PDF documents"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/gv/"
-license=('GPL')
+license=('GPL3')
depends=('xaw3d>=1.6' 'ghostscript' 'desktop-file-utils')
install=gv.install
-source=(http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz gv.desktop gv.png
- buildfix.diff)
-md5sums=('98ae3e9ce338b64ba5ab622389c5960e'
+#source=(http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz gv.desktop gv.png)
+source=(ftp://alpha.gnu.org/gnu/gv/${pkgname}-${pkgver}.tar.gz gv.desktop gv.png)
+md5sums=('3eba9b449ccae2537e7d14ce85ca9e66'
'cf04652952f2d0903bc7578b4826f50c'
- 'ab0e3879dbe39e59ad1c923020c28a86'
- '943baf7a6bb61389a09a4ec71083a900')
+ 'ab0e3879dbe39e59ad1c923020c28a86')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- # https://trac.macports.org/browser/trunk/dports/print/gv/files/patch-src-Scrollbar.c.diff?rev=89338
- patch -Np0 -i ${srcdir}/buildfix.diff
sed -i -e "s:-dGraphicsAlphaBits=2:\0 -dAlignToPixels=0:" src/Makefile.{am,in}
./configure --prefix=/usr
make
diff --git a/extra/imagemagick/PKGBUILD b/extra/imagemagick/PKGBUILD
index aaab9b555..911ba9b54 100644
--- a/extra/imagemagick/PKGBUILD
+++ b/extra/imagemagick/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 153440 2012-03-14 01:50:29Z eric $
+# $Id: PKGBUILD 154479 2012-03-29 01:47:21Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgbase=imagemagick
pkgname=('imagemagick' 'imagemagick-doc')
-pkgver=6.7.6.1
+pkgver=6.7.6.2
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://www.imagemagick.org/"
@@ -12,7 +12,7 @@ makedepends=('libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'ghostscript' \
'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper')
source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
perlmagick.rpath.patch)
-sha1sums=('17f38e5c43041991ed1764b2ebeb7b5c4cb0bcb5'
+sha1sums=('5411be21304520ae6a24d3f3e6d5c60eabdd57af'
'23405f80904b1de94ebd7bd6fe2a332471b8c283')
build() {
diff --git a/extra/libdrm/PKGBUILD b/extra/libdrm/PKGBUILD
index dc9e17584..fa9f64eed 100644
--- a/extra/libdrm/PKGBUILD
+++ b/extra/libdrm/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 153938 2012-03-20 20:33:27Z andyrtr $
+# $Id: PKGBUILD 154508 2012-03-29 17:30:54Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libdrm
-pkgver=2.4.32
+pkgver=2.4.33
pkgrel=1
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64 'mips64el')
@@ -17,7 +17,7 @@ source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2
COPYING
# git_fixes.diff
)
-sha1sums=('4aab6cc1c0d2a4822ffd83bd3da0e7a5479bf842'
+sha1sums=('4da2c635491724e44326871e6a49ccfec0b6b5a6'
'825ff5e0c4238b31bdea52f104bfec8949270e25'
'ba3dcd636997ee0d30df14b03dae05c24ae5d094')
diff --git a/extra/libnotify/PKGBUILD b/extra/libnotify/PKGBUILD
index cde614593..35dde675e 100644
--- a/extra/libnotify/PKGBUILD
+++ b/extra/libnotify/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 136391 2011-08-28 17:53:59Z ibiru $
+# $Id: PKGBUILD 154761 2012-03-30 16:37:09Z heftig $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libnotify
-pkgver=0.7.4
+pkgver=0.7.5
pkgrel=1
pkgdesc="Desktop notification library"
arch=('i686' 'x86_64' 'mips64el')
@@ -12,15 +12,15 @@ depends=('gdk-pixbuf2')
makedepends=('gtk3' 'gobject-introspection')
options=('!libtool')
source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('e3c58345112672c2cbb05a67512ff6c7028892df7a34746e2162fe76d9877019')
+sha256sums=('4378cb47874ba4d5f759b7890d8d28d086e81d3f0bd4f6e84e5ab66d82ffb652')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr --disable-static
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
}
diff --git a/extra/libzip/PKGBUILD b/extra/libzip/PKGBUILD
index 66338532f..c970e31d4 100644
--- a/extra/libzip/PKGBUILD
+++ b/extra/libzip/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 150601 2012-02-18 22:35:18Z pierre $
+# $Id: PKGBUILD 154546 2012-03-30 00:01:03Z eric $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=libzip
-pkgver=0.10
-pkgrel=2
+pkgver=0.10.1
+pkgrel=1
pkgdesc="A C library for reading, creating, and modifying zip archives"
url="http://www.nih.at/libzip/index.html"
-license=('GPL2')
+license=('BSD')
arch=('i686' 'x86_64' 'mips64el')
depends=('zlib')
options=('!libtool')
-source=("http://www.nih.at/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+source=("http://www.nih.at/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
'fix-headers.patch')
-md5sums=('47cdfcbc08c8bea0b52fdee4bf591622'
+md5sums=('d3e933ae049204badccf605f20aaecde'
'249395bd3a426c4c4e993e9d4753e1dd')
build() {
@@ -27,5 +27,6 @@ build() {
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR=${pkgdir} install
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/extra/misdnuser/PKGBUILD b/extra/misdnuser/PKGBUILD
new file mode 100644
index 000000000..00dd5e1c2
--- /dev/null
+++ b/extra/misdnuser/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 154556 2012-03-30 08:32:21Z tpowa $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=misdnuser
+pkgver=2.0.11
+pkgrel=2
+pkgdesc="Tools and library for mISDN"
+arch=('i686' 'x86_64')
+url="http://www.misdn.org"
+license=('GPL')
+depends=('isdn4k-utils' 'spandsp')
+backup=('etc/capi20.conf')
+options=('!libtool')
+source=(ftp://ftp.archlinux.org/other/misdnuser/${pkgname}-${pkgver}.tar.gz
+ misdncapid.rc)
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --enable-capi --enable-softdsp --with-mISDN_group=uucp
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -D -m 755 ${srcdir}/misdncapid.rc ${pkgdir}/etc/rc.d/misdncapid
+ # fix udev rule
+ mkdir -p ${pkgdir}/lib/udev/rules.d
+ mv ${pkgdir}/etc/udev/rules.d/45-misdn.rules ${pkgdir}/lib/udev/rules.d
+ rm -r ${pkgdir}/etc/udev/
+}
+md5sums=('1c8825afde76e290727240077bbd37ea'
+ '2009563b144de037ecb20f8d727a772e')
diff --git a/extra/misdnuser/misdncapid.rc b/extra/misdnuser/misdncapid.rc
new file mode 100755
index 000000000..5c47ca0a9
--- /dev/null
+++ b/extra/misdnuser/misdncapid.rc
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID="$(pidof -o %PPID /usr/sbin/mISDNcapid)"
+case "$1" in
+ start)
+ stat_busy "Starting misdncapid"
+ if [ ! -x /var/run/mISDNcapid ] ; then
+ install -m755 -d /var/run/mISDNcapid
+ fi
+
+ [ -z "$PID" ] && /usr/sbin/mISDNcapid >/dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ PID=$(pidof -o %PPID /usr/sbin/mISDNcapid)
+ echo $PID > /var/run/misdncapid.pid
+ add_daemon misdncapid
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping misdncapid"
+ [ -f /var/run/misdncapid.pid ] && kill `cat /var/run/misdncapid.pid` >/dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /var/run/misdncapid.pid
+ rm_daemon misdncapid
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ ;;
+esac
+exit 0
diff --git a/extra/mysql/PKGBUILD b/extra/mysql/PKGBUILD
index 497723778..ca4d4f1bb 100644
--- a/extra/mysql/PKGBUILD
+++ b/extra/mysql/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 150723 2012-02-21 07:30:13Z andrea $
+# $Id: PKGBUILD 154444 2012-03-28 18:29:19Z andrea $
# Maintainer:
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgbase=mysql
pkgname=('libmysqlclient' 'mysql-clients' 'mysql')
-pkgver=5.5.21
+pkgver=5.5.22
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
@@ -15,7 +15,7 @@ options=('!libtool')
source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz"
'mysqld'
'my.cnf')
-md5sums=('86d6bd335054a0aed1756ed60574c16d'
+md5sums=('c5b151a70e9ceed5308f108f1ece7b3b'
'2234207625baa29b2ff7d7b4f088abce'
'1c949c0dbea5206af0db14942d9927b6')
diff --git a/extra/notification-daemon/PKGBUILD b/extra/notification-daemon/PKGBUILD
index e382d9c4e..899354ab4 100644
--- a/extra/notification-daemon/PKGBUILD
+++ b/extra/notification-daemon/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 140945 2011-10-20 05:44:08Z ibiru $
+# $Id: PKGBUILD 154762 2012-03-30 16:38:12Z heftig $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Mark Rosenstand <mark@borkware.net>
pkgname=notification-daemon
-pkgver=0.7.3
+pkgver=0.7.4
pkgrel=1
pkgdesc="Notification daemon for the desktop notifications framework"
arch=(i686 x86_64 'mips64el')
@@ -14,10 +14,10 @@ groups=('gnome')
makedepends=('pkgconfig' 'intltool')
options=('!libtool' '!emptydirs')
source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('c40931557c42cd12fdb04ab531fd7d5c5766641e76babdbff6079a6d88342704')
+sha256sums=('9591273ee2099215cfbe1ce7eb7c08e8cbc3743d0a119e331889ffe9004e6f2f')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr --sysconfdir=/etc \
--libexecdir=/usr/lib/notification-daemon-1.0 \
--localstatedir=/var --disable-static
@@ -25,6 +25,6 @@ build() {
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
}
diff --git a/extra/pycups/PKGBUILD b/extra/pycups/PKGBUILD
index b6113fd99..b822b938a 100644
--- a/extra/pycups/PKGBUILD
+++ b/extra/pycups/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 140387 2011-10-12 02:51:45Z eric $
+# $Id: PKGBUILD 154446 2012-03-28 18:30:40Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: nesl247 <nesl247@gmail.com>
pkgname=pycups
-pkgver=1.9.60
+pkgver=1.9.61
pkgrel=1
pkgdesc="Python CUPS Bindings"
url="http://cyberelk.net/tim/software/pycups/"
@@ -11,8 +11,8 @@ arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
depends=('libcups' 'python2')
source=(http://cyberelk.net/tim/data/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.asc})
-md5sums=('083f3dd657df986e712a6fae36427457'
- 'cda91ca46362ba3423df2f08c33de5cb')
+md5sums=('7464093b349b907dcdefb913674e959b'
+ 'cb780142a614300792a08d462e198589')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/python-lxml/PKGBUILD b/extra/python-lxml/PKGBUILD
index ec44b2d94..05a86ef31 100644
--- a/extra/python-lxml/PKGBUILD
+++ b/extra/python-lxml/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 153553 2012-03-15 23:11:41Z eric $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# $Id: PKGBUILD 154469 2012-03-28 22:33:23Z eric $
+# Maintainer:
pkgname=('python-lxml' 'python2-lxml')
-pkgver=2.3.3
-pkgrel=2
+pkgver=2.3.4
+pkgrel=1
pkgdesc="Python binding for the libxml2 and libxslt libraries"
arch=('i686' 'x86_64' 'mips64el')
license=('BSD' 'custom')
url="http://lxml.de/"
makedepends=('python2' 'python' 'libxslt')
source=(http://pypi.python.org/packages/source/l/lxml/lxml-${pkgver}.tar.gz{,.asc})
-md5sums=('a7825793c69d004f388ec6600bad7a6f'
- '5c4b1a05f6e46a4dd7ebed8b5ad9e32e')
+sha1sums=('90a226d8a2ee38de47fc3351445dab6df0e33a20'
+ '7962be7794d7f4c87d2fce0104c27990f48f1ce1')
check() {
cd "${srcdir}"/lxml-$pkgver
diff --git a/extra/qt/PKGBUILD b/extra/qt/PKGBUILD
index ee76a64b1..26fc428d1 100644
--- a/extra/qt/PKGBUILD
+++ b/extra/qt/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 152665 2012-03-08 10:07:57Z andrea $
+# $Id: PKGBUILD 154524 2012-03-29 20:18:01Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgbase=qt
pkgname=('qt' 'qt-private-headers')
-pkgver=4.8.0
-pkgrel=6
+pkgver=4.8.1
+pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url='http://qt-project.org/'
license=('GPL3' 'LGPL')
@@ -18,35 +18,23 @@ _pkgfqn="${pkgbase}-everywhere-opensource-src-${pkgver}"
source=("http://get.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz"
'assistant.desktop' 'designer.desktop' 'linguist.desktop'
'qtconfig.desktop'
- 'fix-qgraphicsscene-regression.patch'
- 'improved-filter-event.patch'
- 'qurl-backward-compatibility.patch'
- 'declarative-fix-sigbus.patch'
- 'improve-cups-support.patch')
-md5sums=('e8a5fdbeba2927c948d9f477a6abe904'
+ 'gcc47.patch'
+ 'declarative-fix-sigbus.patch')
+md5sums=('7960ba8e18ca31f0c6e4895a312f92ff'
'fc211414130ab2764132e7370f8e5caa'
'85179f5e0437514f8639957e1d8baf62'
'f11852b97583610f3dbb669ebc3e21bc'
'6b771c8a81dd90b45e8a79afa0e5bbfd'
- 'c2e91fc028250a590e76effe234468e2'
- '444ebeb716d7c7379835efb8aa88e6c8'
- '7bc255a36733d0fbc80c1902ade4beca'
- 'aac963d05a9d5733e2bfce9e26607f51'
- 'c439c7731c25387352d8453ca7574971')
+ 'd8a0e81075b290ddc18ecd33b9b7ee22'
+ 'aac963d05a9d5733e2bfce9e26607f51')
build() {
cd "${srcdir}"/${_pkgfqn}
# MIPS N32-specific fix, shouldn't affect correctness on other platforms.
patch -Np1 -i "${srcdir}/declarative-fix-sigbus.patch"
- # (FS#28707)
- patch -p1 -i "${srcdir}"/fix-qgraphicsscene-regression.patch
- # (FS#27757) (KDEBUG#275469)
- patch -p1 -i "${srcdir}"/improved-filter-event.patch
- patch -p1 -i "${srcdir}"/qurl-backward-compatibility.patch
-
- # (FS#28381) (KDEBUG#180051)
- patch -p1 -i "${srcdir}"/improve-cups-support.patch
+
+ patch -p1 -i "${srcdir}"/gcc47.patch
export QT4DIR="${srcdir}"/${_pkgfqn}
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
diff --git a/extra/qt/gcc47.patch b/extra/qt/gcc47.patch
new file mode 100644
index 000000000..62c436e6a
--- /dev/null
+++ b/extra/qt/gcc47.patch
@@ -0,0 +1,27 @@
+diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h
+--- qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h.me 2012-01-24 11:24:14.729942043 +0100
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h 2012-01-24 14:28:39.848109534 +0100
+@@ -57,9 +57,7 @@ namespace JSC {
+
+ class JSGlobalObject : public JSVariableObject {
+ protected:
+- using JSVariableObject::JSVariableObjectData;
+-
+- struct JSGlobalObjectData : public JSVariableObjectData {
++ struct JSGlobalObjectData : public JSVariableObject::JSVariableObjectData {
+ // We use an explicit destructor function pointer instead of a
+ // virtual destructor because we want to avoid adding a vtable
+ // pointer to this struct. Adding a vtable pointer would force the
+diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h
+--- qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h.me 2012-01-24 11:40:07.167856677 +0100
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h 2012-01-24 14:28:34.640306629 +0100
+@@ -32,8 +32,7 @@ namespace JSC{
+
+ class JSStaticScopeObject : public JSVariableObject {
+ protected:
+- using JSVariableObject::JSVariableObjectData;
+- struct JSStaticScopeObjectData : public JSVariableObjectData {
++ struct JSStaticScopeObjectData : public JSVariableObject::JSVariableObjectData {
+ JSStaticScopeObjectData()
+ : JSVariableObjectData(&symbolTable, &registerStore + 1)
+ {
diff --git a/extra/r/PKGBUILD b/extra/r/PKGBUILD
index 742d7801a..5e0733772 100644
--- a/extra/r/PKGBUILD
+++ b/extra/r/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 153726 2012-03-18 19:57:52Z ronald $
+# $Id: PKGBUILD 154825 2012-03-30 19:44:16Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
# Contributor: K. Piche <kpiche@rogers.com>
pkgname=r
-pkgver=2.14.2
+pkgver=2.15.0
pkgrel=1
pkgdesc="Language and environment for statistical computing and graphics"
arch=('i686' 'x86_64' 'mips64el')
@@ -20,7 +20,7 @@ source=("http://cran.r-project.org/src/base/R-2/R-${pkgver}.tar.gz"
'r.desktop'
'r.png')
install=r.install
-sha1sums=('523dca7694e4d0c8701fcc783ea3767e46fe7a62'
+sha1sums=('a633f87fdbd22e8c371971c535ca815e63c297f6'
'13aa29219bcaa102e575de8c1c8e0833d233e836'
'a69a07ec363440efc18ce0a7f2af103375dea978')
diff --git a/extra/spandsp/PKGBUILD b/extra/spandsp/PKGBUILD
new file mode 100644
index 000000000..3f5f5f94e
--- /dev/null
+++ b/extra/spandsp/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 154549 2012-03-30 08:01:29Z tpowa $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=spandsp
+pkgver=0.0.6pre20
+pkgrel=1
+pkgdesc="A DSP library for telephony"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://www.soft-switch.org/"
+depends=('libtiff')
+source=(http://www.soft-switch.org/downloads/$pkgname/$pkgname-$pkgver.tgz)
+options=(!libtool)
+
+build() {
+ cd $srcdir/$pkgname-0.0.6
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd $srcdir/$pkgname-0.0.6
+ make check
+}
+
+package() {
+ cd $srcdir/$pkgname-0.0.6
+ make DESTDIR=$pkgdir install
+}
+md5sums=('9bdf1d027f1b5dc5e622d707fa1634cb')
diff --git a/extra/system-config-printer/PKGBUILD b/extra/system-config-printer/PKGBUILD
index cfc17bbf9..0fb108521 100644
--- a/extra/system-config-printer/PKGBUILD
+++ b/extra/system-config-printer/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 151614 2012-02-28 09:40:16Z andrea $
+# $Id: PKGBUILD 154448 2012-03-28 18:31:41Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgbase=system-config-printer
pkgname=('system-config-printer-common'
'system-config-printer-gnome')
-pkgver=1.3.8
-pkgrel=3
+pkgver=1.3.9
+pkgrel=1
pkgdesc="A CUPS printer configuration tool and status applet"
url="http://cyberelk.net/tim/software/system-config-printer/"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
makedepends=('udev' 'libcups' 'intltool' 'python2' 'xmlto' 'docbook-xsl' 'desktop-file-utils')
source=(http://cyberelk.net/tim/data/${pkgbase}/1.3/${pkgbase}-${pkgver}.tar.xz{,.sig})
-md5sums=('ca04568dd7ff1ef7a381ad637d4e915b'
- '67c103760f9b4227bc1d99204d8378cd')
+md5sums=('df424f127eede63965608e5ec5e27519'
+ 'd105b7f7725c1ec538b6e6adb10667f3')
build() {
cd "${srcdir}"/${pkgbase}-${pkgver}
diff --git a/extra/thunar-volman/PKGBUILD b/extra/thunar-volman/PKGBUILD
index b1a421925..b6e2b112e 100644
--- a/extra/thunar-volman/PKGBUILD
+++ b/extra/thunar-volman/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 149177 2012-02-06 06:29:06Z foutrelis $
+# $Id: PKGBUILD 154456 2012-03-28 18:51:17Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Tobias Kieslich <tobias (at) archlinux.org>
pkgname=thunar-volman
-pkgver=0.6.0
-pkgrel=3
+pkgver=0.6.1
+pkgrel=1
pkgdesc="Automatic management of removeable devices in Thunar"
arch=('i686' 'x86_64' 'mips64el')
url="http://foo-projects.org/~benny/projects/thunar-volman"
@@ -15,12 +15,13 @@ makedepends=('intltool')
options=('!libtool')
install=$pkgname.install
source=(http://archive.xfce.org/src/apps/$pkgname/0.6/$pkgname-$pkgver.tar.bz2)
-sha256sums=('b1afd2b3b285cfcf07c11caa3d37fa5ff1fc06f7dc68fcca07f9a0d70daa694f')
+sha256sums=('04918a9ccd576e7b19dae37af50ffe6de6f79ed66bf305c26dfe81c1ff652b27')
build() {
cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr \
+ ./configure \
+ --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib/xfce4 \
--localstatedir=/var \
diff --git a/extra/tumbler/PKGBUILD b/extra/tumbler/PKGBUILD
index 167d910b3..41a6bd83d 100644
--- a/extra/tumbler/PKGBUILD
+++ b/extra/tumbler/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 148946 2012-02-05 11:57:15Z ibiru $
+# $Id: PKGBUILD 154454 2012-03-28 18:48:51Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Jan Jezek <honzin.jezek@gmail.com>
pkgname=tumbler
-pkgver=0.1.23
-pkgrel=4
+pkgver=0.1.24
+pkgrel=1
pkgdesc="D-Bus service for applications to request thumbnails"
arch=('i686' 'x86_64' 'mips64el')
url="http://git.xfce.org/xfce/tumbler/"
@@ -22,7 +22,7 @@ optdepends=('ffmpegthumbnailer: for video thumbnails'
'freetype2: for font thumbnails')
options=('!libtool')
source=(http://archive.xfce.org/src/apps/$pkgname/0.1/$pkgname-$pkgver.tar.bz2)
-sha256sums=('b3066d17b7e1fee5135eb876a7c2c50a1221bd0d447c3dd7c36efe6d7f3874cb')
+sha256sums=('18fe74900851211cbd10eff4e9e487229284d1701aa60f0c3d35cdd457c72566')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/extra/xaw3d/PKGBUILD b/extra/xaw3d/PKGBUILD
index b14402020..8b03509d3 100644
--- a/extra/xaw3d/PKGBUILD
+++ b/extra/xaw3d/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 150431 2012-02-17 16:48:20Z andyrtr $
+# $Id: PKGBUILD 154650 2012-03-30 14:26:30Z andyrtr $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=xaw3d
-pkgver=1.6.1
+pkgver=1.6.2
pkgrel=1
pkgdesc="Three-D Athena widgets"
arch=('i686' 'x86_64' 'mips64el')
@@ -12,7 +12,7 @@ depends=('libxmu')
makedepends=('xorg-util-macros')
options=('!libtool')
source=(http://xorg.freedesktop.org/archive/individual/lib/libXaw3d-${pkgver}.tar.bz2)
-sha256sums=('9cd43caabb9e17d7d06c6e156cace9f7b7849c60662f61561dbf44c1eea10971')
+sha1sums=('0b1db72e9d5be0edae57cda213860c0289fac12f')
build() {
cd "${srcdir}/libXaw3d-${pkgver}"
diff --git a/extra/xf86-input-keyboard/PKGBUILD b/extra/xf86-input-keyboard/PKGBUILD
index c7b093181..a84212019 100644
--- a/extra/xf86-input-keyboard/PKGBUILD
+++ b/extra/xf86-input-keyboard/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xf86-input-keyboard
pkgver=1.6.1
pkgrel=2
pkgdesc="X.Org keyboard input driver"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
diff --git a/extra/xf86-input-mouse/PKGBUILD b/extra/xf86-input-mouse/PKGBUILD
index 85fcd5090..4fd8b64d8 100644
--- a/extra/xf86-input-mouse/PKGBUILD
+++ b/extra/xf86-input-mouse/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xf86-input-mouse
pkgver=1.7.2
pkgrel=1
pkgdesc="X.org mouse input driver"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
diff --git a/extra/xf86-video-ati/PKGBUILD b/extra/xf86-video-ati/PKGBUILD
index 5cce5b37c..09c47f815 100644
--- a/extra/xf86-video-ati/PKGBUILD
+++ b/extra/xf86-video-ati/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 153325 2012-03-12 20:53:16Z andyrtr $
+# $Id: PKGBUILD 154644 2012-03-30 13:39:00Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-ati
-pkgver=6.14.3
+pkgver=6.14.4
pkgrel=2
pkgdesc="X.org ati video driver"
arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=(libpciaccess libdrm udev pixman ati-dri)
-makedepends=('xorg-server-devel>=1.11.99.902' 'libdrm' 'xf86driproto' 'mesa' 'glproto')
+depends=('libpciaccess' 'libdrm>=2.4.33' 'udev' 'pixman' 'ati-dri')
+makedepends=('xorg-server-devel>=1.11.99.902' 'xf86driproto' 'mesa' 'glproto')
conflicts=('xorg-server<1.11.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('db635e2e2858d5db90362f546ac0adad85474bad')
+sha1sums=('75ad000bc00599e1797134f2d20d3094cba6af92')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/xfce4-power-manager/PKGBUILD b/extra/xfce4-power-manager/PKGBUILD
index aed132843..401b390bd 100644
--- a/extra/xfce4-power-manager/PKGBUILD
+++ b/extra/xfce4-power-manager/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 149179 2012-02-06 06:31:48Z foutrelis $
+# $Id: PKGBUILD 154458 2012-03-28 18:59:06Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Tobias Kieslich <tobias funnychar archlinux.org>
pkgname=xfce4-power-manager
-pkgver=1.0.10
-pkgrel=3
+pkgver=1.0.11
+pkgrel=1
pkgdesc="Power manager for Xfce desktop"
arch=('i686' 'x86_64' 'mips64el')
url="http://xfce-goodies.berlios.de/"
@@ -15,17 +15,14 @@ depends=('xfce4-panel' 'upower' 'udisks' 'libnotify' 'hicolor-icon-theme'
makedepends=('pkgconfig' 'intltool')
options=('!libtool')
install=$pkgname.install
-source=(http://archive.xfce.org/src/apps/$pkgname/1.0/$pkgname-$pkgver.tar.bz2
- xfce4-power-manager-1.0.10-libnotify-0.7.patch)
-sha256sums=('80e4bb44f81c485ec09654dde432d6e28667d49a787625632a4413aac30422f0'
- '8bebb7830a4a7d9a49f5f06280aaf7bd703aceaecddcd9e2069e7c2c45dbc013')
+source=(http://archive.xfce.org/src/apps/$pkgname/1.0/$pkgname-$pkgver.tar.bz2)
+sha256sums=('cfa85d839458fa2e9c2ee874d7d64ab00a95d6d51e6acf0ac082ffc700fe4339')
build() {
cd "$srcdir/$pkgname-$pkgver"
- patch -Np1 -i "$srcdir/xfce4-power-manager-1.0.10-libnotify-0.7.patch"
-
- ./configure --prefix=/usr \
+ ./configure \
+ --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib \
--localstatedir=/var \
diff --git a/gnome-unstable/evolution-ews/PKGBUILD b/gnome-unstable/evolution-ews/PKGBUILD
deleted file mode 100644
index 63b730d33..000000000
--- a/gnome-unstable/evolution-ews/PKGBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id: PKGBUILD 154373 2012-03-27 11:38:10Z heftig $
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
-
-pkgname=evolution-ews
-pkgver=3.4.0
-pkgrel=1
-pkgdesc="MS Exchange integration through Exchange Web Services"
-arch=('i686' 'x86_64')
-license=('LGPL2.1')
-url="http://www.gnome.org"
-depends=('evolution-data-server' 'gtkhtml4' 'gnome-desktop')
-makedepends=('intltool' 'evolution')
-options=('!libtool' '!emptydirs')
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('2bc20f65fc645f0a76d218d483650f9c9cc75ce3104ad849af6e7eec2d5a7f72')
-
-build() {
- cd $pkgname-$pkgver
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/evolution --disable-static
- make
-}
-
-package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
-}
diff --git a/gnome-unstable/evolution-exchange/PKGBUILD b/gnome-unstable/evolution-exchange/PKGBUILD
deleted file mode 100644
index 414a126ac..000000000
--- a/gnome-unstable/evolution-exchange/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 154369 2012-03-27 11:36:53Z heftig $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=evolution-exchange
-pkgver=3.4.0
-pkgrel=1
-pkgdesc="Ximian Connector Exchange plugin for Evolution"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://www.ximian.com"
-depends=('evolution-data-server' 'gtkhtml4' 'gnome-desktop')
-makedepends=('intltool' 'evolution')
-options=('!libtool' '!emptydirs')
-install=evolution-exchange.install
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('7bfdf2fb44e691e7eb611aa0d1129cbacf43f7a2477fdae87f06368eecc89fb4')
-
-build() {
- cd $pkgname-$pkgver
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/evolution --disable-static \
- --with-libdb=/usr --with-krb5=/usr
- make
-}
-
-package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
-
- install -m755 -d "$pkgdir/usr/share/gconf/schemas"
- gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" --domain evolution-exchange-3.2 "$pkgdir"/etc/gconf/schemas/*.schemas
- rm -f $pkgdir/etc/gconf/schemas/*.schemas
-}
diff --git a/gnome-unstable/evolution-exchange/evolution-exchange.install b/gnome-unstable/evolution-exchange/evolution-exchange.install
deleted file mode 100644
index 1179887f9..000000000
--- a/gnome-unstable/evolution-exchange/evolution-exchange.install
+++ /dev/null
@@ -1,17 +0,0 @@
-pkgname=evolution-exchange
-
-post_install() {
- usr/sbin/gconfpkg --install ${pkgname}
-}
-
-pre_upgrade() {
- pre_remove $1
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- usr/sbin/gconfpkg --uninstall ${pkgname}
-}
diff --git a/gnome-unstable/evolution-groupwise/PKGBUILD b/gnome-unstable/evolution-groupwise/PKGBUILD
deleted file mode 100644
index 7841c3f88..000000000
--- a/gnome-unstable/evolution-groupwise/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 154370 2012-03-27 11:37:28Z heftig $
-# Maintainer : Ionut Biru <ibiru@archlinux.org>
-# Contributor: György Balló <ballogy@freestart.hu>
-
-pkgname=evolution-groupwise
-pkgver=3.4.0
-pkgrel=1
-pkgdesc="GroupWise connector for evolution"
-arch=(i686 x86_64)
-url="http://projects.gnome.org/evolution/"
-license=(LGPL)
-depends=('evolution-data-server' 'gtkhtml4')
-makedepends=(intltool evolution)
-optdepends=('evolution: evolution plugin')
-options=(!libtool)
-source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('b5e882811d10411249accb4ce1131d2e2d336d357b68a8f5dcfe7576b320c717')
-
-build() {
- cd $pkgname-$pkgver
-
- ./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var --disable-static
- make
-}
-
-package() {
- cd $pkgname-$pkgver
-
- make DESTDIR="$pkgdir" install
-}
-
diff --git a/gnome-unstable/farstream/vp8.patch b/gnome-unstable/farstream/vp8.patch
deleted file mode 100644
index 67009a8ad..000000000
--- a/gnome-unstable/farstream/vp8.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urNp farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences farstream-0.1.1/gst/fsrtpconference/default-codec-preferences
---- farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences 2012-03-20 12:12:22.644324485 +0100
-+++ farstream-0.1.1/gst/fsrtpconference/default-codec-preferences 2012-03-21 09:32:04.468634455 +0100
-@@ -41,6 +41,8 @@ feedback:nack/pli=
- [video/H263]
- feedback:nack/pli=
-
-+[video/VP8-DRAFT-IETF-01]
-+
- [video/THEORA]
- #feedback:tfrc=
- feedback:nack/pli=
diff --git a/gnome-unstable/pidgin/port-to-farstream-v3.patch b/gnome-unstable/pidgin/port-to-farstream-v3.patch
deleted file mode 100644
index 93e29af50..000000000
--- a/gnome-unstable/pidgin/port-to-farstream-v3.patch
+++ /dev/null
@@ -1,447 +0,0 @@
-diff -upr pidgin-2.10.1.orig/configure.ac pidgin-2.10.1/configure.ac
---- pidgin-2.10.1.orig/configure.ac 2011-12-06 10:44:32.000000000 +0200
-+++ pidgin-2.10.1/configure.ac 2012-03-10 18:21:12.000000000 +0200
-@@ -780,18 +780,18 @@ else
- fi
-
- dnl #######################################################################
--dnl # Check for Farsight
-+dnl # Check for Farstream
- dnl #######################################################################
--AC_ARG_ENABLE(farsight,
-- [AC_HELP_STRING([--disable-farsight], [compile without farsight support])],
-- enable_farsight="$enableval", enable_farsight="yes")
--if test "x$enable_farsight" != "xno"; then
-- PKG_CHECK_MODULES(FARSIGHT, [farsight2-0.10 >= 0.0.9], [
-- AC_DEFINE(USE_FARSIGHT, 1, [Use Farsight for voice and video])
-- AC_SUBST(FARSIGHT_CFLAGS)
-- AC_SUBST(FARSIGHT_LIBS)
-+AC_ARG_ENABLE(farstream,
-+ [AC_HELP_STRING([--disable-farstream], [compile without farstream support])],
-+ enable_farstream="$enableval", enable_farstream="yes")
-+if test "x$enable_farstream" != "xno"; then
-+ PKG_CHECK_MODULES(FARSTREAM, [farstream-0.1], [
-+ AC_DEFINE(USE_FARSTREAM, 1, [Use Farstream for voice and video])
-+ AC_SUBST(FARSTREAM_CFLAGS)
-+ AC_SUBST(FARSTREAM_LIBS)
- ], [
-- enable_farsight="no"
-+ enable_farstream="no"
- ])
- fi
-
-@@ -802,20 +802,20 @@ AC_ARG_ENABLE(vv,
- [AC_HELP_STRING([--disable-vv], [compile without voice and video support])],
- enable_vv="$enableval", enable_vv="yes")
- if test "x$enable_vv" != "xno"; then
-- if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno"; then
-+ if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno"; then
- AC_DEFINE(USE_VV, 1, [Use voice and video])
- else
- enable_vv="no"
- if test "x$force_deps" = "xyes"; then
- AC_MSG_ERROR([
- Dependencies for voice/video were not met.
--Install the necessary gstreamer and farsight packages first.
-+Install the necessary gstreamer and farstream packages first.
- Or use --disable-vv if you do not need voice/video support.
- ])
- fi
- fi
- fi
--AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno")
-+AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno")
-
- dnl #######################################################################
- dnl # Check for Internationalized Domain Name support
-diff -upr pidgin-2.10.1.orig/libpurple/Makefile.am pidgin-2.10.1/libpurple/Makefile.am
---- pidgin-2.10.1.orig/libpurple/Makefile.am 2011-12-06 10:44:33.000000000 +0200
-+++ pidgin-2.10.1/libpurple/Makefile.am 2012-03-10 18:21:19.000000000 +0200
-@@ -306,7 +306,7 @@ libpurple_la_LIBADD = \
- $(LIBXML_LIBS) \
- $(NETWORKMANAGER_LIBS) \
- $(INTLLIBS) \
-- $(FARSIGHT_LIBS) \
-+ $(FARSTREAM_LIBS) \
- $(GSTREAMER_LIBS) \
- $(GSTINTERFACES_LIBS) \
- $(IDN_LIBS) \
-@@ -322,7 +322,7 @@ AM_CPPFLAGS = \
- $(DEBUG_CFLAGS) \
- $(DBUS_CFLAGS) \
- $(LIBXML_CFLAGS) \
-- $(FARSIGHT_CFLAGS) \
-+ $(FARSTREAM_CFLAGS) \
- $(GSTREAMER_CFLAGS) \
- $(GSTINTERFACES_CFLAGS) \
- $(IDN_CFLAGS) \
-diff -upr pidgin-2.10.1.orig/libpurple/media/backend-fs2.c pidgin-2.10.1/libpurple/media/backend-fs2.c
---- pidgin-2.10.1.orig/libpurple/media/backend-fs2.c 2011-12-06 10:44:33.000000000 +0200
-+++ pidgin-2.10.1/libpurple/media/backend-fs2.c 2012-03-10 18:21:19.000000000 +0200
-@@ -1,5 +1,5 @@
- /**
-- * @file backend-fs2.c Farsight 2 backend for media API
-+ * @file backend-fs2.c Farstream backend for media API
- * @ingroup core
- */
-
-@@ -34,8 +34,9 @@
- #include "network.h"
- #include "media-gst.h"
-
--#include <gst/farsight/fs-conference-iface.h>
--#include <gst/farsight/fs-element-added-notifier.h>
-+#include <farstream/fs-conference.h>
-+#include <farstream/fs-element-added-notifier.h>
-+#include <farstream/fs-utils.h>
-
- /** @copydoc _PurpleMediaBackendFs2Class */
- typedef struct _PurpleMediaBackendFs2Class PurpleMediaBackendFs2Class;
-@@ -112,6 +113,8 @@ struct _PurpleMediaBackendFs2Stream
- gchar *participant;
- FsStream *stream;
-
-+ gboolean supports_add;
-+
- GstElement *src;
- GstElement *tee;
- GstElement *volume;
-@@ -147,6 +150,8 @@ struct _PurpleMediaBackendFs2Private
- FsConference *conference;
- gchar *conference_type;
-
-+ FsElementAddedNotifier *notifier;
-+
- GHashTable *sessions;
- GHashTable *participants;
-
-@@ -212,6 +217,11 @@ purple_media_backend_fs2_dispose(GObject
-
- purple_debug_info("backend-fs2", "purple_media_backend_fs2_dispose\n");
-
-+ if (priv->notifier) {
-+ g_object_unref(priv->notifier);
-+ priv->notifier = NULL;
-+ }
-+
- if (priv->confbin) {
- GstElement *pipeline;
-
-@@ -846,7 +856,7 @@ gst_handle_message_element(GstBus *bus,
- priv->conference != FS_CONFERENCE(src))
- return;
-
-- if (gst_structure_has_name(msg->structure, "farsight-error")) {
-+ if (gst_structure_has_name(msg->structure, "farstream-error")) {
- FsError error_no;
- gst_structure_get_enum(msg->structure, "error-no",
- FS_TYPE_ERROR, (gint*)&error_no);
-@@ -867,16 +877,9 @@ gst_handle_message_element(GstBus *bus,
- " strict."));
- purple_media_end(priv->media, NULL, NULL);
- break;
-- case FS_ERROR_UNKNOWN_CNAME:
-- /*
-- * Unknown CName is only a problem for the
-- * multicast transmitter which isn't used.
-- * It is also deprecated.
-- */
-- break;
- default:
- purple_debug_error("backend-fs2",
-- "farsight-error: %i: %s\n",
-+ "farstream-error: %i: %s\n",
- error_no,
- gst_structure_get_string(
- msg->structure, "error-msg"));
-@@ -885,11 +888,11 @@ gst_handle_message_element(GstBus *bus,
-
- if (FS_ERROR_IS_FATAL(error_no)) {
- purple_media_error(priv->media, _("A non-recoverable "
-- "Farsight2 error has occurred."));
-+ "Farstream error has occurred."));
- purple_media_end(priv->media, NULL, NULL);
- }
- } else if (gst_structure_has_name(msg->structure,
-- "farsight-new-local-candidate")) {
-+ "farstream-new-local-candidate")) {
- const GValue *value;
- FsStream *stream;
- FsCandidate *local_candidate;
-@@ -924,7 +927,7 @@ gst_handle_message_element(GstBus *bus,
- session->id, name, candidate);
- g_object_unref(candidate);
- } else if (gst_structure_has_name(msg->structure,
-- "farsight-local-candidates-prepared")) {
-+ "farstream-local-candidates-prepared")) {
- const GValue *value;
- FsStream *stream;
- FsParticipant *participant;
-@@ -942,7 +945,7 @@ gst_handle_message_element(GstBus *bus,
- g_signal_emit_by_name(self, "candidates-prepared",
- session->id, name);
- } else if (gst_structure_has_name(msg->structure,
-- "farsight-new-active-candidate-pair")) {
-+ "farstream-new-active-candidate-pair")) {
- const GValue *value;
- FsStream *stream;
- FsCandidate *local_candidate;
-@@ -976,7 +979,7 @@ gst_handle_message_element(GstBus *bus,
- g_object_unref(lcandidate);
- g_object_unref(rcandidate);
- } else if (gst_structure_has_name(msg->structure,
-- "farsight-recv-codecs-changed")) {
-+ "farstream-recv-codecs-changed")) {
- const GValue *value;
- GList *codecs;
- FsCodec *codec;
-@@ -986,10 +989,10 @@ gst_handle_message_element(GstBus *bus,
- codec = codecs->data;
-
- purple_debug_info("backend-fs2",
-- "farsight-recv-codecs-changed: %s\n",
-+ "farstream-recv-codecs-changed: %s\n",
- codec->encoding_name);
- } else if (gst_structure_has_name(msg->structure,
-- "farsight-component-state-changed")) {
-+ "farstream-component-state-changed")) {
- const GValue *value;
- FsStreamState fsstate;
- guint component;
-@@ -1025,11 +1028,11 @@ gst_handle_message_element(GstBus *bus,
- }
-
- purple_debug_info("backend-fs2",
-- "farsight-component-state-changed: "
-+ "farstream-component-state-changed: "
- "component: %u state: %s\n",
- component, state);
- } else if (gst_structure_has_name(msg->structure,
-- "farsight-send-codec-changed")) {
-+ "farstream-send-codec-changed")) {
- const GValue *value;
- FsCodec *codec;
- gchar *codec_str;
-@@ -1039,12 +1042,12 @@ gst_handle_message_element(GstBus *bus,
- codec_str = fs_codec_to_string(codec);
-
- purple_debug_info("backend-fs2",
-- "farsight-send-codec-changed: codec: %s\n",
-+ "farstream-send-codec-changed: codec: %s\n",
- codec_str);
-
- g_free(codec_str);
- } else if (gst_structure_has_name(msg->structure,
-- "farsight-codecs-changed")) {
-+ "farstream-codecs-changed")) {
- const GValue *value;
- FsSession *fssession;
- GList *sessions;
-@@ -1220,8 +1223,12 @@ stream_info_cb(PurpleMedia *media, Purpl
- purple_media_is_initiator(media, sid, name))
- return;
-
-- fs_stream_set_remote_candidates(stream->stream,
-- stream->remote_candidates, &err);
-+ if (stream->supports_add)
-+ fs_stream_add_remote_candidates(stream->stream,
-+ stream->remote_candidates, &err);
-+ else
-+ fs_stream_force_remote_candidates(stream->stream,
-+ stream->remote_candidates, &err);
-
- if (err == NULL)
- return;
-@@ -1301,6 +1308,7 @@ init_conference(PurpleMediaBackendFs2 *s
- GstElement *pipeline;
- GstBus *bus;
- gchar *name;
-+ GKeyFile *default_props;
-
- priv->conference = FS_CONFERENCE(
- gst_element_factory_make(priv->conference_type, NULL));
-@@ -1343,6 +1351,14 @@ init_conference(PurpleMediaBackendFs2 *s
- return FALSE;
- }
-
-+ default_props = fs_utils_get_default_element_properties(GST_ELEMENT(priv->conference));
-+ if (default_props != NULL) {
-+ priv->notifier = fs_element_added_notifier_new();
-+ fs_element_added_notifier_add(priv->notifier,
-+ GST_BIN(priv->confbin));
-+ fs_element_added_notifier_set_properties_from_keyfile(priv->notifier, default_props);
-+ }
-+
- g_signal_connect(G_OBJECT(bus), "message",
- G_CALLBACK(gst_bus_cb), self);
- gst_object_unref(bus);
-@@ -1559,7 +1575,7 @@ create_session(PurpleMediaBackendFs2 *se
- * receiving the src-pad-added signal.
- * Only works for non-multicast FsRtpSessions.
- */
-- if (is_nice || !strcmp(transmitter, "rawudp"))
-+ if (!!strcmp(transmitter, "multicast"))
- g_object_set(G_OBJECT(session->session),
- "no-rtcp-timeout", 0, NULL);
-
-@@ -1612,7 +1628,7 @@ create_participant(PurpleMediaBackendFs2
- GError *err = NULL;
-
- participant = fs_conference_new_participant(
-- priv->conference, name, &err);
-+ priv->conference, &err);
-
- if (err) {
- purple_debug_error("backend-fs2",
-@@ -1622,6 +1638,12 @@ create_participant(PurpleMediaBackendFs2
- return FALSE;
- }
-
-+ if (g_object_class_find_property(G_OBJECT_GET_CLASS(participant),
-+ "cname")) {
-+ g_object_set(participant, "cname", name, NULL);
-+ }
-+
-+
- if (!priv->participants) {
- purple_debug_info("backend-fs2",
- "Creating hash table for participants\n");
-@@ -1786,6 +1808,40 @@ create_stream(PurpleMediaBackendFs2 *sel
- }
- }
-
-+
-+ session = get_session(self, sess_id);
-+
-+ if (session == NULL) {
-+ purple_debug_error("backend-fs2",
-+ "Couldn't find session to create stream.\n");
-+ return FALSE;
-+ }
-+
-+ participant = get_participant(self, who);
-+
-+ if (participant == NULL) {
-+ purple_debug_error("backend-fs2", "Couldn't find "
-+ "participant to create stream.\n");
-+ return FALSE;
-+ }
-+
-+ fsstream = fs_session_new_stream(session->session, participant,
-+ initiator == TRUE ? type_direction :
-+ (type_direction & FS_DIRECTION_RECV), &err);
-+
-+ if (fsstream == NULL) {
-+ if (err) {
-+ purple_debug_error("backend-fs2",
-+ "Error creating stream: %s\n",
-+ err && err->message ?
-+ err->message : "NULL");
-+ g_error_free(err);
-+ } else
-+ purple_debug_error("backend-fs2",
-+ "Error creating stream\n");
-+ return FALSE;
-+ }
-+
- memcpy(_params, params, sizeof(GParameter) * num_params);
-
- /* set the controlling mode parameter */
-@@ -1840,45 +1896,22 @@ create_stream(PurpleMediaBackendFs2 *sel
- _num_params++;
- }
-
-- session = get_session(self, sess_id);
-
-- if (session == NULL) {
-- purple_debug_error("backend-fs2",
-- "Couldn't find session to create stream.\n");
-- return FALSE;
-- }
--
-- participant = get_participant(self, who);
--
-- if (participant == NULL) {
-- purple_debug_error("backend-fs2", "Couldn't find "
-- "participant to create stream.\n");
-- return FALSE;
-+ if(!fs_stream_set_transmitter(fsstream, transmitter,
-+ _params, _num_params, &err)) {
-+ purple_debug_error("backend-fs2", "Could not set transmitter %s: %s.\n", transmitter, err->message);
-+ g_clear_error(&err);
-+ g_free(_params);
-+ return FALSE;
- }
--
-- fsstream = fs_session_new_stream(session->session, participant,
-- initiator == TRUE ? type_direction :
-- (type_direction & FS_DIRECTION_RECV), transmitter,
-- _num_params, _params, &err);
- g_free(_params);
-
-- if (fsstream == NULL) {
-- if (err) {
-- purple_debug_error("backend-fs2",
-- "Error creating stream: %s\n",
-- err && err->message ?
-- err->message : "NULL");
-- g_error_free(err);
-- } else
-- purple_debug_error("backend-fs2",
-- "Error creating stream\n");
-- return FALSE;
-- }
-
- stream = g_new0(PurpleMediaBackendFs2Stream, 1);
- stream->participant = g_strdup(who);
- stream->session = session;
- stream->stream = fsstream;
-+ stream->supports_add = !strcmp(transmitter, "nice");
-
- priv->streams = g_list_append(priv->streams, stream);
-
-@@ -1991,7 +2024,11 @@ purple_media_backend_fs2_add_remote_cand
- if (purple_media_is_initiator(priv->media, sess_id, participant) ||
- purple_media_accepted(
- priv->media, sess_id, participant)) {
-- fs_stream_set_remote_candidates(stream->stream,
-+ if (stream->supports_add)
-+ fs_stream_add_remote_candidates(stream->stream,
-+ stream->remote_candidates, &err);
-+ else
-+ fs_stream_force_remote_candidates(stream->stream,
- stream->remote_candidates, &err);
-
- if (err) {
-diff -upr pidgin-2.10.1.orig/libpurple/media.c pidgin-2.10.1/libpurple/media.c
---- pidgin-2.10.1.orig/libpurple/media.c 2011-12-06 10:44:33.000000000 +0200
-+++ pidgin-2.10.1/libpurple/media.c 2012-03-10 18:21:19.000000000 +0200
-@@ -1067,7 +1067,6 @@ purple_media_add_stream(PurpleMedia *med
- {
- #ifdef USE_VV
- PurpleMediaSession *session;
-- PurpleMediaStream *stream = NULL;
-
- g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE);
-
-@@ -1103,7 +1102,7 @@ purple_media_add_stream(PurpleMedia *med
- }
-
- if (purple_media_get_stream(media, sess_id, who) == NULL) {
-- stream = purple_media_insert_stream(session, who, initiator);
-+ purple_media_insert_stream(session, who, initiator);
-
- g_signal_emit(media, purple_media_signals[STATE_CHANGED],
- 0, PURPLE_MEDIA_STATE_NEW,
-diff -upr pidgin-2.10.1.orig/libpurple/mediamanager.c pidgin-2.10.1/libpurple/mediamanager.c
---- pidgin-2.10.1.orig/libpurple/mediamanager.c 2011-12-06 10:44:33.000000000 +0200
-+++ pidgin-2.10.1/libpurple/mediamanager.c 2012-03-10 18:27:05.000000000 +0200
-@@ -39,7 +39,7 @@
- #ifdef USE_VV
- #include <media/backend-fs2.h>
-
--#include <gst/farsight/fs-element-added-notifier.h>
-+#include <farstream/fs-element-added-notifier.h>
- #include <gst/interfaces/xoverlay.h>
-
- /** @copydoc _PurpleMediaManagerPrivate */
diff --git a/gnome-unstable/zenity/PKGBUILD b/gnome-unstable/zenity/PKGBUILD
deleted file mode 100644
index dbdfc0091..000000000
--- a/gnome-unstable/zenity/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 154336 2012-03-26 12:57:11Z heftig $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=zenity
-pkgver=3.4.0
-pkgrel=1
-pkgdesc="Display graphical dialog boxes from shell scripts"
-arch=(i686 x86_64)
-license=('LGPL')
-depends=('gtk3' 'libnotify')
-makedepends=('intltool' 'gtk-doc')
-url="http://www.gnome.org"
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('5cf068597c649b5adee60c5948abdf383dbfb16a6c6d57c2ec42ced136730baf')
-
-build() {
- cd $pkgname-$pkgver
- ./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var
- make
-}
-
-package() {
- cd $pkgname-$pkgver
- make DESTDIR="${pkgdir}" install
-}
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index bca7a98e3..29870d611 100644
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -1,9 +1,11 @@
-# $Id: PKGBUILD 134896 2011-08-08 17:30:51Z ronald $
+# $Id: PKGBUILD 141999 2011-11-03 21:16:38Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Maintainer (Parabola): Jorge López <jorginho@adinet.com.uy>
pkgname=grub
pkgver=0.97
-pkgrel=20
+pkgrel=21
pkgdesc="A GNU multiboot boot loader (Parabola rebranded)"
arch=('i686' 'x86_64')
license=('GPL')
@@ -11,6 +13,9 @@ url="http://www.gnu.org/software/grub/"
groups=('base')
depends=('ncurses' 'diffutils' 'sed')
optdepends=('xfsprogs: freezing of xfs /boot in install-grub script')
+replaces=('grub')
+conflicts=('grub')
+provides=("grub=$pkgver")
source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz
menu.lst
install-grub
@@ -25,14 +30,27 @@ source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz
grub-0.97-ldflags-objcopy-remove-build-id.patch)
backup=('boot/grub/menu.lst')
install=grub.install
+sha1sums=('2580626c4579bd99336d3af4482c346c95dac4fb'
+ 'e13bf0f91510fd6bb9451e6eb1b2a6e4a03e8b5f'
+ '3e23bfee50285c8c7b9ef9ec07964310278b1e09'
+ '157b81dbad3576536b08642242accfa1aeb093a9'
+ 'adbb4685c98797ffb4dc83561ec75698991dddbd'
+ 'f2e0dff29a7c8a45e90aa07298a1b2a9a9d29afc'
+ 'c5e2c94ed0e759590b9eb38c9d979f075d19d7c0'
+ '45fe668a3779664fb292591f426976b6c784d6c8'
+ '066d7ab1ae442f88e94c9e4f1867ac6682965d06'
+ '0436aa6fa0b6f768289172f983a3f4b69384629e'
+ 'a36f34e51efed540f1ddafd78e9c9f6d83e4c8d4'
+ '61c4b58d2eaa3c1561d8e9d8fc41341ce8882869')
#set destination architecture here
-DESTARCH="i686"
-#DESTARCH="x86_64"
+#DESTARCH="i686"
+DESTARCH="x86_64"
build() {
cd $srcdir/$pkgname-$pkgver
+ fgrep -rlZ pkglib_DATA --include Makefile.am . | xargs -0 sed -i 's/pkglib_DATA/pkgdata_DATA/g'
# optimizations break the build -- disable them
# adding special devices to grub, patches are from fedora
diff --git a/libre/grub2/20_memtest86+ b/libre/grub2/20_memtest86+
index 41ca11f02..1d3096f6b 100644
--- a/libre/grub2/20_memtest86+
+++ b/libre/grub2/20_memtest86+
@@ -4,11 +4,13 @@
# if memtest is installed on the system. #
########################################################
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+prefix="/usr"
+exec_prefix="${prefix}"
-. ${libdir}/grub/grub-mkconfig_lib
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+
+. "${datadir}/grub/grub-mkconfig_lib"
MEMTEST86_IMAGE="/boot/memtest86+/memtest.bin"
CLASS="--class memtest86 --class gnu --class tool"
diff --git a/libre/grub2/PKGBUILD b/libre/grub2/PKGBUILD
index 3680a5228..b8c43150a 100644
--- a/libre/grub2/PKGBUILD
+++ b/libre/grub2/PKGBUILD
@@ -1,222 +1,257 @@
# Maintainer: Ronald van Haren <ronald.archlinux.org>
-# Contributor: Keshav P R <skodabenz at rocketmail dot com>
+# Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
-# The src pkg includes grub2_bzr_export.sh to create newer grub-extras snapshots. Modify the paths in it accordingly.
+_grub_bzr_rev="4169"
+_pkgver="2.00~beta2"
-# _grub2_rev=3238
-
-_grub2_lua_ver=20
-_grub2_gpxe_ver=12
-_grub2_ntldr_ver=17
-_grub2_915_ver=7
+_grub_lua_ver=24
+_grub_gpxe_ver=12
+_grub_ntldr_ver=21
+_grub_915_ver=9
pkgname=('grub2-common' 'grub2-bios' 'grub2-efi-i386')
[ "$CARCH" = "mips64el" ] && pkgname=('grub2-common' 'grub2-loongson')
-pkgbase="grub2"
-pkgver='1.99'
-pkgrel=4
+pkgbase=grub2
+pkgver=2.00beta2
+pkgrel=3
url="http://www.gnu.org/software/grub/"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL3')
-epoch=1
-makedepends=('bdf-unifont' 'python2' 'xz' 'autogen' 'texinfo' 'help2man' 'gettext' 'device-mapper')
-options=(strip purge docs zipman !emptydirs)
-
-# "http://alpha.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
-source=("ftp://ftp.gnu.org/gnu/grub/grub-1.99.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
- "ftp://ftp.archlinux.org/other/grub2/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz"
- 'archlinux_grub2_mkconfig_fixes.patch'
- 'grub.default'
- 'grub.cfg'
- '20_memtest86+'
- 'grub2_bzr_export.sh'
- 'parabola-mkconfig.patch')
-
-noextract=("grub2_extras_lua_r${_grub2_lua_ver}.tar.xz"
- "grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz"
- "grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz"
- "grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz")
-
-sha1sums=('a5ae9558f30ce7757a76aa130088b053a87e2fb6'
- '9f2dbf7a3faab24ca92266400aa513fecd3895c8'
+epoch="1"
+makedepends=('rsync' 'xz' 'bdf-unifont' 'python' 'autogen' 'texinfo'
+ 'help2man' 'gettext' 'device-mapper' 'fuse' 'dosfstools' 'efibootmgr')
+
+# source=("ftp://ftp.archlinux.org/other/grub2/grub_r${_grub_bzr_rev}.tar.xz"
+source=("http://alpha.gnu.org/gnu/grub/grub-${_pkgver}".tar.xz
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz"
+ 'archlinux_grub_mkconfig_fixes.patch'
+ 'grub.default'
+ 'grub.cfg'
+ '20_memtest86+')
+
+noextract=("grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
+ "grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz"
+ "grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
+ "grub2_extras_915resolution_r${_grub_915_ver}.tar.xz")
+
+sha1sums=('2ba583f9466fb676b0ae3d7a9a82d1299b153a98'
+ '89290031b974780c6df76893836d2477d4add895'
'b04994c005910b4bf123f034b30109d5c8d6fd86'
- 'e0c1a97770cc23226cf4535c029ef50b17f67974'
- '8bcaed545956bb33581e1b97ac96a2c3717ec793'
- 'b7e5510c7b171e9c4dbddb42bbf54ce5ee86e2de'
- 'd1252b837b13ebf817dbc45cfd4d772c7d1b621f'
- '7df0516c6c45816aa330b775f1ed6f652e4f0380'
- '82a27eca5277218cf57c6c5767e0b17a72f62229'
- 'beb31419045db70fee7401aa6448c220a491e2a3'
- '27930016362d6647282405183b9977f0a7b15c1a')
+ 'eb4b35b4c36b64f9405cbcbc538cb205171c1c0a'
+ 'd5ae2efec25616028a9d89e98b6e454f1c4c415f'
+ 'cdace8067562fab04aaacac8d99a4ea612fa0c5b'
+ '348b148d5183825f31a3d24a7ebf2d6a709f4e6a'
+ '6f0870673b9f994163326a416432aee7eacdbfc5'
+ 'ce35d7ae75cd1b5b677e894e528f96add40e77b9')
-build() {
- # set architecture dependent variables
- if [ "${CARCH}" = "x86_64" ] ; then
- _EFIEMU="--enable-efiemu"
- else
- _EFIEMU="--disable-efiemu"
- fi
- _HOST="${CARCH}"
+_build_grub2-common_and_bios() {
- build_grub2-common_and_bios
- [ "$CARCH" = "mips64el" ] || \
- build_grub2-efi
-}
+ ## copy the source for building the common/bios package
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub_bios-${_pkgver}"
+ cd "${srcdir}/grub_bios-${_pkgver}"
-build_grub2-common_and_bios() {
- # copy the source for building the common/bios package
- cp -r ${srcdir}/grub-${pkgver} ${srcdir}/grub2_bios-${pkgver}
-
- ## Apply Archlinux specific fixes to enable grub2-mkconfig detect Arch kernels and initramfs
- cd ${srcdir}/grub2_bios-${pkgver}
- patch -Np1 -i ${srcdir}/archlinux_grub2_mkconfig_fixes.patch
- patch -Np1 -i ${srcdir}/parabola-mkconfig.patch
-
- # add the grub-extra sources
- export GRUB_CONTRIB=${srcdir}/grub2_bios-${pkgver}/grub2-extras/
- install -d ${srcdir}/grub2_bios-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz \
- -C ${srcdir}/grub2_bios-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz \
- -C ${srcdir}/grub2_bios-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_ntldr-img_r${_grub2_ntldr_ver}.tar.xz \
- -C ${srcdir}/grub2_bios-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_915resolution_r${_grub2_915_ver}.tar.xz \
- -C ${srcdir}/grub2_bios-${pkgver}/grub2-extras
-
- ## Need to use python2
- sed -i 's|python|python2|' ${srcdir}/grub2_bios-${pkgver}/autogen.sh
+ ## Apply Archlinux specific fixes to enable grub-mkconfig detect Arch kernels and initramfs
+ patch -Np1 -i "${srcdir}/archlinux_grub_mkconfig_fixes.patch"
+ echo
- # start the actual build process
- cd ${srcdir}/grub2_bios-${pkgver}
+ ## add the grub-extra sources
+ export GRUB_CONTRIB="${srcdir}/grub_bios-${_pkgver}/grub-extras/"
+ install -d "${srcdir}/grub_bios-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${_pkgver}/grub-extras"
+
+ ## Requires python2
+ # sed 's|python |python2 |g' -i "${srcdir}/grub_bios-${_pkgver}/autogen.sh"
+
+ ## start the actual build process
+ cd "${srcdir}/grub_bios-${_pkgver}"
./autogen.sh
-
+
## fix unifont.bdf location so grub-mkfont can create *.pf2 files
- sed -i 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|' ${srcdir}/grub2_bios-${pkgver}/configure
-
-# mkdir ${srcdir}/grub2_bios-${pkgver}/BUILD_BIOS
-# cd ${srcdir}/grub2_bios-${pkgver}/BUILD_BIOS
-
- if [ "$CARCH" = "mips64el" ]; then
- CFLAGS="" ./configure \
- --with-platform=yeeloong --enable-mm-debug \
- --host=${CARCH}-unknown-linux-gnu \
- --enable-grub-mkfont --prefix=/usr \
- --bindir=/bin --sbindir=/sbin \
- --mandir=/usr/share/man --infodir=/usr/share/info \
- --sysconfdir=/etc --enable-nls \
- --program-transform-name=s,grub,grub,
- CFLAGS="" make
- else
+ sed 's|/usr/share/fonts/unifont|/usr/share/fonts/misc|g' -i "${srcdir}/grub_bios-${_pkgver}/configure"
+
+ # install -d "${srcdir}/grub_bios-${_pkgver}/BUILD_BIOS"
+ # cd "${srcdir}/grub_bios-${_pkgver}/BUILD_BIOS"
+
CFLAGS="" ./configure \
- --with-platform=pc --enable-mm-debug \
- ${_EFIEMU} --host=${CARCH}-unknown-linux-gnu \
- --enable-grub-mkfont --prefix=/usr \
- --bindir=/bin --sbindir=/sbin \
- --mandir=/usr/share/man --infodir=/usr/share/info \
- --sysconfdir=/etc --enable-nls \
- --program-transform-name=s,grub,grub,
- CFLAGS="" make
- fi
+ --with-platform="pc" \
+ --target="i386" \
+ --host="${CARCH}-unknown-linux-gnu" \
+ "${_EFIEMU}" \
+ --enable-mm-debug \
+ --enable-nls \
+ --enable-device-mapper \
+ --enable-cache-stats \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --prefix="/usr" \
+ --bindir="/usr/bin" \
+ --sbindir="/usr/sbin" \
+ --mandir="/usr/share/man" \
+ --infodir="/usr/share/info" \
+ --datarootdir="/usr/share" \
+ --sysconfdir="/etc" \
+ --program-prefix="" \
+ --with-bootdir="/boot" \
+ --with-grubdir="grub" \
+ --disable-werror
+
+ CFLAGS="" make
+
}
-build_grub2-efi() {
- # copy the source for building the efi package
- cp -r ${srcdir}/grub-${pkgver} ${srcdir}/grub2_efi-${pkgver}
-
- # add the grub-extra sources
- export GRUB_CONTRIB=${srcdir}/grub2_efi-${pkgver}/grub2-extras/
- install -d ${srcdir}/grub2_efi-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_lua_r${_grub2_lua_ver}.tar.xz \
- -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
- bsdtar xf ${srcdir}/grub2_extras_gpxe_r${_grub2_gpxe_ver}.tar.xz \
- -C ${srcdir}/grub2_efi-${pkgver}/grub2-extras
-
- ## Need to use python2
- sed -i 's|python|python2|' ${srcdir}/grub2_efi-${pkgver}/autogen.sh
-
- # start the actual build process
- cd ${srcdir}/grub2_efi-${pkgver}
+_build_grub2-efi-i386() {
+
+ ## copy the source for building the efi package
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub_efi-${_pkgver}"
+ cd "${srcdir}/grub_efi-${_pkgver}"
+
+ export GRUB_CONTRIB="${srcdir}/grub_efi-${_pkgver}/grub-extras/"
+ install -d "${srcdir}/grub_efi-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \
+ -C "${srcdir}/grub_efi-${_pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz" \
+ -C "${srcdir}/grub_efi-${_pkgver}/grub-extras"
+
+ ## Requires python2
+ # sed 's|python |python2 |g' -i "${srcdir}/grub_efi-${_pkgver}/autogen.sh"
+
+ cd "${srcdir}/grub_efi-${_pkgver}"
./autogen.sh
CFLAGS="" ./configure \
- --with-platform=efi --target=i386 \
- --enable-mm-debug --disable-efiemu \
- --host=${CARCH}-unknown-linux-gnu \
- --prefix=/usr --bindir=/bin \
- --sbindir=/sbin --mandir=/usr/share/man \
- --infodir=/usr/share/info --sysconfdir=/etc \
- --enable-nls --program-transform-name=s,grub,grub,
- CFLAGS="" make
+ --with-platform="efi" \
+ --target="i386" \
+ --host="${CARCH}-unknown-linux-gnu" \
+ --disable-efiemu \
+ --enable-mm-debug \
+ --enable-nls \
+ --enable-device-mapper \
+ --enable-cache-stats \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --prefix="/usr" \
+ --bindir="/usr/bin" \
+ --sbindir="/usr/sbin" \
+ --mandir="/usr/share/man" \
+ --infodir="/usr/share/info" \
+ --datarootdir="/usr/share" \
+ --sysconfdir="/etc" \
+ --program-prefix="" \
+ --with-bootdir="/boot" \
+ --with-grubdir="grub" \
+ --disable-werror
+
+ CFLAGS="" make
+}
+
+#_get_locale_files() {
+#
+# cd "${srcdir}/grub-${_pkgver}"
+# rsync -Lrtvz translationproject.org::tp/latest/grub/ "${srcdir}/grub-${_pkgver}/po" || true
+# (cd "${srcdir}/grub-${_pkgver}/po" && ls *.po | cut -d. -f1 | xargs) > "${srcdir}/grub-${_pkgver}/po/LINGUAS"
+#}
+
+build() {
+
+ ## set architecture dependent variables
+ if [[ "${CARCH}" == 'x86_64' ]]; then
+ _EFIEMU="--enable-efiemu"
+ else
+ _EFIEMU="--disable-efiemu"
+ fi
+
+ _HOST="${CARCH}"
+
+ cd "${srcdir}/grub-${_pkgver}"
+ # _get_locale_files
+
+ _build_grub2-common_and_bios
+ _build_grub2-efi-i386
+
}
package_grub2-common() {
+
pkgdesc="The GNU GRand Unified Bootloader version 2 - Files common for all platforms"
- install="grub2.install"
- depends=('xz' 'freetype2' 'device-mapper' 'gettext' 'texinfo')
+ depends=('xz' 'freetype2' 'gettext' 'device-mapper' 'fuse' 'sh')
conflicts=('grub')
backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom')
- cd ${srcdir}/grub2_bios-${pkgver}
- make DESTDIR=${pkgdir} install
-
- install -Dm755 ${pkgdir}/sbin/grub-install ${pkgdir}/sbin/grub_bios-install
- install -Dm755 ${pkgdir}/sbin/grub-install ${pkgdir}/sbin/grub_efi_x86_64-install
- install -Dm755 ${pkgdir}/sbin/grub-install ${pkgdir}/sbin/grub_efi_i386-install
-
- sed -i "s|^\(target_cpu\)=.*|\1=i386|; \
- s|^\(platform\)=.*|\1=pc|" \
- ${pkgdir}/sbin/grub_bios-install
-
- sed -i "s|^\(target_cpu\)=.*|\1=x86_64|; \
- s|^\(platform\)=.*|\1=efi|" \
- ${pkgdir}/sbin/grub_efi_x86_64-install
-
- sed -i "s|^\(target_cpu\)=.*|\1=i386|; \
- s|^\(platform\)=.*|\1=efi|" \
- ${pkgdir}/sbin/grub_efi_i386-install
-
+ optdepends=('libisoburn: provides xorriso for generating grub rescue iso using grub-mkrescue'
+ 'os-prober: to detect other OSes when generating grub.cfg in BIOS systems'
+ 'mtools: for grub-mkrescue FAT FS support')
+ install="grub2.install"
+ options=('strip' 'purge' 'docs' 'zipman' '!emptydirs')
+
+ cd "${srcdir}/grub_bios-${_pkgver}"
+ make DESTDIR="${pkgdir}/" install
+
## install extra /etc/grub.d/ files
- install -Dm755 ${srcdir}/20_memtest86+ ${pkgdir}/etc/grub.d/20_memtest86+
-
+ install -D -m0755 "${srcdir}/20_memtest86+" "${pkgdir}/etc/grub.d/20_memtest86+"
+
## install /etc/default/grub (used by grub-mkconfig)
- install -Dm644 ${srcdir}/grub.default ${pkgdir}/etc/default/grub
+ install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub"
## install grub.cfg (needed so it doesn't get removed on upgrading because it was previously here)
- install -Dm644 ${srcdir}/grub.cfg ${pkgdir}/boot/grub/grub.cfg
+ install -D -m0644 "${srcdir}/grub.cfg" "${pkgdir}/boot/grub/grub.cfg"
# remove platform specific files
- rm -rf ${pkgdir}/usr/lib/grub/i386-pc/
+ rm -rf "${pkgdir}/usr/lib/grub/i386-pc/"
+
}
package_grub2-bios() {
- pkgdesc="The GNU GRand Unified Bootloader version 2 - Built for PC BIOS"
- depends=(grub2-common=${epoch}:${pkgver})
- replaces=('grub2' 'grub2-libre')
- provides=('grub2' 'grub2-libre')
-
- cd ${srcdir}/grub2_bios-${pkgver}
- make DESTDIR=${pkgdir} install
+
+ pkgdesc="The GNU GRand Unified Bootloader version 2 - Built for i386 PC BIOS"
+ depends=("grub2-common=${epoch}:${pkgver}")
+ options=('!strip' '!emptydirs')
+
+ cd "${srcdir}/grub_bios-${_pkgver}"
+ make DESTDIR="${pkgdir}/" install
## remove non platform-specific files
- rm -rf ${pkgdir}/{boot,bin,sbin,etc,usr/share}
- rm ${pkgdir}/usr/lib/grub/{grub-mkconfig_lib,update-grub_lib}
+ rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
+
+ ## remove gdb debugging related files
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true
+
}
package_grub2-efi-i386() {
pkgdesc="The GNU GRand Unified Bootloader version 2 - i386 UEFI version"
depends=("grub2-common=${epoch}:${pkgver}" 'dosfstools' 'efibootmgr')
- optdepends=('mtools')
-
- cd ${srcdir}/grub2_efi-${pkgver}
- make DESTDIR=${pkgdir} install
+ options=('!strip' '!emptydirs')
+
+ cd "${srcdir}/grub_efi-${_pkgver}"
+ make DESTDIR="${pkgdir}/" install
## remove non platform-specific files
- rm -rf ${pkgdir}/{boot,bin,sbin,etc,usr/share}
- rm ${pkgdir}/usr/lib/grub/{grub-mkconfig_lib,update-grub_lib}
+ rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
+
+ ## remove gdb debugging related files
+ rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true
+
}
# Same as -bios but different pkgdesc
diff --git a/libre/grub2/archlinux_grub2_mkconfig_fixes.patch b/libre/grub2/archlinux_grub2_mkconfig_fixes.patch
index 11805e309..ef4b10ee6 100644
--- a/libre/grub2/archlinux_grub2_mkconfig_fixes.patch
+++ b/libre/grub2/archlinux_grub2_mkconfig_fixes.patch
@@ -1,7 +1,21 @@
-diff -Nur a/util/grub.d/00_header.in b/util/grub.d/00_header.in
---- a/util/grub.d/00_header.in 2011-04-06 13:14:27.000000000 +0200
-+++ b/util/grub.d/00_header.in 2011-08-01 15:19:57.919100452 +0200
-@@ -100,6 +100,14 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 859c2e8..c754dd7 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -242,6 +242,8 @@ export GRUB_DEFAULT \
+ GRUB_THEME \
+ GRUB_GFXPAYLOAD_LINUX \
+ GRUB_DISABLE_OS_PROBER \
++ GRUB_COLOR_NORMAL \
++ GRUB_COLOR_HIGHLIGHT \
+ GRUB_INIT_TUNE \
+ GRUB_SAVEDEFAULT \
+ GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index d9bcc15..a93dcb7 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -100,6 +100,14 @@ cat <<EOF
EOF
@@ -16,10 +30,11 @@ diff -Nur a/util/grub.d/00_header.in b/util/grub.d/00_header.in
serial=0;
gfxterm=0;
for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
-diff -Nur a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
---- a/util/grub.d/10_linux.in 2011-05-14 22:36:49.000000000 +0200
-+++ b/util/grub.d/10_linux.in 2011-08-01 15:56:53.324779083 +0200
-@@ -31,8 +31,8 @@
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index bc738f2..a6ab326 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -31,8 +31,8 @@ CLASS="--class gnu-linux --class gnu --class os"
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
else
@@ -30,7 +45,16 @@ diff -Nur a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
fi
# loop-AES arranges things so that /dev/loop/X can be our root device, but
-@@ -65,7 +65,9 @@
+@@ -48,7 +48,7 @@ if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue"
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+- LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
++ LINUX_ROOT_DEVICE="/dev/disk/by-uuid/${GRUB_DEVICE_UUID}"
+ fi
+
+ if [ "x`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`" = xbtrfs ]; then
+@@ -65,7 +65,9 @@ linux_entry ()
version="$2"
recovery="$3"
args="$4"
@@ -41,7 +65,17 @@ diff -Nur a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
title="$(gettext_quoted "%s, with Linux %s (recovery mode)")"
else
title="$(gettext_quoted "%s, with Linux %s")"
-@@ -132,7 +134,7 @@
+@@ -113,7 +115,9 @@ EOF
+ fi
+ printf '%s\n' "${prepare_boot_cache}"
+ fi
++
+ message="$(gettext_printf "Loading Linux %s ..." ${version})"
++
+ cat << EOF
+ echo '$message'
+ linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
+@@ -132,11 +136,11 @@ EOF
case x`uname -m` in
xi?86 | xx86_64)
@@ -50,22 +84,39 @@ diff -Nur a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
done` ;;
*)
-@@ -160,7 +162,8 @@
+- list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
++ list=`for i in /boot/vmlinuz* /boot/vmlinux* /vmlinuz* /vmlinux* /boot/kernel-* ; do
+ if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
+ done` ;;
+ esac
+@@ -151,16 +155,19 @@ while [ "x$list" != "x" ] ; do
+ dirname=`dirname $linux`
+ rel_dirname=`make_system_path_relative_to_its_root $dirname`
+ version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
+- alt_version=`echo $version | sed -e "s,\.old$,,g"`
++ base_init=`echo $basename | sed -e "s,vmlinuz,initramfs,g"`
++ alt_version="${base_init}-fallback"
+ linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
+
+ initrd=
++
+ for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
+ "initrd-${version}" "initramfs-${version}.img" \
"initrd.img-${alt_version}" "initrd-${alt_version}.img" \
"initrd-${alt_version}" "initramfs-${alt_version}.img" \
"initramfs-genkernel-${version}" \
- "initramfs-genkernel-${alt_version}"; do
+ "initramfs-genkernel-${alt_version}" \
-+ "${basename/vmlinuz/kernel}.img"; do
++ "${basename/vmlinuz/initramfs}.img" "${basename/vmlinuz/kernel}.img"; do
if test -e "${dirname}/${i}" ; then
initrd="$i"
break
-@@ -190,6 +193,15 @@
+@@ -190,6 +197,16 @@ while [ "x$list" != "x" ] ; do
linux_entry "${OS}" "${version}" false \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+ for i in "initramfs-${version}-fallback.img" \
-+ "${basename/vmlinuz/kernel}-fallback.img"; do
++ "${basename/vmlinuz/initramfs}-fallback.img" "${basename/vmlinuz/kernel}-fallback.img"; do
+ if test -e "${dirname}/${i}"; then
+ initrd="$i"
+ linux_entry "${OS}" "${version}" true \
@@ -73,18 +124,7 @@ diff -Nur a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+ break
+ fi
+ done
++
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
linux_entry "${OS}" "${version}" true \
"single ${GRUB_CMDLINE_LINUX}"
-diff -Nur a/util/grub-mkconfig.in b/util/grub-mkconfig.in
---- a/util/grub-mkconfig.in 2011-04-06 17:45:53.000000000 +0200
-+++ b/util/grub-mkconfig.in 2011-08-01 15:20:49.256867648 +0200
-@@ -252,6 +252,8 @@
- GRUB_THEME \
- GRUB_GFXPAYLOAD_LINUX \
- GRUB_DISABLE_OS_PROBER \
-+ GRUB_COLOR_NORMAL \
-+ GRUB_COLOR_HIGHLIGHT \
- GRUB_INIT_TUNE \
- GRUB_SAVEDEFAULT \
- GRUB_BADRAM
diff --git a/libre/grub2/archlinux_grub_mkconfig_fixes.patch b/libre/grub2/archlinux_grub_mkconfig_fixes.patch
new file mode 100644
index 000000000..4b4cba92a
--- /dev/null
+++ b/libre/grub2/archlinux_grub_mkconfig_fixes.patch
@@ -0,0 +1,141 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index df3b733..65a7fff 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -213,6 +213,8 @@ export GRUB_DEFAULT \
+ GRUB_THEME \
+ GRUB_GFXPAYLOAD_LINUX \
+ GRUB_DISABLE_OS_PROBER \
++ GRUB_COLOR_NORMAL \
++ GRUB_COLOR_HIGHLIGHT \
+ GRUB_INIT_TUNE \
+ GRUB_SAVEDEFAULT \
+ GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index 765bfdc..b148558 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -115,6 +115,14 @@ cat <<EOF
+
+ EOF
+
++if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
++ cat << EOF
++set menu_color_normal=$GRUB_COLOR_NORMAL
++set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
++
++EOF
++fi
++
+ serial=0;
+ gfxterm=0;
+ for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index 8c75fab..0d4a137 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -87,6 +87,8 @@ linux_entry ()
+ case $type in
+ recovery)
+ title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;;
++ fallback)
++ title="$(gettext_printf "%s, with Linux %s (Fallback initramfs)" "${os}" "${version}")" ;;
+ *)
+ title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
+ esac
+@@ -100,7 +102,7 @@ linux_entry ()
+ else
+ echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
+ fi
+- if [ x$type != xrecovery ] ; then
++ if [ x$type != xrecovery ] && [ x$type != xfallback ] ; then
+ save_default_entry | sed -e "s/^/\t/"
+ fi
+
+@@ -132,7 +134,8 @@ linux_entry ()
+ fi
+ printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
+ fi
+- message="$(gettext_printf "Loading Linux %s ..." ${version})"
++
++ message="$(gettext_printf "Loading Linux %s ..." "${version}")"
+ sed "s/^/$submenu_indentation/" << EOF
+ echo '$message'
+ linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
+@@ -181,13 +184,29 @@ while [ "x$list" != "x" ] ; do
+ alt_version=`echo $version | sed -e "s,\.old$,,g"`
+ linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
+
++ if test -e "/etc/arch-release" ; then
++ if echo "${basename}" | grep -q 'vmlinuz-linux' ; then
++ version="`echo "${basename}" | sed -e 's,vmlinuz-linux,,g'`"
++
++ if [ "x${version}" = "x" ] ; then
++ version="core repo kernel"
++ else
++ version="`echo "${version}" | sed -e 's,-,,g'`"
++ version="${version} kernel"
++ fi
++ fi
++ fi
++
+ initrd=
++ initrd_arch="`echo "${basename}" | sed -e 's,vmlinuz,initramfs,g'`"
++
+ for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
+ "initrd-${version}" "initramfs-${version}.img" \
+ "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
+ "initrd-${alt_version}" "initramfs-${alt_version}.img" \
+ "initramfs-genkernel-${version}" \
+- "initramfs-genkernel-${alt_version}"; do
++ "initramfs-genkernel-${alt_version}" \
++ "${initrd_arch}.img" ; do
+ if test -e "${dirname}/${i}" ; then
+ initrd="$i"
+ break
+@@ -215,6 +234,22 @@ while [ "x$list" != "x" ] ; do
+ linux_root_device_thisversion=${GRUB_DEVICE}
+ fi
+
++ if test -e "/etc/arch-release" ; then
++ is_first_entry="false"
++
++ linux_entry "${OS}" "${version}" true \
++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++
++ for i in "${initrd_arch}-fallback.img" "initramfs-${version}-fallback.img" ; do
++ if test -e "${dirname}/${i}" ; then
++ initrd="${i}"
++ linux_entry "${OS}" "${version}" fallback \
++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++ break
++ fi
++ done
++ fi
++
+ if [ "x$is_first_entry" = xtrue ]; then
+ linux_entry "${OS}" "${version}" simple \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+@@ -228,8 +263,11 @@ while [ "x$list" != "x" ] ; do
+ echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
+ fi
+
++ if ! test -e "/etc/arch-release" ; then
+ linux_entry "${OS}" "${version}" advanced \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++ fi
++
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+ linux_entry "${OS}" "${version}" recovery \
+ "single ${GRUB_CMDLINE_LINUX}"
+@@ -241,8 +279,10 @@ done
+
+ # If at least one kernel was found, then we need to
+ # add a closing '}' for the submenu command.
++if ! test -e "/etc/arch-release" ; then
+ if [ x"$is_first_entry" != xtrue ]; then
+ echo '}'
+ fi
++fi
+
+ echo "$title_correction_code"
diff --git a/libre/grub2/fix_stack_pointer_handling_16_relocator.patch b/libre/grub2/fix_stack_pointer_handling_16_relocator.patch
new file mode 100644
index 000000000..edc0ef502
--- /dev/null
+++ b/libre/grub2/fix_stack_pointer_handling_16_relocator.patch
@@ -0,0 +1,13 @@
+diff --git a/grub-core/lib/i386/relocator16.S b/grub-core/lib/i386/relocator16.S
+index c3768f4..982415d 100644
+--- a/grub-core/lib/i386/relocator16.S
++++ b/grub-core/lib/i386/relocator16.S
+@@ -130,7 +130,7 @@ VARIABLE(grub_relocator16_ss)
+ .byte 0xb8
+ VARIABLE(grub_relocator16_sp)
+ .word 0
+- movw %ax, %ss
++ movzwl %ax, %esp
+
+ /* movw imm32, %edx. */
+ .byte 0x66, 0xba
diff --git a/libre/grub2/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch b/libre/grub2/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch
new file mode 100644
index 000000000..e1de26859
--- /dev/null
+++ b/libre/grub2/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch
@@ -0,0 +1,15 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 859c2e8..c4391dc 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -40,7 +40,9 @@ self=`basename $0`
+ grub_probe="${sbindir}/`echo grub-probe | sed "${transform}"`"
+ grub_script_check="${bindir}/`echo grub-script-check | sed "${transform}"`"
+
+-GRUB_PREFIX=`echo '/@bootdirname@/@grubdirname@' | sed "s,//*,/,g"`
++if test -z "${GRUB_PREFIX}"; then
++ GRUB_PREFIX=`echo '/@bootdirname@/@grubdirname@' | sed "s,//*,/,g"`
++fi
+
+ . "${datadir}/@PACKAGE@/grub-mkconfig_lib"
+
diff --git a/libre/grub2/grub.cfg b/libre/grub2/grub.cfg
index 1f0e41471..4f5a21991 100644
--- a/libre/grub2/grub.cfg
+++ b/libre/grub2/grub.cfg
@@ -1,26 +1,127 @@
-# Config file for GRUB2 - The GNU GRand Unified Bootloader
-# /boot/grub/grub.cfg
-
-# DEVICE NAME CONVERSIONS
#
-# Linux Grub
-# -------------------------
-# /dev/fd0 (fd0)
-# /dev/sda (hd0)
-# /dev/sdb2 (hd1,2)
-# /dev/sda3 (hd0,3)
+# DO NOT EDIT THIS FILE
+#
+# It is automatically generated by grub-mkconfig using templates
+# from /etc/grub.d and settings from /etc/default/grub
#
-# Timeout for menu
-set timeout=5
+### BEGIN /etc/grub.d/00_header ###
+insmod part_gpt
+insmod part_msdos
+if [ -s $prefix/grubenv ]; then
+ load_env
+fi
+set default="0"
+if [ "${prev_saved_entry}" ]; then
+ set saved_entry="${prev_saved_entry}"
+ save_env saved_entry
+ set prev_saved_entry=
+ save_env prev_saved_entry
+ set boot_once=true
+fi
+
+function savedefault {
+ if [ -z "${boot_once}" ]; then
+ saved_entry="${chosen}"
+ save_env saved_entry
+ fi
+}
+
+function load_video {
+ if [ x$feature_all_video_module = xy ]; then
+ insmod all_video
+ else
+ insmod efi_gop
+ insmod efi_uga
+ insmod ieee1275_fb
+ insmod vbe
+ insmod vga
+ insmod video_bochs
+ insmod video_cirrus
+ fi
+}
-# Set default boot entry as Entry 0
-set default=0
+if [ x$feature_default_font_path = xy ] ; then
+ font=unicode
+else
+insmod part_gpt
+insmod ext2
+set root='hd0,gpt9'
+if [ x$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt9 --hint-efi=hd0,gpt9 --hint-baremetal=ahci0,gpt9 0cc6e472-7f98-42ff-b7f3-309b641377ad
+else
+ search --no-floppy --fs-uuid --set=root 0cc6e472-7f98-42ff-b7f3-309b641377ad
+fi
+ font="/usr/share/grub/unicode.pf2"
+fi
-# (0) Parabola GNU/Linux-libre
-menuentry "Parabola GNU/Linux-libre" {
-set root=(hd0,1)
-linux /vmlinuz26 root=/dev/sda1 ro
-initrd /kernel26.img
+if loadfont $font ; then
+ set gfxmode=auto
+ load_video
+ insmod gfxterm
+ set locale_dir=$prefix/locale
+ set lang=en_US
+ insmod gettext
+fi
+terminal_input console
+terminal_output gfxterm
+set timeout=5
+### END /etc/grub.d/00_header ###
+
+### BEGIN /etc/grub.d/10_linux ###
+menuentry 'Parabola GNU/Linux-libre, with Linux libre' --class parabolagnu/linux-libre --class gnu-linux --class gnu --class os {
+ load_video
+ set gfxpayload=keep
+ insmod gzio
+ insmod part_gpt
+ insmod ext2
+ set root='hd0,gpt3'
+ if [ x$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 2ccd62fe-2204-44e8-bcfd-ce33996f9852
+ else
+ search --no-floppy --fs-uuid --set=root 2ccd62fe-2204-44e8-bcfd-ce33996f9852
+ fi
+ echo 'Loading Linux libre ...'
+ linux /vmlinuz-linux-libre root=/dev/disk/by-uuid/0cc6e472-7f98-42ff-b7f3-309b641377ad ro quiet
+ echo 'Loading initial ramdisk ...'
+ initrd /initramfs-linux-libre.img
}
+menuentry 'Parabola GNU/Linux-libre, with Linux libre Fallback' --class parabolagnu/linux-libre --class gnu-linux --class gnu --class os {
+ load_video
+ set gfxpayload=keep
+ insmod gzio
+ insmod part_gpt
+ insmod ext2
+ set root='hd0,gpt3'
+ if [ x$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 2ccd62fe-2204-44e8-bcfd-ce33996f9852
+ else
+ search --no-floppy --fs-uuid --set=root 2ccd62fe-2204-44e8-bcfd-ce33996f9852
+ fi
+ echo 'Loading Linux libre ...'
+ linux /vmlinuz-linux-libre root=/dev/disk/by-uuid/0cc6e472-7f98-42ff-b7f3-309b641377ad ro quiet
+ echo 'Loading initial ramdisk ...'
+ initrd /initramfs-linux-libre-fallback.img
+}
+### END /etc/grub.d/10_linux ###
+
+### BEGIN /etc/grub.d/20_linux_xen ###
+### END /etc/grub.d/20_linux_xen ###
+
+### BEGIN /etc/grub.d/20_memtest86+ ###
+### END /etc/grub.d/20_memtest86+ ###
+
+### BEGIN /etc/grub.d/30_os-prober ###
+### END /etc/grub.d/30_os-prober ###
+
+### BEGIN /etc/grub.d/40_custom ###
+# This file provides an easy way to add custom menu entries. Simply type the
+# menu entries you want to add after this comment. Be careful not to change
+# the 'exec tail' line above.
+### END /etc/grub.d/40_custom ###
+### BEGIN /etc/grub.d/41_custom ###
+if [ -f $prefix/custom.cfg ]; then
+ source $prefix/custom.cfg;
+fi
+### END /etc/grub.d/41_custom ###
diff --git a/libre/grub2/grub.default b/libre/grub2/grub.default
index fecc09af6..4ab37bbfc 100644
--- a/libre/grub2/grub.default
+++ b/libre/grub2/grub.default
@@ -1,10 +1,7 @@
-# If you change this file, run 'update-grub' afterwards to update
-# /boot/grub/grub.cfg.
-
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Parabola GNU/Linux-libre"
-GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX_DEFAULT="quiet add_efi_memmap"
GRUB_CMDLINE_LINUX=""
# Preload both GPT and MBR modules so that they are not missed
@@ -37,8 +34,8 @@ GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
-GRUB_COLOR_NORMAL="light-blue/black"
-GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
+#GRUB_COLOR_NORMAL="light-blue/black"
+#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
diff --git a/libre/grub2/grub2.install b/libre/grub2/grub2.install
index 9baf14776..000533553 100644
--- a/libre/grub2/grub2.install
+++ b/libre/grub2/grub2.install
@@ -7,7 +7,11 @@ post_install() {
install -Dm644 /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg
fi
- echo -n "Generating grub.cfg.example config file... "
+ cat << 'EOM'
+Generating grub.cfg.example config file...
+This may fail on some machines running a custom kernel.
+EOM
+
grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null
echo "done."
diff --git a/libre/grub2/grub2_automake_1.11.2_pkglib_to_pkgdata.patch b/libre/grub2/grub2_automake_1.11.2_pkglib_to_pkgdata.patch
new file mode 100644
index 000000000..0e396b210
--- /dev/null
+++ b/libre/grub2/grub2_automake_1.11.2_pkglib_to_pkgdata.patch
@@ -0,0 +1,134 @@
+diff --git a/ChangeLog_Keshav b/ChangeLog_Keshav
+new file mode 100644
+index 0000000..0eafd65
+--- /dev/null
++++ b/ChangeLog_Keshav
+@@ -0,0 +1,12 @@
++2012-01-04 Keshav P R <the.ridikulus.rat@gmail.com>
++
++ Fixes for automake 1.11.2
++
++ * conf/Makefile.common: Change pkglib_SCRIPTS to pkgdata_SCRIPTS.
++ * conf/Makefile.common: Change pkglib_DATA to pkgdata_DATA.
++ * Makefile.am: Likewise.
++ * gentpl.py: Likewise.
++ * util/grub-mkstandalone.in: Likewise.
++ * util/grub-mknetdir.in: Likewise.
++ * util/grub-mkrescue.in: Likewise.
++ * util/grub-mkstandalone.in: Likewise.
+diff --git a/Makefile.am b/Makefile.am
+index c5f486e..395b0dd 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -101,8 +101,8 @@ CLEANFILES += widthspec.h
+ # Install config.h into platformdir
+ platform_HEADERS = config.h
+
+-pkglib_DATA += grub-mkconfig_lib
+-pkglib_DATA += update-grub_lib
++pkgdata_DATA += grub-mkconfig_lib
++pkgdata_DATA += update-grub_lib
+
+
+ if COND_i386_coreboot
+diff --git a/conf/Makefile.common b/conf/Makefile.common
+index 751188b..bbd59cc 100644
+--- a/conf/Makefile.common
++++ b/conf/Makefile.common
+@@ -137,7 +137,7 @@ KERNEL_HEADER_FILES =
+
+ man_MANS =
+ noinst_DATA =
+-pkglib_DATA =
++pkgdata_DATA =
+ bin_SCRIPTS =
+ sbin_SCRIPTS =
+ bin_PROGRAMS =
+@@ -147,7 +147,7 @@ check_SCRIPTS =
+ grubconf_DATA =
+ check_PROGRAMS =
+ noinst_SCRIPTS =
+-pkglib_SCRIPTS =
++pkgdata_SCRIPTS =
+ noinst_PROGRAMS =
+ grubconf_SCRIPTS =
+ noinst_LIBRARIES =
+diff --git a/gentpl.py b/gentpl.py
+index 3008b80..a935f4d 100644
+--- a/gentpl.py
++++ b/gentpl.py
+@@ -512,7 +512,7 @@ def script(platform):
+ r += "[+ ENDIF +]"
+
+ r += rule("[+ name +]", platform_sources(platform) + " $(top_builddir)/config.status", """
+-$(top_builddir)/config.status --file=-:$< | sed -e 's,@pkglib_DATA@,$(pkglib_DATA),g' > $@
++$(top_builddir)/config.status --file=-:$< | sed -e 's,@pkgdata_DATA@,$(pkgdata_DATA),g' > $@
+ chmod a+x [+ name +]
+ """)
+
+diff --git a/util/grub-mknetdir.in b/util/grub-mknetdir.in
+index e5a2172..7f6a36d 100644
+--- a/util/grub-mknetdir.in
++++ b/util/grub-mknetdir.in
+@@ -30,7 +30,7 @@ PACKAGE_VERSION=@PACKAGE_VERSION@
+ host_os=@host_os@
+ localedir=@datadir@/locale
+ datarootdir=@datarootdir@
+-pkglib_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
++pkgdata_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
+
+ self=`basename $0`
+
+@@ -183,7 +183,7 @@ process_input_dir ()
+ cp -f "$file" "$grubdir/"
+ fi
+ done
+- for file in ${pkglib_DATA}; do
++ for file in ${pkgdata_DATA}; do
+ if test -f "${input_dir}/${file}"; then
+ cp -f "${input_dir}/${file}" "$grubdir/"
+ fi
+diff --git a/util/grub-mkrescue.in b/util/grub-mkrescue.in
+index eff7708..f6b96d4 100644
+--- a/util/grub-mkrescue.in
++++ b/util/grub-mkrescue.in
+@@ -27,7 +27,7 @@ libdir=@libdir@
+ PACKAGE_NAME=@PACKAGE_NAME@
+ PACKAGE_TARNAME=@PACKAGE_TARNAME@
+ PACKAGE_VERSION=@PACKAGE_VERSION@
+-pkglib_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
++pkgdata_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
+
+ self=`basename $0`
+
+@@ -163,7 +163,7 @@ process_input_dir ()
+ cp -f "$file" ${iso9660_dir}/boot/grub/${platform}/
+ fi
+ done
+- for file in ${pkglib_DATA}; do
++ for file in ${pkgdata_DATA}; do
+ if test -f "${input_dir}/${file}"; then
+ cp -f "${input_dir}/${file}" ${iso9660_dir}/boot/grub/${platform}/
+ fi
+diff --git a/util/grub-mkstandalone.in b/util/grub-mkstandalone.in
+index b0dbf9b..92b7306 100644
+--- a/util/grub-mkstandalone.in
++++ b/util/grub-mkstandalone.in
+@@ -27,7 +27,7 @@ libdir=@libdir@
+ PACKAGE_NAME=@PACKAGE_NAME@
+ PACKAGE_TARNAME=@PACKAGE_TARNAME@
+ PACKAGE_VERSION=@PACKAGE_VERSION@
+-pkglib_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
++pkgdata_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
+
+ self=`basename $0`
+
+@@ -163,7 +163,7 @@ for file in "${source_directory}/"*.mod "${source_directory}/"efiemu32.o "${sour
+ fi
+ done
+
+-for file in ${pkglib_DATA}; do
++for file in ${pkgdata_DATA}; do
+ if test -f "${source_directory}/${file}"; then
+ cp -f "${source_directory}/${file}" "${memdisk_dir}"/boot/grub/
+ fi
diff --git a/libre/grub2/grub2_bzr_export.sh b/libre/grub2/grub2_bzr_export.sh
index 7c42d0c28..f40588f82 100644
--- a/libre/grub2/grub2_bzr_export.sh
+++ b/libre/grub2/grub2_bzr_export.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
## For actual repos
@@ -9,65 +9,67 @@
## For launchpad mirror
-# bzr branch lp:~skodabenz/grub/grub2-extras-lua lua
-# bzr branch lp:~skodabenz/grub/grub2-extras-gpxe gpxe
-# bzr branch lp:~skodabenz/grub/grub2-extras-ntldr-img ntldr-img
-# bzr branch lp:~skodabenz/grub/grub2-extras-915resolution 915resolution
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-lua lua
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-gpxe gpxe
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-ntldr-img ntldr-img
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-915resolution 915resolution
## grub-extras zfs is integrated into grub2 bzr main repo and is no longer needed separately.
-wd=${PWD}/
-output_dir=${wd}/
+_WD="${PWD}/"
+_OUTPUT_DIR="${_WD}/"
-grub2_bzr_dir=${wd}/grub2_BZR/
-grub2_bzr_exp_dir=${wd}/grub2_experimental_BZR/
-grub2_extras_dir=${wd}/grub2_extras_BZR/
+_ACTUAL_PKGVER="1.99"
-main_snapshot() {
+_GRUB2_BZR_REPO_DIR="${_WD}/grub2_BZR/"
+_GRUB2_BZR_EXP_REPO_DIR="${_WD}/grub2_experimental_BZR/"
+_GRUB2_EXTRAS_REPOS_DIR="${_WD}/grub2_extras_BZR/"
+
+_MAIN_SNAPSHOT() {
- cd ${grub2_bzr_dir}/
+ cd "${_GRUB2_BZR_REPO_DIR}/"
echo
- revnum=$(bzr revno ${grub2_bzr_dir})
- bzr export --root=grub2 --format=tar ${output_dir}/grub2_r${revnum}.tar
+ _REVNUM="$(bzr revno ${_GRUB2_BZR_REPO_DIR})"
+ bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub2_r${_REVNUM}.tar"
echo
- cd ${output_dir}/
+ cd "${_OUTPUT_DIR}/"
- xz -9 ${output_dir}/grub2_r${revnum}.tar
+ xz -9 "${_OUTPUT_DIR}/grub2_r${_REVNUM}.tar"
echo
}
-exp_snapshot() {
+_EXP_SNAPSHOT() {
- cd ${grub2_bzr_exp_dir}/
+ cd "${_GRUB2_BZR_EXP_REPO_DIR}/"
echo
- revnum=$(bzr revno ${grub2_bzr_exp_dir})
- bzr export --root=grub2_exp --format=tar ${output_dir}/grub2_exp_r${revnum}.tar
+ _REVNUM="$(bzr revno ${_GRUB2_BZR_EXP_REPO_DIR})"
+ bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub2_exp_r${_REVNUM}.tar"
echo
- cd ${output_dir}/
+ cd "${_OUTPUT_DIR}/"
- xz -9 ${output_dir}/grub2_exp_r${revnum}.tar
+ xz -9 "${_OUTPUT_DIR}/grub2_exp_r${_REVNUM}.tar"
echo
}
-extras_snapshot() {
+_EXTRAS_SNAPSHOT() {
- cd ${grub2_extras_dir}/${grub2_extras_name}/
+ cd "${_GRUB2_EXTRAS_REPOS_DIR}/${_GRUB2_EXTRAS_NAME}/"
echo
- revnum=$(bzr revno ${grub2_extras_dir}/${grub2_extras_name})
- bzr export --root=${grub2_extras_name} --format=tar ${output_dir}/grub2_extras_${grub2_extras_name}_r${revnum}.tar
+ _REVNUM="$(bzr revno ${_GRUB2_EXTRAS_REPOS_DIR}/${_GRUB2_EXTRAS_NAME})"
+ bzr export --root="${_GRUB2_EXTRAS_NAME}" --format=tar "${_OUTPUT_DIR}/grub2_extras_${_GRUB2_EXTRAS_NAME}_r${_REVNUM}.tar"
echo
- cd ${output_dir}/
+ cd "${_OUTPUT_DIR}/"
echo
- xz -9 ${output_dir}/grub2_extras_${grub2_extras_name}_r${revnum}.tar
+ xz -9 "${_OUTPUT_DIR}/grub2_extras_${_GRUB2_EXTRAS_NAME}_r${_REVNUM}.tar"
echo
}
@@ -76,28 +78,36 @@ echo
set -x -e
-# main_snapshot
+echo
-# exp_snapshot
+_MAIN_SNAPSHOT
-grub2_extras_name="lua"
-extras_snapshot
+echo
-grub2_extras_name="gpxe"
-extras_snapshot
+# _EXP_SNAPSHOT
+
+echo
-grub2_extras_name="ntldr-img"
-extras_snapshot
+_GRUB2_EXTRAS_NAME="lua"
+_EXTRAS_SNAPSHOT
-grub2_extras_name="915resolution"
-extras_snapshot
+_GRUB2_EXTRAS_NAME="gpxe"
+_EXTRAS_SNAPSHOT
+
+_GRUB2_EXTRAS_NAME="ntldr-img"
+_EXTRAS_SNAPSHOT
+
+_GRUB2_EXTRAS_NAME="915resolution"
+_EXTRAS_SNAPSHOT
+
+echo
set +x +e
echo
-unset wd
-unset output_dir
-unset grub2_bzr_dir
-unset grub2_extras_dir
-unset grub2_extras_name
+unset _WD
+unset _OUTPUT_DIR
+unset _GRUB2_BZR_REPO_DIR
+unset _GRUB2_EXTRAS_REPOS_DIR
+unset _GRUB2_EXTRAS_NAME
diff --git a/libre/grub2/grub_extras_lua_args_fix.patch b/libre/grub2/grub_extras_lua_args_fix.patch
new file mode 100644
index 000000000..5cb317ce3
--- /dev/null
+++ b/libre/grub2/grub_extras_lua_args_fix.patch
@@ -0,0 +1,13 @@
+diff --git a/grub-extras/lua/grub_lib.c b/grub-extras/lua/grub_lib.c
+index 9014320..055d620 100644
+--- a/grub-extras/lua/grub_lib.c
++++ b/grub-extras/lua/grub_lib.c
+@@ -466,7 +466,7 @@ grub_lua_add_menu (lua_State *state)
+ if (! p)
+ return push_result (state);
+
+- grub_normal_add_menu_entry (n, args, NULL, NULL, NULL, NULL, p, 0);
++ grub_normal_add_menu_entry (n, args, NULL, NULL, NULL, NULL, NULL, p, 0);
+ }
+ else
+ {
diff --git a/libre/thunderbird-libre/PKGBUILD b/libre/thunderbird-libre/PKGBUILD
index b822bbf37..a55282b95 100644
--- a/libre/thunderbird-libre/PKGBUILD
+++ b/libre/thunderbird-libre/PKGBUILD
@@ -3,10 +3,10 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
# Contributor: Anders Bostrom <anders.bostrom@home.se>
-# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
pkgname=thunderbird-libre
-pkgver=11.0
+pkgver=11.0.1
pkgrel=1
pkgdesc="Standalone Mail/News reader"
arch=('i686' 'x86_64' 'mips64el')
@@ -26,7 +26,7 @@ source=(ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/sourc
channel-prefs.js
vendor.js
libvpx.patch)
-md5sums=('1d7127a3282e62d95eb9b59d47291b70'
+md5sums=('b500560a006cb10194281263c78841f2'
'ca98c2bf1017b33e19dae22fdcef2e73'
'af3e5b344d2edf1c7d61bb0a5a96de9a'
'aea906acf72c43dd82ead2fabcc1c6db'
diff --git a/multilib/lib32-krb5/krb5-1.10.1-gcc47.patch b/multilib/lib32-krb5/krb5-1.10.1-gcc47.patch
deleted file mode 100644
index ffd01c2a3..000000000
--- a/multilib/lib32-krb5/krb5-1.10.1-gcc47.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y krb5-1.10.1/src/lib/krb5/krb/x-deltat.y
---- krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y 2011-09-06 07:34:32.000000000 -0400
-+++ krb5-1.10.1/src/lib/krb5/krb/x-deltat.y 2012-03-24 13:15:11.543551318 -0400
-@@ -44,6 +44,7 @@
- #ifdef __GNUC__
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wuninitialized"
-+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
- #endif
-
- #include <ctype.h>
diff --git a/staging/fcitx/Fix-for-gcc-4.7.0.patch b/staging/fcitx/Fix-for-gcc-4.7.0.patch
deleted file mode 100644
index d02852281..000000000
--- a/staging/fcitx/Fix-for-gcc-4.7.0.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 74ae75e291862530801ec9cc707dc810c52a84fd Mon Sep 17 00:00:00 2001
-From: Weng Xuetian <wengxt@gmail.com>
-Date: Sun, 25 Mar 2012 09:59:24 +0800
-Subject: [PATCH 1/2] fix for gcc 4.7.0
-
----
- src/lib/fcitx-config/CMakeLists.txt | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/lib/fcitx-config/CMakeLists.txt b/src/lib/fcitx-config/CMakeLists.txt
-index f9fd2ec..2b361c6 100644
---- a/src/lib/fcitx-config/CMakeLists.txt
-+++ b/src/lib/fcitx-config/CMakeLists.txt
-@@ -1,10 +1,13 @@
- set(FCITX_CONFIG_SOURCES
- fcitx-config.c
- hotkey.c
-- sprintf.c
- xdg.c
- )
-
-+if (NOT HAVE_ASPRINTF)
-+ set(FCITX_CONFIG_SOURCES ${FCITX_CONFIG_SOURCES} sprintf.c)
-+endif (NOT HAVE_ASPRINTF)
-+
- set(FCITX_CONFIG_HEADERS
- fcitx-config.h
- hotkey.h
---
-1.7.9.4
-
diff --git a/staging/fcitx/PKGBUILD b/staging/fcitx/PKGBUILD
deleted file mode 100644
index d110e5d60..000000000
--- a/staging/fcitx/PKGBUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# $Id: PKGBUILD 154319 2012-03-26 04:44:42Z eric $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: csslayer <wengxt AT gmail com>
-
-pkgbase=fcitx
-pkgname=('fcitx' 'fcitx-gtk2' 'fcitx-gtk3' 'fcitx-qt')
-pkgver=4.2.1
-pkgrel=2
-arch=('i686' 'x86_64')
-url="http://code.google.com/p/fcitx/"
-license=('GPL')
-makedepends=('cmake' 'intltool' 'doxygen' 'gtk2' 'gtk3' 'qt' 'dbus-glib' 'icu')
-source=(http://fcitx.googlecode.com/files/${pkgbase}-${pkgver}.tar.xz Fix-for-gcc-4.7.0.patch)
-sha1sums=('74ad009cde48fb1efd48f8d2490fa36ddf36d215'
- '3f9a31d67cdbbb25f2151cb81208f1f3e0dd6e8f')
-
-build() {
- cd "${srcdir}"
- (cd ${pkgbase}-${pkgver}; patch -p1 -i ../Fix-for-gcc-4.7.0.patch)
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DENABLE_OPENCC=OFF \
- -DENABLE_GTK3_IM_MODULE=ON \
- -DENABLE_QT_IM_MODULE=ON
- make
-}
-
-package_fcitx() {
- pkgdesc="Free Chinese Input Toy of X - Input Method Server for X window system"
- depends=('dbus-core' 'pango' 'libxinerama' 'gtk-update-icon-cache' \
- 'shared-mime-info' 'hicolor-icon-theme' 'desktop-file-utils')
- install=fcitx.install
-
- cd "${srcdir}"/build
- make DESTDIR="${pkgdir}" install
-
- rm -r "${pkgdir}"/usr/lib/{gtk-2.0,gtk-3.0,qt}
-}
-
-package_fcitx-gtk2() {
- pkgdesc='GTK2 IM Module for fcitx'
- depends=('gtk2' 'dbus-glib' 'fcitx')
- install=fcitx-gtk2.install
-
- cd "${srcdir}"/build/src/frontend/gtk2
- make DESTDIR="${pkgdir}" install
-}
-
-package_fcitx-gtk3() {
- pkgdesc='GTK3 IM Module for fcitx'
- depends=('gtk3' 'dbus-glib' 'fcitx')
- install=fcitx-gtk3.install
-
- cd "${srcdir}"/build/src/frontend/gtk3
- make DESTDIR="${pkgdir}" install
-}
-
-package_fcitx-qt() {
- pkgdesc='QT IM Module for fcitx'
- depends=('qt' 'icu' 'fcitx')
-
- cd "${srcdir}"/build/src/frontend/qt
- make DESTDIR="${pkgdir}" install
-}
diff --git a/staging/fcitx/fcitx-gtk2.install b/staging/fcitx/fcitx-gtk2.install
deleted file mode 100644
index 7503c05eb..000000000
--- a/staging/fcitx/fcitx-gtk2.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- usr/bin/gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/fcitx/fcitx-gtk3.install b/staging/fcitx/fcitx-gtk3.install
deleted file mode 100644
index b44958797..000000000
--- a/staging/fcitx/fcitx-gtk3.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- usr/bin/gtk-query-immodules-3.0 --update-cache
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/fcitx/fcitx.install b/staging/fcitx/fcitx.install
deleted file mode 100644
index 7f156e002..000000000
--- a/staging/fcitx/fcitx.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
- update-desktop-database -q
- update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/testing/coreutils/PKGBUILD b/testing/coreutils/PKGBUILD
deleted file mode 100644
index 2d376f966..000000000
--- a/testing/coreutils/PKGBUILD
+++ /dev/null
@@ -1,68 +0,0 @@
-# $Id: PKGBUILD 154344 2012-03-27 02:21:47Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
-# Contributor: judd <jvinet@zeroflux.org>
-
-pkgname=coreutils
-pkgver=8.16
-pkgrel=2
-pkgdesc="The basic file, shell and text manipulation utilities of the GNU operating system"
-arch=('i686' 'x86_64')
-license=('GPL3')
-url="http://www.gnu.org/software/coreutils"
-groups=('base')
-depends=('glibc' 'pam' 'acl' 'gmp' 'libcap')
-replaces=('mktemp')
-backup=('etc/pam.d/su')
-install=${pkgname}.install
-options=('!emptydirs')
-source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}
- coreutils-uname.patch
- coreutils-pam.patch
- su.pam)
-md5sums=('89b06f91634208dceba7b36ad1f9e8b9'
- '63158176d5bb005c6871242c940eedf1'
- 'c4fcca138b6abf6d443d48a6f0cd8833'
- 'aad79a2aa6d566c375d7bdd1b0767278'
- 'fa85e5cce5d723275b14365ba71a8aad')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
- # added su wheel group pam patch (from fedora git)
- patch -Np1 -i ${srcdir}/coreutils-pam.patch
-
- # linux specific uname improvement (from gentoo portage)
- patch -Np1 -i ${srcdir}/coreutils-uname.patch
-
- autoreconf -v
- ./configure --prefix=/usr --libexecdir=/usr/lib/coreutils \
- --enable-install-program=su \
- --enable-no-install-program=groups,hostname,kill,uptime \
- --enable-pam
- make
-}
-
-check() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make RUN_EXPENSIVE_TESTS=yes check
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
-
- cd ${pkgdir}/usr/bin
- install -dm755 ${pkgdir}/{bin,usr/sbin}
-
- # binaries required by FHS
- _fhs=('cat' 'chgrp' 'chmod' 'chown' 'cp' 'date' 'dd' 'df' 'echo' 'false'
- 'ln' 'ls' 'mkdir' 'mknod' 'mv' 'pwd' 'rm' 'rmdir' 'stty' 'su' 'sync'
- 'true' 'uname')
- mv ${_fhs[@]} ${pkgdir}/bin
-
- # makepkg uses the full path to this...
- ln -s /usr/bin/du ${pkgdir}/bin/du
-
- mv chroot ${pkgdir}/usr/sbin
- install -Dm644 ${srcdir}/su.pam ${pkgdir}/etc/pam.d/su
-}
diff --git a/testing/coreutils/coreutils-pam.patch b/testing/coreutils/coreutils-pam.patch
deleted file mode 100644
index e61908f3f..000000000
--- a/testing/coreutils/coreutils-pam.patch
+++ /dev/null
@@ -1,428 +0,0 @@
-diff -urNp coreutils-8.4-orig/configure.ac coreutils-8.4/configure.ac
---- coreutils-8.4-orig/configure.ac 2010-01-11 18:20:42.000000000 +0100
-+++ coreutils-8.4/configure.ac 2010-02-12 10:17:46.000000000 +0100
-@@ -126,6 +126,13 @@ if test "$gl_gcc_warnings" = yes; then
- AC_SUBST([GNULIB_WARN_CFLAGS])
- fi
-
-+dnl Give the chance to enable PAM
-+AC_ARG_ENABLE(pam, dnl
-+[ --enable-pam Enable use of the PAM libraries],
-+[AC_DEFINE(USE_PAM, 1, [Define if you want to use PAM])
-+LIB_PAM="-ldl -lpam -lpam_misc"
-+AC_SUBST(LIB_PAM)])
-+
- AC_FUNC_FORK
-
- optional_bin_progs=
-diff -urNp coreutils-8.4-orig/doc/coreutils.texi coreutils-8.4/doc/coreutils.texi
---- coreutils-8.4-orig/doc/coreutils.texi 2010-01-03 18:06:20.000000000 +0100
-+++ coreutils-8.4/doc/coreutils.texi 2010-02-12 10:17:46.000000000 +0100
-@@ -15081,8 +15081,11 @@ to certain shells, etc.).
- @findex syslog
- @command{su} can optionally be compiled to use @code{syslog} to report
- failed, and optionally successful, @command{su} attempts. (If the system
--supports @code{syslog}.) However, GNU @command{su} does not check if the
--user is a member of the @code{wheel} group; see below.
-+supports @code{syslog}.)
-+
-+This version of @command{su} has support for using PAM for
-+authentication. You can edit @file{/etc/pam.d/su} to customize its
-+behaviour.
-
- The program accepts the following options. Also see @ref{Common options}.
-
-@@ -15124,6 +15127,8 @@ environment variables except @env{TERM},
- @env{PATH} to a compiled-in default value. Change to @var{user}'s home
- directory. Prepend @samp{-} to the shell's name, intended to make it
- read its login startup file(s).
-+Additionaly @env{DISPLAY} and @env{XAUTHORITY} environment variables
-+are preserved as well for PAM functionality.
-
- @item -m
- @itemx -p
-@@ -15163,33 +15168,6 @@ Exit status:
- the exit status of the subshell otherwise
- @end display
-
--@cindex wheel group, not supported
--@cindex group wheel, not supported
--@cindex fascism
--@subsection Why GNU @command{su} does not support the @samp{wheel} group
--
--(This section is by Richard Stallman.)
--
--@cindex Twenex
--@cindex MIT AI lab
--Sometimes a few of the users try to hold total power over all the
--rest. For example, in 1984, a few users at the MIT AI lab decided to
--seize power by changing the operator password on the Twenex system and
--keeping it secret from everyone else. (I was able to thwart this coup
--and give power back to the users by patching the kernel, but I
--wouldn't know how to do that in Unix.)
--
--However, occasionally the rulers do tell someone. Under the usual
--@command{su} mechanism, once someone learns the root password who
--sympathizes with the ordinary users, he or she can tell the rest. The
--``wheel group'' feature would make this impossible, and thus cement the
--power of the rulers.
--
--I'm on the side of the masses, not that of the rulers. If you are
--used to supporting the bosses and sysadmins in whatever they do, you
--might find this idea strange at first.
--
--
- @node timeout invocation
- @section @command{timeout}: Run a command with a time limit
-
-diff -urNp coreutils-8.4-orig/src/Makefile.am coreutils-8.4/src/Makefile.am
---- coreutils-8.4-orig/src/Makefile.am 2010-01-03 18:06:20.000000000 +0100
-+++ coreutils-8.4/src/Makefile.am 2010-02-12 10:17:46.000000000 +0100
-@@ -361,7 +361,7 @@ factor_LDADD += $(LIB_GMP)
- uptime_LDADD += $(GETLOADAVG_LIBS)
-
- # for crypt
--su_LDADD += $(LIB_CRYPT)
-+su_LDADD += $(LIB_CRYPT) @LIB_PAM@
-
- # for various ACL functions
- copy_LDADD += $(LIB_ACL)
-diff -urNp coreutils-8.4-orig/src/su.c coreutils-8.4/src/su.c
---- coreutils-8.4-orig/src/su.c 2010-02-12 10:15:15.000000000 +0100
-+++ coreutils-8.4/src/su.c 2010-02-12 10:24:29.000000000 +0100
-@@ -37,6 +37,16 @@
- restricts who can su to UID 0 accounts. RMS considers that to
- be fascist.
-
-+#ifdef USE_PAM
-+
-+ Actually, with PAM, su has nothing to do with whether or not a
-+ wheel group is enforced by su. RMS tries to restrict your access
-+ to a su which implements the wheel group, but PAM considers that
-+ to be fascist, and gives the user/sysadmin the opportunity to
-+ enforce a wheel group by proper editing of /etc/pam.conf
-+
-+#endif
-+
- Compile-time options:
- -DSYSLOG_SUCCESS Log successful su's (by default, to root) with syslog.
- -DSYSLOG_FAILURE Log failed su's (by default, to root) with syslog.
-@@ -53,6 +63,15 @@
- #include <pwd.h>
- #include <grp.h>
-
-+#ifdef USE_PAM
-+# include <signal.h>
-+# include <sys/wait.h>
-+# include <sys/fsuid.h>
-+# include <unistd.h>
-+# include <security/pam_appl.h>
-+# include <security/pam_misc.h>
-+#endif /* USE_PAM */
-+
- #include "system.h"
- #include "getpass.h"
-
-@@ -120,10 +139,17 @@
- /* The user to become if none is specified. */
- #define DEFAULT_USER "root"
-
-+#ifndef USE_PAM
- char *crypt (char const *key, char const *salt);
-+#endif
-
--static void run_shell (char const *, char const *, char **, size_t)
-+static void run_shell (char const *, char const *, char **, size_t,
-+ const struct passwd *)
-+#ifdef USE_PAM
-+ ;
-+#else
- ATTRIBUTE_NORETURN;
-+#endif
-
- /* If true, pass the `-f' option to the subshell. */
- static bool fast_startup;
-@@ -209,7 +235,26 @@ log_su (struct passwd const *pw, bool su
- }
- #endif
-
-+#ifdef USE_PAM
-+static pam_handle_t *pamh = NULL;
-+static int retval;
-+static struct pam_conv conv = {
-+ misc_conv,
-+ NULL
-+};
-+
-+#define PAM_BAIL_P if (retval) { \
-+ pam_end(pamh, PAM_SUCCESS); \
-+ return 0; \
-+}
-+#define PAM_BAIL_P_VOID if (retval) { \
-+ pam_end(pamh, PAM_SUCCESS); \
-+return; \
-+}
-+#endif
-+
- /* Ask the user for a password.
-+ If PAM is in use, let PAM ask for the password if necessary.
- Return true if the user gives the correct password for entry PW,
- false if not. Return true without asking for a password if run by UID 0
- or if PW has an empty password. */
-@@ -217,6 +262,44 @@ log_su (struct passwd const *pw, bool su
- static bool
- correct_password (const struct passwd *pw)
- {
-+#ifdef USE_PAM
-+ struct passwd *caller;
-+ char *tty_name, *ttyn;
-+ retval = pam_start(PROGRAM_NAME, pw->pw_name, &conv, &pamh);
-+ PAM_BAIL_P;
-+
-+ if (getuid() != 0 && !isatty(0)) {
-+ fprintf(stderr, "standard in must be a tty\n");
-+ exit(1);
-+ }
-+
-+ caller = getpwuid(getuid());
-+ if(caller != NULL && caller->pw_name != NULL) {
-+ retval = pam_set_item(pamh, PAM_RUSER, caller->pw_name);
-+ PAM_BAIL_P;
-+ }
-+
-+ ttyn = ttyname(0);
-+ if (ttyn) {
-+ if (strncmp(ttyn, "/dev/", 5) == 0)
-+ tty_name = ttyn+5;
-+ else
-+ tty_name = ttyn;
-+ retval = pam_set_item(pamh, PAM_TTY, tty_name);
-+ PAM_BAIL_P;
-+ }
-+ retval = pam_authenticate(pamh, 0);
-+ PAM_BAIL_P;
-+ retval = pam_acct_mgmt(pamh, 0);
-+ if (retval == PAM_NEW_AUTHTOK_REQD) {
-+ /* password has expired. Offer option to change it. */
-+ retval = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
-+ PAM_BAIL_P;
-+ }
-+ PAM_BAIL_P;
-+ /* must be authenticated if this point was reached */
-+ return 1;
-+#else /* !USE_PAM */
- char *unencrypted, *encrypted, *correct;
- #if HAVE_GETSPNAM && HAVE_STRUCT_SPWD_SP_PWDP
- /* Shadow passwd stuff for SVR3 and maybe other systems. */
-@@ -241,6 +324,7 @@ correct_password (const struct passwd *p
- encrypted = crypt (unencrypted, correct);
- memset (unencrypted, 0, strlen (unencrypted));
- return STREQ (encrypted, correct);
-+#endif /* !USE_PAM */
- }
-
- /* Update `environ' for the new shell based on PW, with SHELL being
-@@ -254,12 +338,18 @@ modify_environment (const struct passwd
- /* Leave TERM unchanged. Set HOME, SHELL, USER, LOGNAME, PATH.
- Unset all other environment variables. */
- char const *term = getenv ("TERM");
-+ char const *display = getenv ("DISPLAY");
-+ char const *xauthority = getenv ("XAUTHORITY");
- if (term)
- term = xstrdup (term);
- environ = xmalloc ((6 + !!term) * sizeof (char *));
- environ[0] = NULL;
- if (term)
- xsetenv ("TERM", term);
-+ if (display)
-+ xsetenv ("DISPLAY", display);
-+ if (xauthority)
-+ xsetenv ("XAUTHORITY", xauthority);
- xsetenv ("HOME", pw->pw_dir);
- xsetenv ("SHELL", shell);
- xsetenv ("USER", pw->pw_name);
-@@ -292,8 +382,13 @@ change_identity (const struct passwd *pw
- {
- #ifdef HAVE_INITGROUPS
- errno = 0;
-- if (initgroups (pw->pw_name, pw->pw_gid) == -1)
-+ if (initgroups (pw->pw_name, pw->pw_gid) == -1) {
-+#ifdef USE_PAM
-+ pam_close_session(pamh, 0);
-+ pam_end(pamh, PAM_ABORT);
-+#endif
- error (EXIT_CANCELED, errno, _("cannot set groups"));
-+ }
- endgrent ();
- #endif
- if (setgid (pw->pw_gid))
-@@ -302,6 +397,31 @@ change_identity (const struct passwd *pw
- error (EXIT_CANCELED, errno, _("cannot set user id"));
- }
-
-+#ifdef USE_PAM
-+static int caught=0;
-+/* Signal handler for parent process later */
-+static void su_catch_sig(int sig)
-+{
-+ ++caught;
-+}
-+
-+int
-+pam_copyenv (pam_handle_t *pamh)
-+{
-+ char **env;
-+
-+ env = pam_getenvlist(pamh);
-+ if(env) {
-+ while(*env) {
-+ if (putenv (*env))
-+ xalloc_die ();
-+ env++;
-+ }
-+ }
-+ return(0);
-+}
-+#endif
-+
- /* Run SHELL, or DEFAULT_SHELL if SHELL is empty.
- If COMMAND is nonzero, pass it to the shell with the -c option.
- Pass ADDITIONAL_ARGS to the shell as more arguments; there
-@@ -309,17 +429,49 @@ change_identity (const struct passwd *pw
-
- static void
- run_shell (char const *shell, char const *command, char **additional_args,
-- size_t n_additional_args)
-+ size_t n_additional_args, const struct passwd *pw)
- {
- size_t n_args = 1 + fast_startup + 2 * !!command + n_additional_args + 1;
- char const **args = xnmalloc (n_args, sizeof *args);
- size_t argno = 1;
-+#ifdef USE_PAM
-+ int child;
-+ sigset_t ourset;
-+ int status;
-+
-+ retval = pam_open_session(pamh,0);
-+ if (retval != PAM_SUCCESS) {
-+ fprintf (stderr, "could not open session\n");
-+ exit (1);
-+ }
-+
-+/* do this at the last possible moment, because environment variables may
-+ be passed even in the session phase
-+*/
-+ if(pam_copyenv(pamh) != PAM_SUCCESS)
-+ fprintf (stderr, "error copying PAM environment\n");
-+
-+ /* Credentials should be set in the parent */
-+ if (pam_setcred(pamh, PAM_ESTABLISH_CRED) != PAM_SUCCESS) {
-+ pam_close_session(pamh, 0);
-+ fprintf(stderr, "could not set PAM credentials\n");
-+ exit(1);
-+ }
-+
-+ child = fork();
-+ if (child == 0) { /* child shell */
-+ change_identity (pw);
-+ pam_end(pamh, 0);
-+#endif
-
- if (simulate_login)
- {
- char *arg0;
- char *shell_basename;
-
-+ if(chdir(pw->pw_dir))
-+ error(0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
-+
- shell_basename = last_component (shell);
- arg0 = xmalloc (strlen (shell_basename) + 2);
- arg0[0] = '-';
-@@ -344,6 +496,67 @@ run_shell (char const *shell, char const
- error (0, errno, "%s", shell);
- exit (exit_status);
- }
-+#ifdef USE_PAM
-+ } else if (child == -1) {
-+ fprintf(stderr, "can not fork user shell: %s", strerror(errno));
-+ pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT);
-+ pam_close_session(pamh, 0);
-+ pam_end(pamh, PAM_ABORT);
-+ exit(1);
-+ }
-+ /* parent only */
-+ sigfillset(&ourset);
-+ if (sigprocmask(SIG_BLOCK, &ourset, NULL)) {
-+ fprintf(stderr, "%s: signal malfunction\n", PROGRAM_NAME);
-+ caught = 1;
-+ }
-+ if (!caught) {
-+ struct sigaction action;
-+ action.sa_handler = su_catch_sig;
-+ sigemptyset(&action.sa_mask);
-+ action.sa_flags = 0;
-+ sigemptyset(&ourset);
-+ if (sigaddset(&ourset, SIGTERM)
-+ || sigaddset(&ourset, SIGALRM)
-+ || sigaction(SIGTERM, &action, NULL)
-+ || sigprocmask(SIG_UNBLOCK, &ourset, NULL)) {
-+ fprintf(stderr, "%s: signal masking malfunction\n", PROGRAM_NAME);
-+ caught = 1;
-+ }
-+ }
-+ if (!caught) {
-+ do {
-+ int pid;
-+
-+ pid = waitpid(-1, &status, WUNTRACED);
-+
-+ if (((pid_t)-1 != pid) && (0 != WIFSTOPPED (status))) {
-+ kill(getpid(), WSTOPSIG(status));
-+ /* once we get here, we must have resumed */
-+ kill(pid, SIGCONT);
-+ }
-+ } while (0 != WIFSTOPPED(status));
-+ }
-+
-+ if (caught) {
-+ fprintf(stderr, "\nSession terminated, killing shell...");
-+ kill (child, SIGTERM);
-+ }
-+ /* Not checking retval on this because we need to call close session */
-+ pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT);
-+ retval = pam_close_session(pamh, 0);
-+ PAM_BAIL_P_VOID;
-+ retval = pam_end(pamh, PAM_SUCCESS);
-+ PAM_BAIL_P_VOID;
-+ if (caught) {
-+ sleep(2);
-+ kill(child, SIGKILL);
-+ fprintf(stderr, " ...killed.\n");
-+ exit(-1);
-+ }
-+ exit ((0 != WIFEXITED (status)) ? WEXITSTATUS (status)
-+ : WTERMSIG (status) + 128);
-+#endif /* USE_PAM */
- }
-
- /* Return true if SHELL is a restricted shell (one not returned by
-@@ -511,9 +724,9 @@ main (int argc, char **argv)
- shell = xstrdup (shell ? shell : pw->pw_shell);
- modify_environment (pw, shell);
-
-+#ifndef USE_PAM
- change_identity (pw);
-- if (simulate_login && chdir (pw->pw_dir) != 0)
-- error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
-+#endif
-
- /* error() flushes stderr, but does not check for write failure.
- Normally, we would catch this via our atexit() hook of
-@@ -523,5 +736,5 @@ main (int argc, char **argv)
- if (ferror (stderr))
- exit (EXIT_CANCELED);
-
-- run_shell (shell, command, argv + optind, MAX (0, argc - optind));
-+ run_shell (shell, command, argv + optind, MAX (0, argc - optind), pw);
- }
diff --git a/testing/coreutils/coreutils-uname.patch b/testing/coreutils/coreutils-uname.patch
deleted file mode 100644
index b458abeba..000000000
--- a/testing/coreutils/coreutils-uname.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-On linux platforms, grok /proc/cpuinfo for the CPU/vendor info.
-
-Prob not suitable for upstream seeing as how it's 100% linux-specific
-http://lists.gnu.org/archive/html/bug-coreutils/2005-09/msg00063.html
-
-Patch originally by Carlos E. Gorges <carlos@techlinux.com.br>, but
-heavily reworked to suck less.
-
-To add support for additional platforms, check out the show_cpuinfo()
-func in the linux/arch/<ARCH>/ source tree of the kernel.
-
---- coreutils/src/uname.c
-+++ coreutils/src/uname.c
-@@ -50,6 +50,11 @@
- # include <mach-o/arch.h>
- #endif
-
-+#if defined(__linux__)
-+# define USE_PROCINFO
-+# define UNAME_HARDWARE_PLATFORM
-+#endif
-+
- #include "system.h"
- #include "error.h"
- #include "quote.h"
-@@ -138,6 +143,117 @@
- exit (status);
- }
-
-+#if defined(USE_PROCINFO)
-+
-+# if defined(__s390__) || defined(__s390x__)
-+# define CPUINFO_FILE "/proc/sysinfo"
-+# define CPUINFO_FORMAT "%64[^\t :]%*[ :]%256[^\n]%c"
-+# else
-+# define CPUINFO_FILE "/proc/cpuinfo"
-+# define CPUINFO_FORMAT "%64[^\t:]\t:%256[^\n]%c"
-+# endif
-+
-+# define PROCINFO_PROCESSOR 0
-+# define PROCINFO_HARDWARE_PLATFORM 1
-+
-+static void __eat_cpuinfo_space(char *buf)
-+{
-+ /* first eat trailing space */
-+ char *tmp = buf + strlen(buf) - 1;
-+ while (tmp > buf && isspace(*tmp))
-+ *tmp-- = '\0';
-+ /* then eat leading space */
-+ tmp = buf;
-+ while (*tmp && isspace(*tmp))
-+ tmp++;
-+ if (tmp != buf)
-+ memmove(buf, tmp, strlen(tmp)+1);
-+ /* finally collapse whitespace */
-+ tmp = buf;
-+ while (tmp[0] && tmp[1]) {
-+ if (isspace(tmp[0]) && isspace(tmp[1])) {
-+ memmove(tmp, tmp+1, strlen(tmp));
-+ continue;
-+ }
-+ ++tmp;
-+ }
-+}
-+
-+static int __linux_procinfo(int x, char *fstr, size_t s)
-+{
-+ FILE *fp;
-+
-+ char *procinfo_keys[] = {
-+ /* --processor --hardware-platform */
-+ #if defined(__alpha__)
-+ "cpu model", "system type"
-+ #elif defined(__arm__)
-+ "Processor", "Hardware"
-+ #elif defined(__avr32__)
-+ "processor", "cpu family"
-+ #elif defined(__bfin__)
-+ "CPU", "BOARD Name"
-+ #elif defined(__cris__)
-+ "cpu", "cpu model"
-+ #elif defined(__frv__)
-+ "CPU-Core", "System"
-+ #elif defined(__i386__) || defined(__x86_64__)
-+ "model name", "vendor_id"
-+ #elif defined(__ia64__)
-+ "family", "vendor"
-+ #elif defined(__hppa__)
-+ "cpu", "model"
-+ #elif defined(__m68k__)
-+ "CPU", "MMU"
-+ #elif defined(__mips__)
-+ "cpu model", "system type"
-+ #elif defined(__powerpc__) || defined(__powerpc64__)
-+ "cpu", "machine"
-+ #elif defined(__s390__) || defined(__s390x__)
-+ "Type", "Manufacturer"
-+ #elif defined(__sh__)
-+ "cpu type", "machine"
-+ #elif defined(sparc) || defined(__sparc__)
-+ "type", "cpu"
-+ #elif defined(__vax__)
-+ "cpu type", "cpu"
-+ #else
-+ "unknown", "unknown"
-+ #endif
-+ };
-+
-+ if ((fp = fopen(CPUINFO_FILE, "r")) != NULL) {
-+ char key[65], value[257], eol, *ret = NULL;
-+
-+ while (fscanf(fp, CPUINFO_FORMAT, key, value, &eol) != EOF) {
-+ __eat_cpuinfo_space(key);
-+ if (!strcmp(key, procinfo_keys[x])) {
-+ __eat_cpuinfo_space(value);
-+ ret = value;
-+ break;
-+ }
-+ if (eol != '\n') {
-+ /* we need two fscanf's here in case the previous
-+ * length limit caused us to read right up to the
-+ * newline ... doing "%*[^\n]\n" wont eat the newline
-+ */
-+ fscanf(fp, "%*[^\n]");
-+ fscanf(fp, "\n");
-+ }
-+ }
-+ fclose(fp);
-+
-+ if (ret) {
-+ strncpy(fstr, ret, s);
-+ return 0;
-+ }
-+ }
-+
-+ return -1;
-+}
-+
-+#endif
-+
- /* Print ELEMENT, preceded by a space if something has already been
- printed. */
-
-@@ -250,10 +344,14 @@ main (int argc, char **argv)
- if (toprint & PRINT_PROCESSOR)
- {
- char const *element = unknown;
--#if HAVE_SYSINFO && defined SI_ARCHITECTURE
-+#if ( HAVE_SYSINFO && defined SI_ARCHITECTURE ) || defined(USE_PROCINFO)
- {
- static char processor[257];
-+#if defined(USE_PROCINFO)
-+ if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor))
-+#else
- if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
-+#endif
- element = processor;
- }
- #endif
-@@ -306,9 +404,13 @@ main (int argc, char **argv)
- if (element == unknown)
- {
- static char hardware_platform[257];
-+#if defined(USE_PROCINFO)
-+ if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform))
-+#else
- size_t s = sizeof hardware_platform;
- static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM };
- if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0)
-+#endif
- element = hardware_platform;
- }
- #endif
diff --git a/testing/coreutils/coreutils.install b/testing/coreutils/coreutils.install
deleted file mode 100644
index 8caae6686..000000000
--- a/testing/coreutils/coreutils.install
+++ /dev/null
@@ -1,21 +0,0 @@
-infodir=usr/share/info
-filelist=(coreutils.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
diff --git a/testing/coreutils/su.pam b/testing/coreutils/su.pam
deleted file mode 100644
index cf15f40f1..000000000
--- a/testing/coreutils/su.pam
+++ /dev/null
@@ -1,9 +0,0 @@
-#%PAM-1.0
-auth sufficient pam_rootok.so
-# Uncomment the following line to implicitly trust users in the "wheel" group.
-#auth sufficient pam_wheel.so trust use_uid
-# Uncomment the following line to require a user to be in the "wheel" group.
-#auth required pam_wheel.so use_uid
-auth required pam_unix.so
-account required pam_unix.so
-session required pam_unix.so
diff --git a/testing/expat/CVE-2009-3560.patch b/testing/expat/CVE-2009-3560.patch
deleted file mode 100644
index 5fe9c36c8..000000000
--- a/testing/expat/CVE-2009-3560.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -urNad trunk~/lib/xmlparse.c trunk/lib/xmlparse.c
---- trunk~/lib/xmlparse.c 2007-05-08 04:25:35.000000000 +0200
-+++ trunk/lib/xmlparse.c 2009-12-29 21:57:22.141732904 +0100
-@@ -3703,6 +3703,9 @@
- return XML_ERROR_UNCLOSED_TOKEN;
- case XML_TOK_PARTIAL_CHAR:
- return XML_ERROR_PARTIAL_CHAR;
-+ case -XML_TOK_PROLOG_S:
-+ tok = -tok;
-+ break;
- case XML_TOK_NONE:
- #ifdef XML_DTD
- /* for internal PE NOT referenced between declarations */
diff --git a/testing/expat/CVE-2009-3720.patch b/testing/expat/CVE-2009-3720.patch
deleted file mode 100644
index 65d16431f..000000000
--- a/testing/expat/CVE-2009-3720.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urNad trunk~/lib/xmltok_impl.c trunk/lib/xmltok_impl.c
---- trunk~/lib/xmltok_impl.c 2006-11-26 18:34:46.000000000 +0100
-+++ trunk/lib/xmltok_impl.c 2009-10-22 21:42:41.000000000 +0200
-@@ -1744,7 +1744,7 @@
- const char *end,
- POSITION *pos)
- {
-- while (ptr != end) {
-+ while (ptr < end) {
- switch (BYTE_TYPE(enc, ptr)) {
- #define LEAD_CASE(n) \
- case BT_LEAD ## n: \
diff --git a/testing/expat/PKGBUILD b/testing/expat/PKGBUILD
deleted file mode 100644
index b727138dc..000000000
--- a/testing/expat/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 154410 2012-03-28 00:03:38Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
-# Committer: Judd Vinet <jvinet@zeroflux.org>
-
-pkgname=expat
-pkgver=2.1.0
-pkgrel=1
-pkgdesc="An XML parser library"
-arch=('i686' 'x86_64')
-url="http://expat.sourceforge.net/"
-license=('custom')
-depends=('glibc')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/expat/${pkgname}-${pkgver}.tar.gz)
-md5sums=('dd7dab7a5fea97d2a6a43f511449b7cd')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr --mandir=/usr/share/man
- make
-}
-
-check() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make check
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
- install -Dm644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
-}
diff --git a/~mtjm/python-getmediumurl/PKGBUILD b/~mtjm/python-getmediumurl/PKGBUILD
index bacc1c0f1..172f6dcd9 100644
--- a/~mtjm/python-getmediumurl/PKGBUILD
+++ b/~mtjm/python-getmediumurl/PKGBUILD
@@ -3,12 +3,12 @@
_pkgname=GetMediumURL
pkgname=python-getmediumurl
pkgver=0.0a5
-pkgrel=1
+pkgrel=2
pkgdesc="A package for getting URLs of media files from some websites"
arch=("any")
url="http://savannah.nongnu.org/projects/getmediumurl/"
license=('AGPL')
-depends=('python' 'python3-lxml' 'python-urlreader' 'python-distribute')
+depends=('python' 'python-lxml' 'python-urlreader' 'python-distribute')
checkdepends=('python2') # due to my laziness
options=(!emptydirs)
source=("http://download.savannah.gnu.org/releases/getmediumurl/${_pkgname}-${pkgver}.tar.gz")