diff -Nru libmtp-1.1.5-42-g6e96316/debian/changelog libmtp-1.1.5-42-g6e96316/debian/changelog --- libmtp-1.1.5-42-g6e96316/debian/changelog 2013-02-13 19:10:17.000000000 +0000 +++ libmtp-1.1.5-42-g6e96316/debian/changelog 2013-02-18 22:04:44.000000000 +0000 @@ -1,24 +1,20 @@ -libmtp (1.1.5-42-g6e96316-0~quantal~0) quantal; urgency=medium +libmtp (1.1.5-42-g6e96316-0~quantal~1) quantal; urgency=medium - * Backport from raring - - New devices: - + Philips GoGear Ariaz/97 - + Some Acer's ICONIA tablets. - + Some Archos' stuff. - + Nokia Lumia 920 - + Fujitsu's F903iX HIGH-SPEED and STYLISTIC M532. - + Sony Tablet P1 (and some more from Sony). - + Motorola XT890 - + Google stuff of course. - + Some Asus' Eeepad variants. - + Huawei U8815. - + ZTE Blade 3. - + HTC EVO models and some else. - + Amazon Kindles. - + Intel Xolo 900. - + Various unbranded stuff. + * Add support for Android MTP Extensions via https://launchpad.net/~langdalepl/+archive/gvfs-mtp/+packages + + -- Alin Andrei Mon, 18 Feb 2013 13:07:46 -0800 + +libmtp (1.1.5-42-g6e96316-1ubuntu1ppa2~raring1) raring; urgency=low + + * Add support for Android MTP Extensions. + + -- Philip Langdale Mon, 18 Feb 2013 13:07:46 -0800 + +libmtp (1.1.5-42-g6e96316-1ubuntu1) raring; urgency=low + + * Hard copy config.rpath to avoid build-dep on gnulib. - -- Alin Andrei Sat, 02 Feb 2013 18:18:40 +0000 + -- Alessio Treglia Fri, 15 Feb 2013 20:10:58 +0000 libmtp (1.1.5-42-g6e96316-1) experimental; urgency=low diff -Nru libmtp-1.1.5-42-g6e96316/debian/control libmtp-1.1.5-42-g6e96316/debian/control --- libmtp-1.1.5-42-g6e96316/debian/control 2013-02-02 18:08:28.000000000 +0000 +++ libmtp-1.1.5-42-g6e96316/debian/control 2013-02-15 20:13:23.000000000 +0000 @@ -1,7 +1,8 @@ Source: libmtp Section: libs Priority: optional -Maintainer: Alessio Treglia +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Alessio Treglia Build-Depends: autoconf, automake, @@ -11,7 +12,6 @@ docbook-xsl, doxygen, dpkg-dev (>= 1.13.19), - gnulib, libgcrypt11-dev, libusb-1.0-0-dev [linux-any], libusb-dev [!linux-any], diff -Nru libmtp-1.1.5-42-g6e96316/debian/control.in libmtp-1.1.5-42-g6e96316/debian/control.in --- libmtp-1.1.5-42-g6e96316/debian/control.in 2013-02-02 18:08:28.000000000 +0000 +++ libmtp-1.1.5-42-g6e96316/debian/control.in 2013-02-15 20:13:12.000000000 +0000 @@ -1,7 +1,8 @@ Source: libmtp Section: libs Priority: optional -Maintainer: Alessio Treglia +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Alessio Treglia Build-Depends: autoconf, automake, @@ -11,7 +12,6 @@ docbook-xsl, doxygen, dpkg-dev (>= 1.13.19), - gnulib, libgcrypt11-dev, libusb-1.0-0-dev [linux-any], libusb-dev [!linux-any], diff -Nru libmtp-1.1.5-42-g6e96316/debian/patches/5001-config_rpath.patch libmtp-1.1.5-42-g6e96316/debian/patches/5001-config_rpath.patch --- libmtp-1.1.5-42-g6e96316/debian/patches/5001-config_rpath.patch 1970-01-01 00:00:00.000000000 +0000 +++ libmtp-1.1.5-42-g6e96316/debian/patches/5001-config_rpath.patch 2013-02-15 20:14:22.000000000 +0000 @@ -0,0 +1,697 @@ +--- + config.rpath | 690 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 690 insertions(+) + +--- /dev/null ++++ libmtp-1.1.5-42-g6e96316/config.rpath +@@ -0,0 +1,690 @@ ++#! /bin/sh ++# Output a system dependent set of variables, describing how to set the ++# run time search path of shared libraries in an executable. ++# ++# Copyright 1996-2012 Free Software Foundation, Inc. ++# Taken from GNU libtool, 2001 ++# Originally by Gordon Matzigkeit , 1996 ++# ++# This file is free software; the Free Software Foundation gives ++# unlimited permission to copy and/or distribute it, with or without ++# modifications, as long as this notice is preserved. ++# ++# The first argument passed to this file is the canonical host specification, ++# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM ++# or ++# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM ++# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld ++# should be set by the caller. ++# ++# The set of defined variables is at the end of this script. ++ ++# Known limitations: ++# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer ++# than 256 bytes, otherwise the compiler driver will dump core. The only ++# known workaround is to choose shorter directory names for the build ++# directory and/or the installation directory. ++ ++# All known linkers require a '.a' archive for static linking (except MSVC, ++# which needs '.lib'). ++libext=a ++shrext=.so ++ ++host="$1" ++host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++# Code taken from libtool.m4's _LT_CC_BASENAME. ++ ++for cc_temp in $CC""; do ++ case $cc_temp in ++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; ++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; ++ \-*) ;; ++ *) break;; ++ esac ++done ++cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` ++ ++# Code taken from libtool.m4's _LT_COMPILER_PIC. ++ ++wl= ++if test "$GCC" = yes; then ++ wl='-Wl,' ++else ++ case "$host_os" in ++ aix*) ++ wl='-Wl,' ++ ;; ++ mingw* | cygwin* | pw32* | os2* | cegcc*) ++ ;; ++ hpux9* | hpux10* | hpux11*) ++ wl='-Wl,' ++ ;; ++ irix5* | irix6* | nonstopux*) ++ wl='-Wl,' ++ ;; ++ linux* | k*bsd*-gnu | kopensolaris*-gnu) ++ case $cc_basename in ++ ecc*) ++ wl='-Wl,' ++ ;; ++ icc* | ifort*) ++ wl='-Wl,' ++ ;; ++ lf95*) ++ wl='-Wl,' ++ ;; ++ nagfor*) ++ wl='-Wl,-Wl,,' ++ ;; ++ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) ++ wl='-Wl,' ++ ;; ++ ccc*) ++ wl='-Wl,' ++ ;; ++ xl* | bgxl* | bgf* | mpixl*) ++ wl='-Wl,' ++ ;; ++ como) ++ wl='-lopt=' ++ ;; ++ *) ++ case `$CC -V 2>&1 | sed 5q` in ++ *Sun\ F* | *Sun*Fortran*) ++ wl= ++ ;; ++ *Sun\ C*) ++ wl='-Wl,' ++ ;; ++ esac ++ ;; ++ esac ++ ;; ++ newsos6) ++ ;; ++ *nto* | *qnx*) ++ ;; ++ osf3* | osf4* | osf5*) ++ wl='-Wl,' ++ ;; ++ rdos*) ++ ;; ++ solaris*) ++ case $cc_basename in ++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) ++ wl='-Qoption ld ' ++ ;; ++ *) ++ wl='-Wl,' ++ ;; ++ esac ++ ;; ++ sunos4*) ++ wl='-Qoption ld ' ++ ;; ++ sysv4 | sysv4.2uw2* | sysv4.3*) ++ wl='-Wl,' ++ ;; ++ sysv4*MP*) ++ ;; ++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) ++ wl='-Wl,' ++ ;; ++ unicos*) ++ wl='-Wl,' ++ ;; ++ uts4*) ++ ;; ++ esac ++fi ++ ++# Code taken from libtool.m4's _LT_LINKER_SHLIBS. ++ ++hardcode_libdir_flag_spec= ++hardcode_libdir_separator= ++hardcode_direct=no ++hardcode_minus_L=no ++ ++case "$host_os" in ++ cygwin* | mingw* | pw32* | cegcc*) ++ # FIXME: the MSVC++ port hasn't been tested in a loooong time ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ if test "$GCC" != yes; then ++ with_gnu_ld=no ++ fi ++ ;; ++ interix*) ++ # we just hope/assume this is gcc and not c89 (= MSVC++) ++ with_gnu_ld=yes ++ ;; ++ openbsd*) ++ with_gnu_ld=no ++ ;; ++esac ++ ++ld_shlibs=yes ++if test "$with_gnu_ld" = yes; then ++ # Set some defaults for GNU ld with shared library support. These ++ # are reset later if shared libraries are not supported. Putting them ++ # here allows them to be overridden if necessary. ++ # Unlike libtool, we use -rpath here, not --rpath, since the documented ++ # option of GNU ld is called -rpath, not --rpath. ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ case "$host_os" in ++ aix[3-9]*) ++ # On AIX/PPC, the GNU linker is very broken ++ if test "$host_cpu" != ia64; then ++ ld_shlibs=no ++ fi ++ ;; ++ amigaos*) ++ case "$host_cpu" in ++ powerpc) ++ ;; ++ m68k) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ esac ++ ;; ++ beos*) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ cygwin* | mingw* | pw32* | cegcc*) ++ # hardcode_libdir_flag_spec is actually meaningless, as there is ++ # no search path for DLLs. ++ hardcode_libdir_flag_spec='-L$libdir' ++ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ haiku*) ++ ;; ++ interix[3-9]*) ++ hardcode_direct=no ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ ;; ++ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ netbsd*) ++ ;; ++ solaris*) ++ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ++ ld_shlibs=no ++ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) ++ case `$LD -v 2>&1` in ++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ++ ld_shlibs=no ++ ;; ++ *) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ ;; ++ sunos4*) ++ hardcode_direct=yes ++ ;; ++ *) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ if test "$ld_shlibs" = no; then ++ hardcode_libdir_flag_spec= ++ fi ++else ++ case "$host_os" in ++ aix3*) ++ # Note: this linker hardcodes the directories in LIBPATH if there ++ # are no directories specified by -L. ++ hardcode_minus_L=yes ++ if test "$GCC" = yes; then ++ # Neither direct hardcoding nor static linking is supported with a ++ # broken collect2. ++ hardcode_direct=unsupported ++ fi ++ ;; ++ aix[4-9]*) ++ if test "$host_cpu" = ia64; then ++ # On IA64, the linker does run time linking by default, so we don't ++ # have to do anything special. ++ aix_use_runtimelinking=no ++ else ++ aix_use_runtimelinking=no ++ # Test if we are trying to use run time linking or normal ++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we ++ # need to do runtime linking. ++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) ++ for ld_flag in $LDFLAGS; do ++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then ++ aix_use_runtimelinking=yes ++ break ++ fi ++ done ++ ;; ++ esac ++ fi ++ hardcode_direct=yes ++ hardcode_libdir_separator=':' ++ if test "$GCC" = yes; then ++ case $host_os in aix4.[012]|aix4.[012].*) ++ collect2name=`${CC} -print-prog-name=collect2` ++ if test -f "$collect2name" && \ ++ strings "$collect2name" | grep resolve_lib_name >/dev/null ++ then ++ # We have reworked collect2 ++ : ++ else ++ # We have old collect2 ++ hardcode_direct=unsupported ++ hardcode_minus_L=yes ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_libdir_separator= ++ fi ++ ;; ++ esac ++ fi ++ # Begin _LT_AC_SYS_LIBPATH_AIX. ++ echo 'int main () { return 0; }' > conftest.c ++ ${CC} ${LDFLAGS} conftest.c -o conftest ++ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } ++}'` ++ if test -z "$aix_libpath"; then ++ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } ++}'` ++ fi ++ if test -z "$aix_libpath"; then ++ aix_libpath="/usr/lib:/lib" ++ fi ++ rm -f conftest.c conftest ++ # End _LT_AC_SYS_LIBPATH_AIX. ++ if test "$aix_use_runtimelinking" = yes; then ++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" ++ else ++ if test "$host_cpu" = ia64; then ++ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' ++ else ++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" ++ fi ++ fi ++ ;; ++ amigaos*) ++ case "$host_cpu" in ++ powerpc) ++ ;; ++ m68k) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ esac ++ ;; ++ bsdi[45]*) ++ ;; ++ cygwin* | mingw* | pw32* | cegcc*) ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ # hardcode_libdir_flag_spec is actually meaningless, as there is ++ # no search path for DLLs. ++ hardcode_libdir_flag_spec=' ' ++ libext=lib ++ ;; ++ darwin* | rhapsody*) ++ hardcode_direct=no ++ if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ dgux*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ ;; ++ freebsd2.2*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ ;; ++ freebsd2*) ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ ;; ++ freebsd* | dragonfly*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ ;; ++ hpux9*) ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ ;; ++ hpux10*) ++ if test "$with_gnu_ld" = no; then ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ fi ++ ;; ++ hpux11*) ++ if test "$with_gnu_ld" = no; then ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ case $host_cpu in ++ hppa*64*|ia64*) ++ hardcode_direct=no ++ ;; ++ *) ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ ;; ++ esac ++ fi ++ ;; ++ irix5* | irix6* | nonstopux*) ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ netbsd*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ ;; ++ newsos6) ++ hardcode_direct=yes ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ *nto* | *qnx*) ++ ;; ++ openbsd*) ++ if test -f /usr/libexec/ld.so; then ++ hardcode_direct=yes ++ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ else ++ case "$host_os" in ++ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ ;; ++ *) ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ ;; ++ esac ++ fi ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ os2*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ osf3*) ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ osf4* | osf5*) ++ if test "$GCC" = yes; then ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ else ++ # Both cc and cxx compiler support -rpath directly ++ hardcode_libdir_flag_spec='-rpath $libdir' ++ fi ++ hardcode_libdir_separator=: ++ ;; ++ solaris*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ ;; ++ sunos4*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ ;; ++ sysv4) ++ case $host_vendor in ++ sni) ++ hardcode_direct=yes # is this really true??? ++ ;; ++ siemens) ++ hardcode_direct=no ++ ;; ++ motorola) ++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie ++ ;; ++ esac ++ ;; ++ sysv4.3*) ++ ;; ++ sysv4*MP*) ++ if test -d /usr/nec; then ++ ld_shlibs=yes ++ fi ++ ;; ++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ++ ;; ++ sysv5* | sco3.2v5* | sco5v6*) ++ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' ++ hardcode_libdir_separator=':' ++ ;; ++ uts4*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ ;; ++ *) ++ ld_shlibs=no ++ ;; ++ esac ++fi ++ ++# Check dynamic linker characteristics ++# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. ++# Unlike libtool.m4, here we don't care about _all_ names of the library, but ++# only about the one the linker finds when passed -lNAME. This is the last ++# element of library_names_spec in libtool.m4, or possibly two of them if the ++# linker has special search rules. ++library_names_spec= # the last element of library_names_spec in libtool.m4 ++libname_spec='lib$name' ++case "$host_os" in ++ aix3*) ++ library_names_spec='$libname.a' ++ ;; ++ aix[4-9]*) ++ library_names_spec='$libname$shrext' ++ ;; ++ amigaos*) ++ case "$host_cpu" in ++ powerpc*) ++ library_names_spec='$libname$shrext' ;; ++ m68k) ++ library_names_spec='$libname.a' ;; ++ esac ++ ;; ++ beos*) ++ library_names_spec='$libname$shrext' ++ ;; ++ bsdi[45]*) ++ library_names_spec='$libname$shrext' ++ ;; ++ cygwin* | mingw* | pw32* | cegcc*) ++ shrext=.dll ++ library_names_spec='$libname.dll.a $libname.lib' ++ ;; ++ darwin* | rhapsody*) ++ shrext=.dylib ++ library_names_spec='$libname$shrext' ++ ;; ++ dgux*) ++ library_names_spec='$libname$shrext' ++ ;; ++ freebsd* | dragonfly*) ++ case "$host_os" in ++ freebsd[123]*) ++ library_names_spec='$libname$shrext$versuffix' ;; ++ *) ++ library_names_spec='$libname$shrext' ;; ++ esac ++ ;; ++ gnu*) ++ library_names_spec='$libname$shrext' ++ ;; ++ haiku*) ++ library_names_spec='$libname$shrext' ++ ;; ++ hpux9* | hpux10* | hpux11*) ++ case $host_cpu in ++ ia64*) ++ shrext=.so ++ ;; ++ hppa*64*) ++ shrext=.sl ++ ;; ++ *) ++ shrext=.sl ++ ;; ++ esac ++ library_names_spec='$libname$shrext' ++ ;; ++ interix[3-9]*) ++ library_names_spec='$libname$shrext' ++ ;; ++ irix5* | irix6* | nonstopux*) ++ library_names_spec='$libname$shrext' ++ case "$host_os" in ++ irix5* | nonstopux*) ++ libsuff= shlibsuff= ++ ;; ++ *) ++ case $LD in ++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; ++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; ++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; ++ *) libsuff= shlibsuff= ;; ++ esac ++ ;; ++ esac ++ ;; ++ linux*oldld* | linux*aout* | linux*coff*) ++ ;; ++ linux* | k*bsd*-gnu | kopensolaris*-gnu) ++ library_names_spec='$libname$shrext' ++ ;; ++ knetbsd*-gnu) ++ library_names_spec='$libname$shrext' ++ ;; ++ netbsd*) ++ library_names_spec='$libname$shrext' ++ ;; ++ newsos6) ++ library_names_spec='$libname$shrext' ++ ;; ++ *nto* | *qnx*) ++ library_names_spec='$libname$shrext' ++ ;; ++ openbsd*) ++ library_names_spec='$libname$shrext$versuffix' ++ ;; ++ os2*) ++ libname_spec='$name' ++ shrext=.dll ++ library_names_spec='$libname.a' ++ ;; ++ osf3* | osf4* | osf5*) ++ library_names_spec='$libname$shrext' ++ ;; ++ rdos*) ++ ;; ++ solaris*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sunos4*) ++ library_names_spec='$libname$shrext$versuffix' ++ ;; ++ sysv4 | sysv4.3*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sysv4*MP*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ++ library_names_spec='$libname$shrext' ++ ;; ++ tpf*) ++ library_names_spec='$libname$shrext' ++ ;; ++ uts4*) ++ library_names_spec='$libname$shrext' ++ ;; ++esac ++ ++sed_quote_subst='s/\(["`$\\]\)/\\\1/g' ++escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` ++shlibext=`echo "$shrext" | sed -e 's,^\.,,'` ++escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++ ++LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' < + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: http://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: + +--- libmtp-1.1.5-42-g6e96316.orig/src/libmtp.h.in ++++ libmtp-1.1.5-42-g6e96316/src/libmtp.h.in +@@ -477,6 +477,16 @@ typedef uint16_t (* MTPDataPutFunc) (voi + uint32_t sendlen, unsigned char *data, uint32_t *putlen); + + /** ++ * Callback function for use when enumerating the contents of a folder. ++ * The callback will be called once for each enumerated file. ++ * @param file the enumerated file ++ * @param data a user-defined dereferencable pointer ++ * @return if anything else than 0 is returned, the current enumeration will be ++ * cancelled. ++ */ ++typedef int (* LIBMTP_enumeratefunc_t) (LIBMTP_file_t *file, void const * const data); ++ ++/** + * The return codes for the get/put functions + */ + #define LIBMTP_HANDLER_RETURN_OK 0 +@@ -875,6 +885,11 @@ LIBMTP_file_t *LIBMTP_Get_Filelisting_Wi + LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *, + uint32_t const, + uint32_t const); ++LIBMTP_file_t * LIBMTP_Get_Files_And_Folders_With_Callback(LIBMTP_mtpdevice_t *, ++ uint32_t const, ++ uint32_t const, ++ LIBMTP_enumeratefunc_t const, ++ void const * const); + LIBMTP_file_t *LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const); + int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const, + LIBMTP_progressfunc_t const, void const * const); +@@ -1014,6 +1029,14 @@ int LIBMTP_Set_Object_Filename(LIBMTP_mt + */ + int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *); + ++int LIBMTP_GetPartialObject64(LIBMTP_mtpdevice_t *, uint32_t const, ++ uint64_t, uint32_t, ++ unsigned char **, unsigned int *); ++int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *, uint32_t const, ++ uint64_t, unsigned char *, unsigned int); ++int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *, uint32_t const); ++int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *, uint32_t const); ++int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *, uint32_t const, uint64_t); + + /** @} */ + +--- libmtp-1.1.5-42-g6e96316.orig/src/ptp.c ++++ libmtp-1.1.5-42-g6e96316/src/ptp.c +@@ -3276,6 +3276,71 @@ ptp_chdk_get_video_settings(PTPParams* p + } + + ++/** ++ * Android MTP Extensions ++ */ ++ ++/** ++ * ptp_android_getpartialobject64: ++ * params: PTPParams* ++ * handle - Object handle ++ * offset - Offset into object ++ * maxbytes - Maximum of bytes to read ++ * object - pointer to data area ++ * len - pointer to returned length ++ * ++ * Get object 'handle' from device and store the data in newly ++ * allocated 'object'. Start from offset and read at most maxbytes. ++ * ++ * This is a 64bit offset version of the standard GetPartialObject. ++ * ++ * Return values: Some PTP_RC_* code. ++ **/ ++uint16_t ++ptp_android_getpartialobject64 (PTPParams* params, uint32_t handle, uint64_t offset, ++ uint32_t maxbytes, unsigned char** object, ++ uint32_t *len) ++{ ++ PTPContainer ptp; ++ ++ PTP_CNT_INIT(ptp); ++ ptp.Code=PTP_OC_ANDROID_GetPartialObject64; ++ ptp.Param1=handle; ++ ptp.Param2=offset & 0xFFFFFFFF; ++ ptp.Param3=offset >> 32; ++ ptp.Param4=maxbytes; ++ ptp.Nparam=4; ++ *len=0; ++ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, object, len); ++} ++ ++uint16_t ++ptp_android_sendpartialobject (PTPParams* params, uint32_t handle, uint64_t offset, ++ unsigned char* object, uint32_t len) ++{ ++ uint32_t err; ++ PTPContainer ptp; ++ ++ PTP_CNT_INIT(ptp); ++ ptp.Code=PTP_OC_ANDROID_SendPartialObject; ++ ptp.Param1=handle; ++ ptp.Param2=offset & 0xFFFFFFFF; ++ ptp.Param3=offset >> 32; ++ ptp.Param4=len; ++ ptp.Nparam=4; ++ ++ /* ++ * MtpServer.cpp is buggy: it uses write() without offset ++ * rather than pwrite to send the data for data coming with ++ * the header packet ++ */ ++ params->split_header_data = 1; ++ err=ptp_transaction(params, &ptp, PTP_DP_SENDDATA, len, &object, NULL); ++ params->split_header_data = 0; ++ ++ return err; ++} ++ + + /* Non PTP protocol functions */ + /* devinfo testing functions */ +--- libmtp-1.1.5-42-g6e96316.orig/src/ptp.h ++++ libmtp-1.1.5-42-g6e96316/src/ptp.h +@@ -548,6 +548,13 @@ typedef struct _PTPIPHeader PTPIPHeader; + #define PTP_OC_OLYMPUS_SetCameraID 0x9501 + #define PTP_OC_OLYMPUS_GetCameraID 0x9581 + ++/* Android Random I/O Extensions Codes */ ++#define PTP_OC_ANDROID_GetPartialObject64 0x95C1 ++#define PTP_OC_ANDROID_SendPartialObject 0x95C2 ++#define PTP_OC_ANDROID_TruncateObject 0x95C3 ++#define PTP_OC_ANDROID_BeginEditObject 0x95C4 ++#define PTP_OC_ANDROID_EndEditObject 0x95C5 ++ + /* Proprietary vendor extension operations mask */ + #define PTP_OC_EXTENSION_MASK 0xF000 + #define PTP_OC_EXTENSION 0x9000 +@@ -2804,6 +2811,17 @@ uint16_t ptp_nikon_getfileinfoinblock (P + #define ptp_nikon_device_ready(params) ptp_generic_no_data (params, PTP_OC_NIKON_DeviceReady, 0) + uint16_t ptp_mtp_getobjectpropssupported (PTPParams* params, uint16_t ofc, uint32_t *propnum, uint16_t **props); + ++ ++/* Android MTP Extensions */ ++uint16_t ptp_android_getpartialobject64 (PTPParams* params, uint32_t handle, uint64_t offset, ++ uint32_t maxbytes, unsigned char** object, ++ uint32_t *len); ++#define ptp_android_begineditobject(params,handle) ptp_generic_no_data (params, PTP_OC_ANDROID_BeginEditObject, 1, handle); ++#define ptp_android_truncate(params,handle,offset) ptp_generic_no_data (params, PTP_OC_ANDROID_TruncateObject, 3, handle, (offset & 0xFFFFFFFF), (offset >> 32)); ++uint16_t ptp_android_sendpartialobject (PTPParams *params, uint32_t handle, ++ uint64_t offset, unsigned char *object, uint32_t len); ++#define ptp_android_endeditobject(params,handle) ptp_generic_no_data (params, PTP_OC_ANDROID_EndEditObject, 1, handle); ++ + /* Non PTP protocol functions */ + static inline int + ptp_operation_issupported(PTPParams* params, uint16_t operation) +--- libmtp-1.1.5-42-g6e96316.orig/src/libmtp.c ++++ libmtp-1.1.5-42-g6e96316/src/libmtp.c +@@ -4328,6 +4328,30 @@ LIBMTP_file_t * LIBMTP_Get_Files_And_Fol + uint32_t const storage, + uint32_t const parent) + { ++ return LIBMTP_Get_Files_And_Folders_With_Callback(device, storage, parent, NULL, NULL); ++} ++ ++/** ++ * This function retrieves the contents of a certain folder ++ * with id parent on a certain storage on a certain device. ++ * The result contains both files and folders. ++ * The device used with this operations must have been opened with ++ * LIBMTP_Open_Raw_Device_Uncached() or it will fail. ++ * ++ * NOTE: the request will always perform I/O with the device. ++ * @param device a pointer to the MTP device to report info from. ++ * @param storage a storage on the device to report info from. If ++ * 0 is passed in, the files for the given parent will be ++ * searched across all available storages. ++ * @param parent the parent folder id. ++ */ ++LIBMTP_file_t * LIBMTP_Get_Files_And_Folders_With_Callback( ++ LIBMTP_mtpdevice_t *device, ++ uint32_t const storage, ++ uint32_t const parent, ++ LIBMTP_enumeratefunc_t const callback, ++ void const * const data) ++{ + PTPParams *params = (PTPParams *) device->params; + PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo; + LIBMTP_file_t *retfiles = NULL; +@@ -4392,6 +4416,19 @@ LIBMTP_file_t * LIBMTP_Get_Files_And_Fol + curfile->next = file; + curfile = file; + } ++ ++ if (callback != NULL) { ++ int ret = callback(file, data); ++ if (ret != 0) { ++ while (retfiles != NULL) { ++ file = retfiles; ++ retfiles = retfiles->next; ++ LIBMTP_destroy_file_t(file); ++ } ++ add_error_to_errorstack(device, LIBMTP_ERROR_CANCELLED, "LIBMTP_Get_Files_And_Folders_With_Callback(): Cancelled."); ++ break; ++ } ++ } + } + + free(currentHandles.Handler); +@@ -8819,6 +8856,74 @@ int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevic + return -1; + } + ++ ++int LIBMTP_GetPartialObject64(LIBMTP_mtpdevice_t *device, uint32_t const id, ++ uint64_t offset, uint32_t maxbytes, ++ unsigned char **data, unsigned int *size) ++{ ++ PTPParams *params = (PTPParams *) device->params; ++ uint16_t ret; ++ ++ ret = ptp_android_getpartialobject64(params, id, offset, maxbytes, data, size); ++ if (ret == PTP_RC_OK) ++ return 0; ++ return -1; ++} ++ ++ ++int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *device, uint32_t const id, ++ uint64_t offset, unsigned char *data, unsigned int size) ++{ ++ PTPParams *params = (PTPParams *) device->params; ++ uint16_t ret; ++ ++ ret = ptp_android_sendpartialobject(params, id, offset, data, size); ++ if (ret == PTP_RC_OK) ++ return 0; ++ return -1; ++} ++ ++ ++int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *device, uint32_t const id) ++{ ++ PTPParams *params = (PTPParams *) device->params; ++ uint16_t ret; ++ ++ ret = ptp_android_begineditobject(params, id); ++ if (ret == PTP_RC_OK) ++ return 0; ++ return -1; ++} ++ ++ ++int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *device, uint32_t const id) ++{ ++ PTPParams *params = (PTPParams *) device->params; ++ uint16_t ret; ++ ++ ret = ptp_android_endeditobject(params, id); ++ if (ret == PTP_RC_OK) { ++ // update cached object properties if metadata cache exists ++ update_metadata_cache(device, id); ++ return 0; ++ } ++ return -1; ++} ++ ++ ++int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *device, uint32_t const id, ++ uint64_t offset) ++{ ++ PTPParams *params = (PTPParams *) device->params; ++ uint16_t ret; ++ ++ ret = ptp_android_truncate(params, id, offset); ++ if (ret == PTP_RC_OK) ++ return 0; ++ return -1; ++} ++ ++ + /** + * This routine updates an album based on the metadata + * supplied. If the tracks field of the metadata +--- libmtp-1.1.5-42-g6e96316.orig/src/libmtp.sym ++++ libmtp-1.1.5-42-g6e96316/src/libmtp.sym +@@ -48,6 +48,7 @@ LIBMTP_Get_Filetype_Description + LIBMTP_Get_Filelisting + LIBMTP_Get_Filelisting_With_Callback + LIBMTP_Get_Files_And_Folders ++LIBMTP_Get_Files_And_Folders_With_Callback + LIBMTP_Get_Filemetadata + LIBMTP_Get_File_To_File + LIBMTP_Get_File_To_File_Descriptor +@@ -102,3 +103,8 @@ LIBMTP_Set_Album_Name + LIBMTP_Set_Object_Filename + LIBMTP_Get_Thumbnail + LIBMTP_Read_Event ++LIBMTP_GetPartialObject64 ++LIBMTP_SendPartialObject ++LIBMTP_BeginEditObject ++LIBMTP_EndEditObject ++LIBMTP_TruncateObject diff -Nru libmtp-1.1.5-42-g6e96316/debian/patches/series libmtp-1.1.5-42-g6e96316/debian/patches/series --- libmtp-1.1.5-42-g6e96316/debian/patches/series 2013-02-02 18:08:28.000000000 +0000 +++ libmtp-1.1.5-42-g6e96316/debian/patches/series 2013-02-18 21:07:25.000000000 +0000 @@ -1 +1,3 @@ 1002-udev_rules.patch +5001-config_rpath.patch +android.patch diff -Nru libmtp-1.1.5-42-g6e96316/debian/rules libmtp-1.1.5-42-g6e96316/debian/rules --- libmtp-1.1.5-42-g6e96316/debian/rules 2013-02-02 18:08:28.000000000 +0000 +++ libmtp-1.1.5-42-g6e96316/debian/rules 2013-02-15 20:16:12.000000000 +0000 @@ -34,14 +34,6 @@ %: dh $@ --with autoreconf -override_dh_autoreconf: - cp /usr/share/gnulib/build-aux/config.rpath . - dh_autoreconf - -override_dh_autoreconf_clean: - rm -rf config.rpath - dh_autoreconf_clean - override_dh_auto_configure: $(SUBSTFILES) debian/control # Save file modified by configure ( test -e src/gphoto2-endian.h-orig -o ! \( -e src/gphoto2-endian.h \) ) \