mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-02 15:37:49 +00:00
Merge remote branch 'upstream/openelec-eden' into Fusion64
This commit is contained in:
commit
7afe5dd773
@ -19,7 +19,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="lzo"
|
PKG_NAME="lzo"
|
||||||
PKG_VERSION="2.04"
|
PKG_VERSION="2.06"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -1,377 +0,0 @@
|
|||||||
The lzo tarball only contains an aclocal.m4, which is the result from
|
|
||||||
running aclocal. Unfortunately, it lacks the acinclude.m4 file which
|
|
||||||
would allow us to do an autoreconf of the package. Therefore, this
|
|
||||||
patch extracts from aclocal.m4 the parts that are specific to this lzo
|
|
||||||
package, and put them into an acinclude.m4 so that autoreconf on this
|
|
||||||
package will work.
|
|
||||||
|
|
||||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
||||||
---
|
|
||||||
acinclude.m4 | 360 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 360 insertions(+)
|
|
||||||
|
|
||||||
Index: lzo-2.03/acinclude.m4
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ lzo-2.03/acinclude.m4
|
|
||||||
@@ -0,0 +1,360 @@
|
|
||||||
+# /***********************************************************************
|
|
||||||
+# // standard ACC macros
|
|
||||||
+# ************************************************************************/
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_ACC_CHECK_ENDIAN], [
|
|
||||||
+AC_C_BIGENDIAN([AC_DEFINE(ACC_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(ACC_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])])
|
|
||||||
+])#
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_ACC_CHECK_HEADERS], [
|
|
||||||
+AC_HEADER_TIME
|
|
||||||
+AC_CHECK_HEADERS([assert.h ctype.h dirent.h errno.h fcntl.h float.h limits.h malloc.h memory.h setjmp.h signal.h stdarg.h stddef.h stdint.h stdio.h stdlib.h string.h strings.h time.h unistd.h utime.h sys/mman.h sys/resource.h sys/stat.h sys/time.h sys/types.h sys/wait.h])
|
|
||||||
+])#
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_ACC_CHECK_FUNCS], [
|
|
||||||
+AC_CHECK_FUNCS(access alloca atexit atoi atol chmod chown clock_getcpuclockid clock_getres clock_gettime ctime difftime fstat getenv getpagesize getrusage gettimeofday gmtime isatty localtime longjmp lstat memcmp memcpy memmove memset mkdir mktime mmap mprotect munmap qsort raise rmdir setjmp signal snprintf strcasecmp strchr strdup strerror strftime stricmp strncasecmp strnicmp strrchr strstr time umask utime vsnprintf)
|
|
||||||
+])#
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_ACC_CHECK_SIZEOF], [
|
|
||||||
+AC_CHECK_SIZEOF(short)
|
|
||||||
+AC_CHECK_SIZEOF(int)
|
|
||||||
+AC_CHECK_SIZEOF(long)
|
|
||||||
+
|
|
||||||
+AC_CHECK_SIZEOF(long long)
|
|
||||||
+AC_CHECK_SIZEOF(__int16)
|
|
||||||
+AC_CHECK_SIZEOF(__int32)
|
|
||||||
+AC_CHECK_SIZEOF(__int64)
|
|
||||||
+
|
|
||||||
+AC_CHECK_SIZEOF(void *)
|
|
||||||
+AC_CHECK_SIZEOF(size_t)
|
|
||||||
+AC_CHECK_SIZEOF(ptrdiff_t)
|
|
||||||
+])#
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# /***********************************************************************
|
|
||||||
+# // Check for ACC_conformance
|
|
||||||
+# ************************************************************************/
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_ACC_ACCCHK], [
|
|
||||||
+mfx_tmp=$1
|
|
||||||
+mfx_save_CPPFLAGS=$CPPFLAGS
|
|
||||||
+dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here
|
|
||||||
+test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS"
|
|
||||||
+
|
|
||||||
+AC_MSG_CHECKING([whether your compiler passes the ACC conformance test])
|
|
||||||
+
|
|
||||||
+AC_LANG_CONFTEST([AC_LANG_PROGRAM(
|
|
||||||
+[[#define ACC_CONFIG_NO_HEADER 1
|
|
||||||
+#include "acc/acc.h"
|
|
||||||
+#include "acc/acc_incd.h"
|
|
||||||
+#undef ACCCHK_ASSERT
|
|
||||||
+#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT_HEADER(expr)
|
|
||||||
+#include "acc/acc_chk.ch"
|
|
||||||
+#undef ACCCHK_ASSERT
|
|
||||||
+static void test_acc_compile_time_assert(void) {
|
|
||||||
+#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
|
|
||||||
+#include "acc/acc_chk.ch"
|
|
||||||
+#undef ACCCHK_ASSERT
|
|
||||||
+}
|
|
||||||
+#undef NDEBUG
|
|
||||||
+#include <assert.h>
|
|
||||||
+static int test_acc_run_time_assert(int r) {
|
|
||||||
+#define ACCCHK_ASSERT(expr) assert(expr);
|
|
||||||
+#include "acc/acc_chk.ch"
|
|
||||||
+#undef ACCCHK_ASSERT
|
|
||||||
+return r;
|
|
||||||
+}
|
|
||||||
+]], [[
|
|
||||||
+test_acc_compile_time_assert();
|
|
||||||
+if (test_acc_run_time_assert(1) != 1) return 1;
|
|
||||||
+]]
|
|
||||||
+)])
|
|
||||||
+
|
|
||||||
+mfx_tmp=FAILED
|
|
||||||
+_AC_COMPILE_IFELSE([], [mfx_tmp=yes])
|
|
||||||
+rm -f conftest.$ac_ext conftest.$ac_objext
|
|
||||||
+
|
|
||||||
+CPPFLAGS=$mfx_save_CPPFLAGS
|
|
||||||
+
|
|
||||||
+AC_MSG_RESULT([$mfx_tmp])
|
|
||||||
+case x$mfx_tmp in
|
|
||||||
+ xpassed | xyes) ;;
|
|
||||||
+ *)
|
|
||||||
+ AC_MSG_NOTICE([])
|
|
||||||
+ AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ])
|
|
||||||
+ AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending])
|
|
||||||
+ AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.])
|
|
||||||
+ AC_MSG_NOTICE([Thanks for your support.])
|
|
||||||
+ AC_MSG_NOTICE([])
|
|
||||||
+ AC_MSG_ERROR([ACC conformance test failed. Stop.])
|
|
||||||
+dnl AS_EXIT
|
|
||||||
+ ;;
|
|
||||||
+esac
|
|
||||||
+])# mfx_ACC_ACCCHK
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# /***********************************************************************
|
|
||||||
+# // Check for ACC_conformance
|
|
||||||
+# ************************************************************************/
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_MINIACC_ACCCHK], [
|
|
||||||
+mfx_tmp=$1
|
|
||||||
+mfx_save_CPPFLAGS=$CPPFLAGS
|
|
||||||
+dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here
|
|
||||||
+test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS"
|
|
||||||
+
|
|
||||||
+AC_MSG_CHECKING([whether your compiler passes the ACC conformance test])
|
|
||||||
+
|
|
||||||
+AC_LANG_CONFTEST([AC_LANG_PROGRAM(
|
|
||||||
+[[#define ACC_CONFIG_NO_HEADER 1
|
|
||||||
+#define ACC_WANT_ACC_INCD_H 1
|
|
||||||
+#include $2
|
|
||||||
+
|
|
||||||
+#define ACC_WANT_ACC_CHK_CH 1
|
|
||||||
+#undef ACCCHK_ASSERT
|
|
||||||
+#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT_HEADER(expr)
|
|
||||||
+#include $2
|
|
||||||
+
|
|
||||||
+#define ACC_WANT_ACC_CHK_CH 1
|
|
||||||
+#undef ACCCHK_ASSERT
|
|
||||||
+#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
|
|
||||||
+static void test_acc_compile_time_assert(void) {
|
|
||||||
+#include $2
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#undef NDEBUG
|
|
||||||
+#include <assert.h>
|
|
||||||
+#define ACC_WANT_ACC_CHK_CH 1
|
|
||||||
+#undef ACCCHK_ASSERT
|
|
||||||
+#define ACCCHK_ASSERT(expr) assert(expr);
|
|
||||||
+static int test_acc_run_time_assert(int r) {
|
|
||||||
+#include $2
|
|
||||||
+return r;
|
|
||||||
+}
|
|
||||||
+]], [[
|
|
||||||
+test_acc_compile_time_assert();
|
|
||||||
+if (test_acc_run_time_assert(1) != 1) return 1;
|
|
||||||
+]]
|
|
||||||
+)])
|
|
||||||
+
|
|
||||||
+mfx_tmp=FAILED
|
|
||||||
+_AC_COMPILE_IFELSE([], [mfx_tmp=yes])
|
|
||||||
+rm -f conftest.$ac_ext conftest.$ac_objext
|
|
||||||
+
|
|
||||||
+CPPFLAGS=$mfx_save_CPPFLAGS
|
|
||||||
+
|
|
||||||
+AC_MSG_RESULT([$mfx_tmp])
|
|
||||||
+case x$mfx_tmp in
|
|
||||||
+ xpassed | xyes) ;;
|
|
||||||
+ *)
|
|
||||||
+ AC_MSG_NOTICE([])
|
|
||||||
+ AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ])
|
|
||||||
+ AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending])
|
|
||||||
+ AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.])
|
|
||||||
+ AC_MSG_NOTICE([Thanks for your support.])
|
|
||||||
+ AC_MSG_NOTICE([])
|
|
||||||
+ AC_MSG_ERROR([ACC conformance test failed. Stop.])
|
|
||||||
+dnl AS_EXIT
|
|
||||||
+ ;;
|
|
||||||
+esac
|
|
||||||
+])# mfx_MINIACC_ACCCHK
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# serial 1
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_PROG_CPPFLAGS], [
|
|
||||||
+AC_MSG_CHECKING([whether the C preprocessor needs special flags])
|
|
||||||
+
|
|
||||||
+AC_LANG_CONFTEST([AC_LANG_PROGRAM(
|
|
||||||
+[[#include <limits.h>
|
|
||||||
+#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul)
|
|
||||||
+# include "your C preprocessor is broken 1"
|
|
||||||
+#elif (0xffffu == 0xfffffffful)
|
|
||||||
+# include "your C preprocessor is broken 2"
|
|
||||||
+#elif (32767 >= ULONG_MAX) || (65535u >= ULONG_MAX)
|
|
||||||
+# include "your C preprocessor is broken 3"
|
|
||||||
+#endif
|
|
||||||
+]], [[ ]]
|
|
||||||
+)])
|
|
||||||
+
|
|
||||||
+mfx_save_CPPFLAGS=$CPPFLAGS
|
|
||||||
+mfx_tmp=ERROR
|
|
||||||
+for mfx_arg in "" -no-cpp-precomp
|
|
||||||
+do
|
|
||||||
+ CPPFLAGS="$mfx_arg $mfx_save_CPPFLAGS"
|
|
||||||
+ _AC_COMPILE_IFELSE([],
|
|
||||||
+[mfx_tmp=$mfx_arg
|
|
||||||
+break])
|
|
||||||
+done
|
|
||||||
+CPPFLAGS=$mfx_save_CPPFLAGS
|
|
||||||
+rm -f conftest.$ac_ext conftest.$ac_objext
|
|
||||||
+case x$mfx_tmp in
|
|
||||||
+ x)
|
|
||||||
+ AC_MSG_RESULT([none needed]) ;;
|
|
||||||
+ xERROR)
|
|
||||||
+ AC_MSG_RESULT([ERROR])
|
|
||||||
+ AC_MSG_ERROR([your C preprocessor is broken - for details see config.log])
|
|
||||||
+ ;;
|
|
||||||
+ *)
|
|
||||||
+ AC_MSG_RESULT([$mfx_tmp])
|
|
||||||
+ CPPFLAGS="$mfx_tmp $CPPFLAGS"
|
|
||||||
+ ;;
|
|
||||||
+esac
|
|
||||||
+])# mfx_PROG_CPPFLAGS
|
|
||||||
+
|
|
||||||
+# serial 3
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_CHECK_HEADER_SANE_LIMITS_H], [
|
|
||||||
+AC_CACHE_CHECK([whether limits.h is sane],
|
|
||||||
+mfx_cv_header_sane_limits_h,
|
|
||||||
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <limits.h>
|
|
||||||
+#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul)
|
|
||||||
+# if defined(__APPLE__) && defined(__GNUC__)
|
|
||||||
+# error "your preprocessor is broken - use compiler option -no-cpp-precomp"
|
|
||||||
+# else
|
|
||||||
+# include "your preprocessor is broken"
|
|
||||||
+# endif
|
|
||||||
+#endif
|
|
||||||
+#define MFX_0xffff 0xffff
|
|
||||||
+#define MFX_0xffffffffL 4294967295ul
|
|
||||||
+#if !defined(CHAR_BIT) || (CHAR_BIT != 8)
|
|
||||||
+# include "error CHAR_BIT"
|
|
||||||
+#endif
|
|
||||||
+#if !defined(UCHAR_MAX)
|
|
||||||
+# include "error UCHAR_MAX 1"
|
|
||||||
+#endif
|
|
||||||
+#if !defined(USHRT_MAX)
|
|
||||||
+# include "error USHRT_MAX 1"
|
|
||||||
+#endif
|
|
||||||
+#if !defined(UINT_MAX)
|
|
||||||
+# include "error UINT_MAX 1"
|
|
||||||
+#endif
|
|
||||||
+#if !defined(ULONG_MAX)
|
|
||||||
+# include "error ULONG_MAX 1"
|
|
||||||
+#endif
|
|
||||||
+#if !defined(SHRT_MAX)
|
|
||||||
+# include "error SHRT_MAX 1"
|
|
||||||
+#endif
|
|
||||||
+#if !defined(INT_MAX)
|
|
||||||
+# include "error INT_MAX 1"
|
|
||||||
+#endif
|
|
||||||
+#if !defined(LONG_MAX)
|
|
||||||
+# include "error LONG_MAX 1"
|
|
||||||
+#endif
|
|
||||||
+#if (UCHAR_MAX < 1)
|
|
||||||
+# include "error UCHAR_MAX 2"
|
|
||||||
+#endif
|
|
||||||
+#if (USHRT_MAX < 1)
|
|
||||||
+# include "error USHRT_MAX 2"
|
|
||||||
+#endif
|
|
||||||
+#if (UINT_MAX < 1)
|
|
||||||
+# include "error UINT_MAX 2"
|
|
||||||
+#endif
|
|
||||||
+#if (ULONG_MAX < 1)
|
|
||||||
+# include "error ULONG_MAX 2"
|
|
||||||
+#endif
|
|
||||||
+#if (UCHAR_MAX < 0xff)
|
|
||||||
+# include "error UCHAR_MAX 3"
|
|
||||||
+#endif
|
|
||||||
+#if (USHRT_MAX < MFX_0xffff)
|
|
||||||
+# include "error USHRT_MAX 3"
|
|
||||||
+#endif
|
|
||||||
+#if (UINT_MAX < MFX_0xffff)
|
|
||||||
+# include "error UINT_MAX 3"
|
|
||||||
+#endif
|
|
||||||
+#if (ULONG_MAX < MFX_0xffffffffL)
|
|
||||||
+# include "error ULONG_MAX 3"
|
|
||||||
+#endif
|
|
||||||
+#if (USHRT_MAX > UINT_MAX)
|
|
||||||
+# include "error USHRT_MAX vs UINT_MAX"
|
|
||||||
+#endif
|
|
||||||
+#if (UINT_MAX > ULONG_MAX)
|
|
||||||
+# include "error UINT_MAX vs ULONG_MAX"
|
|
||||||
+#endif
|
|
||||||
+]], [[
|
|
||||||
+#if (USHRT_MAX == MFX_0xffff)
|
|
||||||
+{ typedef char a_short2a[1 - 2 * !(sizeof(short) == 2)]; }
|
|
||||||
+#elif (USHRT_MAX >= MFX_0xffff)
|
|
||||||
+{ typedef char a_short2b[1 - 2 * !(sizeof(short) > 2)]; }
|
|
||||||
+#endif
|
|
||||||
+#if (UINT_MAX == MFX_0xffff)
|
|
||||||
+{ typedef char a_int2a[1 - 2 * !(sizeof(int) == 2)]; }
|
|
||||||
+#elif (UINT_MAX >= MFX_0xffff)
|
|
||||||
+{ typedef char a_int2b[1 - 2 * !(sizeof(int) > 2)]; }
|
|
||||||
+#endif
|
|
||||||
+#if (ULONG_MAX == MFX_0xffff)
|
|
||||||
+{ typedef char a_long2a[1 - 2 * !(sizeof(long) == 2)]; }
|
|
||||||
+#elif (ULONG_MAX >= MFX_0xffff)
|
|
||||||
+{ typedef char a_long2b[1 - 2 * !(sizeof(long) > 2)]; }
|
|
||||||
+#endif
|
|
||||||
+#if !defined(_CRAY1) /* CRAY PVP systems */
|
|
||||||
+#if (USHRT_MAX == MFX_0xffffffffL)
|
|
||||||
+{ typedef char a_short4a[1 - 2 * !(sizeof(short) == 4)]; }
|
|
||||||
+#elif (USHRT_MAX >= MFX_0xffffffffL)
|
|
||||||
+{ typedef char a_short4b[1 - 2 * !(sizeof(short) > 4)]; }
|
|
||||||
+#endif
|
|
||||||
+#endif /* _CRAY1 */
|
|
||||||
+#if (UINT_MAX == MFX_0xffffffffL)
|
|
||||||
+{ typedef char a_int4a[1 - 2 * !(sizeof(int) == 4)]; }
|
|
||||||
+#elif (UINT_MAX >= MFX_0xffffffffL)
|
|
||||||
+{ typedef char a_int4b[1 - 2 * !(sizeof(int) > 4)]; }
|
|
||||||
+#endif
|
|
||||||
+#if (ULONG_MAX == MFX_0xffffffffL)
|
|
||||||
+{ typedef char a_long4a[1 - 2 * !(sizeof(long) == 4)]; }
|
|
||||||
+#elif (ULONG_MAX >= MFX_0xffffffffL)
|
|
||||||
+{ typedef char a_long4b[1 - 2 * !(sizeof(long) > 4)]; }
|
|
||||||
+#endif
|
|
||||||
+]])],
|
|
||||||
+[mfx_cv_header_sane_limits_h=yes],
|
|
||||||
+[mfx_cv_header_sane_limits_h=no])])
|
|
||||||
+])
|
|
||||||
+
|
|
||||||
+# /***********************************************************************
|
|
||||||
+# // standard
|
|
||||||
+# ************************************************************************/
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_LZO_CHECK_ENDIAN], [
|
|
||||||
+AC_C_BIGENDIAN([AC_DEFINE(LZO_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(LZO_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])])
|
|
||||||
+])#
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# /***********************************************************************
|
|
||||||
+# //
|
|
||||||
+# ************************************************************************/
|
|
||||||
+
|
|
||||||
+dnl more types which are not yet covered by ACC
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_CHECK_SIZEOF], [
|
|
||||||
+AC_CHECK_SIZEOF(__int32)
|
|
||||||
+AC_CHECK_SIZEOF(intmax_t)
|
|
||||||
+AC_CHECK_SIZEOF(uintmax_t)
|
|
||||||
+AC_CHECK_SIZEOF(intptr_t)
|
|
||||||
+AC_CHECK_SIZEOF(uintptr_t)
|
|
||||||
+
|
|
||||||
+AC_CHECK_SIZEOF(float)
|
|
||||||
+AC_CHECK_SIZEOF(double)
|
|
||||||
+AC_CHECK_SIZEOF(long double)
|
|
||||||
+
|
|
||||||
+AC_CHECK_SIZEOF(dev_t)
|
|
||||||
+AC_CHECK_SIZEOF(fpos_t)
|
|
||||||
+AC_CHECK_SIZEOF(mode_t)
|
|
||||||
+AC_CHECK_SIZEOF(off_t)
|
|
||||||
+AC_CHECK_SIZEOF(ssize_t)
|
|
||||||
+AC_CHECK_SIZEOF(time_t)
|
|
||||||
+])#
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+AC_DEFUN([mfx_CHECK_LIB_WINMM], [
|
|
||||||
+if test "X$GCC" = Xyes; then
|
|
||||||
+case $host_os in
|
|
||||||
+cygwin* | mingw* | pw32*)
|
|
||||||
+ test "X$LIBS" != "X" && LIBS="$LIBS "
|
|
||||||
+ LIBS="${LIBS}-lwinmm" ;;
|
|
||||||
+*)
|
|
||||||
+ ;;
|
|
||||||
+esac
|
|
||||||
+fi
|
|
||||||
+])#
|
|
@ -1,24 +0,0 @@
|
|||||||
Makefile.am is not allowed to override CFLAGS/CPPFLAGS, it must use
|
|
||||||
AM_CFLAGS and AM_CPPFLAGS. This is needed in order for autoreconf to
|
|
||||||
work on this package.
|
|
||||||
|
|
||||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
||||||
---
|
|
||||||
src/Makefile.am | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
Index: lzo-2.03/src/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- lzo-2.03.orig/src/Makefile.am
|
|
||||||
+++ lzo-2.03/src/Makefile.am
|
|
||||||
@@ -7,8 +7,8 @@
|
|
||||||
SUFFIXES = .S
|
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
|
|
||||||
-CPPFLAGS = $(LZO_CPPFLAGS) $(configure_CPPFLAGS) $(LZO_EXTRA_CPPFLAGS)
|
|
||||||
-CFLAGS = $(LZO_CFLAGS) $(configure_CFLAGS) $(LZO_EXTRA_CFLAGS)
|
|
||||||
+AM_CPPFLAGS = $(LZO_CPPFLAGS) $(configure_CPPFLAGS) $(LZO_EXTRA_CPPFLAGS)
|
|
||||||
+AM_CFLAGS = $(LZO_CFLAGS) $(configure_CFLAGS) $(LZO_EXTRA_CFLAGS)
|
|
||||||
|
|
||||||
lib_LTLIBRARIES = liblzo2.la
|
|
||||||
|
|
36
packages/devel/libtirpc/build
Executable file
36
packages/devel/libtirpc/build
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# This file is part of OpenELEC - http://www.openelec.tv
|
||||||
|
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||||
|
#
|
||||||
|
# This Program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This Program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
. config/options $1
|
||||||
|
|
||||||
|
cd $PKG_BUILD
|
||||||
|
./configure --host=$TARGET_NAME \
|
||||||
|
--build=$HOST_NAME \
|
||||||
|
--prefix=/usr \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--disable-static \
|
||||||
|
--enable-shared \
|
||||||
|
--disable-gss \
|
||||||
|
--with-gnu-ld
|
||||||
|
|
||||||
|
make
|
||||||
|
$MAKEINSTALL
|
28
packages/mediacenter/xbmc/init.d/91_setup-addons → packages/devel/libtirpc/install
Normal file → Executable file
28
packages/mediacenter/xbmc/init.d/91_setup-addons → packages/devel/libtirpc/install
Normal file → Executable file
@ -1,3 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# This file is part of OpenELEC - http://www.openelec.tv
|
# This file is part of OpenELEC - http://www.openelec.tv
|
||||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||||
@ -18,27 +20,11 @@
|
|||||||
# http://www.gnu.org/copyleft/gpl.html
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
#
|
. config/options $1
|
||||||
# setup XBMC addons
|
|
||||||
#
|
|
||||||
# runlevels: openelec, textmode
|
|
||||||
|
|
||||||
case $RUNLEVEL in
|
mkdir -p $INSTALL/usr/lib
|
||||||
boot)
|
cp $PKG_BUILD/src/.libs/*.so* $INSTALL/usr/lib
|
||||||
progress "setup XBMC addons"
|
|
||||||
|
|
||||||
# hack: add addons to $PATH
|
|
||||||
for i in `find /storage/.xbmc/addons/* -name bin -type d`; do
|
|
||||||
PATH="$PATH:$i"
|
|
||||||
done
|
|
||||||
export PATH
|
|
||||||
|
|
||||||
# hack: make addon-bins executable
|
|
||||||
chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
|
|
||||||
;;
|
|
||||||
|
|
||||||
poweroff|reboot)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
mkdir -p $INSTALL/etc
|
||||||
|
cp $PKG_BUILD/doc/etc_netconfig $INSTALL/etc/netconfig
|
||||||
|
|
36
packages/devel/libtirpc/meta
Normal file
36
packages/devel/libtirpc/meta
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of OpenELEC - http://www.openelec.tv
|
||||||
|
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||||
|
#
|
||||||
|
# This Program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This Program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||||
|
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="libtirpc"
|
||||||
|
PKG_VERSION="0.2.2"
|
||||||
|
PKG_REV="1"
|
||||||
|
PKG_ARCH="any"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="https://sourceforge.net/projects/libtirpc/"
|
||||||
|
PKG_URL="https://downloads.sourceforge.net/project/libtirpc/libtirpc/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||||
|
PKG_DEPENDS=""
|
||||||
|
PKG_BUILD_DEPENDS="toolchain"
|
||||||
|
PKG_PRIORITY="optional"
|
||||||
|
PKG_SECTION="network"
|
||||||
|
PKG_SHORTDESC="libtirpc: Transport Independent RPC Library"
|
||||||
|
PKG_LONGDESC="Libtirpc is a port of Suns Transport-Independent RPC library to Linux. It's being developed by the Bull GNU/Linux NFSv4 project."
|
||||||
|
PKG_IS_ADDON="no"
|
||||||
|
|
||||||
|
PKG_AUTORECONF="yes"
|
@ -200,7 +200,6 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay"
|
|||||||
mount_part "$boot" "/flash" "ro,noatime"
|
mount_part "$boot" "/flash" "ro,noatime"
|
||||||
show_splash
|
show_splash
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
if [ -n "$disk" ]; then
|
if [ -n "$disk" ]; then
|
||||||
mount_part "$disk" "/storage" "rw,noatime"
|
mount_part "$disk" "/storage" "rw,noatime"
|
||||||
|
|
||||||
@ -240,12 +239,6 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay"
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# unmount all other filesystems
|
# unmount all other filesystems
|
||||||
=======
|
|
||||||
# move /flash to /sysroot
|
|
||||||
/bin/busybox mount --move /flash /sysroot/flash
|
|
||||||
|
|
||||||
# unmount all other filesystems
|
|
||||||
>>>>>>> upstream/master
|
|
||||||
/bin/busybox umount /dev
|
/bin/busybox umount /dev
|
||||||
/bin/busybox umount /proc
|
/bin/busybox umount /proc
|
||||||
/bin/busybox umount /sys
|
/bin/busybox umount /sys
|
||||||
|
@ -24,7 +24,8 @@ PKG_REV="1"
|
|||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="http://www.kernel.org"
|
PKG_SITE="http://www.kernel.org"
|
||||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.0/testing/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
#PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.0/testing/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||||
|
PKG_URL="ftp://ftp.pgpi.com/linux/kernel/pub/linux/kernel/v3.0/testing/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||||
PKG_DEPENDS="busybox linux-drivers linux-firmware pciutils"
|
PKG_DEPENDS="busybox linux-drivers linux-firmware pciutils"
|
||||||
PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio pciutils"
|
PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio pciutils"
|
||||||
PKG_PRIORITY="optional"
|
PKG_PRIORITY="optional"
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="xbmc-theme-Confluence"
|
PKG_NAME="xbmc-theme-Confluence"
|
||||||
PKG_VERSION="83e27a2"
|
PKG_VERSION="85ec523"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -29,9 +29,9 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$XBMC_VIS_PROJECTM" = yes ]; then
|
if [ "$XBMC_VIS_PROJECTM" = yes ]; then
|
||||||
XBMC_PROJECTM="--enable-xbmcprojectm"
|
XBMC_PROJECTM="--enable-projectm"
|
||||||
else
|
else
|
||||||
XBMC_PROJECTM="--disable-xbmcprojectm"
|
XBMC_PROJECTM="--disable-projectm"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
|
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
|
||||||
@ -64,6 +64,12 @@ else
|
|||||||
XBMC_NFS="--disable-nfs"
|
XBMC_NFS="--disable-nfs"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$AFP_SUPPORT" = yes ]; then
|
||||||
|
XBMC_AFP="--enable-afpclient"
|
||||||
|
else
|
||||||
|
XBMC_AFP="--disable-afpclient"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$WEBSERVER" = yes ]; then
|
if [ "$WEBSERVER" = yes ]; then
|
||||||
XBMC_WEBSERVER="--enable-webserver"
|
XBMC_WEBSERVER="--enable-webserver"
|
||||||
else
|
else
|
||||||
@ -170,6 +176,7 @@ cd $PKG_BUILD
|
|||||||
$XBMC_PULSEAUDIO \
|
$XBMC_PULSEAUDIO \
|
||||||
--enable-rtmp \
|
--enable-rtmp \
|
||||||
$XBMC_NFS \
|
$XBMC_NFS \
|
||||||
|
$XBMC_AFP \
|
||||||
--enable-ffmpeg-libvorbis \
|
--enable-ffmpeg-libvorbis \
|
||||||
--enable-lame \
|
--enable-lame \
|
||||||
$XBMC_DVDCSS \
|
$XBMC_DVDCSS \
|
||||||
|
@ -35,6 +35,9 @@ case $RUNLEVEL in
|
|||||||
export SDL_MOUSE_RELATIVE=0
|
export SDL_MOUSE_RELATIVE=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# hack: make addon-bins executable
|
||||||
|
chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
|
||||||
|
|
||||||
# starting autostart script (will be removed later again, dont use it!!!)
|
# starting autostart script (will be removed later again, dont use it!!!)
|
||||||
AUTOSTART="/storage/.config/autostart.sh"
|
AUTOSTART="/storage/.config/autostart.sh"
|
||||||
if [ -f $AUTOSTART ]; then
|
if [ -f $AUTOSTART ]; then
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="xbmc"
|
PKG_NAME="xbmc"
|
||||||
PKG_VERSION="83e27a2"
|
PKG_VERSION="85ec523"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
@ -67,6 +67,11 @@ if [ "$NFS_SUPPORT" = yes ]; then
|
|||||||
PKG_DEPENDS="$PKG_DEPENDS libnfs"
|
PKG_DEPENDS="$PKG_DEPENDS libnfs"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$AFP_SUPPORT" = yes ]; then
|
||||||
|
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS afpfs-ng"
|
||||||
|
PKG_DEPENDS="$PKG_DEPENDS afpfs-ng"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$WEBSERVER" = yes ]; then
|
if [ "$WEBSERVER" = yes ]; then
|
||||||
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libmicrohttpd"
|
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libmicrohttpd"
|
||||||
PKG_DEPENDS="$PKG_DEPENDS libmicrohttpd"
|
PKG_DEPENDS="$PKG_DEPENDS libmicrohttpd"
|
||||||
|
@ -1,448 +0,0 @@
|
|||||||
diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/Makefile xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/Makefile
|
|
||||||
--- xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/Makefile 2011-03-08 02:49:14.000000000 +0100
|
|
||||||
+++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/Makefile 2011-09-06 22:59:02.915548511 +0200
|
|
||||||
@@ -1,8 +1,9 @@
|
|
||||||
INCLUDES=-I../../../.. -I. -I../../../ -I../../../linux -I../../../../guilib -I../../../utils -I../../../cores -I../../../../lib/jsoncpp/jsoncpp/include
|
|
||||||
|
|
||||||
-SRCS=action.cpp controlbutton.cpp controlcheckmark.cpp control.cpp controlfadelabel.cpp controlimage.cpp controllabel.cpp controllist.cpp controlprogress.cpp controlslider.cpp controlspin.cpp controltextbox.cpp dialog.cpp GUIPythonWindow.cpp GUIPythonWindowDialog.cpp GUIPythonWindowXML.cpp GUIPythonWindowXMLDialog.cpp infotagmusic.cpp infotagvideo.cpp keyboard.cpp listitem.cpp player.cpp pyplaylist.cpp PythonPlayer.cpp pyutil.cpp window.cpp winxml.cpp winxmldialog.cpp xbmcguimodule.cpp xbmcmodule.cpp controlgroup.cpp xbmcplugin.cpp controlradiobutton.cpp PythonAddon.cpp xbmcaddonmodule.cpp
|
|
||||||
+SRCS=action.cpp controlbutton.cpp controlcheckmark.cpp control.cpp controlfadelabel.cpp controlimage.cpp controllabel.cpp controllist.cpp controlprogress.cpp controlslider.cpp controlspin.cpp controltextbox.cpp dialog.cpp GUIPythonWindow.cpp GUIPythonWindowDialog.cpp GUIPythonWindowXML.cpp GUIPythonWindowXMLDialog.cpp infotagmusic.cpp infotagvideo.cpp keyboard.cpp listitem.cpp player.cpp pyplaylist.cpp PythonPlayer.cpp pyutil.cpp window.cpp winxml.cpp winxmldialog.cpp xbmcguimodule.cpp xbmcmodule.cpp controlgroup.cpp xbmcplugin.cpp controlradiobutton.cpp PythonAddon.cpp xbmcaddonmodule.cpp xbmcvfsmodule.cpp
|
|
||||||
|
|
||||||
LIB=xbmcmodule.a
|
|
||||||
|
|
||||||
include ../../../../Makefile.include
|
|
||||||
-include $(patsubst %.cpp,%.P,$(patsubst %.c,%.P,$(SRCS)))
|
|
||||||
+
|
|
||||||
diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp
|
|
||||||
--- xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp 2011-03-08 02:49:14.000000000 +0100
|
|
||||||
+++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp 2011-09-06 22:59:02.916548524 +0200
|
|
||||||
@@ -64,6 +64,7 @@
|
|
||||||
#include "SectionLoader.h"
|
|
||||||
#include "Settings.h"
|
|
||||||
#include "LocalizeStrings.h"
|
|
||||||
+#include "utils/FileUtils.h"
|
|
||||||
|
|
||||||
// include for constants
|
|
||||||
#include "pyutil.h"
|
|
||||||
@@ -958,6 +959,35 @@
|
|
||||||
|
|
||||||
return Py_BuildValue((char*)"b", exists);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ PyDoc_STRVAR(subHashAndFileSize__doc__,
|
|
||||||
+ "subHashAndFileSize(file)\n"
|
|
||||||
+ "\n"
|
|
||||||
+ "file : file to calculate subtitle hash and size for"
|
|
||||||
+ "\n"
|
|
||||||
+ "example:\n"
|
|
||||||
+ " size,hash = xbmcvfs.subHashAndFileSize(file)\n");
|
|
||||||
+ PyObject* XBMC_subHashAndFileSize(PyObject *self, PyObject *args, PyObject *kwds)
|
|
||||||
+ {
|
|
||||||
+ PyObject *f_line;
|
|
||||||
+ if (!PyArg_ParseTuple(
|
|
||||||
+ args,
|
|
||||||
+ (char*)"O",
|
|
||||||
+ &f_line))
|
|
||||||
+ {
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+ CStdString strSource;
|
|
||||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
|
||||||
+
|
|
||||||
+ CStdString strSize;
|
|
||||||
+ CStdString strHash;
|
|
||||||
+ Py_BEGIN_ALLOW_THREADS
|
|
||||||
+ CFileUtils::SubtitleFileSizeAndHash(strSource, strSize, strHash);
|
|
||||||
+ Py_END_ALLOW_THREADS
|
|
||||||
+
|
|
||||||
+ return Py_BuildValue((char*)"ss",strSize.c_str(), strHash.c_str());
|
|
||||||
+ }
|
|
||||||
|
|
||||||
// define c functions to be used in python here
|
|
||||||
PyMethodDef xbmcMethods[] = {
|
|
||||||
@@ -1005,6 +1035,8 @@
|
|
||||||
{(char*)"getCleanMovieTitle", (PyCFunction)XBMC_GetCleanMovieTitle, METH_VARARGS|METH_KEYWORDS, getCleanMovieTitle__doc__},
|
|
||||||
|
|
||||||
{(char*)"skinHasImage", (PyCFunction)XBMC_SkinHasImage, METH_VARARGS|METH_KEYWORDS, skinHasImage__doc__},
|
|
||||||
+ {(char*)"subHashAndFileSize", (PyCFunction)XBMC_subHashAndFileSize, METH_VARARGS, subHashAndFileSize__doc__},
|
|
||||||
+
|
|
||||||
{NULL, NULL, 0, NULL}
|
|
||||||
};
|
|
||||||
|
|
||||||
diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp
|
|
||||||
--- xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp 1970-01-01 01:00:00.000000000 +0100
|
|
||||||
+++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp 2011-09-06 23:43:28.717382455 +0200
|
|
||||||
@@ -0,0 +1,299 @@
|
|
||||||
+/*
|
|
||||||
+ * Copyright (C) 2005-2011 Team XBMC
|
|
||||||
+ * http://www.xbmc.org
|
|
||||||
+ *
|
|
||||||
+ * This Program is free software; you can redistribute it and/or modify
|
|
||||||
+ * it under the terms of the GNU General Public License as published by
|
|
||||||
+ * the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
+ * any later version.
|
|
||||||
+ *
|
|
||||||
+ * This Program is distributed in the hope that it will be useful,
|
|
||||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ * GNU General Public License for more details.
|
|
||||||
+ *
|
|
||||||
+ * You should have received a copy of the GNU General Public License
|
|
||||||
+ * along with XBMC; see the file COPYING. If not, write to
|
|
||||||
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
+ * http://www.gnu.org/copyleft/gpl.html
|
|
||||||
+ *
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#include "system.h"
|
|
||||||
+#if (defined USE_EXTERNAL_PYTHON)
|
|
||||||
+#if (defined HAVE_LIBPYTHON2_6)
|
|
||||||
+#include <python2.6/Python.h>
|
|
||||||
+#elif (defined HAVE_LIBPYTHON2_5)
|
|
||||||
+#include <python2.5/Python.h>
|
|
||||||
+#elif (defined HAVE_LIBPYTHON2_4)
|
|
||||||
+#include <python2.4/Python.h>
|
|
||||||
+#else
|
|
||||||
+#error "Could not determine version of Python to use."
|
|
||||||
+#endif
|
|
||||||
+#else
|
|
||||||
+#include "python/Include/Python.h"
|
|
||||||
+#endif
|
|
||||||
+#include "../XBPythonDll.h"
|
|
||||||
+
|
|
||||||
+#include "FileSystem/Directory.h"
|
|
||||||
+#include "FileSystem/File.h"
|
|
||||||
+#include "pyutil.h"
|
|
||||||
+
|
|
||||||
+using namespace std;
|
|
||||||
+using namespace XFILE;
|
|
||||||
+using namespace PYXBMC;
|
|
||||||
+
|
|
||||||
+#ifndef __GNUC__
|
|
||||||
+#pragma code_seg("PY_TEXT")
|
|
||||||
+#pragma data_seg("PY_DATA")
|
|
||||||
+#pragma bss_seg("PY_BSS")
|
|
||||||
+#pragma const_seg("PY_RDATA")
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if defined(__GNUG__) && (__GNUC__>4) || (__GNUC__==4 && __GNUC_MINOR__>=2)
|
|
||||||
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#ifdef __cplusplus
|
|
||||||
+extern "C" {
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ namespace xbmcvfs
|
|
||||||
+ {
|
|
||||||
+ /*****************************************************************
|
|
||||||
+ * start of xbmcvfs methods
|
|
||||||
+ *****************************************************************/
|
|
||||||
+ typedef struct {
|
|
||||||
+ PyObject_HEAD
|
|
||||||
+ CFile* pFile;
|
|
||||||
+ } File;
|
|
||||||
+
|
|
||||||
+ // copy() method
|
|
||||||
+ PyDoc_STRVAR(copy__doc__,
|
|
||||||
+ "copy(source, destination) -- copy file to destination, returns true/false.\n"
|
|
||||||
+ "\n"
|
|
||||||
+ "source : file to copy.\n"
|
|
||||||
+ "destination : destination file"
|
|
||||||
+ "\n"
|
|
||||||
+ "example:\n"
|
|
||||||
+ " success = xbmcvfs.copy(source, destination)\n");
|
|
||||||
+
|
|
||||||
+ PyObject* vfs_copy(PyObject *self, PyObject *args)
|
|
||||||
+ {
|
|
||||||
+ PyObject *f_line;
|
|
||||||
+ PyObject *d_line;
|
|
||||||
+ if (!PyArg_ParseTuple(
|
|
||||||
+ args,
|
|
||||||
+ (char*)"OO",
|
|
||||||
+ &f_line,
|
|
||||||
+ &d_line))
|
|
||||||
+ {
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+ CStdString strSource;
|
|
||||||
+ CStdString strDestnation;
|
|
||||||
+ bool bResult = true;
|
|
||||||
+
|
|
||||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
|
||||||
+ if (!PyXBMCGetUnicodeString(strDestnation, d_line, 1)) return NULL;
|
|
||||||
+ Py_BEGIN_ALLOW_THREADS
|
|
||||||
+ bResult = CFile::Cache(strSource, strDestnation);
|
|
||||||
+ Py_END_ALLOW_THREADS
|
|
||||||
+
|
|
||||||
+ return Py_BuildValue((char*)"b", bResult);
|
|
||||||
+ }
|
|
||||||
+ PyDoc_STRVAR(delete__doc__,
|
|
||||||
+ "delete(file)\n"
|
|
||||||
+ "\n"
|
|
||||||
+ "file : file to delete"
|
|
||||||
+ "\n"
|
|
||||||
+ "example:\n"
|
|
||||||
+ " xbmcvfs.delete(file)\n");
|
|
||||||
+
|
|
||||||
+ // delete a file
|
|
||||||
+ PyObject* vfs_delete(File *self, PyObject *args, PyObject *kwds)
|
|
||||||
+ {
|
|
||||||
+ PyObject *f_line;
|
|
||||||
+ if (!PyArg_ParseTuple(
|
|
||||||
+ args,
|
|
||||||
+ (char*)"O",
|
|
||||||
+ &f_line))
|
|
||||||
+ {
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+ CStdString strSource;
|
|
||||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
|
||||||
+
|
|
||||||
+ Py_BEGIN_ALLOW_THREADS
|
|
||||||
+ self->pFile->Delete(strSource);
|
|
||||||
+ Py_END_ALLOW_THREADS
|
|
||||||
+
|
|
||||||
+ Py_INCREF(Py_None);
|
|
||||||
+ return Py_None;
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ PyDoc_STRVAR(rename__doc__,
|
|
||||||
+ "rename(file, newFileName)\n"
|
|
||||||
+ "\n"
|
|
||||||
+ "file : file to reaname"
|
|
||||||
+ "newFileName : new filename, including the full path"
|
|
||||||
+ "\n"
|
|
||||||
+ "example:\n"
|
|
||||||
+ " success = xbmcvfs.rename(file,newFileName)\n");
|
|
||||||
+
|
|
||||||
+ // rename a file
|
|
||||||
+ PyObject* vfs_rename(File *self, PyObject *args, PyObject *kwds)
|
|
||||||
+ {
|
|
||||||
+ PyObject *f_line;
|
|
||||||
+ PyObject *d_line;
|
|
||||||
+ if (!PyArg_ParseTuple(
|
|
||||||
+ args,
|
|
||||||
+ (char*)"OO",
|
|
||||||
+ &f_line,
|
|
||||||
+ &d_line))
|
|
||||||
+ {
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+ CStdString strSource;
|
|
||||||
+ CStdString strDestnation;
|
|
||||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
|
||||||
+ if (!PyXBMCGetUnicodeString(strDestnation, d_line, 1)) return NULL;
|
|
||||||
+
|
|
||||||
+ bool bResult;
|
|
||||||
+ Py_BEGIN_ALLOW_THREADS
|
|
||||||
+ bResult = self->pFile->Rename(strSource,strDestnation);
|
|
||||||
+ Py_END_ALLOW_THREADS
|
|
||||||
+
|
|
||||||
+ return Py_BuildValue((char*)"b", bResult);
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ PyDoc_STRVAR(exists__doc__,
|
|
||||||
+ "exists(path)\n"
|
|
||||||
+ "\n"
|
|
||||||
+ "path : file or folder"
|
|
||||||
+ "\n"
|
|
||||||
+ "example:\n"
|
|
||||||
+ " success = xbmcvfs.exists(path)\n");
|
|
||||||
+
|
|
||||||
+ // check for a file or folder existance, mimics Pythons os.path.exists()
|
|
||||||
+ PyObject* vfs_exists(File *self, PyObject *args, PyObject *kwds)
|
|
||||||
+ {
|
|
||||||
+ PyObject *f_line;
|
|
||||||
+ if (!PyArg_ParseTuple(
|
|
||||||
+ args,
|
|
||||||
+ (char*)"O",
|
|
||||||
+ &f_line))
|
|
||||||
+ {
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+ CStdString strSource;
|
|
||||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
|
||||||
+
|
|
||||||
+ bool bResult;
|
|
||||||
+
|
|
||||||
+ Py_BEGIN_ALLOW_THREADS
|
|
||||||
+ bResult = self->pFile->Exists(strSource, false);
|
|
||||||
+ Py_END_ALLOW_THREADS
|
|
||||||
+
|
|
||||||
+ return Py_BuildValue((char*)"b", bResult);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ PyDoc_STRVAR(mkdir__doc__,
|
|
||||||
+ "mkdir(path) -- Create a folder.\n"
|
|
||||||
+ "\n"
|
|
||||||
+ "path : folder\n"
|
|
||||||
+ "\n"
|
|
||||||
+ "example:\n"
|
|
||||||
+ " - success = xbmcvfs.mkdir(path)\n");
|
|
||||||
+ // make a directory
|
|
||||||
+ PyObject* vfs_mkdir(File *self, PyObject *args, PyObject *kwds)
|
|
||||||
+ {
|
|
||||||
+ PyObject *f_line;
|
|
||||||
+ if (!PyArg_ParseTuple(
|
|
||||||
+ args,
|
|
||||||
+ (char*)"O",
|
|
||||||
+ &f_line))
|
|
||||||
+ {
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+ CStdString strSource;
|
|
||||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
|
||||||
+
|
|
||||||
+ bool bResult;
|
|
||||||
+
|
|
||||||
+ Py_BEGIN_ALLOW_THREADS
|
|
||||||
+ bResult = CDirectory::Create(strSource);
|
|
||||||
+ Py_END_ALLOW_THREADS
|
|
||||||
+
|
|
||||||
+ return Py_BuildValue((char*)"b", bResult);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ PyDoc_STRVAR(rmdir__doc__,
|
|
||||||
+ "rmdir(path) -- Remove a folder.\n"
|
|
||||||
+ "\n"
|
|
||||||
+ "path : folder\n"
|
|
||||||
+ "\n"
|
|
||||||
+ "example:\n"
|
|
||||||
+ " - success = xbmcvfs.rmdir(path)\n");
|
|
||||||
+ // remove a directory
|
|
||||||
+ PyObject* vfs_rmdir(File *self, PyObject *args, PyObject *kwds)
|
|
||||||
+ {
|
|
||||||
+ PyObject *f_line;
|
|
||||||
+ if (!PyArg_ParseTuple(
|
|
||||||
+ args,
|
|
||||||
+ (char*)"O",
|
|
||||||
+ &f_line))
|
|
||||||
+ {
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+ CStdString strSource;
|
|
||||||
+ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
|
|
||||||
+
|
|
||||||
+ bool bResult;
|
|
||||||
+
|
|
||||||
+ Py_BEGIN_ALLOW_THREADS
|
|
||||||
+ bResult = CDirectory::Remove(strSource);
|
|
||||||
+ Py_END_ALLOW_THREADS
|
|
||||||
+
|
|
||||||
+ return Py_BuildValue((char*)"b", bResult);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // define c functions to be used in python here
|
|
||||||
+ PyMethodDef xbmcvfsMethods[] = {
|
|
||||||
+ {(char*)"copy", (PyCFunction)vfs_copy, METH_VARARGS, copy__doc__},
|
|
||||||
+ {(char*)"delete", (PyCFunction)vfs_delete, METH_VARARGS, delete__doc__},
|
|
||||||
+ {(char*)"rename", (PyCFunction)vfs_rename, METH_VARARGS, rename__doc__},
|
|
||||||
+ {(char*)"mkdir", (PyCFunction)vfs_mkdir, METH_VARARGS, mkdir__doc__},
|
|
||||||
+ {(char*)"rmdir", (PyCFunction)vfs_rmdir, METH_VARARGS, rmdir__doc__},
|
|
||||||
+ {(char*)"exists", (PyCFunction)vfs_exists, METH_VARARGS, exists__doc__},
|
|
||||||
+ {NULL, NULL, 0, NULL}
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ /*****************************************************************
|
|
||||||
+ * end of methods and python objects
|
|
||||||
+ * initxbmc(void);
|
|
||||||
+ *****************************************************************/
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ PyMODINIT_FUNC
|
|
||||||
+ DeinitVFSModule()
|
|
||||||
+ {
|
|
||||||
+ // no need to Py_DECREF our objects (see InitXBMCMVFSModule()) as they were created only
|
|
||||||
+ // so that they could be added to the module, which steals a reference.
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ PyMODINIT_FUNC
|
|
||||||
+ InitVFSModule()
|
|
||||||
+ {
|
|
||||||
+ // init general xbmc modules
|
|
||||||
+ PyObject* pXbmcvfsModule;
|
|
||||||
+ pXbmcvfsModule = Py_InitModule((char*)"xbmcvfs", xbmcvfsMethods);
|
|
||||||
+ if (pXbmcvfsModule == NULL) return;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+#ifdef __cplusplus
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/XBPython.cpp xbmc-10.1-Dharma.patch/xbmc/lib/libPython/XBPython.cpp
|
|
||||||
--- xbmc-10.1-Dharma/xbmc/lib/libPython/XBPython.cpp 2011-03-08 02:49:15.000000000 +0100
|
|
||||||
+++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/XBPython.cpp 2011-09-06 22:59:02.955549037 +0200
|
|
||||||
@@ -119,6 +119,8 @@
|
|
||||||
void InitAddonModule(void);
|
|
||||||
void InitAddonTypes(void);
|
|
||||||
void DeinitAddonModule(void);
|
|
||||||
+ void InitVFSModule(void);
|
|
||||||
+ void DeinitVFSModule(void);
|
|
||||||
}
|
|
||||||
|
|
||||||
XBPython::XBPython()
|
|
||||||
@@ -297,7 +299,8 @@
|
|
||||||
InitPluginModule(); // init xbmcplugin modules
|
|
||||||
InitGUIModule(); // init xbmcgui modules
|
|
||||||
InitAddonModule(); // init xbmcaddon modules
|
|
||||||
-
|
|
||||||
+ InitVFSModule(); // init xbmcvfs modules
|
|
||||||
+
|
|
||||||
// redirecting default output to debug console
|
|
||||||
if (PyRun_SimpleString(""
|
|
||||||
"import xbmc\n"
|
|
||||||
@@ -325,6 +328,7 @@
|
|
||||||
DeinitPluginModule();
|
|
||||||
DeinitGUIModule();
|
|
||||||
DeinitAddonModule();
|
|
||||||
+ DeinitVFSModule();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
diff -Naur xbmc-10.1-Dharma/xbmc/utils/FileUtils.cpp xbmc-10.1-Dharma.patch/xbmc/utils/FileUtils.cpp
|
|
||||||
--- xbmc-10.1-Dharma/xbmc/utils/FileUtils.cpp 2011-03-08 02:49:14.000000000 +0100
|
|
||||||
+++ xbmc-10.1-Dharma.patch/xbmc/utils/FileUtils.cpp 2011-09-06 22:59:02.977549326 +0200
|
|
||||||
@@ -72,3 +72,32 @@
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+bool CFileUtils::SubtitleFileSizeAndHash(const CStdString &path, CStdString &strSize, CStdString &strHash)
|
|
||||||
+{
|
|
||||||
+ const size_t chksum_block_size = 8192;
|
|
||||||
+
|
|
||||||
+ CFile file;
|
|
||||||
+ size_t i;
|
|
||||||
+ uint64_t hash = 0;
|
|
||||||
+ uint64_t buffer1[chksum_block_size*2];
|
|
||||||
+ uint64_t fileSize ;
|
|
||||||
+ // In natural language it calculates: size + 64k chksum of the first and last 64k
|
|
||||||
+ // (even if they overlap because the file is smaller than 128k).
|
|
||||||
+ file.Open(path, READ_NO_CACHE); //open file
|
|
||||||
+ file.Read(buffer1, chksum_block_size*sizeof(uint64_t)); //read first 64k
|
|
||||||
+ file.Seek(-(int64_t)chksum_block_size*sizeof(uint64_t), SEEK_END); //seek to the end of the file
|
|
||||||
+ file.Read(&buffer1[chksum_block_size], chksum_block_size*sizeof(uint64_t)); //read last 64k
|
|
||||||
+
|
|
||||||
+ for (i=0;i<chksum_block_size*2;i++)
|
|
||||||
+ hash += buffer1[i];
|
|
||||||
+
|
|
||||||
+ fileSize = file.GetLength();
|
|
||||||
+
|
|
||||||
+ hash += fileSize; //add size
|
|
||||||
+
|
|
||||||
+ file.Close(); //close file
|
|
||||||
+ strHash.Format("%"PRIx64"", hash); //format hash
|
|
||||||
+ strSize.Format("%d", fileSize); // format size
|
|
||||||
+ return true;
|
|
||||||
+}
|
|
||||||
diff -Naur xbmc-10.1-Dharma/xbmc/utils/FileUtils.h xbmc-10.1-Dharma.patch/xbmc/utils/FileUtils.h
|
|
||||||
--- xbmc-10.1-Dharma/xbmc/utils/FileUtils.h 2011-03-08 02:49:14.000000000 +0100
|
|
||||||
+++ xbmc-10.1-Dharma.patch/xbmc/utils/FileUtils.h 2011-09-06 22:59:03.023549930 +0200
|
|
||||||
@@ -6,4 +6,5 @@
|
|
||||||
public:
|
|
||||||
static bool DeleteItem(const CFileItemPtr &item);
|
|
||||||
static bool RenameFile(const CStdString &strFile);
|
|
||||||
+ static bool SubtitleFileSizeAndHash(const CStdString &path, CStdString &strSize, CStdString &strHash);
|
|
||||||
};
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -Naur xbmc-10.1-Dharma/xbmc/FileSystem/FileSmb.cpp xbmc-10.1-Dharma.patch/xbmc/FileSystem/FileSmb.cpp
|
|
||||||
--- xbmc-10.1-Dharma/xbmc/FileSystem/FileSmb.cpp 2011-09-05 02:24:35.154994777 +0200
|
|
||||||
+++ xbmc-10.1-Dharma.patch/xbmc/FileSystem/FileSmb.cpp 2011-09-05 02:22:55.604582159 +0200
|
|
||||||
@@ -122,6 +122,8 @@
|
|
||||||
// use the weaker LANMAN password hash in order to be compatible with older servers
|
|
||||||
fprintf(f, "\tclient lanman auth = yes\n");
|
|
||||||
fprintf(f, "\tlanman auth = yes\n");
|
|
||||||
+ fprintf(f, "\tsocket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536\n");
|
|
||||||
+ fprintf(f, "\tlock directory = %s/.smb/\n", getenv("HOME"));
|
|
||||||
|
|
||||||
// set wins server if there's one. name resolve order defaults to 'lmhosts host wins bcast'.
|
|
||||||
// if no WINS server has been specified the wins method will be ignored.
|
|
@ -1,87 +0,0 @@
|
|||||||
diff -Naur xbmc-9389dc8/configure.in xbmc-9389dc8.patch/configure.in
|
|
||||||
--- xbmc-9389dc8/configure.in 2011-09-01 23:34:05.488142309 +0200
|
|
||||||
+++ xbmc-9389dc8.patch/configure.in 2011-09-01 23:51:26.371021628 +0200
|
|
||||||
@@ -68,6 +68,8 @@
|
|
||||||
goom_disabled="== GOOM disabled. =="
|
|
||||||
rsxs_enabled="== RSXS enabled. =="
|
|
||||||
rsxs_disabled="== RSXS disabled. =="
|
|
||||||
+xbmcprojectm_enabled="== XBMCProjectM enabled. =="
|
|
||||||
+xbmxprojectm_disabled="== XBMCProjectM disabled. =="
|
|
||||||
x11_enabled="== X11 enabled. =="
|
|
||||||
x11_disabled="== X11 disabled. =="
|
|
||||||
pulse_not_found="== Could not find libpulse. PulseAudio support disabled. =="
|
|
||||||
@@ -219,6 +221,12 @@
|
|
||||||
[use_rsxs=$enableval],
|
|
||||||
[use_rsxs=yes])
|
|
||||||
|
|
||||||
+AC_ARG_ENABLE([xbmcprojectm],
|
|
||||||
+ [AS_HELP_STRING([--enable-xbmcprojectm],
|
|
||||||
+ [enable XBMCProjectM visualisation (default is yes)])],
|
|
||||||
+ [use_xbmcprojectm=$enableval],
|
|
||||||
+ [use_xbmcprojectm=yes])
|
|
||||||
+
|
|
||||||
AC_ARG_ENABLE([x11],
|
|
||||||
[AS_HELP_STRING([--enable-x11],
|
|
||||||
[enable x11 (default is yes) 'Linux Only'])],
|
|
||||||
@@ -850,6 +858,15 @@
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
+# XBMCPROJECTM
|
|
||||||
+if test "$use_xbmcprojectm" = "no" || test "$use_gl" = "no"; then
|
|
||||||
+ AC_MSG_NOTICE($xbmcprojectm_disabled)
|
|
||||||
+ DISABLE_XBMCPROJECTM=1
|
|
||||||
+else
|
|
||||||
+ AC_MSG_NOTICE($xbmcprojectm_enabled)
|
|
||||||
+ DISABLE_XBMCPROJECTM=0
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
# libRTMP
|
|
||||||
if test "$use_librtmp" != "no"; then
|
|
||||||
AC_CHECK_HEADERS([librtmp/log.h librtmp/amf.h librtmp/rtmp.h],,
|
|
||||||
@@ -1324,6 +1341,12 @@
|
|
||||||
final_message="$final_message\n RSXS:\t\tNo"
|
|
||||||
fi
|
|
||||||
|
|
||||||
+if test "$use_xbmcprojectm" = "yes"; then
|
|
||||||
+ final_message="$final_message\n XBMCProjectM:\tYes"
|
|
||||||
+else
|
|
||||||
+ final_message="$final_message\n XBMCProjectM:\tNo"
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
if test "$use_x11" = "yes"; then
|
|
||||||
final_message="$final_message\n X11:\t\tYes"
|
|
||||||
else
|
|
||||||
@@ -1553,6 +1576,7 @@
|
|
||||||
AC_SUBST(BUILD_DVDCSS)
|
|
||||||
AC_SUBST(DISABLE_GOOM)
|
|
||||||
AC_SUBST(DISABLE_RSXS)
|
|
||||||
+AC_SUBST(DISABLE_XBMCPROJECTM)
|
|
||||||
AC_SUBST(USE_EXTERNAL_FFMPEG)
|
|
||||||
AC_SUBST(PYTHON_VERSION)
|
|
||||||
AC_SUBST(OUTPUT_FILES)
|
|
||||||
@@ -1797,7 +1821,7 @@
|
|
||||||
fi
|
|
||||||
set +x
|
|
||||||
fi
|
|
||||||
-], [0])
|
|
||||||
+], [$DISABLE_XBMCPROJECTM])
|
|
||||||
|
|
||||||
XB_CONFIG_MODULE([xbmc/visualizations/Goom/goom2k4-0],[
|
|
||||||
./configure \
|
|
||||||
diff -Naur xbmc-9389dc8/Makefile.in xbmc-9389dc8.patch/Makefile.in
|
|
||||||
--- xbmc-9389dc8/Makefile.in 2011-09-01 23:34:05.581143554 +0200
|
|
||||||
+++ xbmc-9389dc8.patch/Makefile.in 2011-09-01 23:52:59.832272157 +0200
|
|
||||||
@@ -144,8 +144,10 @@
|
|
||||||
ifeq (@USE_OPENGL@,1)
|
|
||||||
VIS_DIRS+=\
|
|
||||||
xbmc/visualizations/OpenGLSpectrum \
|
|
||||||
- xbmc/visualizations/WaveForm \
|
|
||||||
- xbmc/visualizations/XBMCProjectM
|
|
||||||
+ xbmc/visualizations/WaveForm
|
|
||||||
+ifneq (@DISABLE_XBMCPROJECTM@,1)
|
|
||||||
+ VIS_DIRS+=xbmc/visualizations/XBMCProjectM
|
|
||||||
+endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq (($(findstring osx,@ARCH@), osx),(@USE_OPENGL@,1))
|
|
@ -1,23 +0,0 @@
|
|||||||
diff -Naur xbmc-a8d22f6/xbmc/settings/GUISettings.cpp xbmc-a8d22f6.patch/xbmc/settings/GUISettings.cpp
|
|
||||||
--- xbmc-a8d22f6/xbmc/settings/GUISettings.cpp 2011-08-02 15:01:17.000000000 +0200
|
|
||||||
+++ xbmc-a8d22f6.patch/xbmc/settings/GUISettings.cpp 2011-08-02 15:25:47.205925050 +0200
|
|
||||||
@@ -654,6 +654,7 @@
|
|
||||||
AddInt(vid, "myvideos.selectaction", 22079, SELECT_ACTION_PLAY_OR_RESUME, SELECT_ACTION_CHOOSE, 1, SELECT_ACTION_INFO, SPIN_CONTROL_TEXT);
|
|
||||||
AddBool(NULL, "myvideos.treatstackasfile", 20051, true);
|
|
||||||
AddBool(vid, "myvideos.extractflags",20433, true);
|
|
||||||
+ AddBool(vid, "myvideos.alwaysextractflags",20433, false);
|
|
||||||
AddBool(vid, "myvideos.filemetadata", 20419, true);
|
|
||||||
AddBool(NULL, "myvideos.extractthumb",20433, true);
|
|
||||||
|
|
||||||
diff -Naur xbmc-a8d22f6/xbmc/ThumbLoader.cpp xbmc-a8d22f6.patch/xbmc/ThumbLoader.cpp
|
|
||||||
--- xbmc-a8d22f6/xbmc/ThumbLoader.cpp 2011-08-02 15:01:19.000000000 +0200
|
|
||||||
+++ xbmc-a8d22f6.patch/xbmc/ThumbLoader.cpp 2011-08-02 15:24:54.831265675 +0200
|
|
||||||
@@ -146,7 +146,7 @@
|
|
||||||
m_item.SetThumbnailImage(m_target);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- else if (m_item.HasVideoInfoTag() && !m_item.GetVideoInfoTag()->HasStreamDetails())
|
|
||||||
+ else if (m_item.HasVideoInfoTag() && (!m_item.GetVideoInfoTag()->HasStreamDetails() || g_guiSettings.GetBool("myvideos.alwaysextractflags")))
|
|
||||||
{
|
|
||||||
CLog::Log(LOGDEBUG,"%s - trying to extract filestream details from video file %s", __FUNCTION__, m_path.c_str());
|
|
||||||
result = CDVDFileInfo::GetFileStreamDetails(&m_item);
|
|
@ -0,0 +1,28 @@
|
|||||||
|
diff -Naur xbmc-f43dcfa/configure.in xbmc-f43dcfa.patch/configure.in
|
||||||
|
--- xbmc-f43dcfa/configure.in 2011-09-10 02:31:22.000000000 +0200
|
||||||
|
+++ xbmc-f43dcfa.patch/configure.in 2011-09-10 08:16:46.068320869 +0200
|
||||||
|
@@ -963,7 +963,7 @@
|
||||||
|
USE_LIBAFPCLIENT=0
|
||||||
|
if test "$host_vendor" = "apple" ; then
|
||||||
|
if test "x$use_libafpclient" != "xno"; then
|
||||||
|
- AC_CHECK_HEADERS([afp/libafpclient.h],,
|
||||||
|
+ AC_CHECK_HEADERS([afpfs-ng/libafpclient.h],,
|
||||||
|
[if test "x$use_libafpclient" = "xyes"; then
|
||||||
|
AC_MSG_ERROR($libafpclient_not_found)
|
||||||
|
elif test "x$use_libafpclient" != "xno"; then
|
||||||
|
diff -Naur xbmc-f43dcfa/xbmc/filesystem/DllLibAfp.h xbmc-f43dcfa.patch/xbmc/filesystem/DllLibAfp.h
|
||||||
|
--- xbmc-f43dcfa/xbmc/filesystem/DllLibAfp.h 2011-09-10 02:31:05.000000000 +0200
|
||||||
|
+++ xbmc-f43dcfa.patch/xbmc/filesystem/DllLibAfp.h 2011-09-10 08:17:55.057220975 +0200
|
||||||
|
@@ -27,9 +27,9 @@
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
-#include <afp/libafpclient.h>
|
||||||
|
-#include <afp/map_def.h>
|
||||||
|
-#include <afp/midlevel.h>
|
||||||
|
+#include <afpfs-ng/libafpclient.h>
|
||||||
|
+#include <afpfs-ng/map_def.h>
|
||||||
|
+#include <afpfs-ng/midlevel.h>
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
@ -0,0 +1,47 @@
|
|||||||
|
diff -Naur xbmc-f43dcfa/configure.in xbmc-f43dcfa.patch/configure.in
|
||||||
|
--- xbmc-f43dcfa/configure.in 2011-09-10 08:23:01.971219535 +0200
|
||||||
|
+++ xbmc-f43dcfa.patch/configure.in 2011-09-10 08:24:33.480411313 +0200
|
||||||
|
@@ -958,29 +958,24 @@
|
||||||
|
AC_MSG_NOTICE($libnfs_disabled)
|
||||||
|
fi
|
||||||
|
|
||||||
|
-
|
||||||
|
# libafpclient
|
||||||
|
-USE_LIBAFPCLIENT=0
|
||||||
|
-if test "$host_vendor" = "apple" ; then
|
||||||
|
- if test "x$use_libafpclient" != "xno"; then
|
||||||
|
- AC_CHECK_HEADERS([afpfs-ng/libafpclient.h],,
|
||||||
|
- [if test "x$use_libafpclient" = "xyes"; then
|
||||||
|
- AC_MSG_ERROR($libafpclient_not_found)
|
||||||
|
- elif test "x$use_libafpclient" != "xno"; then
|
||||||
|
- AC_MSG_NOTICE($libafpclient_not_found)
|
||||||
|
- use_libafpclient="no"
|
||||||
|
- fi
|
||||||
|
- ])
|
||||||
|
- if test "x$use_libafpclient" != "xno"; then
|
||||||
|
- XB_FIND_SONAME([AFPCLIENT], [afpclient], [use_libafpclient])
|
||||||
|
- AC_DEFINE([HAVE_LIBAFPCLIENT], [1], [Whether to use libafpclient library.])
|
||||||
|
- USE_LIBAFPCLIENT=1
|
||||||
|
+if test "x$use_libafpclient" != "xno"; then
|
||||||
|
+ AC_CHECK_HEADERS([afpfs-ng/libafpclient.h],,
|
||||||
|
+ [if test "x$use_libafpclient" = "xyes"; then
|
||||||
|
+ AC_MSG_ERROR($libafpclient_not_found)
|
||||||
|
+ elif test "x$use_libafpclient" != "xno"; then
|
||||||
|
+ AC_MSG_NOTICE($libafpclient_not_found)
|
||||||
|
+ use_libafpclient="no"
|
||||||
|
fi
|
||||||
|
- else
|
||||||
|
- AC_MSG_NOTICE($libafpclient_disabled)
|
||||||
|
+ ])
|
||||||
|
+ if test "x$use_libafpclient" != "xno"; then
|
||||||
|
+ XB_FIND_SONAME([AFPCLIENT], [afpclient], [use_libafpclient])
|
||||||
|
+ AC_DEFINE([HAVE_LIBAFPCLIENT], [1], [Whether to use libafpclient library.])
|
||||||
|
+ USE_LIBAFPCLIENT=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
- use_libafpclient="no"
|
||||||
|
+ USE_LIBAFPCLIENT=0
|
||||||
|
+ AC_MSG_NOTICE($libafpclient_disabled)
|
||||||
|
fi
|
||||||
|
|
||||||
|
### External libraries checks
|
@ -34,3 +34,6 @@ ac_cv_func_malloc_0_nonnull=yes \
|
|||||||
|
|
||||||
make -C lib
|
make -C lib
|
||||||
make -C fuse
|
make -C fuse
|
||||||
|
|
||||||
|
$MAKEINSTALL -C lib
|
||||||
|
$MAKEINSTALL -C include
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,14 +0,0 @@
|
|||||||
diff -Naur afpfs-ng-0.8.1/fuse/client.c afpfs-ng-0.8.1.patch/fuse/client.c
|
|
||||||
--- afpfs-ng-0.8.1/fuse/client.c 2008-03-08 03:44:16.000000000 +0100
|
|
||||||
+++ afpfs-ng-0.8.1.patch/fuse/client.c 2011-05-22 19:08:53.938152499 +0200
|
|
||||||
@@ -61,8 +61,8 @@
|
|
||||||
snprintf(filename, PATH_MAX,
|
|
||||||
"/usr/local/bin/%s",AFPFSD_FILENAME);
|
|
||||||
if (access(filename,X_OK)) {
|
|
||||||
- snprintf(filename, "/usr/bin/%s",
|
|
||||||
- AFPFSD_FILENAME);
|
|
||||||
+ snprintf(filename, PATH_MAX,
|
|
||||||
+ "/usr/bin/%s", AFPFSD_FILENAME);
|
|
||||||
if (access(filename,X_OK)) {
|
|
||||||
printf("Could not find server (%s)\n",
|
|
||||||
filename);
|
|
@ -0,0 +1,25 @@
|
|||||||
|
diff -Naur afpfs-ng-0.8.1/configure.ac afpfs-ng-0.8.1.patch/configure.ac
|
||||||
|
--- afpfs-ng-0.8.1/configure.ac 2011-09-10 12:14:34.164716403 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/configure.ac 2011-09-10 12:15:13.266241771 +0200
|
||||||
|
@@ -51,21 +51,6 @@
|
||||||
|
case $host in
|
||||||
|
*-*-darwin*)
|
||||||
|
AC_MSG_CHECKING([for correct gcrypt version])
|
||||||
|
- AC_RUN_IFELSE(
|
||||||
|
- [AC_LANG_PROGRAM([
|
||||||
|
- #include <gcrypt.h>
|
||||||
|
- #include <stdio.h>],[
|
||||||
|
- char*p= GCRYPT_VERSION;
|
||||||
|
- unsigned int vers;
|
||||||
|
- vers=atoi(p)*10000;
|
||||||
|
- p=strchr(p,'.')+1;
|
||||||
|
- vers+=atoi(p)*100;
|
||||||
|
- p=strchr(p,'.')+1;
|
||||||
|
- vers+=atoi(p);
|
||||||
|
- if (vers<10400) return 1;
|
||||||
|
- ])],
|
||||||
|
- [AC_MSG_RESULT([yes])],
|
||||||
|
- [AC_MSG_ERROR([version is < 1.4.0])])
|
||||||
|
AM_CONDITIONAL(HAVE_LIBGCRYPT, true)
|
||||||
|
AC_DEFINE([HAVE_LIBGCRYPT], [1] )
|
||||||
|
;;
|
@ -0,0 +1,280 @@
|
|||||||
|
diff -Naur afpfs-ng-0.8.1/cmdline/getstatus.c afpfs-ng-0.8.1.patch/cmdline/getstatus.c
|
||||||
|
--- afpfs-ng-0.8.1/cmdline/getstatus.c 2011-09-10 12:14:34.164716403 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/cmdline/getstatus.c 2011-09-10 12:16:23.717188342 +0200
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
+#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
|
diff -Naur afpfs-ng-0.8.1/fuse/client.c afpfs-ng-0.8.1.patch/fuse/client.c
|
||||||
|
--- afpfs-ng-0.8.1/fuse/client.c 2011-09-10 12:14:34.165716416 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/fuse/client.c 2011-09-10 12:16:23.737188610 +0200
|
||||||
|
@@ -61,8 +61,9 @@
|
||||||
|
snprintf(filename, PATH_MAX,
|
||||||
|
"/usr/local/bin/%s",AFPFSD_FILENAME);
|
||||||
|
if (access(filename,X_OK)) {
|
||||||
|
- snprintf(filename, "/usr/bin/%s",
|
||||||
|
+ snprintf(filename, sizeof(filename), "/usr/bin/%s",
|
||||||
|
AFPFSD_FILENAME);
|
||||||
|
+ filename[sizeof(filename) - 1] = 0;
|
||||||
|
if (access(filename,X_OK)) {
|
||||||
|
printf("Could not find server (%s)\n",
|
||||||
|
filename);
|
||||||
|
diff -Naur afpfs-ng-0.8.1/fuse/fuse_int.c afpfs-ng-0.8.1.patch/fuse/fuse_int.c
|
||||||
|
--- afpfs-ng-0.8.1/fuse/fuse_int.c 2011-09-10 12:14:34.167716442 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/fuse/fuse_int.c 2011-09-10 12:16:23.745188717 +0200
|
||||||
|
@@ -197,7 +197,7 @@
|
||||||
|
ret = ml_open(volume,path,flags,&fp);
|
||||||
|
|
||||||
|
if (ret==0)
|
||||||
|
- fi->fh=(void *) fp;
|
||||||
|
+ fi->fh=(unsigned long) fp;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/afp.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h
|
||||||
|
--- afpfs-ng-0.8.1/include/afpfs-ng/afp.h 2011-09-10 12:14:34.168716455 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h 2011-09-10 12:16:37.588374712 +0200
|
||||||
|
@@ -370,7 +370,7 @@
|
||||||
|
|
||||||
|
int afp_opendt(struct afp_volume *volume, unsigned short * refnum);
|
||||||
|
|
||||||
|
-int afp_closedt(struct afp_server * server, unsigned short * refnum);
|
||||||
|
+int afp_closedt(struct afp_server * server, unsigned short refnum);
|
||||||
|
|
||||||
|
int afp_getcomment(struct afp_volume *volume, unsigned int did,
|
||||||
|
const char * pathname, struct afp_comment * comment);
|
||||||
|
diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/utils.h afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h
|
||||||
|
--- afpfs-ng-0.8.1/include/afpfs-ng/utils.h 2011-09-10 12:14:34.173716523 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h 2011-09-10 12:16:47.234504316 +0200
|
||||||
|
@@ -8,8 +8,8 @@
|
||||||
|
#define hton64(x) (x)
|
||||||
|
#define ntoh64(x) (x)
|
||||||
|
#else /* BYTE_ORDER == BIG_ENDIAN */
|
||||||
|
-#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \
|
||||||
|
- (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32))
|
||||||
|
+#define hton64(x) ((u_int64_t) (htonl((((unsigned long long)(x)) >> 32) & 0xffffffffLL)) | \
|
||||||
|
+ (u_int64_t) ((htonl((unsigned long long)(x)) & 0xffffffffLL) << 32))
|
||||||
|
#define ntoh64(x) (hton64(x))
|
||||||
|
#endif /* BYTE_ORDER == BIG_ENDIAN */
|
||||||
|
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/afp_url.c afpfs-ng-0.8.1.patch/lib/afp_url.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/afp_url.c 2011-09-10 12:14:34.182716644 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/afp_url.c 2011-09-10 12:16:47.235504329 +0200
|
||||||
|
@@ -33,7 +33,7 @@
|
||||||
|
static int check_uamname(const char * uam)
|
||||||
|
{
|
||||||
|
char * p;
|
||||||
|
- for (p=uam;*p;p++) {
|
||||||
|
+ for (p=(char *)uam;*p;p++) {
|
||||||
|
if (*p==' ') continue;
|
||||||
|
if ((*p<'A') || (*p>'z')) return -1;
|
||||||
|
}
|
||||||
|
@@ -188,7 +188,7 @@
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
}
|
||||||
|
- if (p==NULL) p=toparse;
|
||||||
|
+ if (p==NULL) p=(char *)toparse;
|
||||||
|
|
||||||
|
/* Now split on the first / */
|
||||||
|
if (sscanf(p,"%[^/]/%[^$]",
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/did.c afpfs-ng-0.8.1.patch/lib/did.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/did.c 2011-09-10 12:14:34.184716670 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/did.c 2011-09-10 12:16:47.235504329 +0200
|
||||||
|
@@ -226,7 +226,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
/* Go to the end of last known entry */
|
||||||
|
- p=path+(p-copy);
|
||||||
|
+ p=(char *)path+(p-copy);
|
||||||
|
p2=p;
|
||||||
|
|
||||||
|
while ((p=strchr(p+1,'/'))) {
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/dsi.c afpfs-ng-0.8.1.patch/lib/dsi.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/dsi.c 2011-09-10 12:14:34.185716683 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/dsi.c 2011-09-10 12:16:47.236504342 +0200
|
||||||
|
@@ -474,7 +474,7 @@
|
||||||
|
}
|
||||||
|
server->flags=ntohs(reply1->flags);
|
||||||
|
|
||||||
|
- p=(void *)((unsigned int) server->incoming_buffer + sizeof(*reply1));
|
||||||
|
+ p=(void *)((unsigned long) server->incoming_buffer + sizeof(*reply1));
|
||||||
|
p+=copy_from_pascal(server->server_name,p,AFP_SERVER_NAME_LEN)+1;
|
||||||
|
|
||||||
|
/* Now work our way through the variable bits */
|
||||||
|
@@ -757,7 +757,7 @@
|
||||||
|
printf("<<< read() of rest of AFP, %d bytes\n",amount_to_read);
|
||||||
|
#endif
|
||||||
|
ret = read(server->fd, (void *)
|
||||||
|
- (((unsigned int) server->incoming_buffer)+server->data_read),
|
||||||
|
+ (((unsigned long) server->incoming_buffer)+server->data_read),
|
||||||
|
amount_to_read);
|
||||||
|
if (ret<0) return -1;
|
||||||
|
if (ret==0) {
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/loop.c afpfs-ng-0.8.1.patch/lib/loop.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/loop.c 2011-09-10 12:14:34.186716697 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/loop.c 2011-09-10 12:16:47.257504624 +0200
|
||||||
|
@@ -25,7 +25,7 @@
|
||||||
|
static unsigned char exit_program=0;
|
||||||
|
|
||||||
|
static pthread_t ending_thread;
|
||||||
|
-static pthread_t main_thread = NULL;
|
||||||
|
+static pthread_t main_thread = (pthread_t)NULL;
|
||||||
|
|
||||||
|
static int loop_started=0;
|
||||||
|
static pthread_cond_t loop_started_condition;
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/lowlevel.c afpfs-ng-0.8.1.patch/lib/lowlevel.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/lowlevel.c 2011-09-10 12:14:34.186716697 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/lowlevel.c 2011-09-10 12:16:47.288505041 +0200
|
||||||
|
@@ -582,7 +582,7 @@
|
||||||
|
if (volume->server->using_version->av_number>=30)
|
||||||
|
stbuf->st_mode |= fp.unixprivs.permissions;
|
||||||
|
else
|
||||||
|
- set_nonunix_perms(stbuf,&fp);
|
||||||
|
+ set_nonunix_perms(&stbuf->st_mode,&fp);
|
||||||
|
|
||||||
|
stbuf->st_uid=fp.unixprivs.uid;
|
||||||
|
stbuf->st_gid=fp.unixprivs.gid;
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/midlevel.c afpfs-ng-0.8.1.patch/lib/midlevel.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/midlevel.c 2011-09-10 12:14:34.189716738 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/midlevel.c 2011-09-10 12:16:47.316505416 +0200
|
||||||
|
@@ -713,7 +713,7 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
int ret,err=0;
|
||||||
|
- int totalwritten = 0;
|
||||||
|
+ size_t totalwritten = 0;
|
||||||
|
uint64_t sizetowrite, ignored;
|
||||||
|
unsigned char flags = 0;
|
||||||
|
unsigned int max_packet_size=volume->server->tx_quantum;
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/proto_attr.c afpfs-ng-0.8.1.patch/lib/proto_attr.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/proto_attr.c 2011-09-10 12:14:34.189716738 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/proto_attr.c 2011-09-10 12:16:47.317505429 +0200
|
||||||
|
@@ -166,7 +166,7 @@
|
||||||
|
copy_path(server,p,pathname,strlen(pathname));
|
||||||
|
unixpath_to_afppath(server,p);
|
||||||
|
p2=p+sizeof_path_header(server)+strlen(pathname);
|
||||||
|
- if (((unsigned int ) p2) & 0x1) p2++;
|
||||||
|
+ if (((unsigned long) p2) & 0x1) p2++;
|
||||||
|
req2=(void *) p2;
|
||||||
|
|
||||||
|
req2->len=htons(namelen);
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/proto_desktop.c afpfs-ng-0.8.1.patch/lib/proto_desktop.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/proto_desktop.c 2011-09-10 12:14:34.197716845 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/proto_desktop.c 2011-09-10 12:16:47.317505429 +0200
|
||||||
|
@@ -168,7 +168,7 @@
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-int afp_closedt(struct afp_server * server, unsigned short * refnum)
|
||||||
|
+int afp_closedt(struct afp_server * server, unsigned short refnum)
|
||||||
|
{
|
||||||
|
struct {
|
||||||
|
struct dsi_header dsi_header __attribute__((__packed__));
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/proto_directory.c afpfs-ng-0.8.1.patch/lib/proto_directory.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/proto_directory.c 2011-09-10 12:14:34.205716953 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/proto_directory.c 2011-09-10 12:16:47.317505429 +0200
|
||||||
|
@@ -248,6 +248,7 @@
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
int afp_enumerateext2_reply(struct afp_server *server, char * buf, unsigned int size, void * other)
|
||||||
|
{
|
||||||
|
|
||||||
|
@@ -266,8 +267,7 @@
|
||||||
|
char * p = buf + sizeof(*reply);
|
||||||
|
int i;
|
||||||
|
char *max=buf+size;
|
||||||
|
- struct afp_file_info * filebase = NULL, *filecur=NULL, *new_file=NULL;
|
||||||
|
- void ** x = other;
|
||||||
|
+ struct afp_file_info * filebase = NULL, *filecur = NULL, *new_file = NULL, **x = (struct afp_file_info **) other;
|
||||||
|
|
||||||
|
if (reply->dsi_header.return_code.error_code) {
|
||||||
|
return reply->dsi_header.return_code.error_code;
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/proto_map.c afpfs-ng-0.8.1.patch/lib/proto_map.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/proto_map.c 2011-09-10 12:14:34.207716979 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/proto_map.c 2011-09-10 12:16:47.318505443 +0200
|
||||||
|
@@ -122,7 +122,7 @@
|
||||||
|
|
||||||
|
if (reply->header.return_code.error_code!=kFPNoErr) return -1;
|
||||||
|
|
||||||
|
- copy_from_pascal_two(name,&reply->name,255);
|
||||||
|
+ copy_from_pascal_two(name,reply->name,255);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/proto_session.c afpfs-ng-0.8.1.patch/lib/proto_session.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/proto_session.c 2011-09-10 12:14:34.208716992 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/proto_session.c 2011-09-10 12:16:47.318505443 +0200
|
||||||
|
@@ -39,7 +39,7 @@
|
||||||
|
switch (type) {
|
||||||
|
case kLoginWithTimeAndID:
|
||||||
|
case kReconnWithTimeAndID: {
|
||||||
|
- uint32_t *p = (void *) (((unsigned int) request)+
|
||||||
|
+ uint32_t *p = (void *) (((unsigned long) request)+
|
||||||
|
sizeof(*request));
|
||||||
|
|
||||||
|
offset=sizeof(timestamp);
|
||||||
|
@@ -63,7 +63,7 @@
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
- data=(void *) (((unsigned int) request)+sizeof(*request)+offset);
|
||||||
|
+ data=(void *) (((unsigned long) request)+sizeof(*request)+offset);
|
||||||
|
request->idlength=htonl(datalen);
|
||||||
|
request->pad=0;
|
||||||
|
request->type=htons(type);
|
||||||
|
@@ -127,7 +127,7 @@
|
||||||
|
if ((request=malloc(sizeof(*request) + AFP_TOKEN_MAX_LEN))==NULL)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
- token_data = request + sizeof(*request);
|
||||||
|
+ token_data = (char *)request + sizeof(*request);
|
||||||
|
|
||||||
|
request->type=htons(type);
|
||||||
|
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/uams.c afpfs-ng-0.8.1.patch/lib/uams.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/uams.c 2011-09-10 12:14:34.212717047 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/uams.c 2011-09-10 12:16:47.319505457 +0200
|
||||||
|
@@ -180,7 +180,7 @@
|
||||||
|
goto cleartxt_fail;
|
||||||
|
|
||||||
|
p += copy_to_pascal(p, username) + 1;
|
||||||
|
- if ((int)p & 0x1)
|
||||||
|
+ if ((long)p & 0x1)
|
||||||
|
len--;
|
||||||
|
else
|
||||||
|
p++;
|
||||||
|
@@ -230,7 +230,7 @@
|
||||||
|
goto cleartxt_fail;
|
||||||
|
|
||||||
|
p += copy_to_pascal(p, username) + 1;
|
||||||
|
- if ((int)p & 0x1)
|
||||||
|
+ if ((long)p & 0x1)
|
||||||
|
len--;
|
||||||
|
else
|
||||||
|
p++;
|
||||||
|
@@ -580,7 +580,7 @@
|
||||||
|
if (ai == NULL)
|
||||||
|
goto dhx_noctx_fail;
|
||||||
|
d += copy_to_pascal(ai, username) + 1;
|
||||||
|
- if (((int)d) % 2)
|
||||||
|
+ if (((long)d) % 2)
|
||||||
|
d++;
|
||||||
|
else
|
||||||
|
ai_len--;
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/utils.c afpfs-ng-0.8.1.patch/lib/utils.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/utils.c 2011-09-10 12:14:34.213717060 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/utils.c 2011-09-10 12:16:47.319505457 +0200
|
||||||
|
@@ -196,7 +196,7 @@
|
||||||
|
maxlen=255;
|
||||||
|
|
||||||
|
|
||||||
|
- p=filename+1;
|
||||||
|
+ p=(char *)filename+1;
|
||||||
|
while ((q=strchr(p,'/'))) {
|
||||||
|
if (q>p+maxlen)
|
||||||
|
return 1;
|
@ -0,0 +1,26 @@
|
|||||||
|
diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/dsi.h afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h
|
||||||
|
--- afpfs-ng-0.8.1/include/afpfs-ng/dsi.h 2011-09-10 12:14:34.170716482 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h 2011-09-10 12:22:28.790093211 +0200
|
||||||
|
@@ -6,13 +6,15 @@
|
||||||
|
|
||||||
|
struct dsi_request
|
||||||
|
{
|
||||||
|
- unsigned short requestid;
|
||||||
|
- unsigned char subcommand;
|
||||||
|
- void * other;
|
||||||
|
- unsigned char wait;
|
||||||
|
- pthread_cond_t condition_cond;
|
||||||
|
- struct dsi_request * next;
|
||||||
|
- int return_code;
|
||||||
|
+ unsigned short requestid;
|
||||||
|
+ unsigned char subcommand;
|
||||||
|
+ void * other;
|
||||||
|
+ int wait;
|
||||||
|
+ int done_waiting;
|
||||||
|
+ pthread_cond_t waiting_cond;
|
||||||
|
+ pthread_mutex_t waiting_mutex;
|
||||||
|
+ struct dsi_request * next;
|
||||||
|
+ int return_code;
|
||||||
|
};
|
||||||
|
|
||||||
|
int dsi_receive(struct afp_server * server, void * data, int size);
|
@ -0,0 +1,90 @@
|
|||||||
|
diff -Naur afpfs-ng-0.8.1/lib/afp.c afpfs-ng-0.8.1.patch/lib/afp.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/afp.c 2011-09-10 12:14:34.181716631 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/afp.c 2011-09-10 12:23:15.935726602 +0200
|
||||||
|
@@ -68,7 +68,7 @@
|
||||||
|
afp_getsessiontoken_reply,afp_blank_reply, NULL, NULL,
|
||||||
|
afp_enumerateext2_reply, NULL, NULL, NULL, /*64 - 71 */
|
||||||
|
afp_listextattrs_reply, NULL, NULL, NULL,
|
||||||
|
- afp_blank_reply, NULL, NULL, NULL, /*72 - 79 */
|
||||||
|
+ afp_blank_reply, NULL, afp_blank_reply, afp_blank_reply, /*72 - 79 */
|
||||||
|
|
||||||
|
NULL, NULL, NULL, NULL,
|
||||||
|
NULL, NULL, NULL, NULL,
|
||||||
|
@@ -320,8 +320,16 @@
|
||||||
|
|
||||||
|
struct dsi_request * p;
|
||||||
|
struct afp_server *s2;
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+ if (s==NULL)
|
||||||
|
+ goto out;
|
||||||
|
+
|
||||||
|
for (p=s->command_requests;p;p=p->next) {
|
||||||
|
- pthread_cond_signal(&p->condition_cond);
|
||||||
|
+ pthread_mutex_lock(&p->waiting_mutex);
|
||||||
|
+ p->done_waiting=1;
|
||||||
|
+ pthread_cond_signal(&p->waiting_cond);
|
||||||
|
+ pthread_mutex_unlock(&p->waiting_mutex);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s==server_base) {
|
||||||
|
@@ -354,7 +362,7 @@
|
||||||
|
s->exit_flag = 0;
|
||||||
|
s->path_encoding=kFPUTF8Name; /* This is a default */
|
||||||
|
s->next=NULL;
|
||||||
|
- s->bufsize=2048;
|
||||||
|
+ s->bufsize=4096;
|
||||||
|
s->incoming_buffer=malloc(s->bufsize);
|
||||||
|
|
||||||
|
s->attention_quantum=AFP_DEFAULT_ATTENTION_QUANTUM;
|
||||||
|
@@ -524,13 +532,14 @@
|
||||||
|
kFPVolCreateDateBit|kFPVolIDBit |
|
||||||
|
kFPVolNameBit;
|
||||||
|
char new_encoding;
|
||||||
|
+ int ret;
|
||||||
|
|
||||||
|
if (server->using_version->av_number>=30)
|
||||||
|
bitmap|= kFPVolNameBit|kFPVolBlockSizeBit;
|
||||||
|
|
||||||
|
- switch (afp_volopen(volume,bitmap,
|
||||||
|
- (strlen(volume->volpassword)>0) ? volume->volpassword : NULL))
|
||||||
|
- {
|
||||||
|
+ ret = afp_volopen(volume,bitmap,
|
||||||
|
+ (strlen(volume->volpassword)>0) ? volume->volpassword : NULL);
|
||||||
|
+ switch(ret){
|
||||||
|
case kFPAccessDenied:
|
||||||
|
*l+=snprintf(mesg,max-*l,
|
||||||
|
"Incorrect volume password\n");
|
||||||
|
@@ -544,6 +553,10 @@
|
||||||
|
*l+=snprintf(mesg,max-*l,
|
||||||
|
"Could not open volume\n");
|
||||||
|
goto error;
|
||||||
|
+ case ETIMEDOUT:
|
||||||
|
+ *l+=snprintf(mesg,max-*l,
|
||||||
|
+ "Timed out waiting to open volume\n");
|
||||||
|
+ goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* It is said that if a volume's encoding will be the same
|
||||||
|
@@ -641,7 +654,6 @@
|
||||||
|
add_server(server);
|
||||||
|
|
||||||
|
add_fd_and_signal(server->fd);
|
||||||
|
-
|
||||||
|
if (!full) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@@ -649,10 +661,13 @@
|
||||||
|
/* Get the status, and calculate the transmit time. We use this to
|
||||||
|
* calculate our rx quantum. */
|
||||||
|
gettimeofday(&t1,NULL);
|
||||||
|
+
|
||||||
|
if ((error=dsi_getstatus(server))!=0)
|
||||||
|
goto error;
|
||||||
|
gettimeofday(&t2,NULL);
|
||||||
|
|
||||||
|
+ afp_server_identify(server);
|
||||||
|
+
|
||||||
|
if ((t2.tv_sec - t1.tv_sec) > 0)
|
||||||
|
server->tx_delay= (t2.tv_sec - t1.tv_sec) * 1000;
|
||||||
|
else
|
142
packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-06-boxee3.patch
Normal file
142
packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-06-boxee3.patch
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
diff -Naur afpfs-ng-0.8.1/lib/dsi.c afpfs-ng-0.8.1.patch/lib/dsi.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/dsi.c 2011-09-10 12:21:39.948437027 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/dsi.c 2011-09-10 12:25:57.688903825 +0200
|
||||||
|
@@ -64,7 +64,7 @@
|
||||||
|
rx.size=0;
|
||||||
|
dsi_setup_header(server,&header,DSI_DSIGetStatus);
|
||||||
|
/* We're intentionally ignoring the results */
|
||||||
|
- ret=dsi_send(server,(char *) &header,sizeof(struct dsi_header),20,
|
||||||
|
+ ret=dsi_send(server,(char *) &header,sizeof(struct dsi_header),60,
|
||||||
|
0,(void *) &rx);
|
||||||
|
|
||||||
|
free(rx.data);
|
||||||
|
@@ -197,6 +197,7 @@
|
||||||
|
new_request->other=other;
|
||||||
|
new_request->wait=wait;
|
||||||
|
new_request->next=NULL;
|
||||||
|
+ new_request->done_waiting=0;
|
||||||
|
|
||||||
|
pthread_mutex_lock(&server->request_queue_mutex);
|
||||||
|
if (server->command_requests==NULL) {
|
||||||
|
@@ -208,7 +209,8 @@
|
||||||
|
server->stats.requests_pending++;
|
||||||
|
pthread_mutex_unlock(&server->request_queue_mutex);
|
||||||
|
|
||||||
|
- pthread_cond_init(&new_request->condition_cond,NULL);
|
||||||
|
+ pthread_cond_init(&new_request->waiting_cond,NULL);
|
||||||
|
+ pthread_mutex_init(&new_request->waiting_mutex,NULL);
|
||||||
|
|
||||||
|
if (server->connect_state==SERVER_STATE_DISCONNECTED) {
|
||||||
|
char mesg[1024];
|
||||||
|
@@ -240,16 +242,12 @@
|
||||||
|
server->stats.tx_bytes+=size;
|
||||||
|
pthread_mutex_unlock(&server->send_mutex);
|
||||||
|
|
||||||
|
- int tmpwait=new_request->wait;
|
||||||
|
#ifdef DEBUG_DSI
|
||||||
|
printf("=== Waiting for response for %d %s\n",
|
||||||
|
new_request->requestid,
|
||||||
|
afp_get_command_name(new_request->subcommand));
|
||||||
|
#endif
|
||||||
|
- if (tmpwait<0) {
|
||||||
|
-
|
||||||
|
- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
- pthread_mutex_lock(&mutex);
|
||||||
|
+ if (new_request->wait<0) {
|
||||||
|
|
||||||
|
/* Wait forever */
|
||||||
|
#ifdef DEBUG_DSI
|
||||||
|
@@ -258,14 +256,17 @@
|
||||||
|
afp_get_command_name(new_request->subcommand));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- rc=pthread_cond_wait(
|
||||||
|
- &new_request->condition_cond,
|
||||||
|
- &mutex );
|
||||||
|
- pthread_mutex_unlock(&mutex);
|
||||||
|
-
|
||||||
|
- } else if (tmpwait>0) {
|
||||||
|
- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
- pthread_mutex_lock(&mutex);
|
||||||
|
+ pthread_mutex_lock(&new_request->waiting_mutex);
|
||||||
|
+
|
||||||
|
+ if (new_request->done_waiting==0)
|
||||||
|
+ rc=pthread_cond_wait(
|
||||||
|
+ &new_request->waiting_cond,
|
||||||
|
+ &new_request->waiting_mutex );
|
||||||
|
+
|
||||||
|
+ pthread_mutex_unlock(&new_request->waiting_mutex);
|
||||||
|
+
|
||||||
|
+ } else if (new_request->wait>0) {
|
||||||
|
+ /* wait for new_request->wait seconds */
|
||||||
|
|
||||||
|
#ifdef DEBUG_DSI
|
||||||
|
printf("=== Waiting for %d %s, for %ds\n",
|
||||||
|
@@ -283,13 +284,15 @@
|
||||||
|
printf("=== Changing my mind, no longer waiting for %d\n",
|
||||||
|
new_request->requestid);
|
||||||
|
#endif
|
||||||
|
- pthread_mutex_unlock(&mutex);
|
||||||
|
goto skip;
|
||||||
|
}
|
||||||
|
- rc=pthread_cond_timedwait(
|
||||||
|
- &new_request->condition_cond,
|
||||||
|
- &mutex,&ts);
|
||||||
|
- pthread_mutex_unlock(&mutex);
|
||||||
|
+ pthread_mutex_lock(&new_request->waiting_mutex);
|
||||||
|
+ if (new_request->done_waiting==0)
|
||||||
|
+ rc=pthread_cond_timedwait(
|
||||||
|
+ &new_request->waiting_cond,
|
||||||
|
+ &new_request->waiting_mutex,&ts);
|
||||||
|
+ pthread_mutex_unlock(&new_request->waiting_mutex);
|
||||||
|
+
|
||||||
|
if (rc==ETIMEDOUT) {
|
||||||
|
/* FIXME: should handle this case properly */
|
||||||
|
#ifdef DEBUG_DSI
|
||||||
|
@@ -299,6 +302,7 @@
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
+ /* Don't wait */
|
||||||
|
#ifdef DEBUG_DSI
|
||||||
|
printf("=== Skipping wait altogether for %d\n",new_request->requestid);
|
||||||
|
#endif
|
||||||
|
@@ -474,7 +478,7 @@
|
||||||
|
}
|
||||||
|
server->flags=ntohs(reply1->flags);
|
||||||
|
|
||||||
|
- p=(void *)((unsigned long) server->incoming_buffer + sizeof(*reply1));
|
||||||
|
+ p=(void *)((unsigned int) server->incoming_buffer + sizeof(*reply1));
|
||||||
|
p+=copy_from_pascal(server->server_name,p,AFP_SERVER_NAME_LEN)+1;
|
||||||
|
|
||||||
|
/* Now work our way through the variable bits */
|
||||||
|
@@ -577,6 +581,7 @@
|
||||||
|
unsigned char mins=0;
|
||||||
|
unsigned char checkmessage=0;
|
||||||
|
|
||||||
|
+ memset(mesg,0,AFP_LOGINMESG_LEN);
|
||||||
|
|
||||||
|
/* The logic here's undocumented. If we get an attention packet and
|
||||||
|
there's no flag, then go check the message. Also, go check the
|
||||||
|
@@ -757,7 +762,7 @@
|
||||||
|
printf("<<< read() of rest of AFP, %d bytes\n",amount_to_read);
|
||||||
|
#endif
|
||||||
|
ret = read(server->fd, (void *)
|
||||||
|
- (((unsigned long) server->incoming_buffer)+server->data_read),
|
||||||
|
+ (((unsigned int) server->incoming_buffer)+server->data_read),
|
||||||
|
amount_to_read);
|
||||||
|
if (ret<0) return -1;
|
||||||
|
if (ret==0) {
|
||||||
|
@@ -862,8 +867,11 @@
|
||||||
|
#ifdef DEBUG_DSI
|
||||||
|
printf("<<< Signalling %d, returning %d or %d\n",request->requestid,request->return_code,rc);
|
||||||
|
#endif
|
||||||
|
+ pthread_mutex_lock(&request->waiting_mutex);
|
||||||
|
request->wait=0;
|
||||||
|
- pthread_cond_signal(&request->condition_cond);
|
||||||
|
+ request->done_waiting=1;
|
||||||
|
+ pthread_cond_signal(&request->waiting_cond);
|
||||||
|
+ pthread_mutex_unlock(&request->waiting_mutex);
|
||||||
|
} else {
|
||||||
|
dsi_remove_from_request_queue(server,request);
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
diff -Naur afpfs-ng-0.8.1/lib/identify.c afpfs-ng-0.8.1.patch/lib/identify.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/identify.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/identify.c 2011-09-10 12:26:30.257389169 +0200
|
||||||
|
@@ -0,0 +1,24 @@
|
||||||
|
+#include <string.h>
|
||||||
|
+#include "afpfs-ng/afp.h"
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * afp_server_identify()
|
||||||
|
+ *
|
||||||
|
+ * Identifies a server
|
||||||
|
+ *
|
||||||
|
+ * Right now, this only does identification using the machine_type
|
||||||
|
+ * given in getsrvrinfo, but this could later use mDNS to get
|
||||||
|
+ * more details.
|
||||||
|
+ */
|
||||||
|
+void afp_server_identify(struct afp_server * s)
|
||||||
|
+{
|
||||||
|
+ if (strcmp(s->machine_type,"Netatalk")==0)
|
||||||
|
+ s->server_type=AFPFS_SERVER_TYPE_NETATALK;
|
||||||
|
+ else if (strcmp(s->machine_type,"AirPort")==0)
|
||||||
|
+ s->server_type=AFPFS_SERVER_TYPE_AIRPORT;
|
||||||
|
+ else if (strcmp(s->machine_type,"Macintosh")==0)
|
||||||
|
+ s->server_type=AFPFS_SERVER_TYPE_MACINTOSH;
|
||||||
|
+ else
|
||||||
|
+ s->server_type=AFPFS_SERVER_TYPE_UNKNOWN;
|
||||||
|
+}
|
@ -0,0 +1,12 @@
|
|||||||
|
diff -Naur afpfs-ng-0.8.1/lib/Makefile.am afpfs-ng-0.8.1.patch/lib/Makefile.am
|
||||||
|
--- afpfs-ng-0.8.1/lib/Makefile.am 2008-02-18 04:34:32.000000000 +0100
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/Makefile.am 2011-09-10 12:27:09.833978612 +0200
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
|
||||||
|
lib_LTLIBRARIES = libafpclient.la
|
||||||
|
|
||||||
|
-libafpclient_la_SOURCES = afp.c codepage.c did.c dsi.c map_def.c uams.c uams_def.c unicode.c users.c utils.c resource.c log.c client.c server.c connect.c loop.c midlevel.c proto_attr.c proto_desktop.c proto_directory.c proto_files.c proto_fork.c proto_login.c proto_map.c proto_replyblock.c proto_server.c proto_volume.c proto_session.c afp_url.c status.c forklist.c debug.c lowlevel.c
|
||||||
|
+libafpclient_la_SOURCES = afp.c codepage.c did.c dsi.c map_def.c uams.c uams_def.c unicode.c users.c utils.c resource.c log.c client.c server.c connect.c loop.c midlevel.c proto_attr.c proto_desktop.c proto_directory.c proto_files.c proto_fork.c proto_login.c proto_map.c proto_replyblock.c proto_server.c proto_volume.c proto_session.c afp_url.c status.c forklist.c debug.c lowlevel.c identify.c
|
||||||
|
|
||||||
|
# libafpclient_la_LDFLAGS = -module -avoid-version
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
diff -Naur afpfs-ng-0.8.1/lib/afp.c afpfs-ng-0.8.1.patch/lib/afp.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/afp.c 2011-09-10 12:23:38.207025811 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/afp.c 2011-09-10 12:30:20.305810381 +0200
|
||||||
|
@@ -19,7 +19,6 @@
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
-#include <errno.h>
|
||||||
|
|
||||||
|
#include "afpfs-ng/afp_protocol.h"
|
||||||
|
#include "afpfs-ng/libafpclient.h"
|
||||||
|
diff -Naur afpfs-ng-0.8.1/lib/afp_url.c afpfs-ng-0.8.1.patch/lib/afp_url.c
|
||||||
|
--- afpfs-ng-0.8.1/lib/afp_url.c 2011-09-10 12:21:39.946437001 +0200
|
||||||
|
+++ afpfs-ng-0.8.1.patch/lib/afp_url.c 2011-09-10 12:30:20.306810396 +0200
|
||||||
|
@@ -21,7 +21,9 @@
|
||||||
|
|
||||||
|
static int check_port(char * port)
|
||||||
|
{
|
||||||
|
- long long ret = strtol(port,NULL,10);
|
||||||
|
+ long long ret = 0;
|
||||||
|
+ errno = 0;
|
||||||
|
+ ret = strtol(port,NULL,10);
|
||||||
|
if ((ret<0) || (ret>32767)) return -1;
|
||||||
|
if (errno) {
|
||||||
|
printf("port error\n");
|
@ -19,12 +19,13 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="connman"
|
PKG_NAME="connman"
|
||||||
PKG_VERSION="0.76"
|
PKG_VERSION="0.77"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="http://www.connman.net"
|
PKG_SITE="http://www.connman.net"
|
||||||
PKG_URL="http://www.kernel.org/pub/linux/network/connman/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
#PKG_URL="http://www.kernel.org/pub/linux/network/connman/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||||
|
PKG_URL="ftp://ftp.pgpi.com/linux/kernel/pub/linux/network/connman//$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||||
#PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
#PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||||
PKG_DEPENDS="glib dbus udev iptables wpa_supplicant ntp netstatus"
|
PKG_DEPENDS="glib dbus udev iptables wpa_supplicant ntp netstatus"
|
||||||
PKG_BUILD_DEPENDS="toolchain glib dbus udev iptables"
|
PKG_BUILD_DEPENDS="toolchain glib dbus udev iptables"
|
||||||
|
@ -19,12 +19,13 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="ethtool"
|
PKG_NAME="ethtool"
|
||||||
PKG_VERSION="2.6.39"
|
PKG_VERSION="3.0"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="http://www.kernel.org/pub/software/network/ethtool/"
|
PKG_SITE="http://www.kernel.org/pub/software/network/ethtool/"
|
||||||
PKG_URL="http://www.kernel.org/pub/software/network/ethtool/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
PKG_URL="ftp://ftp.pgpi.com/linux/kernel/pub/software/network/ethtool/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||||
|
#PKG_URL="http://www.kernel.org/pub/software/network/ethtool/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||||
PKG_DEPENDS=""
|
PKG_DEPENDS=""
|
||||||
PKG_BUILD_DEPENDS="toolchain"
|
PKG_BUILD_DEPENDS="toolchain"
|
||||||
PKG_PRIORITY="optional"
|
PKG_PRIORITY="optional"
|
||||||
|
@ -31,8 +31,9 @@ cd $PKG_BUILD
|
|||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--libdir=/usr/lib \
|
--libdir=/usr/lib \
|
||||||
--sysconfdir=/etc \
|
--sysconfdir=/etc \
|
||||||
|
--disable-examples \
|
||||||
|
--enable-tirpc \
|
||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
$MAKEINSTALL
|
$MAKEINSTALL
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ PKG_ARCH="any"
|
|||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="https://github.com/sahlberg/libnfs"
|
PKG_SITE="https://github.com/sahlberg/libnfs"
|
||||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||||
PKG_DEPENDS=""
|
PKG_DEPENDS="libtirpc"
|
||||||
PKG_BUILD_DEPENDS="toolchain"
|
PKG_BUILD_DEPENDS="toolchain libtirpc"
|
||||||
PKG_PRIORITY="optional"
|
PKG_PRIORITY="optional"
|
||||||
PKG_SECTION="network"
|
PKG_SECTION="network"
|
||||||
PKG_SHORTDESC="libnfs: a client library for accessing NFS shares over a network."
|
PKG_SHORTDESC="libnfs: a client library for accessing NFS shares over a network."
|
||||||
|
@ -25,4 +25,9 @@
|
|||||||
|
|
||||||
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
||||||
|
|
||||||
|
# hack: add addons to $PATH
|
||||||
|
for i in `find /storage/.xbmc/addons/* -name bin -type d`; do
|
||||||
|
PATH="$PATH:$i"
|
||||||
|
done
|
||||||
|
|
||||||
export PATH
|
export PATH
|
||||||
|
@ -149,6 +149,9 @@
|
|||||||
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
||||||
NFS_SUPPORT="yes"
|
NFS_SUPPORT="yes"
|
||||||
|
|
||||||
|
# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no)
|
||||||
|
AFP_SUPPORT="yes"
|
||||||
|
|
||||||
# build and install with XBMC webfrontend (yes / no)
|
# build and install with XBMC webfrontend (yes / no)
|
||||||
WEBSERVER="yes"
|
WEBSERVER="yes"
|
||||||
|
|
||||||
|
@ -149,6 +149,9 @@
|
|||||||
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
||||||
NFS_SUPPORT="yes"
|
NFS_SUPPORT="yes"
|
||||||
|
|
||||||
|
# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no)
|
||||||
|
AFP_SUPPORT="yes"
|
||||||
|
|
||||||
# build and install with XBMC webfrontend (yes / no)
|
# build and install with XBMC webfrontend (yes / no)
|
||||||
WEBSERVER="yes"
|
WEBSERVER="yes"
|
||||||
|
|
||||||
|
@ -149,6 +149,9 @@
|
|||||||
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
||||||
NFS_SUPPORT="yes"
|
NFS_SUPPORT="yes"
|
||||||
|
|
||||||
|
# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no)
|
||||||
|
AFP_SUPPORT="yes"
|
||||||
|
|
||||||
# build and install with XBMC webfrontend (yes / no)
|
# build and install with XBMC webfrontend (yes / no)
|
||||||
WEBSERVER="yes"
|
WEBSERVER="yes"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Name of the Distro to build (full name, without special charcters)
|
# Name of the Distro to build (full name, without special charcters)
|
||||||
DISTRONAME="OpenELEC"
|
DISTRONAME="OpenELEC_EDEN"
|
||||||
|
|
||||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||||
GREATING0="##############################################"
|
GREATING0="##############################################"
|
||||||
@ -146,6 +146,12 @@
|
|||||||
# build with netmount (mounting network drives on boot) support (yes / no)
|
# build with netmount (mounting network drives on boot) support (yes / no)
|
||||||
NETMOUNT="yes"
|
NETMOUNT="yes"
|
||||||
|
|
||||||
|
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
||||||
|
NFS_SUPPORT="yes"
|
||||||
|
|
||||||
|
# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no)
|
||||||
|
AFP_SUPPORT="yes"
|
||||||
|
|
||||||
# build and install with XBMC webfrontend (yes / no)
|
# build and install with XBMC webfrontend (yes / no)
|
||||||
WEBSERVER="yes"
|
WEBSERVER="yes"
|
||||||
|
|
||||||
|
@ -149,6 +149,9 @@
|
|||||||
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
||||||
NFS_SUPPORT="yes"
|
NFS_SUPPORT="yes"
|
||||||
|
|
||||||
|
# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no)
|
||||||
|
AFP_SUPPORT="yes"
|
||||||
|
|
||||||
# build and install with XBMC webfrontend (yes / no)
|
# build and install with XBMC webfrontend (yes / no)
|
||||||
WEBSERVER="yes"
|
WEBSERVER="yes"
|
||||||
|
|
||||||
|
@ -149,6 +149,9 @@
|
|||||||
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
# build with libnfs support (mounting nfs shares with XBMC) (yes / no)
|
||||||
NFS_SUPPORT="yes"
|
NFS_SUPPORT="yes"
|
||||||
|
|
||||||
|
# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no)
|
||||||
|
AFP_SUPPORT="yes"
|
||||||
|
|
||||||
# build and install with XBMC webfrontend (yes / no)
|
# build and install with XBMC webfrontend (yes / no)
|
||||||
WEBSERVER="yes"
|
WEBSERVER="yes"
|
||||||
|
|
||||||
|
@ -155,6 +155,9 @@
|
|||||||
# build and install with NFS mount support in XBMC (yes / no)
|
# build and install with NFS mount support in XBMC (yes / no)
|
||||||
NFS_SUPPORT="yes"
|
NFS_SUPPORT="yes"
|
||||||
|
|
||||||
|
# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no)
|
||||||
|
AFP_SUPPORT="yes"
|
||||||
|
|
||||||
# build and install Samba Server (yes / no)
|
# build and install Samba Server (yes / no)
|
||||||
SAMBA_SERVER="yes"
|
SAMBA_SERVER="yes"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user