Hello community, here is the log from the commit of package libplist for openSUSE:Factory checked in at Thu Apr 21 11:52:27 CEST 2011.
-------- --- libplist/libplist.changes 2010-12-10 16:15:11.000000000 +0100 +++ /mounts/work_src_done/STABLE/libplist/libplist.changes 2011-03-20 18:46:04.000000000 +0100 @@ -1,0 +2,13 @@ +Sun Mar 20 18:17:36 CEST 2011 - [email protected] + +- Update to version 1.4 + * New maintainer and source location + * Update AUTHORS from git history + * Fix Unicode writing in binary plists + * Update plist doctype + * Fix Dictionary copy constructor + * Fix Mac OS X library install path detection + * Plug memory leak when writing Unicode data +- Remove pkgconfig patch due to upstream fixes + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- libplist-1.3-pkgconfig.patch libplist-1.3.tar.bz2 New: ---- libplist-1.4-pkgconfig.patch libplist-1.4.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libplist.spec ++++++ --- /var/tmp/diff_new_pack.L5rZ0Z/_old 2011-04-21 11:51:50.000000000 +0200 +++ /var/tmp/diff_new_pack.L5rZ0Z/_new 2011-04-21 11:51:50.000000000 +0200 @@ -1,7 +1,7 @@ # -# spec file for package libplist (Version 1.3) +# spec file for package libplist # -# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,11 +18,11 @@ Name: libplist -Version: 1.3 -Release: 4 +Version: 1.4 +Release: 1 License: LGPL v2.1 or GPL v2 Summary: Library for handling Apple Binary and XML Property Lists -Url: http://github.com/JonathanBeck/libplist +Url: http://cgit.sukimashita.com/libplist.git Group: System/Libraries Source: %{name}-%{version}.tar.bz2 BuildRequires: cmake @@ -33,7 +33,7 @@ BuildRequires: swig BuildRoot: %{_tmppath}/%{name}-%{version}-build #remove when pkgconfig is fixed to handle Requires.private correctly -Patch0: libplist-1.3-pkgconfig.patch +Patch0: libplist-1.4-pkgconfig.patch %description libplist is a library for handling Apple Binary and XML Property Lists. @@ -139,12 +139,12 @@ %files -n libplist1 %defattr(-,root,root) -%doc AUTHORS COPYING.LESSER README +%doc AUTHORS COPYING.LESSER README NEWS %{_libdir}/libplist.so.* %files -n libplist++1 %defattr(-,root,root) -%doc AUTHORS COPYING.LESSER README +%doc AUTHORS COPYING.LESSER README NEWS %{_libdir}/libplist++.so.* %files -n plutil ++++++ libplist-1.3-pkgconfig.patch -> libplist-1.4-pkgconfig.patch ++++++ --- libplist/libplist-1.3-pkgconfig.patch 2010-12-08 22:19:06.000000000 +0100 +++ /mounts/work_src_done/STABLE/libplist/libplist-1.4-pkgconfig.patch 2011-03-20 18:39:57.000000000 +0100 @@ -4,7 +4,7 @@ Name: libplist Description: A library to handle Apple Property Lists whereas they are binary or XML Version: ${LIBPLIST_VERSION} --Requires: libxml-2.0 >= 2.6.30 glib-2.0 >= 2.14.1 +-Requires.private: libxml-2.0 >= 2.6.30 glib-2.0 >= 2.14.1 +#Requires.private: libxml-2.0 >= 2.6.30 glib-2.0 >= 2.14.1 Libs: -L${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} -lplist Cflags: -I${CMAKE_INSTALL_PREFIX}/include ++++++ libplist-1.3.tar.bz2 -> libplist-1.4.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/AUTHORS new/libplist-1.4/AUTHORS --- old/libplist-1.3/AUTHORS 2010-04-18 15:30:19.000000000 +0200 +++ new/libplist-1.4/AUTHORS 2011-03-20 17:45:21.000000000 +0100 @@ -1,4 +1,13 @@ +Alexander Sack +Christophe Fergeau +Ingmar Vanhassel Jonathan Beck -Zach C. +Julien Blache +Martin Aumueller Martin Szulecki +Matt Colyer Nikias Bassen +Patrick von Reth +Patrick Walton +Paul Sladen +Zach C diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/CMakeLists.txt new/libplist-1.4/CMakeLists.txt --- old/libplist-1.3/CMakeLists.txt 2010-04-18 15:30:19.000000000 +0200 +++ new/libplist-1.4/CMakeLists.txt 2011-03-20 17:45:21.000000000 +0100 @@ -1,7 +1,7 @@ PROJECT( libplist ) SET( LIBPLIST_VERSION_MAJOR "1" ) -SET( LIBPLIST_VERSION_MINOR "3" ) +SET( LIBPLIST_VERSION_MINOR "4" ) SET( LIBPLIST_SOVERSION "1" ) SET( LIBPLIST_VERSION "${LIBPLIST_VERSION_MAJOR}.${LIBPLIST_VERSION_MINOR}" ) SET( LIBPLIST_LIBVERSION "${LIBPLIST_SOVERSION}.${LIBPLIST_VERSION}" ) @@ -26,7 +26,8 @@ FIND_PACKAGE( PythonLibs ) ENDIF(ENABLE_PYTHON) -INCLUDE_DIRECTORIES( "${CMAKE_CURRENT_SOURCE_DIR}/include" ) +INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_INCLUDE_PATH}) ENABLE_TESTING() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/NEWS new/libplist-1.4/NEWS --- old/libplist-1.3/NEWS 1970-01-01 01:00:00.000000000 +0100 +++ new/libplist-1.4/NEWS 2011-03-20 17:45:21.000000000 +0100 @@ -0,0 +1,89 @@ +Version 1.4 +~~~~~~~~~~~ + +- New maintainer and source location +- Changes: + * Update AUTHORS from git history + * Fix Unicode writing in binary plists + * Update plist doctype + * Fix Dictionary copy constructor + * Fix Mac OS X library install path detection + * Plug memory leak when writing Unicode data + +Version 1.3 +~~~~~~~~~~~ + +- Changes: + * Endianness, alignment and type-punning fixes + * Fix armel floating point endianess + * Allow compiling with mingw on Windows + * Minor bugfixes + +Version 1.2 +~~~~~~~~~~~ + +- Changes: + * Fix xml entity conversion + * Silence build warnings + +Version 1.1 +~~~~~~~~~~~ + +- Changes: + * Fix use of integer nodes within Python Bindings + +Version 1.0 +~~~~~~~~~~~ + +- Changes: + * Bugfixes + * Remove deprecated API + +Version 0.16 +~~~~~~~~~~~~ + +- Changes: + * Build fixes + * Fix issues with SWIG + +Version 0.15 +~~~~~~~~~~~~ + +- Changes: + * Build fixes + +Version 0.14 +~~~~~~~~~~~~ + +- Changes: + * Add C++ binding + * Refactor API + * Bugfixes + +Version 0.13 +~~~~~~~~~~~~ + +- Changes: + * Add plist_copy for deep node copies + * Add node setter functions + * Unlink nodes from parent if free'd + * Update Python bindings + +Version 0.12 +~~~~~~~~~~~~ + +- Changes: + * Merge ascii and unicode handling in PLIST_STRING using UTF-8 + * Remove unicode related declaration in API (breaks API&ABI) + * Fix bad variable type for date elements + * Silence compiler warnings + * Plugged few memory leaks + +Version 0.11 +~~~~~~~~~~~~ + +- Changes: + * Fix Python binding segfaults + * Python API additions + * Better binary buffer handling in Python bindings + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/README new/libplist-1.4/README --- old/libplist-1.3/README 2010-04-18 15:30:19.000000000 +0200 +++ new/libplist-1.4/README 2011-03-20 17:45:21.000000000 +0100 @@ -33,7 +33,7 @@ http://www.libimobiledevice.org/ Code: - git clone git://github.com/JonathanBeck/libplist.git + git clone http://cgit.sukimashita.com/libplist.git/ Tickets: http://libiphone.lighthouseapp.com/ @@ -43,4 +43,4 @@ http://lists.libimobiledevice.org/mailman/listinfo/libimobiledevice-devel updated: - 2010-04-18 + 2011-02-12 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/doxygen.cfg new/libplist-1.4/doxygen.cfg --- old/libplist-1.3/doxygen.cfg 2010-04-18 15:30:19.000000000 +0200 +++ new/libplist-1.4/doxygen.cfg 2011-03-20 17:45:21.000000000 +0100 @@ -31,7 +31,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.3 +PROJECT_NUMBER = 1.4 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/libplist.pc.in new/libplist-1.4/libplist.pc.in --- old/libplist-1.3/libplist.pc.in 2010-04-18 15:30:19.000000000 +0200 +++ new/libplist-1.4/libplist.pc.in 2011-03-20 17:45:21.000000000 +0100 @@ -6,7 +6,7 @@ Name: libplist Description: A library to handle Apple Property Lists whereas they are binary or XML Version: ${LIBPLIST_VERSION} -Requires: libxml-2.0 >= 2.6.30 glib-2.0 >= 2.14.1 +Requires.private: libxml-2.0 >= 2.6.30 glib-2.0 >= 2.14.1 Libs: -L${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} -lplist Cflags: -I${CMAKE_INSTALL_PREFIX}/include diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/src/CMakeLists.txt new/libplist-1.4/src/CMakeLists.txt --- old/libplist-1.3/src/CMakeLists.txt 2010-04-18 15:30:19.000000000 +0200 +++ new/libplist-1.4/src/CMakeLists.txt 2011-03-20 17:45:21.000000000 +0100 @@ -24,11 +24,17 @@ TARGET_LINK_LIBRARIES( plist ${LIBXML2_LIBRARIES} ${GLIB2_LIBRARIES} ) SET_TARGET_PROPERTIES( plist PROPERTIES VERSION ${LIBPLIST_LIBVERSION} ) SET_TARGET_PROPERTIES( plist PROPERTIES SOVERSION ${LIBPLIST_SOVERSION} ) +if(APPLE) + SET_TARGET_PROPERTIES( plist PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +endif() ADD_LIBRARY( plist++ SHARED ${libplist++_SRC} ) TARGET_LINK_LIBRARIES( plist++ plist ) SET_TARGET_PROPERTIES( plist++ PROPERTIES VERSION ${LIBPLIST_LIBVERSION} ) SET_TARGET_PROPERTIES( plist++ PROPERTIES SOVERSION ${LIBPLIST_SOVERSION} ) +if(APPLE) + SET_TARGET_PROPERTIES( plist++ PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +endif() INSTALL(TARGETS plist plist++ RUNTIME DESTINATION bin COMPONENT lib diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/src/Dictionary.cpp new/libplist-1.4/src/Dictionary.cpp --- old/libplist-1.3/src/Dictionary.cpp 2010-04-18 15:30:19.000000000 +0200 +++ new/libplist-1.4/src/Dictionary.cpp 2011-03-20 17:45:21.000000000 +0100 @@ -72,7 +72,7 @@ subnode = NULL; free(key); key = NULL; - plist_dict_next_item(_node, it, NULL, &subnode); + plist_dict_next_item(_node, it, &key, &subnode); } free(it); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/src/bplist.c new/libplist-1.4/src/bplist.c --- old/libplist-1.3/src/bplist.c 2010-04-18 15:30:19.000000000 +0200 +++ new/libplist-1.4/src/bplist.c 2011-03-20 17:45:21.000000000 +0100 @@ -25,6 +25,7 @@ #include <string.h> #include <libxml/encoding.h> +#include <ctype.h> #include <plist/plist.h> #include "plist.h" @@ -732,6 +733,8 @@ g_byte_array_append(bplist, int_buff->data, int_buff->len); g_byte_array_free(int_buff, TRUE); } + //stupid unicode buffer length + if (BPLIST_UNICODE==mark) size *= 2; buff = (uint8_t *) malloc(size); memcpy(buff, val, size); g_byte_array_append(bplist, buff, size); @@ -757,7 +760,8 @@ memcpy(buff, val, size2); for (i = 0; i < size; i++) byte_convert(buff + i * sizeof(gunichar2), sizeof(gunichar2)); - write_raw_data(bplist, BPLIST_STRING, buff, size2); + write_raw_data(bplist, BPLIST_UNICODE, buff, size); + free(buff); } static void write_array(GByteArray * bplist, GNode * node, GHashTable * ref_table, uint8_t dict_param_size) @@ -842,6 +846,20 @@ } +static int is_ascii_string(char* s, int len) +{ + int ret = 1, i = 0; + for(i = 0; i < len; i++) + { + if ( !isascii( s[i] ) ) + { + ret = 0; + break; + } + } + return ret; +} + void plist_to_bin(plist_t plist, char **plist_bin, uint32_t * length) { GPtrArray *objects = NULL; @@ -922,17 +940,16 @@ case PLIST_KEY: case PLIST_STRING: len = strlen(data->strval); - type = xmlDetectCharEncoding((const unsigned char *)data->strval, len); - if (XML_CHAR_ENCODING_UTF8 == type) + if ( is_ascii_string(data->strval, len) ) + { + write_string(bplist_buff, data->strval); + } + else { unicodestr = g_utf8_to_utf16(data->strval, len, &items_read, &items_written, &error); write_unicode(bplist_buff, unicodestr, items_written); g_free(unicodestr); } - else if (XML_CHAR_ENCODING_ASCII == type || XML_CHAR_ENCODING_NONE == type) - { - write_string(bplist_buff, data->strval); - } break; case PLIST_DATA: write_data(bplist_buff, data->buff, data->length); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplist-1.3/src/xplist.c new/libplist-1.4/src/xplist.c --- old/libplist-1.3/src/xplist.c 2010-04-18 15:30:19.000000000 +0200 +++ new/libplist-1.4/src/xplist.c 2011-03-20 17:45:21.000000000 +0100 @@ -46,7 +46,7 @@ #define XPLIST_DICT BAD_CAST("dict") static const char *plist_base = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\ -<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n\ +<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n\ <plist version=\"1.0\">\n\ </plist>\0"; @@ -174,7 +174,7 @@ if (node_data->length) { valtmp = g_base64_encode(node_data->buff, node_data->length); - val = format_string(valtmp, 60, xstruct->depth); + val = format_string(valtmp, 68, xstruct->depth); g_free(valtmp); } break; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
