summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-24 13:45:28 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-24 13:45:28 +0100
commit850ed0a79fd5c91ac6d037b151cd6ce314a3871f (patch)
treeccb68032bb48b993d3e6b79cba0dc842e5b044c1 /package
parentc0c6f1a00ae612aca71a9c404056ff5656263513 (diff)
parentf71d123ae12dad7f1b3df2be6e8a9353f12901da (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package')
-rw-r--r--package/adk-test-tools/Makefile2
-rwxr-xr-xpackage/adk-test-tools/files/test.init4
-rw-r--r--package/asterisk/Makefile2
-rw-r--r--package/base-files/Makefile25
-rw-r--r--package/base-files/files/inittab.shell2
-rw-r--r--package/base-files/src/etc/ipkg.conf2
-rwxr-xr-xpackage/base-files/src/usr/share/udhcpc/default.script4
-rw-r--r--package/check/Makefile26
-rw-r--r--package/dbus-python/Makefile2
-rw-r--r--package/ebtables/Makefile2
-rw-r--r--package/ebtables/patches/patch-Makefile6
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_among_c10
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_arpreply_c10
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_ip6_c10
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_limit_c10
-rw-r--r--package/ebtables/patches/patch-extensions_ebt_nat_c10
-rw-r--r--package/ebtables/patches/patch-include_ethernetdb_h29
-rw-r--r--package/ebtables/patches/patch-useful_functions_c10
-rw-r--r--package/ethtool/Makefile12
-rw-r--r--package/ethtool/patches/patch-internal_h33
-rw-r--r--package/eudev/Makefile24
-rw-r--r--package/feh/Makefile4
-rw-r--r--package/fetchmail/Makefile4
-rw-r--r--package/findutils/Makefile25
-rw-r--r--package/findutils/patches/patch-configure_ac11
-rw-r--r--package/findutils/patches/patch-gnulib_lib_freadahead_c15
-rw-r--r--package/findutils/patches/patch-gnulib_lib_freadahead_h24
-rw-r--r--package/findutils/patches/patch-gnulib_lib_fseeko_c18
-rw-r--r--package/findutils/patches/patch-gnulib_m4_fflush_m425
-rw-r--r--package/gkrellm/Makefile6
-rw-r--r--package/gkrellm/patches/patch-server_Makefile30
-rw-r--r--package/gkrellm/patches/patch-server_main_c24
-rw-r--r--package/gkrellm/patches/patch-server_sysdeps-unix_c10
-rw-r--r--package/glib/Makefile8
-rw-r--r--package/gpsd/Makefile2
-rw-r--r--package/ipcad/Makefile2
-rw-r--r--package/ipcad/patches/patch-Makefile169
-rw-r--r--package/ipcad/patches/patch-Makefile_in11
-rw-r--r--package/ipcad/patches/patch-cfg_y60
-rw-r--r--package/iptables-snmp/Makefile2
-rw-r--r--package/kbd/Makefile11
-rw-r--r--package/kbd/patches/patch-src_kbdinfo_c46
-rw-r--r--package/kbd/patches/patch-src_kbdrate_c10
-rw-r--r--package/kbd/patches/patch-src_libkeymap_dump_c11
-rw-r--r--package/kbd/patches/patch-src_libkeymap_kmap_c7
-rw-r--r--package/kbd/patches/patch-src_libkeymap_summary_c11
-rw-r--r--package/kbd/patches/patch-src_openvt_c8
-rw-r--r--package/kbd/patches/patch-src_setvtrgb_c70
-rw-r--r--package/libmodplug/Makefile8
-rw-r--r--package/libtirpc/Makefile4
-rw-r--r--package/libtirpc/patches/patch-src_auth_des_c18
-rw-r--r--package/libtirpc/patches/patch-src_auth_none_c10
-rw-r--r--package/libtirpc/patches/patch-src_auth_time_c18
-rw-r--r--package/libtirpc/patches/patch-src_auth_unix_c10
-rw-r--r--package/libtirpc/patches/patch-src_authdes_prot_c7
-rw-r--r--package/libtirpc/patches/patch-src_authunix_prot_c10
-rw-r--r--package/libtirpc/patches/patch-src_bindresvport_c18
-rw-r--r--package/libtirpc/patches/patch-src_clnt_bcast_c22
-rw-r--r--package/libtirpc/patches/patch-src_clnt_perror_c10
-rw-r--r--package/libtirpc/patches/patch-src_clnt_simple_c10
-rw-r--r--package/libtirpc/patches/patch-src_crypt_client_c10
-rw-r--r--package/libtirpc/patches/patch-src_des_crypt_c10
-rw-r--r--package/libtirpc/patches/patch-src_des_soft_c9
-rw-r--r--package/libtirpc/patches/patch-src_getnetconfig_c10
-rw-r--r--package/libtirpc/patches/patch-src_getnetpath_c16
-rw-r--r--package/libtirpc/patches/patch-src_getpeereid_c10
-rw-r--r--package/libtirpc/patches/patch-src_getpublickey_c10
-rw-r--r--package/libtirpc/patches/patch-src_key_call_c10
-rw-r--r--package/libtirpc/patches/patch-src_key_prot_xdr_c10
-rw-r--r--package/libtirpc/patches/patch-src_mt_misc_c8
-rw-r--r--package/libtirpc/patches/patch-src_pmap_clnt_c10
-rw-r--r--package/libtirpc/patches/patch-src_pmap_getmaps_c10
-rw-r--r--package/libtirpc/patches/patch-src_rpc_com_h31
-rw-r--r--package/libtirpc/patches/patch-src_rpc_generic_c10
-rw-r--r--package/libtirpc/patches/patch-src_rpcb_st_xdr_c10
-rw-r--r--package/libtirpc/patches/patch-src_rpcdname_c10
-rw-r--r--package/libtirpc/patches/patch-src_svc_dg_c10
-rw-r--r--package/libtirpc/patches/patch-src_svc_simple_c10
-rw-r--r--package/libtirpc/patches/patch-src_svc_vc_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_array_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_float_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_mem_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_rec_c11
-rw-r--r--package/libtirpc/patches/patch-src_xdr_reference_c11
-rw-r--r--package/libtirpc/patches/patch-src_xdr_sizeof_c10
-rw-r--r--package/libtirpc/patches/patch-src_xdr_stdio_c10
-rw-r--r--package/libtirpc/patches/patch-tirpc_misc_event_h24
-rw-r--r--package/libtirpc/patches/patch-tirpc_netconfig_h23
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_auth_des_h32
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h53
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_auth_h192
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h26
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_clnt_h132
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h78
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h52
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_nettype_h20
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h25
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h27
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h26
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h31
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpc_h44
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h23
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h23
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_rpcent_h31
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h20
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_svc_h152
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h102
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpc_xdr_h53
-rw-r--r--package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x12
-rw-r--r--package/libtirpc/src/src/queue.h574
-rw-r--r--package/libxml2/Makefile3
-rw-r--r--package/logrotate/Makefile4
-rw-r--r--package/logrotate/patches/patch-Makefile57
-rw-r--r--package/logrotate/patches/patch-config_c8
-rw-r--r--package/logrotate/patches/patch-logrotate_c8
-rw-r--r--package/logrotate/patches/patch-logrotate_h11
-rw-r--r--package/logrotate/src/queue.h574
-rw-r--r--package/lynx/Makefile6
-rw-r--r--package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h14
-rw-r--r--package/lynx/patches/patch-makefile_in11
-rw-r--r--package/lynx/patches/patch-src_chrtrans_makeuctb_c19
-rw-r--r--package/moc/Makefile5
-rw-r--r--package/mpg123/Makefile4
-rw-r--r--package/ntfs-3g/Makefile4
-rw-r--r--package/ntfs-3g/patches/patch-libfuse-lite_fusermount_c10
-rw-r--r--package/ntfs-3g/patches/patch-libfuse-lite_mount_util_c10
-rw-r--r--package/python3/Makefile34
-rw-r--r--package/python3/patches/patch-Makefile_pre_in70
-rw-r--r--package/python3/patches/patch-Modules_posixmodule_c20
-rw-r--r--package/rrdcollect/Makefile10
-rw-r--r--package/scons/Makefile7
-rw-r--r--package/shat/Makefile4
-rw-r--r--package/socat/Makefile6
-rw-r--r--package/socat/patches/patch-Makefile_in (renamed from package/socat/patches/501-honor_ldflags.patch)5
-rw-r--r--package/socat/patches/patch-configure23
-rw-r--r--package/vlc/Makefile7
-rw-r--r--package/vlc/patches/patch-modules_text_renderer_freetype_c11
-rw-r--r--package/watchdog/Makefile7
-rw-r--r--package/watchdog/patches/patch-include_extern_h9
-rw-r--r--package/watchdog/patches/patch-src_memory_c11
-rw-r--r--package/watchdog/patches/patch-src_mntent_c11
-rw-r--r--package/watchdog/patches/patch-src_net_c10
-rw-r--r--package/watchdog/patches/patch-src_shutdown_c18
-rw-r--r--package/watchdog/patches/patch-src_umount_c11
-rw-r--r--package/xbmc/Makefile1
-rw-r--r--package/xf86-video-fbdev/Makefile4
-rw-r--r--package/xinetd/Makefile7
-rw-r--r--package/xinetd/patches/patch-Makefile_in13
-rw-r--r--package/xinetd/patches/patch-xinetd_confparse_c18
-rw-r--r--package/xterm/Makefile6
151 files changed, 3778 insertions, 368 deletions
diff --git a/package/adk-test-tools/Makefile b/package/adk-test-tools/Makefile
index 0a60c5056..72327170a 100644
--- a/package/adk-test-tools/Makefile
+++ b/package/adk-test-tools/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= adk-test-tools
PKG_VERSION:= 0.1
-PKG_RELEASE:= 3
+PKG_RELEASE:= 5
PKG_DESCR:= helper tools and scripts for adk-test-framework
PKG_SECTION:= misc
PKG_URL:= http://openadk.org/
diff --git a/package/adk-test-tools/files/test.init b/package/adk-test-tools/files/test.init
index bb8fca527..e33bece47 100755
--- a/package/adk-test-tools/files/test.init
+++ b/package/adk-test-tools/files/test.init
@@ -3,6 +3,10 @@
#INIT 90
[[ $1 = autostart ]] || exit 0
echo "Starting test script ..."
+grep shell /proc/cmdline > /dev/null 2&>1
+if [ $? -eq 0 ];then
+ exit 0
+fi
if [ -x /run.sh ];then
/run.sh
quit
diff --git a/package/asterisk/Makefile b/package/asterisk/Makefile
index 051ad3ea3..e43b4d275 100644
--- a/package/asterisk/Makefile
+++ b/package/asterisk/Makefile
@@ -105,7 +105,7 @@ TARGET_LDFLAGS+= -lm -ltinfo -ldl -lpthread
MAKE_ENV= ASTCFLAGS="${TARGET_CPPFLAGS} -DHAVE_STRTOQ" \
ASTLDFLAGS="${TARGET_LDFLAGS}"
MAKE_FLAGS+= DESTDIR="$(WRKINST)" \
- OPTIMIZE="${TARGET_OPTIMIZATION}" \
+ OPTIMIZE="${TARGET_CFLAGS}" \
NOISY_BUILD=1
ALL_TARGET:= all install samples
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 417c3d09f..0db6ad87f 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk
PKG_NAME:= base-files
PKG_VERSION:= 1.0
-PKG_RELEASE:= 76
+PKG_RELEASE:= 78
PKG_SECTION:= base
PKG_DESCR:= basic files and scripts
PKG_BUILDDEP:= pkgconf-host file-host
@@ -30,6 +30,11 @@ endif
$(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
$(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
$(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ifneq ($(ADK_TARGET_ABI),)
+ $(SED) 's,@ABI@,_$(ADK_TARGET_ABI),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+else
+ $(SED) 's,@ABI@,,g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+endif
$(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
$(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
echo /bin/sh >${IDIR_BASE_FILES}/etc/shells
@@ -51,6 +56,7 @@ endif
chmod 755 $(IDIR_BASE_FILES)/lib/mdev/init
chmod 600 $(IDIR_BASE_FILES)/etc/shadow
chmod 600 $(IDIR_BASE_FILES)/etc/network/interfaces
+ (cd $(IDIR_BASE_FILES)/etc; ln -sf ../tmp/resolv.conf .)
chmod 1777 ${IDIR_BASE_FILES}/tmp
ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab
rm -rf $(IDIR_BASE_FILES)/var
@@ -80,23 +86,20 @@ ifneq (${ADK_PACKAGE_CONFIG_IN_ETC},)
gzip -9c ${TOPDIR}/.config >$(IDIR_BASE_FILES)/etc/adkconfig.gz
chmod 600 $(IDIR_BASE_FILES)/etc/adkconfig.gz
endif
-ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
- echo 'export LD_LIBRARY_PATH=/opt/vc/lib' >> $(IDIR_BASE_FILES)/etc/profile
-ifneq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI)$(ADK_TARGET_SYSTEM_IBM_X40)$(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),)
+ifeq ($(ADK_TARGET_WITH_ROOT_RW),y)
echo 'export IPKGTMPDIR=/root/.ipkg' >> $(IDIR_BASE_FILES)/etc/profile
else
- echo 'export IPKGTMPDIR=/tmp >> $(IDIR_BASE_FILES)/etc/profile
+ echo 'export IPKGTMPDIR=/tmp' >> $(IDIR_BASE_FILES)/etc/profile
endif
-
+ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
+ echo 'export LD_LIBRARY_PATH=/opt/vc/lib' >> $(IDIR_BASE_FILES)/etc/profile
endif
# simple network configuration
ifneq (${ADK_SIMPLE_NETWORK_CONFIG},)
${INSTALL_DIR} ${IDIR_BASE_FILES}/etc/network
-
# network config local
echo -e "auto lo\niface lo inet loopback" > ${IDIR_BASE_FILES}/etc/network/interfaces
-
# network config eth0
# configure nic with dhcp
ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC},y)
@@ -123,12 +126,10 @@ ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP},y)
echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH0_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
-
# network config wlan0
ifeq (${SIMPLE_NETWORK_CONFIG_WLAN0_TYPE_NIC},y)
echo -e "\nauto wlan0\niface wlan0 inet dhcp" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
-
# network config eth1
# configure nic with dhcp
ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC},y)
@@ -155,13 +156,11 @@ ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_BRIDGE_IP},y)
echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH1_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
-
# newline at the end of interfaces file
echo -en "\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
-
# resolver config
+ rm ${IDIR_BASE_FILES}/etc/resolv.conf
echo -e "nameserver ${SIMPLE_NETWORK_CONFIG_RESOLV}" > ${IDIR_BASE_FILES}/etc/resolv.conf
endif
-
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/base-files/files/inittab.shell b/package/base-files/files/inittab.shell
index 55e5e429f..d12593ca1 100644
--- a/package/base-files/files/inittab.shell
+++ b/package/base-files/files/inittab.shell
@@ -1 +1 @@
-::askfirst:/bin/sh
+::askfirst:-/bin/sh
diff --git a/package/base-files/src/etc/ipkg.conf b/package/base-files/src/etc/ipkg.conf
index cef6d2845..9c5ae17d3 100644
--- a/package/base-files/src/etc/ipkg.conf
+++ b/package/base-files/src/etc/ipkg.conf
@@ -1,3 +1,3 @@
-src @VENDOR@ http://@HOST@/@SYSTEM@_@ARCH@_@LIBC@/packages
+src @VENDOR@ http://@HOST@/pkg/@SYSTEM@_@ARCH@_@LIBC@@ABI@/packages
dest root /
dest ram /tmp
diff --git a/package/base-files/src/usr/share/udhcpc/default.script b/package/base-files/src/usr/share/udhcpc/default.script
index 3744dfb09..55a6655ab 100755
--- a/package/base-files/src/usr/share/udhcpc/default.script
+++ b/package/base-files/src/usr/share/udhcpc/default.script
@@ -23,16 +23,12 @@ case $1 in
ip route add to default via $i
done
fi
-
- touch /tmp/resolv.conf
- ln -sf /tmp/resolv.conf $RESOLV_CONF
echo -n >$RESOLV_CONF
${domain:+echo search $domain} >>$RESOLV_CONF
for i in $dns; do
echo "adding dns $i"
echo "nameserver $i" >>$RESOLV_CONF
done
-
# user rules
[ -f /etc/udhcpc.user ] && . /etc/udhcpc.user
;;
diff --git a/package/check/Makefile b/package/check/Makefile
new file mode 100644
index 000000000..5e7a9803a
--- /dev/null
+++ b/package/check/Makefile
@@ -0,0 +1,26 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= check
+PKG_VERSION:= 0.9.12
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 46fe540d1a03714c7a1967dbc6d484e7
+PKG_DESCR:= unit testing framework for C
+PKG_SECTION:= libs
+PKG_URL:= http://check.sourceforge.net/
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=check/}
+PKG_LIBNAME:= libcheck
+PKG_OPTS:= dev
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBCHECK,libcheck,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+
+libcheck-install:
+ $(INSTALL_DIR) $(IDIR_CHECK)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libcheck*.so* \
+ $(IDIR_CHECK)/usr/lib
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/dbus-python/Makefile b/package/dbus-python/Makefile
index 9645f7269..b73d43a6c 100644
--- a/package/dbus-python/Makefile
+++ b/package/dbus-python/Makefile
@@ -14,6 +14,8 @@ PKG_BUILDDEP:= dbus dbus-glib
PKG_URL:= http://dbus.freedesktop.org/doc/dbus-python/
PKG_SITES:= http://dbus.freedesktop.org/releases/dbus-python/
+PKG_CFLINE_DBUS_PYTHON:= depends on ADK_BROKEN
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,DBUS_PYTHON,dbus-python,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/ebtables/Makefile b/package/ebtables/Makefile
index 59f2ea6ba..e39f58070 100644
--- a/package/ebtables/Makefile
+++ b/package/ebtables/Makefile
@@ -21,7 +21,7 @@ $(eval $(call PKG_template,EBTABLES,ebtables,${PKG_VERSION}-${PKG_RELEASE},${PKG
CONFIG_STYLE:= manual
-post-install:
+ebtables-install:
${INSTALL_DIR} ${IDIR_EBTABLES}/etc
${INSTALL_DIR} ${IDIR_EBTABLES}/usr/sbin ${IDIR_EBTABLES}/usr/lib
${INSTALL_DATA} ${WRKINST}/etc/ethertypes ${IDIR_EBTABLES}/etc
diff --git a/package/ebtables/patches/patch-Makefile b/package/ebtables/patches/patch-Makefile
index ff5934a70..f4e293eaf 100644
--- a/package/ebtables/patches/patch-Makefile
+++ b/package/ebtables/patches/patch-Makefile
@@ -1,6 +1,6 @@
---- ebtables-v2.0.10-3.orig/Makefile 2011-12-04 10:46:26.000000000 +0100
-+++ ebtables-v2.0.10-3/Makefile 2011-12-11 16:35:34.619464748 +0100
-@@ -10,16 +10,16 @@ LOCKDIR:=$(shell echo $(LOCKFILE) | sed
+--- ebtables-v2.0.10-4.orig/Makefile 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/Makefile 2014-03-23 15:46:20.000000000 +0100
+@@ -10,16 +10,16 @@ LOCKDIR:=$(shell echo $(LOCKFILE) | sed
# default paths
LIBDIR:=/usr/lib
diff --git a/package/ebtables/patches/patch-extensions_ebt_among_c b/package/ebtables/patches/patch-extensions_ebt_among_c
new file mode 100644
index 000000000..08f3fb7f1
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_among_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_among.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_among.c 2014-03-23 15:51:29.000000000 +0100
+@@ -13,7 +13,6 @@
+ #include <ctype.h>
+ #include <unistd.h>
+ #include "../include/ebtables_u.h"
+-#include <netinet/ether.h>
+ #include "../include/ethernetdb.h"
+ #include <linux/if_ether.h>
+ #include <linux/netfilter_bridge/ebt_among.h>
diff --git a/package/ebtables/patches/patch-extensions_ebt_arpreply_c b/package/ebtables/patches/patch-extensions_ebt_arpreply_c
new file mode 100644
index 000000000..32432efb4
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_arpreply_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_arpreply.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_arpreply.c 2014-03-23 15:50:38.000000000 +0100
+@@ -12,7 +12,6 @@
+ #include <string.h>
+ #include <getopt.h>
+ #include "../include/ebtables_u.h"
+-#include <netinet/ether.h>
+ #include <linux/netfilter_bridge/ebt_arpreply.h>
+
+ static int mac_supplied;
diff --git a/package/ebtables/patches/patch-extensions_ebt_ip6_c b/package/ebtables/patches/patch-extensions_ebt_ip6_c
new file mode 100644
index 000000000..e57677d44
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_ip6_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_ip6.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_ip6.c 2014-03-23 15:51:09.000000000 +0100
+@@ -11,6 +11,7 @@
+ *
+ */
+
++#include <sys/types.h>
+ #include <errno.h>
+ #include <inttypes.h>
+ #include <limits.h>
diff --git a/package/ebtables/patches/patch-extensions_ebt_limit_c b/package/ebtables/patches/patch-extensions_ebt_limit_c
new file mode 100644
index 000000000..5464611c1
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_limit_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_limit.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_limit.c 2014-03-23 15:52:04.000000000 +0100
+@@ -8,6 +8,7 @@
+ * September, 2003
+ */
+
++#include <sys/types.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/package/ebtables/patches/patch-extensions_ebt_nat_c b/package/ebtables/patches/patch-extensions_ebt_nat_c
new file mode 100644
index 000000000..1a215e9e7
--- /dev/null
+++ b/package/ebtables/patches/patch-extensions_ebt_nat_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/extensions/ebt_nat.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/extensions/ebt_nat.c 2014-03-23 15:50:13.000000000 +0100
+@@ -11,7 +11,6 @@
+ #include <string.h>
+ #include <getopt.h>
+ #include "../include/ebtables_u.h"
+-#include <netinet/ether.h>
+ #include <linux/netfilter_bridge/ebt_nat.h>
+
+ static int to_source_supplied, to_dest_supplied;
diff --git a/package/ebtables/patches/patch-include_ethernetdb_h b/package/ebtables/patches/patch-include_ethernetdb_h
new file mode 100644
index 000000000..1bc877d57
--- /dev/null
+++ b/package/ebtables/patches/patch-include_ethernetdb_h
@@ -0,0 +1,29 @@
+--- ebtables-v2.0.10-4.orig/include/ethernetdb.h 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/include/ethernetdb.h 2014-03-23 15:47:35.000000000 +0100
+@@ -38,21 +38,20 @@ struct ethertypeent {
+
+ /* Open ethertype data base files and mark them as staying open even
+ after a later search if STAY_OPEN is non-zero. */
+-extern void setethertypeent(int __stay_open) __THROW;
++extern void setethertypeent(int __stay_open);
+
+ /* Close ethertype data base files and clear `stay open' flag. */
+-extern void endethertypeent(void) __THROW;
++extern void endethertypeent(void);
+
+ /* Get next entry from ethertype data base file. Open data base if
+ necessary. */
+-extern struct ethertypeent *getethertypeent(void) __THROW;
++extern struct ethertypeent *getethertypeent(void);
+
+ /* Return entry from ethertype data base for network with NAME. */
+-extern struct ethertypeent *getethertypebyname(__const char *__name)
+- __THROW;
++extern struct ethertypeent *getethertypebyname(__const char *__name);
+
+ /* Return entry from ethertype data base which number is PROTO. */
+-extern struct ethertypeent *getethertypebynumber(int __ethertype) __THROW;
++extern struct ethertypeent *getethertypebynumber(int __ethertype);
+
+
+ #endif /* ethernetdb.h */
diff --git a/package/ebtables/patches/patch-useful_functions_c b/package/ebtables/patches/patch-useful_functions_c
new file mode 100644
index 000000000..6e851ecd2
--- /dev/null
+++ b/package/ebtables/patches/patch-useful_functions_c
@@ -0,0 +1,10 @@
+--- ebtables-v2.0.10-4.orig/useful_functions.c 2011-12-15 21:02:47.000000000 +0100
++++ ebtables-v2.0.10-4/useful_functions.c 2014-03-23 15:49:15.000000000 +0100
+@@ -25,7 +25,6 @@
+ #include "include/ebtables_u.h"
+ #include "include/ethernetdb.h"
+ #include <stdio.h>
+-#include <netinet/ether.h>
+ #include <string.h>
+ #include <stdlib.h>
+ #include <getopt.h>
diff --git a/package/ethtool/Makefile b/package/ethtool/Makefile
index f6be14fb9..7834dcfdb 100644
--- a/package/ethtool/Makefile
+++ b/package/ethtool/Makefile
@@ -4,12 +4,14 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= ethtool
-PKG_VERSION:= 2.6.36
-PKG_RELEASE:= 1
-PKG_MD5SUM:= 3b2322695e9ee7bf447ebcdb85f93e83
-PKG_DESCR:= Display or change ethernet card settings
+PKG_VERSION:= 3.13
+PKG_RELEASE:= 2
+PKG_MD5SUM:= dcb8f345d44ee79108282e7d0bdf5013
+PKG_DESCR:= display or change ethernet card settings
PKG_SECTION:= net
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=gkernel/}
+PKG_SITES:= https://www.kernel.org/pub/software/network/ethtool/
+
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.xz
include ${TOPDIR}/mk/package.mk
diff --git a/package/ethtool/patches/patch-internal_h b/package/ethtool/patches/patch-internal_h
new file mode 100644
index 000000000..280f92ce7
--- /dev/null
+++ b/package/ethtool/patches/patch-internal_h
@@ -0,0 +1,33 @@
+--- ethtool-3.13.orig/internal.h 2014-01-27 02:27:14.000000000 +0100
++++ ethtool-3.13/internal.h 2014-03-23 13:47:54.000000000 +0100
+@@ -7,6 +7,7 @@
+ #include "ethtool-config.h"
+ #endif
+ #include <stdio.h>
++#include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/types.h>
+@@ -17,16 +18,16 @@
+
+ /* ethtool.h expects these to be defined by <linux/types.h> */
+ #ifndef HAVE_BE_TYPES
+-typedef __uint16_t __be16;
+-typedef __uint32_t __be32;
++typedef uint16_t __be16;
++typedef uint32_t __be32;
+ typedef unsigned long long __be64;
+ #endif
+
+ typedef unsigned long long u64;
+-typedef __uint32_t u32;
+-typedef __uint16_t u16;
+-typedef __uint8_t u8;
+-typedef __int32_t s32;
++typedef uint32_t u32;
++typedef uint16_t u16;
++typedef uint8_t u8;
++typedef int32_t s32;
+
+ #include "ethtool-copy.h"
+ #include "net_tstamp-copy.h"
diff --git a/package/eudev/Makefile b/package/eudev/Makefile
index 4bce0928c..72eb76a8f 100644
--- a/package/eudev/Makefile
+++ b/package/eudev/Makefile
@@ -4,10 +4,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= eudev
-PKG_VERSION:= 1.3
+PKG_VERSION:= 1.5.3
PKG_RELEASE:= 1
-PKG_MD5SUM:= 164df78f6f0093578a20bdd00335845f
-PKG_DESCR:= udev device manager
+PKG_MD5SUM:= 51380938b489385cc394f4ebabc048f0
+PKG_DESCR:= device manager (udev clone)
PKG_SECTION:= utils
PKG_BUILDDEP:= gperf-host glib
PKG_DEPENDS:= glib
@@ -16,20 +16,22 @@ PKG_SITES:= http://dev.gentoo.org/~blueness/eudev/
PKG_LIBNAME:= libudev
PKG_OPTS:= dev
-PKG_SUBPKGS:= UDEV LIBUDEV LIBGUDEV
-PKGSC_LIBGUDEV:= libs
-PKGSD_LIBGUDEV:= GUDEV library
+PKG_SUBPKGS:= UDEV LIBUDEV
+PKGSD_UDEV:= Dynamic device management manager
PKGSC_LIBUDEV:= libs
-PKGSD_LIBUDEV:= UDEV library
-PKGSD_UDEV:= Dynamic device management subsystem
+PKGSD_LIBUDEV:= Dynamic device management library
+
+ifeq ($(ADK_STATIC),y)
+PKG_OPTS+= libmix
+endif
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,UDEV,udev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
$(eval $(call PKG_template,LIBUDEV,libudev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-$(eval $(call PKG_template,LIBGUDEV,libgudev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
CONFIGURE_ARGS+= --disable-manpages \
+ --datadir=${STAGING_TARGET_PREFIX}/usr/lib \
--disable-gtk-doc
udev-install:
@@ -43,8 +45,4 @@ libudev-install:
${INSTALL_DIR} ${IDIR_LIBUDEV}/usr/lib
$(CP) $(WRKINST)/usr/lib/libudev.so* $(IDIR_LIBUDEV)/usr/lib
-libgudev-install:
- ${INSTALL_DIR} ${IDIR_LIBGUDEV}/usr/lib
- $(CP) $(WRKINST)/usr/lib/libgudev*.so* $(IDIR_LIBGUDEV)/usr/lib
-
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/feh/Makefile b/package/feh/Makefile
index 43a90b8b7..4f9f56476 100644
--- a/package/feh/Makefile
+++ b/package/feh/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= feh
-PKG_VERSION:= 1.16.1
+PKG_VERSION:= 2.10
PKG_RELEASE:= 1
-PKG_MD5SUM:= 1bb080c7b0021db50884a52161251990
+PKG_MD5SUM:= 6714dedeff1db5c3593c4a27b0d9cf50
PKG_DESCR:= image viewer
PKG_SECTION:= multimedia
PKG_BUILDDEP:= imlib2 giblib libXt
diff --git a/package/fetchmail/Makefile b/package/fetchmail/Makefile
index 933333441..0d18d70cc 100644
--- a/package/fetchmail/Makefile
+++ b/package/fetchmail/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= fetchmail
-PKG_VERSION:= 6.3.9
+PKG_VERSION:= 6.3.26
PKG_RELEASE:= 1
-PKG_MD5SUM:= 72c20ad2b9629f1a109668b05a84d823
+PKG_MD5SUM:= d9ae3d939205a3c06a21ea79b8f14793
PKG_DESCR:= fetch mail from a POP or IMAP server
PKG_SECTION:= mail
PKG_URL:= http://fetchmail.berlios.de/
diff --git a/package/findutils/Makefile b/package/findutils/Makefile
index 46c3e6681..d89ca77ea 100644
--- a/package/findutils/Makefile
+++ b/package/findutils/Makefile
@@ -5,29 +5,38 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= findutils
PKG_VERSION:= 4.4.2
-PKG_RELEASE:= 2
+PKG_RELEASE:= 4
PKG_MD5SUM:= 351cc4adb07d54877fa15f75fb77d39f
PKG_DESCR:= GNU utilities for finding files
PKG_SECTION:= utils
PKG_DEPENDS:= libpthread
+PKG_BUILDDEP:= autotool
PKG_URL:= http://www.gnu.org/software/findutils/
PKG_SITES:= http://ftp.gnu.org/pub/gnu/findutils/
-PKG_SUBPKGS:= FINDUTILS LOCATE
-PKGSD_LOCATE:= Locate utility
+PKG_SUBPKGS:= FIND XARGS LOCATE
+PKGSD_LOCATE:= locate utility
+PKGSD_XARGS:= xargs utility
include $(TOPDIR)/mk/package.mk
-$(eval $(call PKG_template,FINDUTILS,findutils,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FIND,find,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,XARGS,xargs,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_XARGS},${PKG_SECTION}))
$(eval $(call PKG_template,LOCATE,locate,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LOCATE},${PKG_SECTION}))
+AUTOTOOL_STYLE:= autoreconf
CONFIGURE_ENV+= gl_cv_func_wcwidth_works=yes \
ac_cv_func_working_mktime=yes
-findutils-install:
- $(INSTALL_DIR) $(IDIR_FINDUTILS)/usr/bin
- $(INSTALL_BIN) $(WRKINST)/usr/bin/{find,oldfind,xargs} \
- $(IDIR_FINDUTILS)/usr/bin
+find-install:
+ $(INSTALL_DIR) $(IDIR_FIND)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/find \
+ $(IDIR_FIND)/usr/bin
+
+xargs-install:
+ $(INSTALL_DIR) $(IDIR_XARGS)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/xargs \
+ $(IDIR_XARGS)/usr/bin
locate-install:
${INSTALL_DIR} ${IDIR_LOCATE}/usr/{bin,libexec}
diff --git a/package/findutils/patches/patch-configure_ac b/package/findutils/patches/patch-configure_ac
new file mode 100644
index 000000000..34c03d76f
--- /dev/null
+++ b/package/findutils/patches/patch-configure_ac
@@ -0,0 +1,11 @@
+--- findutils-4.4.2.orig/configure.ac 2009-05-16 17:27:39.000000000 +0200
++++ findutils-4.4.2/configure.ac 2014-03-23 19:39:22.000000000 +0100
+@@ -77,8 +77,6 @@ AC_PROG_CPP
+ dnl for gnulib
+ gl_EARLY
+
+-AM_C_PROTOTYPES
+-
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+ dnl AC_PROG_LIBTOOL
diff --git a/package/findutils/patches/patch-gnulib_lib_freadahead_c b/package/findutils/patches/patch-gnulib_lib_freadahead_c
new file mode 100644
index 000000000..d998fbf6c
--- /dev/null
+++ b/package/findutils/patches/patch-gnulib_lib_freadahead_c
@@ -0,0 +1,15 @@
+--- findutils-4.4.2.orig/gnulib/lib/freadahead.c 2009-05-10 23:23:57.000000000 +0200
++++ findutils-4.4.2/gnulib/lib/freadahead.c 2014-03-23 16:27:43.000000000 +0100
+@@ -19,6 +19,7 @@
+ /* Specification. */
+ #include "freadahead.h"
+
++#ifndef HAVE___FREADAHEAD
+ size_t
+ freadahead (FILE *fp)
+ {
+@@ -64,3 +65,4 @@ freadahead (FILE *fp)
+ #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread on your system, then report this to bug-gnulib."
+ #endif
+ }
++#endif
diff --git a/package/findutils/patches/patch-gnulib_lib_freadahead_h b/package/findutils/patches/patch-gnulib_lib_freadahead_h
new file mode 100644
index 000000000..194232201
--- /dev/null
+++ b/package/findutils/patches/patch-gnulib_lib_freadahead_h
@@ -0,0 +1,24 @@
+--- findutils-4.4.2.orig/gnulib/lib/freadahead.h 2009-05-10 23:23:57.000000000 +0200
++++ findutils-4.4.2/gnulib/lib/freadahead.h 2014-03-23 16:27:43.000000000 +0100
+@@ -29,8 +29,21 @@ extern "C" {
+
+ STREAM must not be wide-character oriented. */
+
++#if HAVE___FREADAHEAD || (defined(__linux__) && !defined(__GLIBC__) && !defined(__UCLIBC__)) /* musl libc */
++
++#ifndef HAVE___FREADAHEAD
++#define HAVE___FREADAHEAD 1
++#endif
++
++# include <stdio_ext.h>
++# define freadahead(stream) __freadahead (stream)
++
++#else
++
+ extern size_t freadahead (FILE *stream);
+
++#endif
++
+ #ifdef __cplusplus
+ }
+ #endif
diff --git a/package/findutils/patches/patch-gnulib_lib_fseeko_c b/package/findutils/patches/patch-gnulib_lib_fseeko_c
new file mode 100644
index 000000000..aba9a1133
--- /dev/null
+++ b/package/findutils/patches/patch-gnulib_lib_fseeko_c
@@ -0,0 +1,18 @@
+--- findutils-4.4.2.orig/gnulib/lib/fseeko.c 2009-05-10 23:25:10.000000000 +0200
++++ findutils-4.4.2/gnulib/lib/fseeko.c 2014-03-23 16:35:34.000000000 +0100
+@@ -94,8 +94,14 @@ rpl_fseeko (FILE *fp, off_t offset, int
+ if ((fp->_Mode & _MWRITE ? fp->_Next == fp->_Buf : fp->_Next == fp->_Rend)
+ && fp->_Rback == fp->_Back + sizeof (fp->_Back)
+ && fp->_Rsave == NULL)
++#elif FUNC_FFLUSH_STDIN < 0 && 200809 <= _POSIX_VERSION
++ /* Cross-compiling to some other system advertising conformance to
++ POSIX.1-2008 or later. Assume fseeko and fflush work as advertised.
++ If this assumption is incorrect, please report the bug to
++ bug-gnulib. */
++ if (0)
+ #else
+- #error "Please port gnulib fseeko.c to your platform! Look at the code in fpurge.c, then report this to bug-gnulib."
++ #error "Please port gnulib fseeko.c to your platform! Look at the code in fseeko.c, then report this to bug-gnulib."
+ #endif
+ {
+ off_t pos = lseek (fileno (fp), offset, whence);
diff --git a/package/findutils/patches/patch-gnulib_m4_fflush_m4 b/package/findutils/patches/patch-gnulib_m4_fflush_m4
new file mode 100644
index 000000000..b3dd6a082
--- /dev/null
+++ b/package/findutils/patches/patch-gnulib_m4_fflush_m4
@@ -0,0 +1,25 @@
+--- findutils-4.4.2.orig/gnulib/m4/fflush.m4 2009-05-10 23:23:57.000000000 +0200
++++ findutils-4.4.2/gnulib/m4/fflush.m4 2014-03-23 18:40:09.000000000 +0100
+@@ -32,12 +32,18 @@ AC_DEFUN([gl_FUNC_FFLUSH],
+ return 4;
+ return !(lseek (fd, 0, SEEK_CUR) == 5);
+ ]])], [gl_cv_func_fflush_stdin=yes], [gl_cv_func_fflush_stdin=no],
+- [dnl Pessimistically assume fflush is broken. This is wrong for
+- dnl at least glibc and cygwin; but lib/fflush.c takes this into account.
+- gl_cv_func_fflush_stdin=no])
++ [gl_cv_func_fflush_stdin=cross])
+ rm conftest.txt
+ ])
+- if test $gl_cv_func_fflush_stdin = no; then
++ case $gl_cv_func_fflush_stdin in
++ yes) gl_func_fflush_stdin=1 ;;
++ no) gl_func_fflush_stdin=0 ;;
++ *) gl_func_fflush_stdin='(-1)' ;;
++ esac
++ AC_DEFINE_UNQUOTED([FUNC_FFLUSH_STDIN], [$gl_func_fflush_stdin],
++ [Define to 1 if fflush is known to work on stdin as per POSIX.1-2008,
++ 0 if fflush is known to not work, -1 if unknown.])
++ if test $gl_cv_func_fflush_stdin != yes; then
+ gl_REPLACE_FFLUSH
+ fi
+ ])
diff --git a/package/gkrellm/Makefile b/package/gkrellm/Makefile
index 1b4a6b118..e8efdabd4 100644
--- a/package/gkrellm/Makefile
+++ b/package/gkrellm/Makefile
@@ -4,10 +4,10 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= gkrellm
-PKG_VERSION:= 2.3.4
+PKG_VERSION:= 2.3.5
PKG_RELEASE:= 1
-PKG_MD5SUM:= 600f4daa395112ed19a3633deb0829ff
-PKG_DESCR:= The GNU Krell Monitors Server
+PKG_MD5SUM:= 05d00fa8d6376038b0c7e967583c0b8d
+PKG_DESCR:= GNU krell monitors server
PKG_SECTION:= net/misc
PKG_DEPENDS:= glib libpthread
PKG_BUILDDEP:= glib
diff --git a/package/gkrellm/patches/patch-server_Makefile b/package/gkrellm/patches/patch-server_Makefile
deleted file mode 100644
index a1a8747e7..000000000
--- a/package/gkrellm/patches/patch-server_Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
---- gkrellm-2.3.4.orig/server/Makefile 2008-10-03 23:52:48.000000000 +0200
-+++ gkrellm-2.3.4/server/Makefile 2011-05-17 11:34:14.926610183 +0200
-@@ -26,7 +26,7 @@ SMANDIR ?= $(INSTALLROOT)/share/man/man1
- MANMODE ?= 644
- MANDIRMODE ?= 755
- INSTALL ?= install
--LINK_FLAGS ?= -Wl,-E
-+LINK_FLAGS ?= -Wl,-E $(LDFLAGS)
- EXTRAOBJS =
-
- SHARED_PATH = ../shared
-@@ -109,15 +109,15 @@ endif
-
- override CC += -Wall $(FLAGS)
-
--OS_NAME=$(shell uname -s)
--OS_RELEASE=$(shell uname -r)
-+OS_NAME=Linux
-+OS_RELEASE=2.6
-
- OBJS = main.o monitor.o mail.o plugins.o glib.o utils.o sysdeps-unix.o log.o
-
- all: gkrellmd
-
- gkrellmd: $(OBJS) $(EXTRAOBJS)
-- $(CC) $(OBJS) $(EXTRAOBJS) -o gkrellmd $(LIBS) $(LINK_FLAGS)
-+ $(CC) $(OBJS) $(EXTRAOBJS) -o gkrellmd $(LINK_FLAGS) $(LIBS)
-
- static: $(OBJS) $(EXTRAOBJS)
- $(CC) $(OBJS) $(EXTRAOBJS) -o gkrellmd.static -static \
diff --git a/package/gkrellm/patches/patch-server_main_c b/package/gkrellm/patches/patch-server_main_c
new file mode 100644
index 000000000..c02fb8930
--- /dev/null
+++ b/package/gkrellm/patches/patch-server_main_c
@@ -0,0 +1,24 @@
+--- gkrellm-2.3.5.orig/server/main.c 2010-10-02 18:13:29.000000000 +0200
++++ gkrellm-2.3.5/server/main.c 2014-03-23 16:06:59.000000000 +0100
+@@ -39,21 +39,6 @@
+ #include <syslog.h>
+ #endif // !WIN32
+
+-// win32 defines addrinfo but only supports getaddrinfo call on winxp or newer
+-#if !defined(HAVE_GETADDRINFO) && !defined(WIN32)
+-struct addrinfo
+- {
+- int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */
+- int ai_family; /* PF_xxx */
+- int ai_socktype; /* SOCK_xxx */
+- int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
+- size_t ai_addrlen; /* length of ai_addr */
+- char *ai_canonname; /* canonical name for hostname */
+- struct sockaddr *ai_addr; /* binary address */
+- struct addrinfo *ai_next; /* next structure in linked list */
+- };
+-#endif // !HAVE_GETADDRINFO
+-
+ #if !defined(IPV6_V6ONLY) && defined(IPV6_BINDV6ONLY)
+ #define IPV6_V6ONLY IPV6_BINDV6ONLY
+ #endif
diff --git a/package/gkrellm/patches/patch-server_sysdeps-unix_c b/package/gkrellm/patches/patch-server_sysdeps-unix_c
new file mode 100644
index 000000000..e69631735
--- /dev/null
+++ b/package/gkrellm/patches/patch-server_sysdeps-unix_c
@@ -0,0 +1,10 @@
+--- gkrellm-2.3.5.orig/server/sysdeps-unix.c 2010-09-14 18:34:34.000000000 +0200
++++ gkrellm-2.3.5/server/sysdeps-unix.c 2014-03-23 16:13:57.000000000 +0100
+@@ -145,6 +145,7 @@ gkrellm_sensors_linux_name_fix(gchar *id
+ #endif
+ }
+
++#define HAVE_GETADDRINFO 1
+ #ifdef SENSORS_COMMON
+ gint
+ gkrellm_connect_to(gchar *server, gint server_port)
diff --git a/package/glib/Makefile b/package/glib/Makefile
index 2c82f8a53..a523434f7 100644
--- a/package/glib/Makefile
+++ b/package/glib/Makefile
@@ -5,13 +5,14 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= glib
PKG_VERSION:= 2.38.2
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_EXTRAVER:= 2.38
PKG_MD5SUM:= 26d1d08e478fc48c181ca8be44f5b69f
PKG_DESCR:= low-level core library that forms the basis of GTK+
PKG_SECTION:= libs
PKG_DEPENDS:= libpthread
-PKG_BUILDDEP:= libffi gettext-tiny libiconv-tiny glib-host zlib libelf dbus
+PKG_BUILDDEP:= glib-host zlib libelf dbus
+HOST_BUILDDEP:= libffi-host gettext-tiny-host libiconv-tiny-host
PKG_URL:= http://www.gtk.org/
PKG_SITES:= http://ftp.gnome.org/pub/gnome/sources/glib/${PKG_EXTRAVER}/
PKG_NOPARALLEL:= 1
@@ -29,9 +30,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call HOST_template,GLIB,glib,${PKG_VERSION}-${PKG_RELEASE}))
$(eval $(call PKG_template,GLIB,glib,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
-HOST_STYLE:= auto
TARGET_CPPFLAGS+= -D_GNU_SOURCE
-TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS))
CONFIGURE_ARGS+= --disable-mem-pools \
--disable-rebuilds \
--disable-fam \
@@ -43,6 +42,7 @@ CONFIGURE_ENV+= glib_cv_long_long_format=ll \
ac_cv_func_posix_getpwuid_r=yes \
ac_cv_func_posix_getgrgid_r=yes
+HOST_STYLE:= auto
HOST_CONFIGURE_ARGS+= --disable-fam \
--enable-static \
--disable-compile-warnings
diff --git a/package/gpsd/Makefile b/package/gpsd/Makefile
index 04547a9eb..4c21e15ee 100644
--- a/package/gpsd/Makefile
+++ b/package/gpsd/Makefile
@@ -10,7 +10,7 @@ PKG_MD5SUM:= fc5b03aae38b9b5b6880b31924d0ace3
PKG_DESCR:= An interface daemon for GPS receivers
PKG_SECTION:= misc
PKG_DEPENDS:= libpthread
-PKG_BUILDDEP:= ncurses scons-host bzip2-host python2-host
+PKG_BUILDDEP:= scons-host ncurses
PKG_URL:= http://catb.org/gpsd/
PKG_SITES:= http://download-mirror.savannah.gnu.org/releases/gpsd/
diff --git a/package/ipcad/Makefile b/package/ipcad/Makefile
index 5ee22cba2..57b4d7111 100644
--- a/package/ipcad/Makefile
+++ b/package/ipcad/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= ipcad
PKG_VERSION:= 3.7.3
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 125605249958894148ec26d3c88189f5
PKG_DESCR:= IP Cisco Accounting Daemon
PKG_SECTION:= net
diff --git a/package/ipcad/patches/patch-Makefile b/package/ipcad/patches/patch-Makefile
new file mode 100644
index 000000000..8ced9f13a
--- /dev/null
+++ b/package/ipcad/patches/patch-Makefile
@@ -0,0 +1,169 @@
+--- ipcad-3.7.3.orig/Makefile 2007-04-22 10:08:45.000000000 +0200
++++ ipcad-3.7.3/Makefile 2014-03-23 17:59:56.000000000 +0100
+@@ -1,4 +1,163 @@
+-all: bootstrap
+
+-bootstrap:
+- ./configure && make
++prefix= /usr
++exec_prefix= ${prefix}
++bindir= /usr/bin
++sysconfdir= /etc
++datadir= /usr/share
++
++CC= /home/wbx/hudson/toolchain_x86_64-linux-gnu/usr/bin/arm-openadk-linux-muslgnueabihf-gcc
++LDFLAGS= -L/home/wbx/hudson/target_arm_musl_eabihf/lib -L/home/wbx/hudson/target_arm_musl_eabihf/usr/lib -Wl,-O1 -Wl,-rpath -Wl,/usr/lib -Wl,-rpath-link -Wl,/home/wbx/hudson/target_arm_musl_eabihf/usr/lib -Wl,-z,relro,-z,now
++LIBS= -lpcap
++CFLAGS= -march=armv6 -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -fwrapv -fno-ident -fhonour-copts -fomit-frame-pointer -Os -pipe -fno-unwind-tables -fno-asynchronous-unwind-tables -g3 -DHAVE_CONFIG_H -W -Wall
++CPPFLAGS=-DIPCAD_VERSION=\"3.7.3\"
++CPPFLAGS+=-DCONFIG_FILE=\"${sysconfdir}/ipcad.conf\"
++CPPFLAGS+=-DHAVE_CONFIG_H -D_REENTRANT -D_THREAD_SAFE
++CPPFLAGS+=-DPSRC_pcap -DIFST_linux
++
++YACC=bison -y
++LEX=flex
++INSTALL=/usr/bin/install -c
++
++MANROOT=/usr/share/man/man
++MAN8=${MANROOT}8
++MAN5=${MANROOT}5
++
++NROFF= groff -Tascii -mandoc
++
++PACKAGE=ipcad
++TARGETS=ipcad
++VERSION=3.7.3
++
++IPCAD_OBJS= main.o process.o pps.o disp.o storage.o usage.o cfgy.o cfglex.o cfgread.o cfgvar.o dump.o import.o nflow.o cshelly.o cslex.o csparse.o service.o rw.o servers.o opt.o pidfile.o sf_lite.o
++IPCAD_OBJS+= ifst_linux.o # Interface statistics
++IPCAD_OBJS+= ifs_list.o # Interface statistics
++IPCAD_OBJS+= loop-pcap.o # Method of capturing
++IPCAD_OBJS+= loop-file.o # Method of capturing
++IPCAD_OBJS+= loop-divert.o # Method of capturing
++IPCAD_OBJS+= loop-dynamic.o # Method of capturing
++IPCAD_OBJS+= loop-ulog.o loop-ipq.o # Methods of capturing
++IPCAD_OBJS+= psrc.o psrc-pcap.o # Initialize capturers
++IPCAD_OBJS+= psrc-ipq.o psrc-ulog.o # Initialize capturers
++IPCAD_OBJS+= psrc-file.o # Initialize capturers
++IPCAD_OBJS+= psrc-dynamic.o # Initialize capturers
++IPCAD_OBJS+= psrc-divert.o # Initialize capturers
++IPCAD_OBJS+= wrap_oclose.o # Special file descriptors cache
++IPCAD_OBJS+= genhash.o # General hashing
++
++all: ${TARGETS} man
++
++ipcad: ${IPCAD_OBJS}
++ ${CC} ${CFLAGS} -o $@ ${IPCAD_OBJS} ${LDFLAGS} ${LIBS}
++
++.SUFFIXES:
++.SUFFIXES: .o .c .0 .8 .5
++
++.c.o:
++ ${CC} ${CPPFLAGS} ${CFLAGS} -o $@ -c $<
++
++.8.0:
++ ${NROFF} $< > $@
++
++.5.0:
++ ${NROFF} $< > $@
++
++cfgy.h cfgy.c: cfg.y
++ ${YACC} -p ipcacfg -d cfg.y
++ @mv y.tab.c cfgy.c
++ @mv y.tab.h cfgy.h
++
++cshelly.h cshelly.c: cshell.y
++ ${YACC} -p CS -d cshell.y
++ @mv y.tab.c cshelly.c
++ @mv y.tab.h cshelly.h
++
++cslex.c: cslex.l
++ ${LEX} -s -p -Cem -ocslex.c -PCS cslex.l
++
++cfglex.c: cfglex.l
++ ${LEX} -s -p -Cem -ocfglex.c -Pipcacfg cfglex.l
++
++
++man: ipcad.8 ipcad.conf.5
++
++distdir = $(PACKAGE)-$(VERSION)
++distdir:
++ rm -rf $(distdir)
++ mkdir $(distdir)
++ cp *.c *.h $(distdir)
++ cp ipcad.8 ipcad.conf.5 $(distdir)
++ cp *.y *.l $(distdir)
++ cp *.in configure install-sh $(distdir)
++ cp ipcad.conf.default $(distdir)
++ cp ipcad.conf.simple $(distdir)
++ cp ipcad.spec.in $(distdir)
++ cp Makefile.in Makefile $(distdir)
++ cp ChangeLog INSTALL README TODO BUGS AUTHORS COPYING FAQ $(distdir)
++ cd $(distdir) && make distclean
++
++dist: distdir
++ tar chof - $(distdir) | GZIP="--best" gzip -c > $(distdir).tar.gz
++ rm -rf $(distdir)
++
++clean:
++ rm -f *.o ${TARGETS} *.core 1
++ rm -f *.0
++
++distclean: clean
++ rm -f config.h
++ rm -f config.cache config.log config.status
++ rm -f Makefile
++ rm -f $(distdir).tar.gz
++ rm -f ipcad.spec
++ (echo "all: bootstrap"; echo; echo "bootstrap:"; \
++ echo " ./configure && make") > Makefile
++
++maintainer-clean: distclean
++ @echo "This command is intended for maintainers to use; it"
++ @echo "deletes files that may need special tools to rebuild."
++ rm -f Makefile
++ rm -f *.tab.* cfgy.? *lex.c
++ rm -f config.h.in configure
++
++install: all install-bin install-conf
++
++install-bin:
++ @${INSTALL} -d $(DESTDIR)${bindir}
++ ${INSTALL} ipcad $(DESTDIR)${bindir}
++
++install-man: man
++ ${INSTALL} -m 444 ipcad.8 $(DESTDIR)${MAN8}/ipcad.8
++ ${INSTALL} -m 444 ipcad.conf.5 $(DESTDIR)${MAN5}/ipcad.conf.5
++
++install-conf:
++ @${INSTALL} -d $(DESTDIR)${sysconfdir}
++ ${INSTALL} -m 644 ipcad.conf.simple $(DESTDIR)${sysconfdir}/ipcad.conf.simple
++ -@diff ${sysconfdir}/ipcad.conf \
++ ${sysconfdir}/ipcad.conf.default >/dev/null 2>&1; \
++ if [ "$$?" -eq 0 ] || [ ! -f ${sysconfdir}/ipcad.conf ]; then \
++ echo ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf.default; \
++ ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf.default; \
++ echo ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf; \
++ ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf; \
++ echo "**********************************************"; \
++ echo "* Please customize ${sysconfdir}/ipcad.conf *"; \
++ echo "**********************************************"; \
++ else \
++ echo ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf.default; \
++ ${INSTALL} -m 644 ipcad.conf.default $(DESTDIR)${sysconfdir}/ipcad.conf.default; \
++ echo "*********************************************"; \
++ echo "* Updated ${sysconfdir}/ipcad.conf.default *"; \
++ echo "*********************************************"; \
++ fi
++ @echo ""
++ @echo "Now you might want to 'make install-man'"
++ @echo ""
++
++
++uninstall:
++ rm -f ${bindir}/ipcad
++ rm -f ${sysconfdir}/ipcad.conf.default
++ rm -f ${sysconfdir}/ipcad.conf.simple
++ rm -f ${MAN8}/ipcad.8
++ rm -f ${MAN5}/ipcad.conf.5
++
diff --git a/package/ipcad/patches/patch-Makefile_in b/package/ipcad/patches/patch-Makefile_in
index 40bcdf546..2fb2eaece 100644
--- a/package/ipcad/patches/patch-Makefile_in
+++ b/package/ipcad/patches/patch-Makefile_in
@@ -1,5 +1,5 @@
--- ipcad-3.7.3.orig/Makefile.in 2007-04-22 10:08:45.000000000 +0200
-+++ ipcad-3.7.3/Makefile.in 2011-01-11 17:16:15.000000000 +0100
++++ ipcad-3.7.3/Makefile.in 2014-03-23 17:58:49.000000000 +0100
@@ -6,10 +6,10 @@ sysconfdir= @sysconfdir@
datadir= @datadir@
@@ -15,3 +15,12 @@
CPPFLAGS+=-DCONFIG_FILE=\"${sysconfdir}/ipcad.conf\"
CPPFLAGS+=@DEFS@ -D_REENTRANT -D_THREAD_SAFE
CPPFLAGS+=-DPSRC_@PSRC@ -DIFST_@IFST@
+@@ -28,7 +28,7 @@ PACKAGE=ipcad
+ TARGETS=ipcad
+ VERSION=@IPCAD_VERSION@
+
+-IPCAD_OBJS= main.o process.o pps.o disp.o storage.o usage.o cfgy.o cfglex.o cfgread.o cfgvar.o rsh.o rshp.o dump.o import.o nflow.o cshelly.o cslex.o csparse.o service.o rw.o servers.o opt.o pidfile.o sf_lite.o
++IPCAD_OBJS= main.o process.o pps.o disp.o storage.o usage.o cfgy.o cfglex.o cfgread.o cfgvar.o dump.o import.o nflow.o cshelly.o cslex.o csparse.o service.o rw.o servers.o opt.o pidfile.o sf_lite.o
+ IPCAD_OBJS+= ifst_@IFST@.o # Interface statistics
+ IPCAD_OBJS+= ifs_list.o # Interface statistics
+ IPCAD_OBJS+= loop-@PSRC@.o # Method of capturing
diff --git a/package/ipcad/patches/patch-cfg_y b/package/ipcad/patches/patch-cfg_y
new file mode 100644
index 000000000..11fbc7564
--- /dev/null
+++ b/package/ipcad/patches/patch-cfg_y
@@ -0,0 +1,60 @@
+--- ipcad-3.7.3.orig/cfg.y 2007-04-22 10:08:45.000000000 +0200
++++ ipcad-3.7.3/cfg.y 2014-03-23 18:03:07.000000000 +0100
+@@ -3,7 +3,6 @@
+ #include "headers.h"
+ #include "cfgvar.h"
+ #include "servers.h"
+-#include "rsh.h"
+ #include "opt.h"
+ #include "storage.h"
+
+@@ -214,49 +213,6 @@ block:
+ | CAPTURE_PORTS DENY {
+ conf->capture_ports = 0;
+ }
+- | RSH ALLOW at_ip {
+- if(add_server(rsh_server, "RSH Server", &($3), 514))
+- return yyerror("Failed to install RSH server");
+- fprintf(stderr, "Configured RSH Server listening at %s\n",
+- inet_ntoa($3));
+- }
+- | RSH DENY at_ip {
+- fprintf(stderr, "Warning: Option at line %d has no effect\n",
+- ipcacfglineno);
+- }
+- | RSH TIMEOUT EQ TOK_STRING {
+- int to_ms;
+- to_ms = atoi($4);
+- free($4);
+- if(to_ms < 0)
+- to_ms = -1; /* INFTIM */
+- else
+- to_ms = to_ms * 1000;
+- rsh_rw_timeout = to_ms;
+- }
+- | RSH TOK_STRING privlevel {
+- cfg_add_rsh_host("", $2, $3);
+- free($2);
+- }
+- | RSH AT TOK_STRING privlevel {
+- cfg_add_rsh_host("", $3, $4);
+- free($3);
+- }
+- | RSH TOK_STRING AT TOK_STRING privlevel {
+- cfg_add_rsh_host($2, $4, $5);
+- free($2); free($4);
+- }
+- | RSH TTL EQ TOK_STRING {
+- conf->rsh_ttl = atoi($4);
+- free($4);
+- }
+- | TTL EQ TOK_STRING {
+- fprintf(stderr, "WARNING: \"ttl = %s;\" at line %d: "
+- "Obsolete syntax. Please use \"rsh ttl = %s;\"\n",
+- $3, ipcacfglineno, $3);
+- conf->rsh_ttl = atoi($3);
+- free($3);
+- }
+ | NetFlow
+ | CHROOT EQ TOK_STRING {
+ if(conf->chroot_to)
diff --git a/package/iptables-snmp/Makefile b/package/iptables-snmp/Makefile
index 28aa8c8ef..130872cf9 100644
--- a/package/iptables-snmp/Makefile
+++ b/package/iptables-snmp/Makefile
@@ -13,6 +13,8 @@ PKG_BUILDDEP:= net-snmp
PKG_URL:= http://www.nobiscuit.com/iptables-snmp/
PKG_SITES:= http://www.nobiscuit.com/iptables-snmp/
+PKG_LIBC_DEPENDS:= uclibc glibc
+
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,IPTABLES_SNMP,iptables-snmp,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/kbd/Makefile b/package/kbd/Makefile
index 0293849de..901ae6266 100644
--- a/package/kbd/Makefile
+++ b/package/kbd/Makefile
@@ -4,17 +4,22 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= kbd
-PKG_VERSION:= 1.15.3
+PKG_VERSION:= 2.0.1
PKG_RELEASE:= 1
-PKG_MD5SUM:= 8143e179a0f3c25646ce5085e8777200
+PKG_MD5SUM:= cc0ee9f2537d8636cae85a8c6541ed2e
PKG_DESCR:= keyboard utility
PKG_SECTION:= utils
-PKG_SITES:= ftp://ftp.altlinux.org/pub/people/legion/kbd/
+PKG_DEPENDS:= libcheck
+PKG_BUILDDEP:= check
+PKG_URL:= http://kbd-project.org/
+PKG_SITES:= http://kbd-project.org/download/
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,KBD,kbd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+CONFIGURE_ARGS+= --disable-vlock
+
kbd-install:
$(INSTALL_DIR) $(IDIR_KBD)/usr/bin
$(INSTALL_BIN) $(WRKINST)/usr/bin/loadkeys \
diff --git a/package/kbd/patches/patch-src_kbdinfo_c b/package/kbd/patches/patch-src_kbdinfo_c
new file mode 100644
index 000000000..cd322eb3c
--- /dev/null
+++ b/package/kbd/patches/patch-src_kbdinfo_c
@@ -0,0 +1,46 @@
+--- kbd-2.0.1.orig/src/kbdinfo.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/kbdinfo.c 2014-03-24 13:24:51.000000000 +0100
+@@ -1,6 +1,6 @@
+ #include <stdio.h>
+ #include <errno.h>
+-#include <error.h>
++#include <err.h>
+ #include <unistd.h>
+ #include <sys/ioctl.h>
+ #include <linux/kd.h>
+@@ -75,7 +75,7 @@ main(int argc, char **argv) {
+
+ if (!strcasecmp("GETMODE", action)) {
+ if (ioctl(fd, KDGETMODE, &mode) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ switch (mode) {
+ case KD_TEXT: rc = answer("text"); break;
+@@ -84,7 +84,7 @@ main(int argc, char **argv) {
+
+ } else if (!strcasecmp("GKBMODE", action)) {
+ if (ioctl(fd, KDGKBMODE, &mode) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ switch (mode) {
+ case K_RAW: rc = answer("raw"); break;
+@@ -95,7 +95,7 @@ main(int argc, char **argv) {
+
+ } else if (!strcasecmp("GKBMETA", action)) {
+ if (ioctl(fd, KDGKBMETA, &mode) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ switch (mode) {
+ case K_METABIT: rc = answer("metabit"); break;
+@@ -104,7 +104,7 @@ main(int argc, char **argv) {
+
+ } else if (!strcasecmp("GKBLED", action)) {
+ if (ioctl(fd, KDGKBLED, &flags) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ mode = (flags & 0x7);
+
diff --git a/package/kbd/patches/patch-src_kbdrate_c b/package/kbd/patches/patch-src_kbdrate_c
new file mode 100644
index 000000000..8d267789d
--- /dev/null
+++ b/package/kbd/patches/patch-src_kbdrate_c
@@ -0,0 +1,10 @@
+--- kbd-2.0.1.orig/src/kbdrate.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/kbdrate.c 2014-03-24 12:40:34.000000000 +0100
+@@ -68,6 +68,7 @@ beats rebuilding the kernel!
+
+ */
+
++#include <fcntl.h>
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdlib.h>
diff --git a/package/kbd/patches/patch-src_libkeymap_dump_c b/package/kbd/patches/patch-src_libkeymap_dump_c
new file mode 100644
index 000000000..23c883910
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_dump_c
@@ -0,0 +1,11 @@
+--- kbd-2.0.1.orig/src/libkeymap/dump.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/dump.c 2014-03-24 12:18:50.000000000 +0100
+@@ -9,6 +9,8 @@
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
++
++#include <sys/types.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
diff --git a/package/kbd/patches/patch-src_libkeymap_kmap_c b/package/kbd/patches/patch-src_libkeymap_kmap_c
new file mode 100644
index 000000000..2016772ab
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_kmap_c
@@ -0,0 +1,7 @@
+--- kbd-2.0.1.orig/src/libkeymap/kmap.c 2013-10-07 16:13:31.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/kmap.c 2014-03-24 12:17:45.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <sys/types.h>
+ #include <stdlib.h>
+ #include <string.h>
+
diff --git a/package/kbd/patches/patch-src_libkeymap_summary_c b/package/kbd/patches/patch-src_libkeymap_summary_c
new file mode 100644
index 000000000..b6637f99f
--- /dev/null
+++ b/package/kbd/patches/patch-src_libkeymap_summary_c
@@ -0,0 +1,11 @@
+--- kbd-2.0.1.orig/src/libkeymap/summary.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/libkeymap/summary.c 2014-03-24 12:23:53.000000000 +0100
+@@ -6,6 +6,8 @@
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
++
++#include <sys/types.h>
+ #include <string.h>
+ #include <errno.h>
+ #include <sys/ioctl.h>
diff --git a/package/kbd/patches/patch-src_openvt_c b/package/kbd/patches/patch-src_openvt_c
new file mode 100644
index 000000000..efb8736cc
--- /dev/null
+++ b/package/kbd/patches/patch-src_openvt_c
@@ -0,0 +1,8 @@
+--- kbd-2.0.1.orig/src/openvt.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/openvt.c 2014-03-24 12:48:07.000000000 +0100
+@@ -1,3 +1,5 @@
++#include <fcntl.h>
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdarg.h>
+ #include <unistd.h>
diff --git a/package/kbd/patches/patch-src_setvtrgb_c b/package/kbd/patches/patch-src_setvtrgb_c
new file mode 100644
index 000000000..fc72c2409
--- /dev/null
+++ b/package/kbd/patches/patch-src_setvtrgb_c
@@ -0,0 +1,70 @@
+--- kbd-2.0.1.orig/src/setvtrgb.c 2013-08-27 22:45:33.000000000 +0200
++++ kbd-2.0.1/src/setvtrgb.c 2014-03-24 13:10:47.000000000 +0100
+@@ -5,7 +5,7 @@
+ #include <sys/ioctl.h>
+ #include <linux/kd.h>
+ #include <errno.h>
+-#include <error.h>
++#include <err.h>
+ #include "kbd.h"
+ #include "getfd.h"
+ #include "nls.h"
+@@ -60,7 +60,7 @@ set_colormap(unsigned char *colormap)
+
+ /* Apply the color map to the tty via ioctl */
+ if (ioctl(fd, PIO_CMAP, colormap) == -1)
+- error(EXIT_FAILURE, errno, "ioctl");
++ err(EXIT_FAILURE, "ioctl");
+
+ close(fd);
+ }
+@@ -72,7 +72,7 @@ parse_file(FILE *fd, const char *filenam
+ unsigned int rows, cols, val;
+
+ if ((cmap = calloc(3 * 16, sizeof(unsigned char))) == NULL)
+- error(EXIT_FAILURE, errno, "calloc");
++ err(EXIT_FAILURE, "calloc");
+
+ for (rows = 0; rows < 3; rows++) {
+ cols = 0;
+@@ -80,26 +80,26 @@ parse_file(FILE *fd, const char *filenam
+ while (cols < 16) {
+ if ((c = fscanf(fd, "%u", &val)) != 1) {
+ if (c == EOF)
+- error(EXIT_FAILURE, errno, "fscanf");
++ err(EXIT_FAILURE, "fscanf");
+
+- error(EXIT_FAILURE, 0, _("Error: %s: Invalid value in field %u in line %u."),
++ err(EXIT_FAILURE, _("Error: %s: Invalid value in field %u in line %u."),
+ filename, rows + 1, cols + 1);
+ }
+
+ cmap[rows + cols * 3] = (unsigned char) val;
+
+ if (cols < 15 && fgetc(fd) != ',')
+- error(EXIT_FAILURE, 0, _("Error: %s: Insufficient number of fields in line %u."),
++ err(EXIT_FAILURE, _("Error: %s: Insufficient number of fields in line %u."),
+ filename, rows + 1);
+ cols++;
+ }
+
+ if ((c = fgetc(fd)) == EOF)
+- error(EXIT_FAILURE, 0, _("Error: %s: Line %u has ended unexpectedly.\n"),
++ err(EXIT_FAILURE, _("Error: %s: Line %u has ended unexpectedly.\n"),
+ filename, rows + 1);
+
+ if (c != '\n')
+- error(EXIT_FAILURE, 0, _("Error: %s: Line %u is too long.\n"),
++ err(EXIT_FAILURE, _("Error: %s: Line %u is too long.\n"),
+ filename, rows + 1);
+ }
+ }
+@@ -141,7 +141,7 @@ main(int argc, char **argv) {
+
+ } else {
+ if ((fd = fopen(file, "r")) == NULL)
+- error(EXIT_FAILURE, errno, "fopen");
++ err(EXIT_FAILURE, "fopen");
+
+ parse_file(fd, file);
+ fclose(fd);
diff --git a/package/libmodplug/Makefile b/package/libmodplug/Makefile
index f08435ee4..421243c03 100644
--- a/package/libmodplug/Makefile
+++ b/package/libmodplug/Makefile
@@ -4,13 +4,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= libmodplug
-PKG_VERSION:= 0.8.8.4
-PKG_RELEASE:= 2
-PKG_MD5SUM:= fddc3c704c5489de2a3cf0fedfec59db
+PKG_VERSION:= 0.8.8.5
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 5f30241db109d647781b784e62ddfaa1
PKG_DESCR:= a MOD player library
PKG_SECTION:= libs
PKG_URL:= http://modplug-xmms.sourceforge.net
-PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=modplug-xmms/libmodplug/0.8.8.4/}
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=modplug-xmms/libmodplug/0.8.8.5/}
PKG_OPTS:= dev
include $(TOPDIR)/mk/package.mk
diff --git a/package/libtirpc/Makefile b/package/libtirpc/Makefile
index a1bfab5d1..61ae3a9b5 100644
--- a/package/libtirpc/Makefile
+++ b/package/libtirpc/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= libtirpc
PKG_VERSION:= 0.2.3
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= b70e6c12a369a91e69fcc3b9feb23d61
PKG_DESCR:= a transport independent RPC library
PKG_SECTION:= libs
@@ -15,8 +15,6 @@ PKG_URL:= http://sourceforge.net/projects/libtirpc/
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=libtirpc/}
PKG_OPTS:= dev
-PKG_LIBC_DEPENDS:= uclibc glibc
-
DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
include ${TOPDIR}/mk/package.mk
diff --git a/package/libtirpc/patches/patch-src_auth_des_c b/package/libtirpc/patches/patch-src_auth_des_c
new file mode 100644
index 000000000..d91177fdc
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_auth_des_c
@@ -0,0 +1,18 @@
+--- libtirpc-0.2.3.orig/src/auth_des.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_des.c 2014-03-22 13:20:52.000000000 +0100
+@@ -38,7 +38,6 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+-#include <sys/cdefs.h>
+ #include <rpc/des_crypt.h>
+ #include <syslog.h>
+ #include <rpc/types.h>
+@@ -52,7 +51,6 @@
+
+ #if defined(LIBC_SCCS) && !defined(lint)
+ #endif
+-#include <sys/cdefs.h>
+
+ #define USEC_PER_SEC 1000000
+ #define RTIME_TIMEOUT 5 /* seconds to wait for sync */
diff --git a/package/libtirpc/patches/patch-src_auth_none_c b/package/libtirpc/patches/patch-src_auth_none_c
new file mode 100644
index 000000000..d8fd74f3d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_auth_none_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/auth_none.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_none.c 2014-03-22 13:20:53.000000000 +0100
+@@ -31,7 +31,6 @@
+ static char *sccsid = "@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro";
+ static char *sccsid = "@(#)auth_none.c 2.1 88/07/29 4.0 RPCSRC";
+ #endif
+-#include <sys/cdefs.h>
+ __FBSDID("$FreeBSD: src/lib/libc/rpc/auth_none.c,v 1.12 2002/03/22 23:18:35 obrien Exp $");
+ */
+
diff --git a/package/libtirpc/patches/patch-src_auth_time_c b/package/libtirpc/patches/patch-src_auth_time_c
index 5ce7de419..b6319db96 100644
--- a/package/libtirpc/patches/patch-src_auth_time_c
+++ b/package/libtirpc/patches/patch-src_auth_time_c
@@ -1,6 +1,14 @@
---- libtirpc-0.2.2.orig/src/auth_time.c 2011-05-02 14:10:40.000000000 +0200
-+++ libtirpc-0.2.2/src/auth_time.c 2012-03-22 19:02:30.422855534 +0100
-@@ -43,7 +43,7 @@
+--- libtirpc-0.2.3.orig/src/auth_time.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_time.c 2014-03-22 13:20:53.000000000 +0100
+@@ -25,7 +25,6 @@
+ * needed to deal with TCP connections.
+ */
+
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
+@@ -43,7 +42,7 @@
//#include <clnt_soc.h>
#include <sys/select.h>
#undef NIS
@@ -9,7 +17,7 @@
#ifdef TESTING
-@@ -138,6 +138,7 @@ free_eps(eps, num)
+@@ -138,6 +137,7 @@ free_eps(eps, num)
* NIS+ server will call __rpc_get_time_offset() with the nis_server
* structure already populated.
*/
@@ -17,7 +25,7 @@
static nis_server *
get_server(sin, host, srv, eps, maxep)
struct sockaddr_in *sin;
-@@ -491,3 +492,4 @@ error:
+@@ -491,3 +491,4 @@ error:
return (time_valid);
}
diff --git a/package/libtirpc/patches/patch-src_auth_unix_c b/package/libtirpc/patches/patch-src_auth_unix_c
new file mode 100644
index 000000000..3d5fb990e
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_auth_unix_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/auth_unix.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/auth_unix.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * auth_unix.c, Implements UNIX style authentication parameters.
diff --git a/package/libtirpc/patches/patch-src_authdes_prot_c b/package/libtirpc/patches/patch-src_authdes_prot_c
new file mode 100644
index 000000000..f829ed45e
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_authdes_prot_c
@@ -0,0 +1,7 @@
+--- libtirpc-0.2.3.orig/src/authdes_prot.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/authdes_prot.c 2014-03-22 13:20:53.000000000 +0100
+@@ -1,4 +1,3 @@
+-#include <sys/cdefs.h>
+ /*
+ * Copyright (c) 2009, Sun Microsystems, Inc.
+ * All rights reserved.
diff --git a/package/libtirpc/patches/patch-src_authunix_prot_c b/package/libtirpc/patches/patch-src_authunix_prot_c
new file mode 100644
index 000000000..178436474
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_authunix_prot_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/authunix_prot.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/authunix_prot.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * authunix_prot.c
diff --git a/package/libtirpc/patches/patch-src_bindresvport_c b/package/libtirpc/patches/patch-src_bindresvport_c
new file mode 100644
index 000000000..4e828a005
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_bindresvport_c
@@ -0,0 +1,18 @@
+--- libtirpc-0.2.3.orig/src/bindresvport.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/bindresvport.c 2014-03-22 13:24:36.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * Copyright (c) 1987 by Sun Microsystems, Inc.
+@@ -38,6 +37,7 @@
+ #include <sys/socket.h>
+
+ #include <netinet/in.h>
++#include <netdb.h>
+
+ #include <errno.h>
+ #include <string.h>
diff --git a/package/libtirpc/patches/patch-src_clnt_bcast_c b/package/libtirpc/patches/patch-src_clnt_bcast_c
new file mode 100644
index 000000000..e803b1721
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_clnt_bcast_c
@@ -0,0 +1,22 @@
+--- libtirpc-0.2.3.orig/src/clnt_bcast.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/clnt_bcast.c 2014-03-22 14:19:29.000000000 +0100
+@@ -28,7 +28,6 @@
+ /*
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+-#include <sys/cdefs.h>
+
+ /*
+ * clnt_bcast.c
+@@ -41,10 +40,8 @@
+ */
+ #include <sys/socket.h>
+ #include <sys/types.h>
+-#include <sys/queue.h>
+
+-/* new queue functions */
+-#include <misc/queue.h>
++#include "queue.h"
+
+ #include <net/if.h>
+ #include <netinet/in.h>
diff --git a/package/libtirpc/patches/patch-src_clnt_perror_c b/package/libtirpc/patches/patch-src_clnt_perror_c
new file mode 100644
index 000000000..5c3c9169a
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_clnt_perror_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/clnt_perror.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/clnt_perror.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+ */
+
+ /*
+-#include <sys/cdefs.h>
+ */
+ /*
+ * clnt_perror.c
diff --git a/package/libtirpc/patches/patch-src_clnt_simple_c b/package/libtirpc/patches/patch-src_clnt_simple_c
new file mode 100644
index 000000000..8db2f1b8e
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_clnt_simple_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/clnt_simple.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/clnt_simple.c 2014-03-22 13:20:53.000000000 +0100
+@@ -29,7 +29,6 @@
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * clnt_simple.c
diff --git a/package/libtirpc/patches/patch-src_crypt_client_c b/package/libtirpc/patches/patch-src_crypt_client_c
new file mode 100644
index 000000000..3768305f8
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_crypt_client_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/crypt_client.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/crypt_client.c 2014-03-22 13:20:53.000000000 +0100
+@@ -30,7 +30,6 @@
+ * SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ #include <err.h>
+ #include <sys/types.h>
diff --git a/package/libtirpc/patches/patch-src_des_crypt_c b/package/libtirpc/patches/patch-src_des_crypt_c
index 22c03d78b..c1c313dee 100644
--- a/package/libtirpc/patches/patch-src_des_crypt_c
+++ b/package/libtirpc/patches/patch-src_des_crypt_c
@@ -1,6 +1,10 @@
--- libtirpc-0.2.3.orig/src/des_crypt.c 2013-02-13 16:13:59.000000000 +0100
-+++ libtirpc-0.2.3/src/des_crypt.c 2013-08-12 16:47:07.000000000 +0200
-@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)des_crypt.c
++++ libtirpc-0.2.3/src/des_crypt.c 2014-03-22 13:20:53.000000000 +0100
+@@ -39,11 +39,10 @@
+ static char sccsid[] = "@(#)des_crypt.c 2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/08 SMI";
+ #endif
+ #endif
+-#include <sys/cdefs.h>
static int common_crypt( char *, char *, unsigned, unsigned, struct desparams * );
int (*__des_crypt_LOCAL)() = 0;
@@ -9,7 +13,7 @@
/*
* Copy 8 bytes
*/
-@@ -145,10 +145,6 @@ common_crypt(key, buf, len, mode, desp)
+@@ -145,10 +144,6 @@ common_crypt(key, buf, len, mode, desp)
if (!__des_crypt_LOCAL(buf, len, desp)) {
return (DESERR_HWERROR);
}
diff --git a/package/libtirpc/patches/patch-src_des_soft_c b/package/libtirpc/patches/patch-src_des_soft_c
new file mode 100644
index 000000000..675a6a265
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_des_soft_c
@@ -0,0 +1,9 @@
+--- libtirpc-0.2.3.orig/src/des_soft.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/des_soft.c 2014-03-22 13:20:53.000000000 +0100
+@@ -1,5 +1,4 @@
+-//#include <sys/cdefs.h>
+-
++//
+ /*
+ * Copyright (c) 2009, Sun Microsystems, Inc.
+ * All rights reserved.
diff --git a/package/libtirpc/patches/patch-src_getnetconfig_c b/package/libtirpc/patches/patch-src_getnetconfig_c
new file mode 100644
index 000000000..fb1f285a1
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_getnetconfig_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/getnetconfig.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getnetconfig.c 2014-03-22 13:20:53.000000000 +0100
+@@ -32,7 +32,6 @@
+
+ #include <pthread.h>
+ #include <reentrant.h>
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <errno.h>
+ #include <netconfig.h>
diff --git a/package/libtirpc/patches/patch-src_getnetpath_c b/package/libtirpc/patches/patch-src_getnetpath_c
new file mode 100644
index 000000000..73788ea04
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_getnetpath_c
@@ -0,0 +1,16 @@
+--- libtirpc-0.2.3.orig/src/getnetpath.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getnetpath.c 2014-03-22 13:20:53.000000000 +0100
+@@ -25,13 +25,11 @@
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+-#include <sys/cdefs.h>
+
+ /*
+ * Copyright (c) 1989 by Sun Microsystems, Inc.
+ */
+
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <errno.h>
+ #include <netconfig.h>
diff --git a/package/libtirpc/patches/patch-src_getpeereid_c b/package/libtirpc/patches/patch-src_getpeereid_c
new file mode 100644
index 000000000..1af375563
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_getpeereid_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/getpeereid.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getpeereid.c 2014-03-22 13:20:52.000000000 +0100
+@@ -24,7 +24,6 @@
+ * SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ #include <sys/param.h>
+ #include <sys/socket.h>
diff --git a/package/libtirpc/patches/patch-src_getpublickey_c b/package/libtirpc/patches/patch-src_getpublickey_c
new file mode 100644
index 000000000..a41eca54a
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_getpublickey_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/getpublickey.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/getpublickey.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+ /*
+-#include <sys/cdefs.h>
+ */
+
+ /*
diff --git a/package/libtirpc/patches/patch-src_key_call_c b/package/libtirpc/patches/patch-src_key_call_c
new file mode 100644
index 000000000..f7e7fb44d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_key_call_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/key_call.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/key_call.c 2014-03-22 13:20:52.000000000 +0100
+@@ -30,7 +30,6 @@
+ */
+
+
+-#include <sys/cdefs.h>
+
+ /*
+ * key_call.c, Interface to keyserver
diff --git a/package/libtirpc/patches/patch-src_key_prot_xdr_c b/package/libtirpc/patches/patch-src_key_prot_xdr_c
new file mode 100644
index 000000000..5dcf3f0f8
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_key_prot_xdr_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/key_prot_xdr.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/key_prot_xdr.c 2014-03-22 13:20:53.000000000 +0100
+@@ -33,7 +33,6 @@
+ */
+ /* Copyright (c) 1990, 1991 Sun Microsystems, Inc. */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * Compiled from key_prot.x using rpcgen.
diff --git a/package/libtirpc/patches/patch-src_mt_misc_c b/package/libtirpc/patches/patch-src_mt_misc_c
new file mode 100644
index 000000000..27e711159
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_mt_misc_c
@@ -0,0 +1,8 @@
+--- libtirpc-0.2.3.orig/src/mt_misc.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/mt_misc.c 2014-03-22 13:20:53.000000000 +0100
+@@ -1,5 +1,4 @@
+
+-#include <sys/cdefs.h>
+ #include <pthread.h>
+ #include <reentrant.h>
+ #include <rpc/rpc.h>
diff --git a/package/libtirpc/patches/patch-src_pmap_clnt_c b/package/libtirpc/patches/patch-src_pmap_clnt_c
new file mode 100644
index 000000000..30b5deb86
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_pmap_clnt_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/pmap_clnt.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/pmap_clnt.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * pmap_clnt.c
diff --git a/package/libtirpc/patches/patch-src_pmap_getmaps_c b/package/libtirpc/patches/patch-src_pmap_getmaps_c
new file mode 100644
index 000000000..1d9c984be
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_pmap_getmaps_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/pmap_getmaps.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/pmap_getmaps.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * pmap_getmap.c
diff --git a/package/libtirpc/patches/patch-src_rpc_com_h b/package/libtirpc/patches/patch-src_rpc_com_h
new file mode 100644
index 000000000..c327a0152
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_rpc_com_h
@@ -0,0 +1,31 @@
+--- libtirpc-0.2.3.orig/src/rpc_com.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpc_com.h 2014-03-22 13:20:53.000000000 +0100
+@@ -40,7 +40,6 @@
+ #ifndef _TIRPC_RPCCOM_H
+ #define _TIRPC_RPCCOM_H
+
+-#include <sys/cdefs.h>
+
+ /* #pragma ident "@(#)rpc_com.h 1.11 93/07/05 SMI" */
+
+@@ -54,7 +53,9 @@
+ #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \
+ (u_int32_t)(now)->tv_usec)
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern u_int __rpc_get_a_size(int);
+ extern int __rpc_dtbsize(void);
+ extern struct netconfig * __rpcgettp(int);
+@@ -90,6 +91,8 @@ void __xprt_set_raddr(SVCXPRT *, const s
+ SVCXPRT **__svc_xports;
+ int __svc_maxrec;
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _TIRPC_RPCCOM_H */
diff --git a/package/libtirpc/patches/patch-src_rpc_generic_c b/package/libtirpc/patches/patch-src_rpc_generic_c
new file mode 100644
index 000000000..aa567ce27
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_rpc_generic_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/rpc_generic.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpc_generic.c 2014-03-22 13:20:53.000000000 +0100
+@@ -29,7 +29,6 @@
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * rpc_generic.c, Miscl routines for RPC.
diff --git a/package/libtirpc/patches/patch-src_rpcb_st_xdr_c b/package/libtirpc/patches/patch-src_rpcb_st_xdr_c
new file mode 100644
index 000000000..30eeeee9d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_rpcb_st_xdr_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/rpcb_st_xdr.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpcb_st_xdr.c 2014-03-22 13:20:53.000000000 +0100
+@@ -35,7 +35,6 @@
+ * routines used with the rpcbind stats facility.
+ */
+
+-#include <sys/cdefs.h>
+
+ #include <rpc/rpc.h>
+
diff --git a/package/libtirpc/patches/patch-src_rpcdname_c b/package/libtirpc/patches/patch-src_rpcdname_c
new file mode 100644
index 000000000..b66b0a46f
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_rpcdname_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/rpcdname.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/rpcdname.c 2014-03-22 13:20:53.000000000 +0100
+@@ -25,7 +25,6 @@
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+-#include <sys/cdefs.h>
+
+ /*
+ * rpcdname.c
diff --git a/package/libtirpc/patches/patch-src_svc_dg_c b/package/libtirpc/patches/patch-src_svc_dg_c
new file mode 100644
index 000000000..88622d951
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_svc_dg_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/svc_dg.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/svc_dg.c 2014-03-22 13:20:52.000000000 +0100
+@@ -31,7 +31,6 @@
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * svc_dg.c, Server side for connectionless RPC.
diff --git a/package/libtirpc/patches/patch-src_svc_simple_c b/package/libtirpc/patches/patch-src_svc_simple_c
new file mode 100644
index 000000000..ed994e4f5
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_svc_simple_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/svc_simple.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/svc_simple.c 2014-03-22 13:20:53.000000000 +0100
+@@ -29,7 +29,6 @@
+ * Copyright (c) 1986-1991 by Sun Microsystems Inc.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * svc_simple.c
diff --git a/package/libtirpc/patches/patch-src_svc_vc_c b/package/libtirpc/patches/patch-src_svc_vc_c
new file mode 100644
index 000000000..8e43f4b8d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_svc_vc_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/svc_vc.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/svc_vc.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * svc_vc.c, Server side for Connection Oriented based RPC.
diff --git a/package/libtirpc/patches/patch-src_xdr_array_c b/package/libtirpc/patches/patch-src_xdr_array_c
new file mode 100644
index 000000000..dfa17d673
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_array_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_array.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_array.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_array.c, Generic XDR routines impelmentation.
diff --git a/package/libtirpc/patches/patch-src_xdr_c b/package/libtirpc/patches/patch-src_xdr_c
new file mode 100644
index 000000000..22211757b
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr.c, Generic XDR routines implementation.
diff --git a/package/libtirpc/patches/patch-src_xdr_float_c b/package/libtirpc/patches/patch-src_xdr_float_c
new file mode 100644
index 000000000..db18981e1
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_float_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_float.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_float.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,7 +27,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_float.c, Generic XDR routines implementation.
diff --git a/package/libtirpc/patches/patch-src_xdr_mem_c b/package/libtirpc/patches/patch-src_xdr_mem_c
new file mode 100644
index 000000000..670bba01e
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_mem_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_mem.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_mem.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_mem.h, XDR implementation using memory buffers.
diff --git a/package/libtirpc/patches/patch-src_xdr_rec_c b/package/libtirpc/patches/patch-src_xdr_rec_c
new file mode 100644
index 000000000..f4a2672d3
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_rec_c
@@ -0,0 +1,11 @@
+--- libtirpc-0.2.3.orig/src/xdr_rec.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_rec.c 2014-03-22 13:20:53.000000000 +0100
+@@ -27,8 +27,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_rec.c, Implements TCP/IP based XDR streams with a "record marking"
diff --git a/package/libtirpc/patches/patch-src_xdr_reference_c b/package/libtirpc/patches/patch-src_xdr_reference_c
new file mode 100644
index 000000000..a0b284380
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_reference_c
@@ -0,0 +1,11 @@
+--- libtirpc-0.2.3.orig/src/xdr_reference.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_reference.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,8 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_reference.c, Generic XDR routines impelmentation.
diff --git a/package/libtirpc/patches/patch-src_xdr_sizeof_c b/package/libtirpc/patches/patch-src_xdr_sizeof_c
new file mode 100644
index 000000000..0246ffa7d
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_sizeof_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_sizeof.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_sizeof.c 2014-03-22 13:20:53.000000000 +0100
+@@ -34,7 +34,6 @@
+ * when serialized using XDR.
+ */
+
+-#include <sys/cdefs.h>
+
+ #include "namespace.h"
+ #include <rpc/types.h>
diff --git a/package/libtirpc/patches/patch-src_xdr_stdio_c b/package/libtirpc/patches/patch-src_xdr_stdio_c
new file mode 100644
index 000000000..90dabf120
--- /dev/null
+++ b/package/libtirpc/patches/patch-src_xdr_stdio_c
@@ -0,0 +1,10 @@
+--- libtirpc-0.2.3.orig/src/xdr_stdio.c 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/src/xdr_stdio.c 2014-03-22 13:20:53.000000000 +0100
+@@ -26,7 +26,6 @@
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include <sys/cdefs.h>
+
+ /*
+ * xdr_stdio.c, XDR implementation on standard i/o file.
diff --git a/package/libtirpc/patches/patch-tirpc_misc_event_h b/package/libtirpc/patches/patch-tirpc_misc_event_h
new file mode 100644
index 000000000..7fc07813f
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_misc_event_h
@@ -0,0 +1,24 @@
+--- libtirpc-0.2.3.orig/tirpc/misc/event.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/misc/event.h 2014-03-22 13:20:52.000000000 +0100
+@@ -186,15 +186,18 @@ extern int kqueue_del_filteropts(int fil
+
+ #else /* !_KERNEL */
+
+-#include <sys/cdefs.h>
+ struct timespec;
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int kqueue(void);
+ int kevent(int kq, const struct kevent *changelist, int nchanges,
+ struct kevent *eventlist, int nevents,
+ const struct timespec *timeout);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_KERNEL */
+
diff --git a/package/libtirpc/patches/patch-tirpc_netconfig_h b/package/libtirpc/patches/patch-tirpc_netconfig_h
new file mode 100644
index 000000000..2f17d5fd4
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_netconfig_h
@@ -0,0 +1,23 @@
+--- libtirpc-0.2.3.orig/tirpc/netconfig.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/netconfig.h 2014-03-22 13:20:52.000000000 +0100
+@@ -74,7 +74,9 @@ typedef struct {
+ #define NC_UDP "udp"
+ #define NC_ICMP "icmp"
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ extern void *setnetconfig (void);
+ extern struct netconfig *getnetconfig (void *);
+@@ -89,6 +91,8 @@ extern int endnetpath (void *);
+ extern void nc_perror (const char *);
+ extern char *nc_sperror (void);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _NETCONFIG_H_ */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_auth_des_h b/package/libtirpc/patches/patch-tirpc_rpc_auth_des_h
new file mode 100644
index 000000000..c072f8871
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_auth_des_h
@@ -0,0 +1,32 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth_des.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth_des.h 2014-03-22 13:20:52.000000000 +0100
+@@ -114,17 +114,25 @@ struct authdes_verf {
+ * Map a des credential into a unix cred.
+ *
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int authdes_getucred( struct authdes_cred *, uid_t *, gid_t *, int *, gid_t * );
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_authdes_cred(XDR *, struct authdes_cred *);
+ extern bool_t xdr_authdes_verf(XDR *, struct authdes_verf *);
+ extern int rtime(dev_t, struct netbuf *, int, struct timeval *,
+ struct timeval *);
+ extern void kgetnetname(char *);
+ extern enum auth_stat _svcauth_des(struct svc_req *, struct rpc_msg *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* ndef _TI_AUTH_DES_ */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h b/package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h
new file mode 100644
index 000000000..2d1a07987
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_auth_gss_h
@@ -0,0 +1,53 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth_gss.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth_gss.h 2014-03-22 13:20:52.000000000 +0100
+@@ -104,28 +104,32 @@ struct rpc_gss_init_res {
+ #define MAXSEQ 0x80000000
+
+ /* Prototypes. */
+-__BEGIN_DECLS
+-bool_t xdr_rpc_gss_cred __P((XDR *xdrs, struct rpc_gss_cred *p));
+-bool_t xdr_rpc_gss_init_args __P((XDR *xdrs, gss_buffer_desc *p));
+-bool_t xdr_rpc_gss_init_res __P((XDR *xdrs, struct rpc_gss_init_res *p));
+-bool_t xdr_rpc_gss_data __P((XDR *xdrs, xdrproc_t xdr_func,
++#ifdef __cplusplus
++extern "C" {
++#endif
++bool_t xdr_rpc_gss_cred (XDR *xdrs, struct rpc_gss_cred *p);
++bool_t xdr_rpc_gss_init_args (XDR *xdrs, gss_buffer_desc *p);
++bool_t xdr_rpc_gss_init_res (XDR *xdrs, struct rpc_gss_init_res *p);
++bool_t xdr_rpc_gss_data (XDR *xdrs, xdrproc_t xdr_func,
+ caddr_t xdr_ptr, gss_ctx_id_t ctx,
+ gss_qop_t qop, rpc_gss_svc_t svc,
+- u_int seq));
++ u_int seq);
+
+-AUTH *authgss_create __P((CLIENT *, gss_name_t,
+- struct rpc_gss_sec *));
+-AUTH *authgss_create_default __P((CLIENT *, char *, struct rpc_gss_sec *));
+-bool_t authgss_service __P((AUTH *auth, int svc));
+-bool_t authgss_get_private_data __P((AUTH *auth,
+- struct authgss_private_data *));
+-bool_t authgss_free_private_data __P((struct authgss_private_data *));
++AUTH *authgss_create (CLIENT *, gss_name_t,
++ struct rpc_gss_sec *);
++AUTH *authgss_create_default (CLIENT *, char *, struct rpc_gss_sec *);
++bool_t authgss_service (AUTH *auth, int svc);
++bool_t authgss_get_private_data (AUTH *auth,
++ struct authgss_private_data *);
++bool_t authgss_free_private_data (struct authgss_private_data *);
+
+-void gss_log_debug __P((const char *fmt, ...));
+-void gss_log_status __P((char *m, OM_uint32 major,
+- OM_uint32 minor));
+-void gss_log_hexdump __P((const u_char *buf, int len, int offset));
++void gss_log_debug (const char *fmt, ...);
++void gss_log_status (char *m, OM_uint32 major,
++ OM_uint32 minor);
++void gss_log_hexdump (const u_char *buf, int len, int offset);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_TIRPC_AUTH_GSS_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_auth_h b/package/libtirpc/patches/patch-tirpc_rpc_auth_h
new file mode 100644
index 000000000..b000f85f7
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_auth_h
@@ -0,0 +1,192 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth.h 2014-03-22 13:20:52.000000000 +0100
+@@ -48,7 +48,6 @@
+
+ #include <rpc/xdr.h>
+ #include <rpc/clnt_stat.h>
+-#include <sys/cdefs.h>
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <stdio.h>
+@@ -165,9 +164,13 @@ union des_block {
+ char c[8];
+ };
+ typedef union des_block des_block;
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_des_block(XDR *, des_block *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Authentication info. Opaque to client.
+@@ -288,9 +291,13 @@ auth_put(AUTH *auth)
+ xfunc, xwhere))
+
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern struct opaque_auth _null_auth;
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Any style authentication. These routines can be used by any
+@@ -311,11 +318,15 @@ int authany_wrap(void), authany_unwrap(v
+ * int len;
+ * int *aup_gids;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern AUTH *authunix_create(char *, uid_t, uid_t, int, uid_t *);
+ extern AUTH *authunix_create_default(void); /* takes no parameters */
+ extern AUTH *authnone_create(void); /* takes no parameters */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ /*
+ * DES style authentication
+ * AUTH *authsecdes_create(servername, window, timehost, ckey)
+@@ -324,15 +335,23 @@ __END_DECLS
+ * const char *timehost; - optional hostname to sync with
+ * des_block *ckey; - optional conversation key to use
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern AUTH *authdes_create (char *, u_int, struct sockaddr *, des_block *);
+ extern AUTH *authdes_seccreate (const char *, const u_int, const char *,
+ const des_block *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #define authsys_create(c,i1,i2,i3,ip) authunix_create((c),(i1),(i2),(i3),(ip))
+ #define authsys_create_default() authunix_create_default()
+@@ -340,36 +359,48 @@ __END_DECLS
+ /*
+ * Netname manipulation routines.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int getnetname(char *);
+ extern int host2netname(char *, const char *, const char *);
+ extern int user2netname(char *, const uid_t, const char *);
+ extern int netname2user(char *, uid_t *, gid_t *, int *, gid_t *);
+ extern int netname2host(char *, char *, const int);
+ extern void passwd2des ( char *, char * );
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ *
+ * These routines interface to the keyserv daemon
+ *
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int key_decryptsession(const char *, des_block *);
+ extern int key_encryptsession(const char *, des_block *);
+ extern int key_gendes(des_block *);
+ extern int key_setsecret(const char *);
+ extern int key_secretkey_is_set(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Publickey routines.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int getpublickey (const char *, char *);
+ extern int getpublicandprivatekey (char *, char *);
+ extern int getsecretkey (char *, char *, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #ifdef KERBEROS
+ /*
+@@ -382,10 +413,14 @@ __END_DECLS
+ * const char *timehost; - optional hostname to sync with
+ * int *status; - kerberos status returned
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern AUTH *authkerb_seccreate(const char *, const char *, const char *,
+ const u_int, const char *, int *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Map a kerberos credential into a unix cred.
+@@ -398,19 +433,27 @@ __END_DECLS
+ * int *groups;
+ *
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int authkerb_getucred(/* struct svc_req *, uid_t *, gid_t *,
+ short *, int * */);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif /* KERBEROS */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ struct svc_req;
+ struct rpc_msg;
+ enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *);
+ enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *);
+ enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #define AUTH_NONE 0 /* no authentication */
+ #define AUTH_NULL 0 /* backward compatibility */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h b/package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h
new file mode 100644
index 000000000..a0c70ece5
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_auth_unix_h
@@ -0,0 +1,26 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/auth_unix.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/auth_unix.h 2014-03-22 13:20:52.000000000 +0100
+@@ -45,7 +45,6 @@
+
+ #ifndef _TIRPC_AUTH_UNIX_H
+ #define _TIRPC_AUTH_UNIX_H
+-#include <sys/cdefs.h>
+
+ /* The machine name is part of a credential; it may not exceed 255 bytes */
+ #define MAX_MACHINE_NAME 255
+@@ -67,9 +66,13 @@ struct authunix_parms {
+
+ #define authsys_parms authunix_parms
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_authunix_parms(XDR *, struct authunix_parms *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * If a response verifier has flavor AUTH_SHORT,
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_clnt_h b/package/libtirpc/patches/patch-tirpc_rpc_clnt_h
new file mode 100644
index 000000000..ddd1f73ae
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_clnt_h
@@ -0,0 +1,132 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/clnt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/clnt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -42,7 +42,6 @@
+ #include <rpc/clnt_stat.h>
+ #include <rpc/auth.h>
+
+-#include <sys/cdefs.h>
+ #include <netconfig.h>
+ #include <sys/un.h>
+
+@@ -267,7 +266,9 @@ struct rpc_timers {
+ * Generic client creation routine. Supported protocols are those that
+ * belong to the nettype namespace (/etc/netconfig).
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clnt_create(const char *, const rpcprog_t, const rpcvers_t,
+ const char *);
+ /*
+@@ -414,32 +415,46 @@ extern CLIENT *clnt_dg_create(const int,
+ */
+ extern CLIENT *clnt_raw_create(rpcprog_t, rpcvers_t);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ * Print why creation failed
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void clnt_pcreateerror(const char *); /* stderr */
+ extern char *clnt_spcreateerror(const char *); /* string */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Like clnt_perror(), but is more verbose in its output
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void clnt_perrno(enum clnt_stat); /* stderr */
+ extern char *clnt_sperrno(enum clnt_stat); /* string */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Print an English error message, given the client error code
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void clnt_perror(CLIENT *, const char *); /* stderr */
+ extern char *clnt_sperror(CLIENT *, const char *); /* string */
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+@@ -450,9 +465,13 @@ struct rpc_createerr {
+ struct rpc_err cf_error; /* useful when cf_stat == RPC_PMAPFAILURE */
+ };
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern struct rpc_createerr *__rpc_createerr(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #define get_rpc_createerr() (*(__rpc_createerr()))
+ #define rpc_createerr (*(__rpc_createerr()))
+
+@@ -469,12 +488,16 @@ __END_DECLS
+ * char *out;
+ * const char *nettype;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum clnt_stat rpc_call(const char *, const rpcprog_t,
+ const rpcvers_t, const rpcproc_t,
+ const xdrproc_t, const char *,
+ const xdrproc_t, char *, const char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * RPC broadcast interface
+@@ -522,7 +545,9 @@ __END_DECLS
+
+ typedef bool_t (*resultproc_t)(caddr_t, ...);
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum clnt_stat rpc_broadcast(const rpcprog_t, const rpcvers_t,
+ const rpcproc_t, const xdrproc_t,
+ caddr_t, const xdrproc_t, caddr_t,
+@@ -532,7 +557,9 @@ extern enum clnt_stat rpc_broadcast_exp(
+ caddr_t, const xdrproc_t, caddr_t,
+ const resultproc_t, const int,
+ const int, const char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /* For backward compatibility */
+ #include <rpc/clnt_soc.h>
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h b/package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h
new file mode 100644
index 000000000..3112aeee5
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_clnt_soc_h
@@ -0,0 +1,78 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/clnt_soc.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/clnt_soc.h 2014-03-22 13:20:52.000000000 +0100
+@@ -46,7 +46,6 @@
+ * with TS-RPC.
+ */
+
+-#include <sys/cdefs.h>
+
+ #define UDPMSGSIZE 8800 /* rpc imposed limit on udp msg size */
+
+@@ -61,27 +60,39 @@
+ * u_int sendsz;
+ * u_int recvsz;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clnttcp_create(struct sockaddr_in *, u_long, u_long, int *,
+ u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Raw (memory) rpc.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clntraw_create(u_long, u_long);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ IPv6 socket version
+ */
+ #ifdef INET6
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clnttcp6_create(struct sockaddr_in6 *, u_long, u_long, int *,
+ u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+ #endif
+
+ /*
+@@ -105,7 +116,9 @@ __END_DECLS
+ * u_int sendsz;
+ * u_int recvsz;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern CLIENT *clntudp_create(struct sockaddr_in *, u_long, u_long,
+ struct timeval, int *);
+ extern CLIENT *clntudp_bufcreate(struct sockaddr_in *, u_long, u_long,
+@@ -116,7 +129,9 @@ extern CLIENT *clntudp6_create(struct so
+ extern CLIENT *clntudp6_bufcreate(struct sockaddr_in6 *, u_long, u_long,
+ struct timeval, int *, u_int, u_int);
+ #endif
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ #endif /* _RPC_CLNT_SOC_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h b/package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h
new file mode 100644
index 000000000..d55657f95
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_des_crypt_h
@@ -0,0 +1,52 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/des_crypt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/des_crypt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -43,7 +43,6 @@
+ #ifndef _DES_DES_CRYPT_H
+ #define _DES_DES_CRYPT_H
+
+-#include <sys/cdefs.h>
+ #include <rpc/rpc.h>
+
+ #define DES_MAXDATA 8192 /* max bytes encrypted in one call */
+@@ -83,23 +82,35 @@
+ /*
+ * Cipher Block Chaining mode
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int cbc_crypt( char *, char *, unsigned int, unsigned int, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Electronic Code Book mode
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int ecb_crypt( char *, char *, unsigned int, unsigned int );
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Set des parity for a key.
+ * DES parity is odd and in the low bit of each byte
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ void des_setparity( char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _DES_DES_CRYPT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_nettype_h b/package/libtirpc/patches/patch-tirpc_rpc_nettype_h
new file mode 100644
index 000000000..60759caad
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_nettype_h
@@ -0,0 +1,20 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/nettype.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/nettype.h 2014-03-22 13:20:52.000000000 +0100
+@@ -53,11 +53,15 @@
+ #define _RPC_TCP 7
+ #define _RPC_UDP 8
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void *__rpc_setconf(const char *);
+ extern void __rpc_endconf(void *);
+ extern struct netconfig *__rpc_getconf(void *);
+ extern struct netconfig *__rpc_getconfip(const char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_TIRPC_NETTYPE_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h b/package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h
new file mode 100644
index 000000000..7fda59939
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_pmap_clnt_h
@@ -0,0 +1,25 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/pmap_clnt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/pmap_clnt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -63,9 +63,10 @@
+
+ #ifndef _RPC_PMAP_CLNT_H_
+ #define _RPC_PMAP_CLNT_H_
+-#include <sys/cdefs.h>
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t pmap_set(u_long, u_long, int, int);
+ extern bool_t pmap_unset(u_long, u_long);
+ extern struct pmaplist *pmap_getmaps(struct sockaddr_in *);
+@@ -80,6 +81,8 @@ extern enum clnt_stat clnt_broadcast(u_l
+ resultproc_t);
+ extern u_short pmap_getport(struct sockaddr_in *,
+ u_long, u_long, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_PMAP_CLNT_H_ */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h b/package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h
new file mode 100644
index 000000000..891991b98
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_pmap_prot_h
@@ -0,0 +1,27 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/pmap_prot.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/pmap_prot.h 2014-03-22 13:20:52.000000000 +0100
+@@ -71,7 +71,6 @@
+
+ #ifndef _RPC_PMAP_PROT_H
+ #define _RPC_PMAP_PROT_H
+-#include <sys/cdefs.h>
+
+ #define PMAPPORT ((u_short)111)
+ #define PMAPPROG ((u_long)100000)
+@@ -97,10 +96,14 @@ struct pmaplist {
+ struct pmaplist *pml_next;
+ };
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_pmap(XDR *, struct pmap *);
+ extern bool_t xdr_pmaplist(XDR *, struct pmaplist **);
+ extern bool_t xdr_pmaplist_ptr(XDR *, struct pmaplist *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_PMAP_PROT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h b/package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h
new file mode 100644
index 000000000..98a494105
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_pmap_rmt_h
@@ -0,0 +1,26 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/pmap_rmt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/pmap_rmt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -41,7 +41,6 @@
+
+ #ifndef _RPC_PMAP_RMT_H
+ #define _RPC_PMAP_RMT_H
+-#include <sys/cdefs.h>
+
+ struct rmtcallargs {
+ u_long prog, vers, proc, arglen;
+@@ -56,9 +55,13 @@ struct rmtcallres {
+ xdrproc_t xdr_results;
+ };
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_rmtcall_args(XDR *, struct rmtcallargs *);
+ extern bool_t xdr_rmtcallres(XDR *, struct rmtcallres *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_PMAP_RMT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h b/package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h
new file mode 100644
index 000000000..59f0283d3
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpc_com_h
@@ -0,0 +1,31 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpc_com.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpc_com.h 2014-03-22 13:20:52.000000000 +0100
+@@ -41,7 +41,6 @@
+ #ifndef _RPC_RPCCOM_H
+ #define _RPC_RPCCOM_H
+
+-#include <sys/cdefs.h>
+
+ /* #pragma ident "@(#)rpc_com.h 1.11 93/07/05 SMI" */
+
+@@ -55,7 +54,9 @@
+ #define __RPC_GETXID(now) ((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \
+ (u_int32_t)(now)->tv_usec)
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern u_int __rpc_get_a_size(int);
+ extern int __rpc_dtbsize(void);
+ extern int _rpc_dtablesize(void);
+@@ -77,6 +78,8 @@ bool_t rpc_control(int,void *);
+
+ char *_get_next_token(char *, int);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* _RPC_RPCCOM_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpc_h b/package/libtirpc/patches/patch-tirpc_rpc_rpc_h
new file mode 100644
index 000000000..7e1f000a2
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpc_h
@@ -0,0 +1,44 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpc.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpc.h 2014-03-22 13:20:52.000000000 +0100
+@@ -79,9 +79,11 @@
+ #define UDPMSGSIZE 8800
+ #endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern int get_myaddress(struct sockaddr_in *);
+-extern int bindresvport(int, struct sockaddr_in *) __THROW;
++extern int bindresvport(int, struct sockaddr_in *);
+ extern int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]),
+ xdrproc_t, xdrproc_t);
+ extern int callrpc(const char *, int, int, int, xdrproc_t, void *,
+@@ -93,18 +95,24 @@ struct netbuf *uaddr2taddr(const struct
+
+ struct sockaddr;
+ extern int bindresvport_sa(int, struct sockaddr *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * The following are not exported interfaces, they are for internal library
+ * and rpcbind use only. Do not use, they may change without notice.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ int __rpc_nconf2fd(const struct netconfig *);
+ int __rpc_nconf2fd_flags(const struct netconfig *, int);
+ int __rpc_nconf2sockinfo(const struct netconfig *, struct __rpc_sockinfo *);
+ int __rpc_fd2sockinfo(int, struct __rpc_sockinfo *);
+ u_int __rpc_get_t_size(int, int, int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_RPC_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h b/package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h
new file mode 100644
index 000000000..caee024d8
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpc_msg_h
@@ -0,0 +1,23 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpc_msg.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpc_msg.h 2014-03-22 13:20:52.000000000 +0100
+@@ -161,7 +161,9 @@ struct rpc_msg {
+ #define acpted_rply ru.RM_rmb.ru.RP_ar
+ #define rjcted_rply ru.RM_rmb.ru.RP_dr
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /*
+ * XDR routine to handle a rpc message.
+ * xdr_callmsg(xdrs, cmsg)
+@@ -210,6 +212,8 @@ extern bool_t xdr_rejected_reply(XDR *,
+ * struct rpc_err *error;
+ */
+ extern void _seterr_reply(struct rpc_msg *, struct rpc_err *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_TIRPC_RPC_MSG_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h b/package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h
new file mode 100644
index 000000000..b0bc44ae6
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpcb_clnt_h
@@ -0,0 +1,23 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpcb_clnt.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpcb_clnt.h 2014-03-22 13:20:52.000000000 +0100
+@@ -59,7 +59,9 @@
+
+ #include <rpc/types.h>
+ #include <rpc/rpcb_prot.h>
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t rpcb_set(const rpcprog_t, const rpcvers_t,
+ const struct netconfig *, const struct netbuf *);
+ extern bool_t rpcb_unset(const rpcprog_t, const rpcvers_t,
+@@ -78,6 +80,8 @@ extern bool_t rpcb_getaddr(const rpcprog
+ extern bool_t rpcb_gettime(const char *, time_t *);
+ extern char *rpcb_taddr2uaddr(struct netconfig *, struct netbuf *);
+ extern struct netbuf *rpcb_uaddr2taddr(struct netconfig *, char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_RPCB_CLNT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_rpcent_h b/package/libtirpc/patches/patch-tirpc_rpc_rpcent_h
new file mode 100644
index 000000000..badea8121
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_rpcent_h
@@ -0,0 +1,31 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/rpcent.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/rpcent.h 2014-03-22 14:22:44.000000000 +0100
+@@ -44,10 +44,12 @@
+ /* #pragma ident "@(#)rpcent.h 1.13 94/04/25 SMI" */
+ /* @(#)rpcent.h 1.1 88/12/06 SMI */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /* These are defined in /usr/include/rpc/netdb.h */
+-#if 0
++#if !defined(__GLIBC__)
+ struct rpcent {
+ char *r_name; /* name of server for this rpc program */
+ char **r_aliases; /* alias list */
+@@ -60,8 +62,10 @@ extern struct rpcent *getrpcbynumber(int
+ extern struct rpcent *getrpcent(void);
+ #endif
+
+-extern void setrpcent(int) __THROW;
+-extern void endrpcent(void) __THROW;
+-__END_DECLS
++extern void setrpcent(int);
++extern void endrpcent(void);
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_CENT_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h b/package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h
new file mode 100644
index 000000000..1abf29cde
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_svc_auth_h
@@ -0,0 +1,20 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/svc_auth.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/svc_auth.h 2014-03-22 13:20:52.000000000 +0100
+@@ -65,11 +65,15 @@ typedef struct SVCAUTH {
+ /*
+ * Server side authenticator
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern enum auth_stat _authenticate(struct svc_req *, struct rpc_msg *);
+ extern int svc_auth_reg(int, enum auth_stat (*)(struct svc_req *,
+ struct rpc_msg *));
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_SVC_AUTH_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_svc_h b/package/libtirpc/patches/patch-tirpc_rpc_svc_h
new file mode 100644
index 000000000..fcaf5b172
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_svc_h
@@ -0,0 +1,152 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/svc.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/svc.h 2014-03-22 13:20:52.000000000 +0100
+@@ -40,7 +40,6 @@
+
+ #ifndef _TIRPC_SVC_H
+ #define _TIRPC_SVC_H
+-#include <sys/cdefs.h>
+
+ /*
+ * This interface must manage two items concerning remote procedure calling:
+@@ -200,11 +199,15 @@ struct svc_req {
+ * const struct netconfig *nconf;
+ */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t svc_reg(SVCXPRT *, const rpcprog_t, const rpcvers_t,
+ void (*)(struct svc_req *, SVCXPRT *),
+ const struct netconfig *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Service un-registration
+@@ -214,9 +217,13 @@ __END_DECLS
+ * const rpcvers_t vers;
+ */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void svc_unreg(const rpcprog_t, const rpcvers_t);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Transport registration.
+@@ -224,9 +231,13 @@ __END_DECLS
+ * xprt_register(xprt)
+ * SVCXPRT *xprt;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void xprt_register(SVCXPRT *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Transport un-register
+@@ -234,9 +245,13 @@ __END_DECLS
+ * xprt_unregister(xprt)
+ * SVCXPRT *xprt;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void xprt_unregister(SVCXPRT *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+@@ -265,7 +280,9 @@ __END_DECLS
+ * deadlock the caller and server processes!
+ */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t svc_sendreply(SVCXPRT *, xdrproc_t, void *);
+ extern void svcerr_decode(SVCXPRT *);
+ extern void svcerr_weakauth(SVCXPRT *);
+@@ -277,7 +294,9 @@ extern void svcerr_systemerr(SVCXPRT *);
+ extern int rpc_reg(rpcprog_t, rpcvers_t, rpcproc_t,
+ char *(*)(char *), xdrproc_t, xdrproc_t,
+ char *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Lowest level dispatching -OR- who owns this process anyway.
+@@ -306,11 +325,17 @@ extern int svc_fds;
+ * a small program implemented by the svc_rpc implementation itself;
+ * also see clnt.h for protocol numbers.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void rpctest_service(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void svc_getreq(int);
+ extern void svc_getreqset(fd_set *);
+ extern void svc_getreq_common(int);
+@@ -319,7 +344,9 @@ extern void svc_getreq_poll(struct pollf
+
+ extern void svc_run(void);
+ extern void svc_exit(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Socket to use on svcxxx_create call to get default socket
+@@ -331,7 +358,9 @@ __END_DECLS
+ * These are the existing service side transport implementations
+ */
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /*
+ * Transport independent svc_create routine.
+ */
+@@ -427,7 +456,9 @@ int svc_dg_enablecache(SVCXPRT *, const
+
+ int __rpc_get_local_uid(SVCXPRT *_transp, uid_t *_uid);
+
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /* for backward compatibility */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h b/package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h
new file mode 100644
index 000000000..9f7c22259
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_svc_soc_h
@@ -0,0 +1,102 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/svc_soc.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/svc_soc.h 2014-03-22 13:20:52.000000000 +0100
+@@ -38,7 +38,6 @@
+
+ #ifndef _RPC_SVC_SOC_H
+ #define _RPC_SVC_SOC_H
+-#include <sys/cdefs.h>
+
+ /* #pragma ident "@(#)svc_soc.h 1.11 94/04/25 SMI" */
+ /* svc_soc.h 1.8 89/05/01 SMI */
+@@ -64,10 +63,14 @@
+ * void (*dispatch)();
+ * int protocol; like TCP or UDP, zero means do not register
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t svc_register(SVCXPRT *, u_long, u_long,
+ void (*)(struct svc_req *, SVCXPRT *), int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Service un-registration
+@@ -76,44 +79,64 @@ __END_DECLS
+ * u_long prog;
+ * u_long vers;
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern void svc_unregister(u_long, u_long);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ * Memory based rpc for testing and timing.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svcraw_create(void);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ * Udp based rpc.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svcudp_create(int);
+ extern SVCXPRT *svcudp_bufcreate(int, u_int, u_int);
+ extern int svcudp_enablecache(SVCXPRT *, u_long);
+ extern SVCXPRT *svcudp6_create(int);
+ extern SVCXPRT *svcudp6_bufcreate(int, u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+
+ /*
+ * Tcp based rpc.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svctcp_create(int, u_int, u_int);
+ extern SVCXPRT *svctcp6_create(int, u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Fd based rpc.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern SVCXPRT *svcfd_create(int, u_int, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_RPC_SVC_SOC_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpc_xdr_h b/package/libtirpc/patches/patch-tirpc_rpc_xdr_h
new file mode 100644
index 000000000..0f43e3702
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpc_xdr_h
@@ -0,0 +1,53 @@
+--- libtirpc-0.2.3.orig/tirpc/rpc/xdr.h 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpc/xdr.h 2014-03-22 13:20:52.000000000 +0100
+@@ -40,7 +40,6 @@
+
+ #ifndef _TIRPC_XDR_H
+ #define _TIRPC_XDR_H
+-#include <sys/cdefs.h>
+ #include <stdio.h>
+ #include <netinet/in.h>
+
+@@ -287,7 +286,9 @@ struct xdr_discrim {
+ /*
+ * These are the "generic" xdr routines.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ extern bool_t xdr_void(void);
+ extern bool_t xdr_int(XDR *, int *);
+ extern bool_t xdr_u_int(XDR *, u_int *);
+@@ -322,7 +323,9 @@ extern bool_t xdr_hyper(XDR *, quad_t *)
+ extern bool_t xdr_u_hyper(XDR *, u_quad_t *);
+ extern bool_t xdr_longlong_t(XDR *, quad_t *);
+ extern bool_t xdr_u_longlong_t(XDR *, u_quad_t *);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ /*
+ * Common opaque bytes objects used by many rpc protocols;
+@@ -340,7 +343,9 @@ extern bool_t xdr_netobj(XDR *, struct
+ * These are the public routines for the various implementations of
+ * xdr streams.
+ */
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+ /* XDR using memory buffers */
+ extern void xdrmem_create(XDR *, char *, u_int, enum xdr_op);
+
+@@ -361,6 +366,8 @@ extern bool_t xdrrec_skiprecord(XDR *);
+ /* true if no more input */
+ extern bool_t xdrrec_eof(XDR *);
+ extern u_int xdrrec_readbytes(XDR *, caddr_t, u_int);
+-__END_DECLS
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* !_TIRPC_XDR_H */
diff --git a/package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x b/package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x
new file mode 100644
index 000000000..872800b1d
--- /dev/null
+++ b/package/libtirpc/patches/patch-tirpc_rpcsvc_crypt_x
@@ -0,0 +1,12 @@
+--- libtirpc-0.2.3.orig/tirpc/rpcsvc/crypt.x 2013-02-13 16:13:59.000000000 +0100
++++ libtirpc-0.2.3/tirpc/rpcsvc/crypt.x 2014-03-22 13:20:52.000000000 +0100
+@@ -31,8 +31,7 @@
+ */
+
+ #ifndef RPC_HDR
+-%#include <sys/cdefs.h>
+-%__FBSDID("$FreeBSD: src/include/rpcsvc/crypt.x,v 1.5 2003/05/04 02:51:42 obrien Exp $");
++%%__FBSDID("$FreeBSD: src/include/rpcsvc/crypt.x,v 1.5 2003/05/04 02:51:42 obrien Exp $");
+ #endif
+
+ /*
diff --git a/package/libtirpc/src/src/queue.h b/package/libtirpc/src/src/queue.h
new file mode 100644
index 000000000..daf4553d3
--- /dev/null
+++ b/package/libtirpc/src/src/queue.h
@@ -0,0 +1,574 @@
+/*
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)queue.h 8.5 (Berkeley) 8/20/94
+ */
+
+#ifndef _SYS_QUEUE_H_
+#define _SYS_QUEUE_H_
+
+/*
+ * This file defines five types of data structures: singly-linked lists,
+ * lists, simple queues, tail queues, and circular queues.
+ *
+ * A singly-linked list is headed by a single forward pointer. The
+ * elements are singly linked for minimum space and pointer manipulation
+ * overhead at the expense of O(n) removal for arbitrary elements. New
+ * elements can be added to the list after an existing element or at the
+ * head of the list. Elements being removed from the head of the list
+ * should use the explicit macro for this purpose for optimum
+ * efficiency. A singly-linked list may only be traversed in the forward
+ * direction. Singly-linked lists are ideal for applications with large
+ * datasets and few or no removals or for implementing a LIFO queue.
+ *
+ * A list is headed by a single forward pointer (or an array of forward
+ * pointers for a hash table header). The elements are doubly linked
+ * so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before
+ * or after an existing element or at the head of the list. A list
+ * may only be traversed in the forward direction.
+ *
+ * A simple queue is headed by a pair of pointers, one the head of the
+ * list and the other to the tail of the list. The elements are singly
+ * linked to save space, so elements can only be removed from the
+ * head of the list. New elements can be added to the list after
+ * an existing element, at the head of the list, or at the end of the
+ * list. A simple queue may only be traversed in the forward direction.
+ *
+ * A tail queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or
+ * after an existing element, at the head of the list, or at the end of
+ * the list. A tail queue may be traversed in either direction.
+ *
+ * A circle queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or after
+ * an existing element, at the head of the list, or at the end of the list.
+ * A circle queue may be traversed in either direction, but has a more
+ * complex end of list detection.
+ *
+ * For details on the use of these macros, see the queue(3) manual page.
+ */
+
+/*
+ * List definitions.
+ */
+#define LIST_HEAD(name, type) \
+struct name { \
+ struct type *lh_first; /* first element */ \
+}
+
+#define LIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define LIST_ENTRY(type) \
+struct { \
+ struct type *le_next; /* next element */ \
+ struct type **le_prev; /* address of previous next element */ \
+}
+
+/*
+ * List functions.
+ */
+#define LIST_INIT(head) do { \
+ (head)->lh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_AFTER(listelm, elm, field) do { \
+ if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
+ (listelm)->field.le_next->field.le_prev = \
+ &(elm)->field.le_next; \
+ (listelm)->field.le_next = (elm); \
+ (elm)->field.le_prev = &(listelm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.le_prev = (listelm)->field.le_prev; \
+ (elm)->field.le_next = (listelm); \
+ *(listelm)->field.le_prev = (elm); \
+ (listelm)->field.le_prev = &(elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.le_next = (head)->lh_first) != NULL) \
+ (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
+ (head)->lh_first = (elm); \
+ (elm)->field.le_prev = &(head)->lh_first; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_REMOVE(elm, field) do { \
+ if ((elm)->field.le_next != NULL) \
+ (elm)->field.le_next->field.le_prev = \
+ (elm)->field.le_prev; \
+ *(elm)->field.le_prev = (elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_FOREACH(var, head, field) \
+ for ((var) = ((head)->lh_first); \
+ (var); \
+ (var) = ((var)->field.le_next))
+
+/*
+ * List access methods.
+ */
+#define LIST_EMPTY(head) ((head)->lh_first == NULL)
+#define LIST_FIRST(head) ((head)->lh_first)
+#define LIST_NEXT(elm, field) ((elm)->field.le_next)
+
+
+/*
+ * Singly-linked List definitions.
+ */
+#define SLIST_HEAD(name, type) \
+struct name { \
+ struct type *slh_first; /* first element */ \
+}
+
+#define SLIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define SLIST_ENTRY(type) \
+struct { \
+ struct type *sle_next; /* next element */ \
+}
+
+/*
+ * Singly-linked List functions.
+ */
+#define SLIST_INIT(head) do { \
+ (head)->slh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
+ (elm)->field.sle_next = (slistelm)->field.sle_next; \
+ (slistelm)->field.sle_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.sle_next = (head)->slh_first; \
+ (head)->slh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE_HEAD(head, field) do { \
+ (head)->slh_first = (head)->slh_first->field.sle_next; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE(head, elm, type, field) do { \
+ if ((head)->slh_first == (elm)) { \
+ SLIST_REMOVE_HEAD((head), field); \
+ } \
+ else { \
+ struct type *curelm = (head)->slh_first; \
+ while(curelm->field.sle_next != (elm)) \
+ curelm = curelm->field.sle_next; \
+ curelm->field.sle_next = \
+ curelm->field.sle_next->field.sle_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_FOREACH(var, head, field) \
+ for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
+
+/*
+ * Singly-linked List access methods.
+ */
+#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
+#define SLIST_FIRST(head) ((head)->slh_first)
+#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
+
+
+/*
+ * Singly-linked Tail queue declarations.
+ */
+#define STAILQ_HEAD(name, type) \
+struct name { \
+ struct type *stqh_first; /* first element */ \
+ struct type **stqh_last; /* addr of last next element */ \
+}
+
+#define STAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).stqh_first }
+
+#define STAILQ_ENTRY(type) \
+struct { \
+ struct type *stqe_next; /* next element */ \
+}
+
+/*
+ * Singly-linked Tail queue functions.
+ */
+#define STAILQ_INIT(head) do { \
+ (head)->stqh_first = NULL; \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (head)->stqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.stqe_next = NULL; \
+ *(head)->stqh_last = (elm); \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (listelm)->field.stqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->stqh_first == (elm)) { \
+ STAILQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->stqh_first; \
+ while (curelm->field.stqe_next != (elm)) \
+ curelm = curelm->field.stqe_next; \
+ if ((curelm->field.stqe_next = \
+ curelm->field.stqe_next->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(curelm)->field.stqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->stqh_first); \
+ (var); \
+ (var) = ((var)->field.stqe_next))
+
+#define STAILQ_CONCAT(head1, head2) do { \
+ if (!STAILQ_EMPTY((head2))) { \
+ *(head1)->stqh_last = (head2)->stqh_first; \
+ (head1)->stqh_last = (head2)->stqh_last; \
+ STAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Singly-linked Tail queue access methods.
+ */
+#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL)
+#define STAILQ_FIRST(head) ((head)->stqh_first)
+#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
+
+
+/*
+ * Simple queue definitions.
+ */
+#define SIMPLEQ_HEAD(name, type) \
+struct name { \
+ struct type *sqh_first; /* first element */ \
+ struct type **sqh_last; /* addr of last next element */ \
+}
+
+#define SIMPLEQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).sqh_first }
+
+#define SIMPLEQ_ENTRY(type) \
+struct { \
+ struct type *sqe_next; /* next element */ \
+}
+
+/*
+ * Simple queue functions.
+ */
+#define SIMPLEQ_INIT(head) do { \
+ (head)->sqh_first = NULL; \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (head)->sqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.sqe_next = NULL; \
+ *(head)->sqh_last = (elm); \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (listelm)->field.sqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->sqh_first == (elm)) { \
+ SIMPLEQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->sqh_first; \
+ while (curelm->field.sqe_next != (elm)) \
+ curelm = curelm->field.sqe_next; \
+ if ((curelm->field.sqe_next = \
+ curelm->field.sqe_next->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(curelm)->field.sqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->sqh_first); \
+ (var); \
+ (var) = ((var)->field.sqe_next))
+
+/*
+ * Simple queue access methods.
+ */
+#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL)
+#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
+#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
+
+
+/*
+ * Tail queue definitions.
+ */
+#define _TAILQ_HEAD(name, type, qual) \
+struct name { \
+ qual type *tqh_first; /* first element */ \
+ qual type *qual *tqh_last; /* addr of last next element */ \
+}
+#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
+
+#define TAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).tqh_first }
+
+#define _TAILQ_ENTRY(type, qual) \
+struct { \
+ qual type *tqe_next; /* next element */ \
+ qual type *qual *tqe_prev; /* address of previous next element */\
+}
+#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
+
+/*
+ * Tail queue functions.
+ */
+#define TAILQ_INIT(head) do { \
+ (head)->tqh_first = NULL; \
+ (head)->tqh_last = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
+ (head)->tqh_first->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (head)->tqh_first = (elm); \
+ (elm)->field.tqe_prev = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.tqe_next = NULL; \
+ (elm)->field.tqe_prev = (head)->tqh_last; \
+ *(head)->tqh_last = (elm); \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
+ (elm)->field.tqe_next->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (listelm)->field.tqe_next = (elm); \
+ (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
+ (elm)->field.tqe_next = (listelm); \
+ *(listelm)->field.tqe_prev = (elm); \
+ (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_REMOVE(head, elm, field) do { \
+ if (((elm)->field.tqe_next) != NULL) \
+ (elm)->field.tqe_next->field.tqe_prev = \
+ (elm)->field.tqe_prev; \
+ else \
+ (head)->tqh_last = (elm)->field.tqe_prev; \
+ *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->tqh_first); \
+ (var); \
+ (var) = ((var)->field.tqe_next))
+
+#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
+ for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \
+ (var); \
+ (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
+
+#define TAILQ_CONCAT(head1, head2, field) do { \
+ if (!TAILQ_EMPTY(head2)) { \
+ *(head1)->tqh_last = (head2)->tqh_first; \
+ (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
+ (head1)->tqh_last = (head2)->tqh_last; \
+ TAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Tail queue access methods.
+ */
+#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
+#define TAILQ_FIRST(head) ((head)->tqh_first)
+#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
+
+#define TAILQ_LAST(head, headname) \
+ (*(((struct headname *)((head)->tqh_last))->tqh_last))
+#define TAILQ_PREV(elm, headname, field) \
+ (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
+
+
+/*
+ * Circular queue definitions.
+ */
+#define CIRCLEQ_HEAD(name, type) \
+struct name { \
+ struct type *cqh_first; /* first element */ \
+ struct type *cqh_last; /* last element */ \
+}
+
+#define CIRCLEQ_HEAD_INITIALIZER(head) \
+ { (void *)&head, (void *)&head }
+
+#define CIRCLEQ_ENTRY(type) \
+struct { \
+ struct type *cqe_next; /* next element */ \
+ struct type *cqe_prev; /* previous element */ \
+}
+
+/*
+ * Circular queue functions.
+ */
+#define CIRCLEQ_INIT(head) do { \
+ (head)->cqh_first = (void *)(head); \
+ (head)->cqh_last = (void *)(head); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm)->field.cqe_next; \
+ (elm)->field.cqe_prev = (listelm); \
+ if ((listelm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (listelm)->field.cqe_next->field.cqe_prev = (elm); \
+ (listelm)->field.cqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm); \
+ (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
+ if ((listelm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (listelm)->field.cqe_prev->field.cqe_next = (elm); \
+ (listelm)->field.cqe_prev = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.cqe_next = (head)->cqh_first; \
+ (elm)->field.cqe_prev = (void *)(head); \
+ if ((head)->cqh_last == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (head)->cqh_first->field.cqe_prev = (elm); \
+ (head)->cqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.cqe_next = (void *)(head); \
+ (elm)->field.cqe_prev = (head)->cqh_last; \
+ if ((head)->cqh_first == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (head)->cqh_last->field.cqe_next = (elm); \
+ (head)->cqh_last = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_REMOVE(head, elm, field) do { \
+ if ((elm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm)->field.cqe_prev; \
+ else \
+ (elm)->field.cqe_next->field.cqe_prev = \
+ (elm)->field.cqe_prev; \
+ if ((elm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm)->field.cqe_next; \
+ else \
+ (elm)->field.cqe_prev->field.cqe_next = \
+ (elm)->field.cqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->cqh_first); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_next))
+
+#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
+ for ((var) = ((head)->cqh_last); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_prev))
+
+/*
+ * Circular queue access methods.
+ */
+#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head))
+#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
+#define CIRCLEQ_LAST(head) ((head)->cqh_last)
+#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
+#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
+
+#define CIRCLEQ_LOOP_NEXT(head, elm, field) \
+ (((elm)->field.cqe_next == (void *)(head)) \
+ ? ((head)->cqh_first) \
+ : (elm->field.cqe_next))
+#define CIRCLEQ_LOOP_PREV(head, elm, field) \
+ (((elm)->field.cqe_prev == (void *)(head)) \
+ ? ((head)->cqh_last) \
+ : (elm->field.cqe_prev))
+
+#endif /* sys/queue.h */
diff --git a/package/libxml2/Makefile b/package/libxml2/Makefile
index 76df60864..8c5ee7689 100644
--- a/package/libxml2/Makefile
+++ b/package/libxml2/Makefile
@@ -10,7 +10,8 @@ PKG_MD5SUM:= 9c0cfef285d5c4a5c80d00904ddab380
PKG_DESCR:= XML C parser and toolkit
PKG_SECTION:= libs
PKG_DEPENDS:= zlib
-PKG_BUILDDEP:= autotool gettext-tiny bzip2-host python2-host libxml2-host zlib
+PKG_BUILDDEP:= libxml2-host zlib
+HOST_BUILDDEP:= python2-host
PKG_URL:= http://www.xmlsoft.org/
PKG_SITES:= http://xmlsoft.org/sources/
PKG_OPTS:= dev
diff --git a/package/logrotate/Makefile b/package/logrotate/Makefile
index 32ced2e60..375746034 100644
--- a/package/logrotate/Makefile
+++ b/package/logrotate/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= logrotate
-PKG_VERSION:= 3.7.8
+PKG_VERSION:= 3.8.7
PKG_RELEASE:= 1
-PKG_MD5SUM:= b3589bea6d8d5afc8a84134fddaae973
+PKG_MD5SUM:= 99e08503ef24c3e2e3ff74cc5f3be213
PKG_DESCR:= logfile rotation utility
PKG_SECTION:= misc
PKG_DEPENDS:= libpopt
diff --git a/package/logrotate/patches/patch-Makefile b/package/logrotate/patches/patch-Makefile
index 755e612b1..c2b81fbbc 100644
--- a/package/logrotate/patches/patch-Makefile
+++ b/package/logrotate/patches/patch-Makefile
@@ -1,60 +1,33 @@
---- logrotate-3.7.8.orig/Makefile 2008-05-19 12:25:54.000000000 +0200
-+++ logrotate-3.7.8/Makefile 2011-01-15 23:45:59.000000000 +0100
-@@ -1,10 +1,10 @@
+--- logrotate-3.8.7.orig/Makefile 2013-06-10 13:29:16.000000000 +0200
++++ logrotate-3.8.7/Makefile 2014-03-23 15:16:09.000000000 +0100
+@@ -1,11 +1,11 @@
VERSION = $(shell awk '/Version:/ { print $$2 }' logrotate.spec)
-OS_NAME = $(shell uname -s)
+OS_NAME = Linux
LFS = $(shell echo `getconf LFS_CFLAGS 2>/dev/null`)
--CFLAGS = -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS)
-+CFLAGS ?= -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS)
+ CFLAGS = -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS)
PROG = logrotate
MAN = logrotate.8
+ MAN5 = logrotate.conf.5
-LOADLIBES = -lpopt
+LIBS = -lpopt
SVNURL= svn+ssh://svn.fedorahosted.org/svn/logrotate
SVNPUBURL = http://svn.fedorahosted.org/svn/logrotate
SVNTAG = r$(subst .,-,$(VERSION))
-@@ -68,10 +68,7 @@ MANDIR = $(BASEDIR)/man
- OBJS = logrotate.o log.o config.o basenames.o
- SOURCES = $(subst .o,.c,$(OBJS) $(LIBOBJS))
+@@ -64,7 +64,7 @@ endif
+ # Red Hat Linux
+ ifeq ($(OS_NAME),Linux)
+ INSTALL = install
+- BASEDIR = /usr
++ BASEDIR = $(DESTDIR)/usr
+ endif
--ifeq ($(RPM_OPT_FLAGS),)
--CFLAGS += -g
--LDFLAGS = -g
--endif
-+LDFLAGS ?=
-
- ifeq (.depend,$(wildcard .depend))
- TARGET=$(PROG)
-@@ -84,6 +81,7 @@ RCSVERSION = $(subst .,-,$(VERSION))
- all: $(TARGET)
+ # FreeBSD
+@@ -117,6 +117,7 @@ RCSVERSION = $(subst .,-,$(VERSION))
+ all: $(TARGET) pretest
$(PROG): $(OBJS)
+ $(CC) $(LDFLAGS) -o $(PROG) $^ $(LIBS)
clean:
rm -f $(OBJS) $(PROG) core* .depend
-@@ -96,16 +94,16 @@ test: $(TARGET)
- (cd test; ./test)
-
- install:
-- [ -d $(PREFIX)/$(BINDIR) ] || mkdir -p $(PREFIX)/$(BINDIR)
-- [ -d $(PREFIX)/$(MANDIR) ] || mkdir -p $(PREFIX)/$(MANDIR)
-- [ -d $(PREFIX)/$(MANDIR)/man8 ] || mkdir -p $(PREFIX)/$(MANDIR)/man8
-+ [ -d $(DESTDIR)/$(BINDIR) ] || mkdir -p $(DESTDIR)/$(BINDIR)
-+ [ -d $(DESTDIR)/$(MANDIR) ] || mkdir -p $(DESTDIR)/$(MANDIR)
-+ [ -d $(DESTDIR)/$(MANDIR)/man8 ] || mkdir -p $(DESTDIR)/$(MANDIR)/man8
-
- if [ "$(OS_NAME)" = HP-UX ]; then \
-- $(INSTALL) $(PROG) $(PREFIX)/$(BINDIR) 0755 bin bin; \
-- $(INSTALL) $(MAN) $(PREFIX)/$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"` 0644 bin bin; \
-+ $(INSTALL) $(PROG) $(DESTDIR)/$(BINDIR) 0755 bin bin; \
-+ $(INSTALL) $(MAN) $(DESTDIR)/$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"` 0644 bin bin; \
- else \
-- $(INSTALL) -m 755 $(PROG) $(PREFIX)/$(BINDIR); \
-- $(INSTALL) -m 644 $(MAN) $(PREFIX)/$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"`/$(MAN); \
-+ $(INSTALL) -m 755 $(PROG) $(DESTDIR)/$(BINDIR); \
-+ $(INSTALL) -m 644 $(MAN) $(DESTDIR)/$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"`/$(MAN); \
- fi
-
- co:
diff --git a/package/logrotate/patches/patch-config_c b/package/logrotate/patches/patch-config_c
new file mode 100644
index 000000000..ea58cd4ce
--- /dev/null
+++ b/package/logrotate/patches/patch-config_c
@@ -0,0 +1,8 @@
+--- logrotate-3.8.7.orig/config.c 2013-07-31 13:34:31.000000000 +0200
++++ logrotate-3.8.7/config.c 2014-03-23 15:11:39.000000000 +0100
+@@ -1,4 +1,4 @@
+-#include <sys/queue.h>
++#include "queue.h"
+ /* Alloca is defined in stdlib.h in NetBSD */
+ #ifndef __NetBSD__
+ #include <alloca.h>
diff --git a/package/logrotate/patches/patch-logrotate_c b/package/logrotate/patches/patch-logrotate_c
new file mode 100644
index 000000000..d2ee8dd83
--- /dev/null
+++ b/package/logrotate/patches/patch-logrotate_c
@@ -0,0 +1,8 @@
+--- logrotate-3.8.7.orig/logrotate.c 2013-10-10 10:43:36.000000000 +0200
++++ logrotate-3.8.7/logrotate.c 2014-03-23 15:10:21.000000000 +0100
+@@ -1,4 +1,4 @@
+-#include <sys/queue.h>
++#include "queue.h"
+ /* alloca() is defined in stdlib.h in NetBSD */
+ #ifndef __NetBSD__
+ #include <alloca.h>
diff --git a/package/logrotate/patches/patch-logrotate_h b/package/logrotate/patches/patch-logrotate_h
new file mode 100644
index 000000000..7bc3c06ef
--- /dev/null
+++ b/package/logrotate/patches/patch-logrotate_h
@@ -0,0 +1,11 @@
+--- logrotate-3.8.7.orig/logrotate.h 2013-06-10 13:29:16.000000000 +0200
++++ logrotate-3.8.7/logrotate.h 2014-03-23 15:11:06.000000000 +0100
+@@ -2,7 +2,7 @@
+ #define H_LOGROTATE
+
+ #include <sys/types.h>
+-#include <sys/queue.h>
++#include "queue.h"
+ #include <glob.h>
+
+ #include "config.h"
diff --git a/package/logrotate/src/queue.h b/package/logrotate/src/queue.h
new file mode 100644
index 000000000..daf4553d3
--- /dev/null
+++ b/package/logrotate/src/queue.h
@@ -0,0 +1,574 @@
+/*
+ * Copyright (c) 1991, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)queue.h 8.5 (Berkeley) 8/20/94
+ */
+
+#ifndef _SYS_QUEUE_H_
+#define _SYS_QUEUE_H_
+
+/*
+ * This file defines five types of data structures: singly-linked lists,
+ * lists, simple queues, tail queues, and circular queues.
+ *
+ * A singly-linked list is headed by a single forward pointer. The
+ * elements are singly linked for minimum space and pointer manipulation
+ * overhead at the expense of O(n) removal for arbitrary elements. New
+ * elements can be added to the list after an existing element or at the
+ * head of the list. Elements being removed from the head of the list
+ * should use the explicit macro for this purpose for optimum
+ * efficiency. A singly-linked list may only be traversed in the forward
+ * direction. Singly-linked lists are ideal for applications with large
+ * datasets and few or no removals or for implementing a LIFO queue.
+ *
+ * A list is headed by a single forward pointer (or an array of forward
+ * pointers for a hash table header). The elements are doubly linked
+ * so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before
+ * or after an existing element or at the head of the list. A list
+ * may only be traversed in the forward direction.
+ *
+ * A simple queue is headed by a pair of pointers, one the head of the
+ * list and the other to the tail of the list. The elements are singly
+ * linked to save space, so elements can only be removed from the
+ * head of the list. New elements can be added to the list after
+ * an existing element, at the head of the list, or at the end of the
+ * list. A simple queue may only be traversed in the forward direction.
+ *
+ * A tail queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or
+ * after an existing element, at the head of the list, or at the end of
+ * the list. A tail queue may be traversed in either direction.
+ *
+ * A circle queue is headed by a pair of pointers, one to the head of the
+ * list and the other to the tail of the list. The elements are doubly
+ * linked so that an arbitrary element can be removed without a need to
+ * traverse the list. New elements can be added to the list before or after
+ * an existing element, at the head of the list, or at the end of the list.
+ * A circle queue may be traversed in either direction, but has a more
+ * complex end of list detection.
+ *
+ * For details on the use of these macros, see the queue(3) manual page.
+ */
+
+/*
+ * List definitions.
+ */
+#define LIST_HEAD(name, type) \
+struct name { \
+ struct type *lh_first; /* first element */ \
+}
+
+#define LIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define LIST_ENTRY(type) \
+struct { \
+ struct type *le_next; /* next element */ \
+ struct type **le_prev; /* address of previous next element */ \
+}
+
+/*
+ * List functions.
+ */
+#define LIST_INIT(head) do { \
+ (head)->lh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_AFTER(listelm, elm, field) do { \
+ if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
+ (listelm)->field.le_next->field.le_prev = \
+ &(elm)->field.le_next; \
+ (listelm)->field.le_next = (elm); \
+ (elm)->field.le_prev = &(listelm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.le_prev = (listelm)->field.le_prev; \
+ (elm)->field.le_next = (listelm); \
+ *(listelm)->field.le_prev = (elm); \
+ (listelm)->field.le_prev = &(elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.le_next = (head)->lh_first) != NULL) \
+ (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
+ (head)->lh_first = (elm); \
+ (elm)->field.le_prev = &(head)->lh_first; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_REMOVE(elm, field) do { \
+ if ((elm)->field.le_next != NULL) \
+ (elm)->field.le_next->field.le_prev = \
+ (elm)->field.le_prev; \
+ *(elm)->field.le_prev = (elm)->field.le_next; \
+} while (/*CONSTCOND*/0)
+
+#define LIST_FOREACH(var, head, field) \
+ for ((var) = ((head)->lh_first); \
+ (var); \
+ (var) = ((var)->field.le_next))
+
+/*
+ * List access methods.
+ */
+#define LIST_EMPTY(head) ((head)->lh_first == NULL)
+#define LIST_FIRST(head) ((head)->lh_first)
+#define LIST_NEXT(elm, field) ((elm)->field.le_next)
+
+
+/*
+ * Singly-linked List definitions.
+ */
+#define SLIST_HEAD(name, type) \
+struct name { \
+ struct type *slh_first; /* first element */ \
+}
+
+#define SLIST_HEAD_INITIALIZER(head) \
+ { NULL }
+
+#define SLIST_ENTRY(type) \
+struct { \
+ struct type *sle_next; /* next element */ \
+}
+
+/*
+ * Singly-linked List functions.
+ */
+#define SLIST_INIT(head) do { \
+ (head)->slh_first = NULL; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
+ (elm)->field.sle_next = (slistelm)->field.sle_next; \
+ (slistelm)->field.sle_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.sle_next = (head)->slh_first; \
+ (head)->slh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE_HEAD(head, field) do { \
+ (head)->slh_first = (head)->slh_first->field.sle_next; \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_REMOVE(head, elm, type, field) do { \
+ if ((head)->slh_first == (elm)) { \
+ SLIST_REMOVE_HEAD((head), field); \
+ } \
+ else { \
+ struct type *curelm = (head)->slh_first; \
+ while(curelm->field.sle_next != (elm)) \
+ curelm = curelm->field.sle_next; \
+ curelm->field.sle_next = \
+ curelm->field.sle_next->field.sle_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SLIST_FOREACH(var, head, field) \
+ for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
+
+/*
+ * Singly-linked List access methods.
+ */
+#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
+#define SLIST_FIRST(head) ((head)->slh_first)
+#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
+
+
+/*
+ * Singly-linked Tail queue declarations.
+ */
+#define STAILQ_HEAD(name, type) \
+struct name { \
+ struct type *stqh_first; /* first element */ \
+ struct type **stqh_last; /* addr of last next element */ \
+}
+
+#define STAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).stqh_first }
+
+#define STAILQ_ENTRY(type) \
+struct { \
+ struct type *stqe_next; /* next element */ \
+}
+
+/*
+ * Singly-linked Tail queue functions.
+ */
+#define STAILQ_INIT(head) do { \
+ (head)->stqh_first = NULL; \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (head)->stqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.stqe_next = NULL; \
+ *(head)->stqh_last = (elm); \
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
+ (head)->stqh_last = &(elm)->field.stqe_next; \
+ (listelm)->field.stqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(head)->stqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->stqh_first == (elm)) { \
+ STAILQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->stqh_first; \
+ while (curelm->field.stqe_next != (elm)) \
+ curelm = curelm->field.stqe_next; \
+ if ((curelm->field.stqe_next = \
+ curelm->field.stqe_next->field.stqe_next) == NULL) \
+ (head)->stqh_last = &(curelm)->field.stqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define STAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->stqh_first); \
+ (var); \
+ (var) = ((var)->field.stqe_next))
+
+#define STAILQ_CONCAT(head1, head2) do { \
+ if (!STAILQ_EMPTY((head2))) { \
+ *(head1)->stqh_last = (head2)->stqh_first; \
+ (head1)->stqh_last = (head2)->stqh_last; \
+ STAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Singly-linked Tail queue access methods.
+ */
+#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL)
+#define STAILQ_FIRST(head) ((head)->stqh_first)
+#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
+
+
+/*
+ * Simple queue definitions.
+ */
+#define SIMPLEQ_HEAD(name, type) \
+struct name { \
+ struct type *sqh_first; /* first element */ \
+ struct type **sqh_last; /* addr of last next element */ \
+}
+
+#define SIMPLEQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).sqh_first }
+
+#define SIMPLEQ_ENTRY(type) \
+struct { \
+ struct type *sqe_next; /* next element */ \
+}
+
+/*
+ * Simple queue functions.
+ */
+#define SIMPLEQ_INIT(head) do { \
+ (head)->sqh_first = NULL; \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (head)->sqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.sqe_next = NULL; \
+ *(head)->sqh_last = (elm); \
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
+ (head)->sqh_last = &(elm)->field.sqe_next; \
+ (listelm)->field.sqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE_HEAD(head, field) do { \
+ if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(head)->sqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_REMOVE(head, elm, type, field) do { \
+ if ((head)->sqh_first == (elm)) { \
+ SIMPLEQ_REMOVE_HEAD((head), field); \
+ } else { \
+ struct type *curelm = (head)->sqh_first; \
+ while (curelm->field.sqe_next != (elm)) \
+ curelm = curelm->field.sqe_next; \
+ if ((curelm->field.sqe_next = \
+ curelm->field.sqe_next->field.sqe_next) == NULL) \
+ (head)->sqh_last = &(curelm)->field.sqe_next; \
+ } \
+} while (/*CONSTCOND*/0)
+
+#define SIMPLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->sqh_first); \
+ (var); \
+ (var) = ((var)->field.sqe_next))
+
+/*
+ * Simple queue access methods.
+ */
+#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL)
+#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
+#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
+
+
+/*
+ * Tail queue definitions.
+ */
+#define _TAILQ_HEAD(name, type, qual) \
+struct name { \
+ qual type *tqh_first; /* first element */ \
+ qual type *qual *tqh_last; /* addr of last next element */ \
+}
+#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
+
+#define TAILQ_HEAD_INITIALIZER(head) \
+ { NULL, &(head).tqh_first }
+
+#define _TAILQ_ENTRY(type, qual) \
+struct { \
+ qual type *tqe_next; /* next element */ \
+ qual type *qual *tqe_prev; /* address of previous next element */\
+}
+#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
+
+/*
+ * Tail queue functions.
+ */
+#define TAILQ_INIT(head) do { \
+ (head)->tqh_first = NULL; \
+ (head)->tqh_last = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_HEAD(head, elm, field) do { \
+ if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
+ (head)->tqh_first->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (head)->tqh_first = (elm); \
+ (elm)->field.tqe_prev = &(head)->tqh_first; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.tqe_next = NULL; \
+ (elm)->field.tqe_prev = (head)->tqh_last; \
+ *(head)->tqh_last = (elm); \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
+ (elm)->field.tqe_next->field.tqe_prev = \
+ &(elm)->field.tqe_next; \
+ else \
+ (head)->tqh_last = &(elm)->field.tqe_next; \
+ (listelm)->field.tqe_next = (elm); \
+ (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
+ (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
+ (elm)->field.tqe_next = (listelm); \
+ *(listelm)->field.tqe_prev = (elm); \
+ (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_REMOVE(head, elm, field) do { \
+ if (((elm)->field.tqe_next) != NULL) \
+ (elm)->field.tqe_next->field.tqe_prev = \
+ (elm)->field.tqe_prev; \
+ else \
+ (head)->tqh_last = (elm)->field.tqe_prev; \
+ *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define TAILQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->tqh_first); \
+ (var); \
+ (var) = ((var)->field.tqe_next))
+
+#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
+ for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \
+ (var); \
+ (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
+
+#define TAILQ_CONCAT(head1, head2, field) do { \
+ if (!TAILQ_EMPTY(head2)) { \
+ *(head1)->tqh_last = (head2)->tqh_first; \
+ (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
+ (head1)->tqh_last = (head2)->tqh_last; \
+ TAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
+/*
+ * Tail queue access methods.
+ */
+#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
+#define TAILQ_FIRST(head) ((head)->tqh_first)
+#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
+
+#define TAILQ_LAST(head, headname) \
+ (*(((struct headname *)((head)->tqh_last))->tqh_last))
+#define TAILQ_PREV(elm, headname, field) \
+ (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
+
+
+/*
+ * Circular queue definitions.
+ */
+#define CIRCLEQ_HEAD(name, type) \
+struct name { \
+ struct type *cqh_first; /* first element */ \
+ struct type *cqh_last; /* last element */ \
+}
+
+#define CIRCLEQ_HEAD_INITIALIZER(head) \
+ { (void *)&head, (void *)&head }
+
+#define CIRCLEQ_ENTRY(type) \
+struct { \
+ struct type *cqe_next; /* next element */ \
+ struct type *cqe_prev; /* previous element */ \
+}
+
+/*
+ * Circular queue functions.
+ */
+#define CIRCLEQ_INIT(head) do { \
+ (head)->cqh_first = (void *)(head); \
+ (head)->cqh_last = (void *)(head); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm)->field.cqe_next; \
+ (elm)->field.cqe_prev = (listelm); \
+ if ((listelm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (listelm)->field.cqe_next->field.cqe_prev = (elm); \
+ (listelm)->field.cqe_next = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
+ (elm)->field.cqe_next = (listelm); \
+ (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
+ if ((listelm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (listelm)->field.cqe_prev->field.cqe_next = (elm); \
+ (listelm)->field.cqe_prev = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
+ (elm)->field.cqe_next = (head)->cqh_first; \
+ (elm)->field.cqe_prev = (void *)(head); \
+ if ((head)->cqh_last == (void *)(head)) \
+ (head)->cqh_last = (elm); \
+ else \
+ (head)->cqh_first->field.cqe_prev = (elm); \
+ (head)->cqh_first = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
+ (elm)->field.cqe_next = (void *)(head); \
+ (elm)->field.cqe_prev = (head)->cqh_last; \
+ if ((head)->cqh_first == (void *)(head)) \
+ (head)->cqh_first = (elm); \
+ else \
+ (head)->cqh_last->field.cqe_next = (elm); \
+ (head)->cqh_last = (elm); \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_REMOVE(head, elm, field) do { \
+ if ((elm)->field.cqe_next == (void *)(head)) \
+ (head)->cqh_last = (elm)->field.cqe_prev; \
+ else \
+ (elm)->field.cqe_next->field.cqe_prev = \
+ (elm)->field.cqe_prev; \
+ if ((elm)->field.cqe_prev == (void *)(head)) \
+ (head)->cqh_first = (elm)->field.cqe_next; \
+ else \
+ (elm)->field.cqe_prev->field.cqe_next = \
+ (elm)->field.cqe_next; \
+} while (/*CONSTCOND*/0)
+
+#define CIRCLEQ_FOREACH(var, head, field) \
+ for ((var) = ((head)->cqh_first); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_next))
+
+#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
+ for ((var) = ((head)->cqh_last); \
+ (var) != (const void *)(head); \
+ (var) = ((var)->field.cqe_prev))
+
+/*
+ * Circular queue access methods.
+ */
+#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head))
+#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
+#define CIRCLEQ_LAST(head) ((head)->cqh_last)
+#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
+#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
+
+#define CIRCLEQ_LOOP_NEXT(head, elm, field) \
+ (((elm)->field.cqe_next == (void *)(head)) \
+ ? ((head)->cqh_first) \
+ : (elm->field.cqe_next))
+#define CIRCLEQ_LOOP_PREV(head, elm, field) \
+ (((elm)->field.cqe_prev == (void *)(head)) \
+ ? ((head)->cqh_last) \
+ : (elm->field.cqe_prev))
+
+#endif /* sys/queue.h */
diff --git a/package/lynx/Makefile b/package/lynx/Makefile
index 77cb6ef3e..b15da35e6 100644
--- a/package/lynx/Makefile
+++ b/package/lynx/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= lynx
-PKG_VERSION:= 2.8.7
+PKG_VERSION:= 2.8.8
PKG_RELEASE:= 1
-PKG_MD5SUM:= e36d70f3f09b2d502055ca67f09e363c
+PKG_MD5SUM:= 7caa6773f94e136556c1c30629fe1431
PKG_DESCR:= Standard text browser
PKG_SECTION:= browser
PKG_DEPENDS:= libncurses libopenssl zlib
@@ -17,7 +17,7 @@ PKG_SITES:= http://lynx.isc.org/${PKG_NAME}${PKG_VERSION}/
PKG_NOPARALLEL:= 1
DISTFILES= ${PKG_NAME}${PKG_VERSION}.tar.gz
-WRKDIST= ${WRKDIR}/lynx2-8-7
+WRKDIST= ${WRKDIR}/lynx2-8-8
include ${TOPDIR}/mk/package.mk
diff --git a/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h b/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
index d16953cca..c8217b70e 100644
--- a/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
+++ b/package/lynx/patches/patch-WWW_Library_Implementation_HTUtils_h
@@ -1,6 +1,6 @@
---- lynx2-8-7.orig/WWW/Library/Implementation/HTUtils.h 2009-05-25 23:05:31.000000000 +0200
-+++ lynx2-8-7/WWW/Library/Implementation/HTUtils.h 2010-05-29 12:56:42.125000000 +0200
-@@ -677,6 +677,8 @@ extern int WWW_TraceMask;
+--- lynx2-8-8.orig/WWW/Library/Implementation/HTUtils.h 2014-02-05 01:50:18.000000000 +0100
++++ lynx2-8-8/WWW/Library/Implementation/HTUtils.h 2014-03-21 22:14:07.000000000 +0100
+@@ -725,6 +725,8 @@ extern int WWW_TraceMask;
#define SHORTENED_RBIND /* FIXME: do this in configure-script */
@@ -9,15 +9,15 @@
#ifdef USE_SSL
#define free_func free__func
-@@ -717,6 +719,7 @@ extern int WWW_TraceMask;
+@@ -765,6 +767,7 @@ extern int WWW_TraceMask;
#undef free_func
#endif /* USE_SSL */
+#endif
- #ifdef HAVE_LIBDMALLOC
- #include <dmalloc.h> /* Gray Watson's library */
-@@ -747,11 +750,14 @@ extern "C" {
+ #ifdef HAVE_BSD_STDLIB_H
+ #include <bsd/stdlib.h> /* prototype for arc4random.h */
+@@ -801,11 +804,14 @@ extern "C" {
extern FILE *TraceFP(void);
diff --git a/package/lynx/patches/patch-makefile_in b/package/lynx/patches/patch-makefile_in
new file mode 100644
index 000000000..5cb6b5962
--- /dev/null
+++ b/package/lynx/patches/patch-makefile_in
@@ -0,0 +1,11 @@
+--- lynx2-8-8.orig/makefile.in 2014-03-09 22:43:10.000000000 +0100
++++ lynx2-8-8/makefile.in 2014-03-21 23:17:26.000000000 +0100
+@@ -210,7 +210,7 @@ SRC_CFLAGS = \
+ WWWINC=$(WWW_DIR) \
+ WWWLIB="../$(WWW_DIR)/libwww.a"
+
+-actual_PROG = `echo lynx| sed '$(transform)'`
++actual_PROG = lynx
+ binary_PROG = $(actual_PROG)$x
+
+ all lynx$x: cfg_defs.h LYHelp.h
diff --git a/package/lynx/patches/patch-src_chrtrans_makeuctb_c b/package/lynx/patches/patch-src_chrtrans_makeuctb_c
index 9f23671e7..9972a6f8c 100644
--- a/package/lynx/patches/patch-src_chrtrans_makeuctb_c
+++ b/package/lynx/patches/patch-src_chrtrans_makeuctb_c
@@ -1,23 +1,10 @@
---- lynx2-8-7.orig/src/chrtrans/makeuctb.c 2009-02-02 02:41:02.000000000 +0100
-+++ lynx2-8-7/src/chrtrans/makeuctb.c 2010-05-29 12:55:33.031250000 +0200
-@@ -18,6 +18,7 @@
- * version 2, or at your option any later version.
- */
-
-+
- #ifndef HAVE_CONFIG_H
- /* override HTUtils.h fallbacks for cross-compiling */
- #undef HAVE_LSTAT
-@@ -28,10 +29,12 @@
+--- lynx2-8-8.orig/src/chrtrans/makeuctb.c 2013-11-29 01:52:56.000000000 +0100
++++ lynx2-8-8/src/chrtrans/makeuctb.c 2014-03-21 22:12:13.000000000 +0100
+@@ -28,6 +28,7 @@
#define DONT_USE_GETTEXT
#define DONT_USE_SOCKS5
+#define DONT_USE_SSL
#include <UCDefs.h>
#include <UCkd.h>
- #include <LYUtils.h>
-+
- /*
- * Don't try to use LYexit() since this is a standalone file.
- */
diff --git a/package/moc/Makefile b/package/moc/Makefile
index 11bc9243c..797e76b06 100644
--- a/package/moc/Makefile
+++ b/package/moc/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= moc
-PKG_VERSION:= 2.5.0-beta1
+PKG_VERSION:= 2.5.0-beta2
PKG_RELEASE:= 1
-PKG_MD5SUM:= 795ecba86847e082aa2f21937cc04804
+PKG_MD5SUM:= da87b90b57934234589b63e347921458
PKG_DESCR:= console music player
PKG_SECTION:= multimedia
PKG_DEPENDS:= libmad libvorbis libcurl libflac
@@ -22,6 +22,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,MOC,moc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
TARGET_LDFLAGS+= -ltinfo
CONFIGURE_ARGS+= --without-jack \
--without-oss \
diff --git a/package/mpg123/Makefile b/package/mpg123/Makefile
index 350a7a097..0fdbe17b4 100644
--- a/package/mpg123/Makefile
+++ b/package/mpg123/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= mpg123
-PKG_VERSION:= 1.13.3
+PKG_VERSION:= 1.19.0
PKG_RELEASE:= 1
-PKG_MD5SUM:= b1f990ce76dcf2fdf9d53ac39fc6bc7e
+PKG_MD5SUM:= 87731f1437cfd8c50537a606d81130e4
PKG_DESCR:= mp3 console player
PKG_SECTION:= multimedia
PKG_DEPENDS:= libpthread alsa-lib
diff --git a/package/ntfs-3g/Makefile b/package/ntfs-3g/Makefile
index 5151bfd21..b893cdb53 100644
--- a/package/ntfs-3g/Makefile
+++ b/package/ntfs-3g/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= ntfs-3g
-PKG_VERSION:= 2013.1.13
+PKG_VERSION:= 2014.2.15
PKG_RELEASE:= 1
-PKG_MD5SUM:= 2d6fb47ddf62b51733227126fe9227fe
+PKG_MD5SUM:= f11d563816249d730a00498983485f3a
PKG_DESCR:= ntfs filesystem driver
PKG_SECTION:= fs
PKG_DEPENDS:= kmod-fuse-fs
diff --git a/package/ntfs-3g/patches/patch-libfuse-lite_fusermount_c b/package/ntfs-3g/patches/patch-libfuse-lite_fusermount_c
new file mode 100644
index 000000000..eb11b0bf0
--- /dev/null
+++ b/package/ntfs-3g/patches/patch-libfuse-lite_fusermount_c
@@ -0,0 +1,10 @@
+--- ntfs-3g_ntfsprogs-2014.2.15.orig/libfuse-lite/fusermount.c 2014-02-15 15:07:52.000000000 +0100
++++ ntfs-3g_ntfsprogs-2014.2.15/libfuse-lite/fusermount.c 2014-03-23 09:53:10.000000000 +0100
+@@ -18,6 +18,7 @@
+ #include <getopt.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <paths.h>
+ #include <pwd.h>
+
+ #ifdef __SOLARIS__
diff --git a/package/ntfs-3g/patches/patch-libfuse-lite_mount_util_c b/package/ntfs-3g/patches/patch-libfuse-lite_mount_util_c
new file mode 100644
index 000000000..1a3d8e8c5
--- /dev/null
+++ b/package/ntfs-3g/patches/patch-libfuse-lite_mount_util_c
@@ -0,0 +1,10 @@
+--- ntfs-3g_ntfsprogs-2014.2.15.orig/libfuse-lite/mount_util.c 2014-02-15 15:07:52.000000000 +0100
++++ ntfs-3g_ntfsprogs-2014.2.15/libfuse-lite/mount_util.c 2014-03-23 09:54:19.000000000 +0100
+@@ -12,6 +12,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <paths.h>
+ #include <dirent.h>
+ #include <errno.h>
+ #include <limits.h>
diff --git a/package/python3/Makefile b/package/python3/Makefile
index 3d7158443..e939a9155 100644
--- a/package/python3/Makefile
+++ b/package/python3/Makefile
@@ -4,15 +4,16 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= python3
-PKG_VERSION:= 3.3.2
-PKG_RELEASE:= 3
-PKG_MD5SUM:= 0a2ea57f6184baf45b150aee53c0c8da
+PKG_VERSION:= 3.4.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 77c22725e14af3d71022cbfdebff4903
PKG_DESCR:= Python scripting language (Version 3)
PKG_SECTION:= lang
PKG_DEPENDS:= libpthread libgcc libffi
PKG_BUILDDEP:= python3-host libffi
+HOST_BUILDDEP:= libffi-host
PKG_URL:= http://www.python.org/
-PKG_SITES:= http://www.python.org/ftp/python/${PKG_VERSION}/
+PKG_SITES:= http://legacy.python.org/ftp/python/${PKG_VERSION}/
PKG_HOST_DEPENDS:= !netbsd !openbsd !cygwin
@@ -44,7 +45,7 @@ PKGFD_MOD_SSL:= OpenSSL support
PKGFB_MOD_SSL:= openssl
PKGFS_MOD_SSL:= libopenssl
-DISTFILES= Python-${PKG_VERSION}.tgz
+DISTFILES= Python-${PKG_VERSION}.tar.xz
WRKDIST= ${WRKDIR}/Python-${PKG_VERSION}
include ${TOPDIR}/mk/host.mk
@@ -55,9 +56,9 @@ define PKG_mod_template
INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
${2}-install:
- ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python3.3/lib-dynload
+ ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python3.4/lib-dynload
for m in ${2}; do \
- ${INSTALL_DATA} $(WRKINST)/usr/lib/python3.3/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.3/lib-dynload ;\
+ ${INSTALL_DATA} $(WRKINST)/usr/lib/python3.4/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python3.4/lib-dynload ;\
done
endef
@@ -84,6 +85,7 @@ $(eval $(call PKG_mod_template,PYTHON3_MOD_SSL,_ssl))
$(eval $(call PKG_mod_template,PYTHON3_MOD_READLINE,readline))
MAKE_ENV+= HOSTPGEN=$(STAGING_HOST_DIR)/usr/bin/pgen3
+FAKE_FLAGS+= ENSUREPIP=no
CONFIGURE_ARGS:= --with-threads \
--with-system-ffi \
--with-system-expat \
@@ -97,21 +99,21 @@ HOST_STYLE:= auto
HOST_CONFIGURE_ARGS+= --without-cxx-main \
--with-threads
-hostpost-install:
- $(INSTALL_BIN) ${WRKBUILD}/Parser/pgen \
- $(STAGING_HOST_DIR)/usr/bin/pgen3
+#hostpost-install:
+# $(INSTALL_BIN) ${WRKBUILD}/Parser/pgen \
+# $(STAGING_HOST_DIR)/usr/bin/pgen3
python3-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
${INSTALL_DIR} ${IDIR_PYTHON3}/usr/bin ${IDIR_PYTHON3}/usr/lib
- ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/lib/python3.3
- ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/include/python3.3m
+ ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/lib/python3.4
+ ${INSTALL_DIR} ${IDIR_PYTHON3}/usr/include/python3.4m
${INSTALL_BIN} ${WRKINST}/usr/bin/python3 ${IDIR_PYTHON3}/usr/bin
${CP} ${WRKINST}/usr/lib/libpython*.so* ${IDIR_PYTHON3}/usr/lib
- ${CP} ${WRKINST}/usr/lib/python3.3/* ${IDIR_PYTHON3}/usr/lib/python3.3
- ${CP} ${WRKINST}/usr/include/python3.3m/pyconfig.h \
- ${IDIR_PYTHON3}/usr/include/python3.3m
+ ${CP} ${WRKINST}/usr/lib/python3.4/* ${IDIR_PYTHON3}/usr/lib/python3.4
+ ${CP} ${WRKINST}/usr/include/python3.4m/pyconfig.h \
+ ${IDIR_PYTHON3}/usr/include/python3.4m
@-for i in zlib _bz2 _curses _ssl _gdbm _sqlite pyexpat readline; do \
- rm ${IDIR_PYTHON3}/usr/lib/python3.3/lib-dynload/$${i}*so; \
+ rm ${IDIR_PYTHON3}/usr/lib/python3.4/lib-dynload/$${i}*so; \
done
include ${TOPDIR}/mk/host-bottom.mk
diff --git a/package/python3/patches/patch-Makefile_pre_in b/package/python3/patches/patch-Makefile_pre_in
deleted file mode 100644
index 5a4077eba..000000000
--- a/package/python3/patches/patch-Makefile_pre_in
+++ /dev/null
@@ -1,70 +0,0 @@
---- Python-3.3.2.orig/Makefile.pre.in 2013-05-15 18:32:57.000000000 +0200
-+++ Python-3.3.2/Makefile.pre.in 2013-10-29 07:56:46.000000000 +0100
-@@ -70,9 +70,9 @@ MAKESETUP= $(srcdir)/Modules/makese
- OPT= @OPT@
- BASECFLAGS= @BASECFLAGS@
- BASECPPFLAGS= @BASECPPFLAGS@
--CONFIGURE_CFLAGS= @CFLAGS@
--CONFIGURE_CPPFLAGS= @CPPFLAGS@
--CONFIGURE_LDFLAGS= @LDFLAGS@
-+CONFIGURE_CFLAGS=
-+CONFIGURE_CPPFLAGS=
-+CONFIGURE_LDFLAGS=
- # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
- # command line to append to these values without stomping the pre-set
- # values.
-@@ -249,6 +249,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@
- ##########################################################################
- # Parser
- PGEN= Parser/pgen$(EXE)
-+HOSTPGEN?= ./Parser/pgen$(EXE)
-
- PSRCS= \
- Parser/acceler.c \
-@@ -493,7 +494,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.tx
- *) quiet="";; \
- esac; \
- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
-- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py build
-
- # Build static library
- # avoid long command lines, same as LIBRARY_OBJS
-@@ -669,7 +670,7 @@ $(IO_OBJS): $(IO_H)
- $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
- @$(MKDIR_P) Include
- $(MAKE) $(PGEN)
-- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-+ $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
- $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
- $(MAKE) $(GRAMMAR_H)
- touch $(GRAMMAR_C)
-@@ -1112,28 +1113,6 @@ libinstall: build_all $(srcdir)/Lib/$(PL
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-- -d $(LIBDEST) -f \
-- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
-- $(DESTDIR)$(LIBDEST)
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
-- -d $(LIBDEST) -f \
-- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
-- $(DESTDIR)$(LIBDEST)
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-- -d $(LIBDEST)/site-packages -f \
-- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
-- -d $(LIBDEST)/site-packages -f \
-- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
-
- # Create the PLATDIR source directory, if one wasn't distributed..
- $(srcdir)/Lib/$(PLATDIR):
diff --git a/package/python3/patches/patch-Modules_posixmodule_c b/package/python3/patches/patch-Modules_posixmodule_c
deleted file mode 100644
index 537958513..000000000
--- a/package/python3/patches/patch-Modules_posixmodule_c
+++ /dev/null
@@ -1,20 +0,0 @@
---- Python-3.3.2.orig/Modules/posixmodule.c 2013-05-15 18:32:59.000000000 +0200
-+++ Python-3.3.2/Modules/posixmodule.c 2014-01-06 18:59:54.000000000 +0100
-@@ -7679,7 +7679,7 @@ PyDoc_STRVAR(posix_close__doc__,
- Close a file descriptor (for low level IO).");
-
- static PyObject *
--posix_close(PyObject *self, PyObject *args)
-+posix_pyclose(PyObject *self, PyObject *args)
- {
- int fd, res;
- if (!PyArg_ParseTuple(args, "i:close", &fd))
-@@ -11082,7 +11082,7 @@ static PyMethodDef posix_methods[] = {
- {"open", (PyCFunction)posix_open,\
- METH_VARARGS | METH_KEYWORDS,
- posix_open__doc__},
-- {"close", posix_close, METH_VARARGS, posix_close__doc__},
-+ {"close", posix_pyclose, METH_VARARGS, posix_close__doc__},
- {"closerange", posix_closerange, METH_VARARGS, posix_closerange__doc__},
- {"device_encoding", device_encoding, METH_VARARGS, device_encoding__doc__},
- {"dup", posix_dup, METH_VARARGS, posix_dup__doc__},
diff --git a/package/rrdcollect/Makefile b/package/rrdcollect/Makefile
index c437d5399..39a4d3b2a 100644
--- a/package/rrdcollect/Makefile
+++ b/package/rrdcollect/Makefile
@@ -4,15 +4,17 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= rrdcollect
-PKG_VERSION:= 0.2.9
+PKG_VERSION:= 0.2.10
PKG_RELEASE:= 1
-PKG_MD5SUM:= 1e94eb0f8d55ebf0f042c10baebc2d3d
+PKG_MD5SUM:= 138e21fc9f2de0b8b6c89f1506394ef8
PKG_DESCR:= Round-Robin Database (RRD) collecting daemon
PKG_SECTION:= admin
PKG_DEPENDS:= librrd
PKG_BUILDDEP:= rrdtool
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=rrdcollect/}
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+
ifneq (${ADK_PACKAGE_LIBRRD},)
RRDTOOL_LIBS:= -lart_lgpl_2 -lfreetype -lpng
endif
@@ -25,8 +27,8 @@ CONFIGURE_ENV+= LIBS="${RRDTOOL_LIBS} -lz" \
ac_cv_func_malloc_0_nonnull=yes
CONFIGURE_ARGS+= --enable-exec \
--without-rrdtool \
- --with-librrd \
- --without-libpcre
+ --without-libpcre \
+ --with-librrd
TARGET_CPPFLAGS+= -DSOCKET_COMM
rrdcollect-install:
diff --git a/package/scons/Makefile b/package/scons/Makefile
index d379eb8a4..5f2e3b7c3 100644
--- a/package/scons/Makefile
+++ b/package/scons/Makefile
@@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= scons
PKG_VERSION:= 2.3.0
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 083ce5624d6adcbdaf2526623f456ca9
PKG_DESCR:= a software construction tool
PKG_SECTION:= lang
-HOST_BUILDDEP:= bzip2-host python2-host
+HOST_BUILDDEP:= python2-host
PKG_URL:= http://www.scons.org
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=scons/}
@@ -23,7 +23,8 @@ $(eval $(call HOST_template,SCONS,scons,$(PKG_VERSION)-${PKG_RELEASE}))
HOST_STYLE:= manual
scons-hostinstall:
- (cd $(WRKBUILD); PATH='$(TARGET_PATH)' python setup.py install --prefix=$(STAGING_HOST_DIR)/)
+ (cd $(WRKBUILD); PATH='$(HOST_PATH)' python setup.py install \
+ --prefix=$(STAGING_HOST_DIR)/usr)
include ${TOPDIR}/mk/host-bottom.mk
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/shat/Makefile b/package/shat/Makefile
index a28087c75..3bc6fc9ff 100644
--- a/package/shat/Makefile
+++ b/package/shat/Makefile
@@ -7,10 +7,12 @@ PKG_NAME:= shat
PKG_VERSION:= 0.9.7
PKG_RELEASE:= 1
PKG_MD5SUM:= da06846f35838b14d1513523dad84d24
-PKG_DESCR:= Source Hardware Address Translation - a tool for nomadic routing
+PKG_DESCR:= a tool for nomadic routing
PKG_SECTION:= net/misc
PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=shat/}
+PKG_LIBC_DEPENDS:= uclibc glibc
+
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,SHAT,shat,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
diff --git a/package/socat/Makefile b/package/socat/Makefile
index 4969a6d85..9311ddbcb 100644
--- a/package/socat/Makefile
+++ b/package/socat/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= socat
-PKG_VERSION:= 1.7.2.3
+PKG_VERSION:= 1.7.2.4
PKG_RELEASE:= 1
-PKG_MD5SUM:= 6943f7a5e1ffd553ad2a900bbf05b83a
+PKG_MD5SUM:= 2a15dc3362f49d543abdbacc267d0a41
PKG_DESCR:= A multipurpose relay (SOcket CAT)
PKG_SECTION:= net/misc
PKG_DEPENDS:= libpthread
@@ -22,7 +22,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,SOCAT,socat,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-CONFIGURE_ENV+= sc_cv_termios_ispeed="no" \
+CONFIGURE_ENV+= sc_cv_termios_ispeed=no \
sc_cv_sys_crdly_shift=9 \
sc_cv_sys_tabdly_shift=11 \
sc_cv_sys_csize_shift=4
diff --git a/package/socat/patches/501-honor_ldflags.patch b/package/socat/patches/patch-Makefile_in
index 87c777067..e8e979607 100644
--- a/package/socat/patches/501-honor_ldflags.patch
+++ b/package/socat/patches/patch-Makefile_in
@@ -1,6 +1,5 @@
-diff -ruN socat-1.4-old/Makefile.in socat-1.4-new/Makefile.in
---- socat-1.7.2.2.orig/Makefile.in 2011-12-06 08:45:03.000000000 +0100
-+++ socat-1.7.2.2/Makefile.in 2013-12-24 16:37:21.000000000 +0100
+--- socat-1.7.2.4.orig/Makefile.in 2014-03-09 15:48:44.000000000 +0100
++++ socat-1.7.2.4/Makefile.in 2014-03-22 12:13:46.000000000 +0100
@@ -38,7 +38,8 @@ INSTALL = @INSTALL@
#0 CFLAGS = @CFLAGS@ $(CCOPTS) $(DEFS) $(INCLS)
diff --git a/package/socat/patches/patch-configure b/package/socat/patches/patch-configure
new file mode 100644
index 000000000..75b014290
--- /dev/null
+++ b/package/socat/patches/patch-configure
@@ -0,0 +1,23 @@
+--- socat-1.7.2.4.orig/configure 2014-03-09 20:57:51.000000000 +0100
++++ socat-1.7.2.4/configure 2014-03-22 12:20:13.000000000 +0100
+@@ -3347,18 +3347,8 @@ fi
+ # fail
+
+
+-
+-if test "$CC" = "gcc"; then
+- CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
+- ERRONWARN="-Werror -O0"
+-elif test "$CC" = "clang"; then
+- CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
+- ERRONWARN="-Werror -O0"
+-#elif Sun Studio
+-# ERRONWARN="-errwarn"
+-else
+- ERRONWARN=
+-fi
++CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
++ERRONWARN="-Werror -O0"
+ export CFLAGS
+
+
diff --git a/package/vlc/Makefile b/package/vlc/Makefile
index 67f0ec763..74ab64ef7 100644
--- a/package/vlc/Makefile
+++ b/package/vlc/Makefile
@@ -4,10 +4,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= vlc
-PKG_VERSION:= 2.1.1
+PKG_VERSION:= 2.1.4
PKG_RELEASE:= 1
-PKG_MD5SUM:= 1331cd853d56762c96afcb92dd498348
-PKG_DESCR:= Media Player
+PKG_MD5SUM:= 7ed67d22f7425011078772bfc62ac222
+PKG_DESCR:= popular media player
PKG_SECTION:= multimedia
PKG_BUILDDEP:= ffmpeg xcb-util libtheora libgcrypt libmad
PKG_DEPENDS:= libffmpeg xcb-util libtheora libgcrypt
@@ -23,6 +23,7 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,VLC,vlc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CPPFLAGS+= -D_GNU_SOURCE -D_POSIX_SOURCE
TARGET_CFLAGS+= -fPIC
CONFIGURE_ENV+= ac_cv_func_sched_getaffinity=no
CONFIGURE_ARGS+= --disable-lua \
diff --git a/package/vlc/patches/patch-modules_text_renderer_freetype_c b/package/vlc/patches/patch-modules_text_renderer_freetype_c
deleted file mode 100644
index 0c25fcfdf..000000000
--- a/package/vlc/patches/patch-modules_text_renderer_freetype_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- vlc-2.1.1.orig/modules/text_renderer/freetype.c 2013-09-12 17:18:34.000000000 +0200
-+++ vlc-2.1.1/modules/text_renderer/freetype.c 2013-12-10 10:13:38.000000000 +0100
-@@ -90,7 +90,7 @@
- #endif
-
- /* Freetype */
--#include <freetype/ftsynth.h>
-+#include <ftsynth.h>
- #include FT_FREETYPE_H
- #include FT_GLYPH_H
- #include FT_STROKER_H
diff --git a/package/watchdog/Makefile b/package/watchdog/Makefile
index a4c6d44a5..a8486dd6a 100644
--- a/package/watchdog/Makefile
+++ b/package/watchdog/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME:= watchdog
-PKG_VERSION:= 5.7
-PKG_RELEASE:= 3
-PKG_MD5SUM:= 31766450ecfc9aff70fe966c0b9df06d
+PKG_VERSION:= 5.13
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 153455f008f1cf8f65f6ad9586a21ff1
PKG_DESCR:= watchdog daemon
PKG_SECTION:= utils
PKG_DEPENDS:= libtirpc
@@ -17,6 +17,7 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,WATCHDOG,watchdog,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+TARGET_CPPFLAGS+= -D_GNU_SOURCE
TARGET_CFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include/tirpc
TARGET_LDFLAGS+= -ltirpc
diff --git a/package/watchdog/patches/patch-include_extern_h b/package/watchdog/patches/patch-include_extern_h
new file mode 100644
index 000000000..aea373525
--- /dev/null
+++ b/package/watchdog/patches/patch-include_extern_h
@@ -0,0 +1,9 @@
+--- watchdog-5.13.orig/include/extern.h 2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/include/extern.h 2014-03-22 15:41:57.000000000 +0100
+@@ -1,5 +1,6 @@
+ #include <netinet/in.h>
+ #include <stdio.h>
++#include <time.h>
+
+ /* external variables */
+ extern int softboot, watchdog, temp, maxtemp, tint, lastts, nrts;
diff --git a/package/watchdog/patches/patch-src_memory_c b/package/watchdog/patches/patch-src_memory_c
new file mode 100644
index 000000000..06540812e
--- /dev/null
+++ b/package/watchdog/patches/patch-src_memory_c
@@ -0,0 +1,11 @@
+--- watchdog-5.13.orig/src/memory.c 2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/src/memory.c 2014-03-22 16:07:15.000000000 +0100
+@@ -81,7 +81,7 @@ int check_memory(void)
+ syslog(LOG_INFO, "currently there are %d kB of free memory available", free);
+ #endif /* USE_SYSLOG */
+
+- if (free < minpages * (EXEC_PAGESIZE / 1024)) {
++ if (free < minpages * (4096 / 1024)) {
+ #if USE_SYSLOG
+ syslog(LOG_ERR, "memory %d kB is less than %d pages", free, minpages);
+ #endif /* USE_SYSLOG */
diff --git a/package/watchdog/patches/patch-src_mntent_c b/package/watchdog/patches/patch-src_mntent_c
deleted file mode 100644
index f2277bdbf..000000000
--- a/package/watchdog/patches/patch-src_mntent_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- watchdog-5.7.orig/src/mntent.c 2010-01-06 13:42:08.000000000 +0100
-+++ watchdog-5.7/src/mntent.c 2010-02-06 04:39:34.804334839 +0100
-@@ -157,7 +157,7 @@ my_getmntent (mntFILE *mfp) {
- if (fgets (buf, sizeof(buf), mfp->mntent_fp) == NULL)
- return NULL;
-
-- s = index (buf, '\n');
-+ s = strchr (buf, '\n');
- if (s == NULL) {
- /* extremely long line - assume file was corrupted */
- mfp->mntent_errs = 1;
diff --git a/package/watchdog/patches/patch-src_net_c b/package/watchdog/patches/patch-src_net_c
new file mode 100644
index 000000000..da56cf791
--- /dev/null
+++ b/package/watchdog/patches/patch-src_net_c
@@ -0,0 +1,10 @@
+--- watchdog-5.13.orig/src/net.c 2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/src/net.c 2014-03-22 16:18:27.000000000 +0100
+@@ -6,6 +6,7 @@
+
+ #include <errno.h>
+ #include <sys/time.h>
++#include <sys/types.h>
+ #include <netinet/ip.h>
+ #include <netinet/ip_icmp.h>
+
diff --git a/package/watchdog/patches/patch-src_shutdown_c b/package/watchdog/patches/patch-src_shutdown_c
new file mode 100644
index 000000000..90ba0ee3c
--- /dev/null
+++ b/package/watchdog/patches/patch-src_shutdown_c
@@ -0,0 +1,18 @@
+--- watchdog-5.13.orig/src/shutdown.c 2013-02-01 12:15:44.000000000 +0100
++++ watchdog-5.13/src/shutdown.c 2014-03-22 16:29:44.000000000 +0100
+@@ -186,6 +186,7 @@ static void mnt_off()
+ FILE *fp;
+ struct mntent *mnt;
+
++#if defined __GLIBC__
+ fp = setmntent(MNTTAB, "r");
+ /* in some rare cases fp might be NULL so be careful */
+ while (fp != NULL && ((mnt = getmntent(fp)) != (struct mntent *) 0)) {
+@@ -241,6 +242,7 @@ static void mnt_off()
+ #endif
+ }
+ endmntent(fp);
++#endif
+ }
+
+ /* Parts of the following two functions are taken from Miquel van */
diff --git a/package/watchdog/patches/patch-src_umount_c b/package/watchdog/patches/patch-src_umount_c
deleted file mode 100644
index 6b5a82c1f..000000000
--- a/package/watchdog/patches/patch-src_umount_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- watchdog-5.7.orig/src/umount.c 2010-01-06 13:42:08.000000000 +0100
-+++ watchdog-5.7/src/umount.c 2010-02-06 04:39:47.664334843 +0100
-@@ -212,7 +212,7 @@ umount_one (const char *spec, const char
- if (res < 0)
- umnt_err2 = errno;
- /* Do not complain about remote NFS mount points */
-- if (errno == ENOENT && index(spec, ':'))
-+ if (errno == ENOENT && strchr(spec, ':'))
- umnt_err2 = 0;
- }
- }
diff --git a/package/xbmc/Makefile b/package/xbmc/Makefile
index fed181d92..e8fc5cc40 100644
--- a/package/xbmc/Makefile
+++ b/package/xbmc/Makefile
@@ -69,6 +69,7 @@ CONFIGURE_ARGS+= --disable-optical-drive \
--enable-libbluray \
--enable-external-libraries \
--enable-rtmp \
+ --enable-libcec \
--disable-libusb \
--disable-libcap \
--disable-sdl \
diff --git a/package/xf86-video-fbdev/Makefile b/package/xf86-video-fbdev/Makefile
index cf24b3358..b14e8eaa8 100644
--- a/package/xf86-video-fbdev/Makefile
+++ b/package/xf86-video-fbdev/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xf86-video-fbdev
-PKG_VERSION:= 0.4.2
+PKG_VERSION:= 0.4.4
PKG_RELEASE:= 1
-PKG_MD5SUM:= a94011aac77eb9cd6d46bf0af0dbc631
+PKG_MD5SUM:= 2b5e6dd218243cf96c1a4090596a6bba
PKG_DESCR:= X11 driver for Linux Framebuffer devices
PKG_SECTION:= x11/drivers
PKG_DEPENDS:= xorg-server
diff --git a/package/xinetd/Makefile b/package/xinetd/Makefile
index 42e3f7b83..deae22563 100644
--- a/package/xinetd/Makefile
+++ b/package/xinetd/Makefile
@@ -4,18 +4,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xinetd
-PKG_VERSION:= 2.3.14
+PKG_VERSION:= 2.3.15
PKG_RELEASE:= 1
-PKG_MD5SUM:= 567382d7972613090215c6c54f9b82d9
+PKG_MD5SUM:= 77358478fd58efa6366accae99b8b04c
PKG_DESCR:= a powerful and secure superserver
PKG_SECTION:= net/misc
PKG_URL:= http://www.xinetd.org/
-PKG_SITES:= http://www.xinetd.org/
+PKG_SITES:= ftp://mirror.ovh.net/gentoo-distfiles/distfiles/
include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,XINETD,xinetd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+CONFIGURE_ENV+= xinetd_cv_type_rlim_t=yes
CONFIGURE_ARGS+= --without-libwrap \
--with-loadavg
ALL_TARGET:= build
diff --git a/package/xinetd/patches/patch-Makefile_in b/package/xinetd/patches/patch-Makefile_in
index a89962c2e..bfc02b9ab 100644
--- a/package/xinetd/patches/patch-Makefile_in
+++ b/package/xinetd/patches/patch-Makefile_in
@@ -1,14 +1,5 @@
---- xinetd-2.3.14.orig/Makefile.in 2003-08-15 16:00:45.000000000 +0200
-+++ xinetd-2.3.14/Makefile.in 2011-01-22 20:53:07.924898364 +0100
-@@ -14,7 +14,7 @@ topdir = @top_srcdir@
-
- LIBS = -lsio -lstr -lmisc -lxlog -lportable -lpset @LIBS@
-
--CFLAGS += @CFLAGS@
-+CFLAGS = @CFLAGS@
- DCFLAGS = -Wall -Wredundant-decls -W -Wfloat-equal -Wundef -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Wmissing-format-attribute -Wshadow -Wpointer-arith -g
-
-
+--- xinetd-2.3.15.orig/Makefile.in 2007-09-20 19:01:52.000000000 +0200
++++ xinetd-2.3.15/Makefile.in 2014-03-23 22:50:01.000000000 +0100
@@ -75,15 +75,15 @@ dlibxlog: dlibsio dlibstr
install: build
diff --git a/package/xinetd/patches/patch-xinetd_confparse_c b/package/xinetd/patches/patch-xinetd_confparse_c
new file mode 100644
index 000000000..e6aa32e68
--- /dev/null
+++ b/package/xinetd/patches/patch-xinetd_confparse_c
@@ -0,0 +1,18 @@
+--- xinetd-2.3.15.orig/xinetd/confparse.c 2007-09-20 16:58:27.000000000 +0200
++++ xinetd-2.3.15/xinetd/confparse.c 2014-03-23 22:39:37.000000000 +0100
+@@ -746,6 +746,7 @@ static status_e check_entry( struct serv
+ }
+
+ /* #ifndef NO_RPC */
++#if 0
+ #if defined(HAVE_RPC_RPCENT_H) || defined(HAVE_NETDB_H)
+ if ( SC_IS_RPC( scp ) && !SC_IS_UNLISTED( scp ) )
+ {
+@@ -760,6 +761,7 @@ static status_e check_entry( struct serv
+ }
+ else
+ #endif /* ! NO_RPC */
++#endif
+ {
+ if ( !SC_IS_UNLISTED( scp ) )
+ {
diff --git a/package/xterm/Makefile b/package/xterm/Makefile
index 10bfaf21a..6575fae60 100644
--- a/package/xterm/Makefile
+++ b/package/xterm/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= xterm
-PKG_VERSION:= 297
-PKG_RELEASE:= 2
-PKG_MD5SUM:= 45610ae6fe90cf086fcd75b9cb97bbaf
+PKG_VERSION:= 303
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 48f6d49b2b6b6933d501d767cbed9254
PKG_DESCR:= Terminal Emulator for X Windows
PKG_SECTION:= x11/apps
PKG_DEPENDS:= libxaw libxt libncurses libxft fontconfig