Hello community, here is the log from the commit of package libmirage for openSUSE:Factory checked in at 2017-02-09 11:17:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libmirage (Old) and /work/SRC/openSUSE:Factory/.libmirage.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmirage" Changes: -------- --- /work/SRC/openSUSE:Factory/libmirage/libmirage.changes 2015-11-26 17:03:59.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libmirage.new/libmirage.changes 2017-02-09 11:17:05.382566411 +0100 @@ -1,0 +2,10 @@ +Mon Feb 6 18:08:02 UTC 2017 - jeng...@inai.de + +- Update to new upstream release 3.0.5 + * Removed a spurious stream reference increment when creating + text streams. + * CUE parser: fixed the flags regex + * Text-based parsers: added an assert to verify that all regexes + have compiled properly. + +------------------------------------------------------------------- Old: ---- libmirage-3.0.4.tar.bz2 New: ---- libmirage-3.0.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libmirage.spec ++++++ --- /var/tmp/diff_new_pack.fRQeij/_old 2017-02-09 11:17:05.774510942 +0100 +++ /var/tmp/diff_new_pack.fRQeij/_new 2017-02-09 11:17:05.778510376 +0100 @@ -1,7 +1,7 @@ # # spec file for package libmirage # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,7 +22,7 @@ Summary: A CD-ROM image access library License: GPL-2.0+ Group: Development/Libraries/C and C++ -Version: 3.0.4 +Version: 3.0.5 Release: 0 Url: http://cdemu.sf.net/about/libmirage/ @@ -51,8 +51,8 @@ %package -n %lname Summary: A CD-ROM image access library -Group: System/Libraries # Technically Suggests:, but pretty useless without +Group: System/Libraries Requires: libmirage-%pname >= %version %description -n %lname ++++++ libmirage-3.0.4.tar.bz2 -> libmirage-3.0.5.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/AUTHORS new/libmirage-3.0.5/AUTHORS --- old/libmirage-3.0.4/AUTHORS 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/AUTHORS 2016-10-09 21:01:03.000000000 +0200 @@ -1,3 +1,3 @@ Rok Mandeljc <rok DOT mandeljc AT gmail DOT com> -Henrik Stokseth <henrik AT hshq DOT net> +Henrik Stokseth <hstok...@users.sourceforge.net> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/CMakeLists.txt new/libmirage-3.0.5/CMakeLists.txt --- old/libmirage-3.0.4/CMakeLists.txt 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/CMakeLists.txt 2016-10-09 21:01:03.000000000 +0200 @@ -6,7 +6,7 @@ # Release versioning: set (MIRAGE_VERSION_MAJOR 3) set (MIRAGE_VERSION_MINOR 0) -set (MIRAGE_VERSION_MICRO 4) +set (MIRAGE_VERSION_MICRO 5) set (MIRAGE_VERSION_LONG ${MIRAGE_VERSION_MAJOR}.${MIRAGE_VERSION_MINOR}.${MIRAGE_VERSION_MICRO}) set (MIRAGE_VERSION_SHORT ${MIRAGE_VERSION_MAJOR}.${MIRAGE_VERSION_MINOR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/README new/libmirage-3.0.5/README --- old/libmirage-3.0.4/README 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/README 2016-10-09 21:01:03.000000000 +0200 @@ -1,5 +1,5 @@ libMirage -3.0.4 +3.0.5 ~~~~~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/debian/changelog new/libmirage-3.0.5/debian/changelog --- old/libmirage-3.0.4/debian/changelog 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/debian/changelog 2016-10-09 21:01:03.000000000 +0200 @@ -1,7 +1,3 @@ -libmirage (3.0.4-1) debian; urgency=low - * Updated to 3.0.4 - -- Rok Mandeljc <rok.mande...@gmail.com> Sat, 21 Nov 2015 12:00:00 +0100 - -libmirage (3.0.3-1) debian; urgency=low +libmirage (3.0.5-1) debian; urgency=low * Initial Release. Closes: #705409 - -- Henrik Stokseth <hen...@hshq.net> Sat, 05 Apr 2014 12:00:00 +0100 + -- Henrik Stokseth <hstok...@users.sourceforge.net> Sat, 05 Apr 2014 12:00:00 +0100 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/debian/control new/libmirage-3.0.5/debian/control --- old/libmirage-3.0.4/debian/control 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/debian/control 2016-10-09 21:01:03.000000000 +0200 @@ -2,17 +2,17 @@ Section: libs Priority: optional Homepage: http://cdemu.sourceforge.net/ -Maintainer: Henrik Stokseth <hen...@hshq.net> +Maintainer: Henrik Stokseth <hstok...@users.sourceforge.net> Build-Depends: pkg-config (>= 0.14), libglib2.0-dev (>= 2.28), libsndfile1-dev, libsamplerate0-dev, zlib1g-dev, libbz2-dev, liblzma-dev, gtk-doc-tools, gobject-introspection, libgirepository1.0-dev, debhelper (>= 9), cmake (>= 2.8.5) -Standards-Version: 3.9.5 +Standards-Version: 3.9.7 Package: libmirage10 Section: libs Architecture: any -Pre-Depends: multiarch-support +Pre-Depends: ${misc:Pre-Depends} Conflicts: libmirage9 Replaces: libmirage9 Depends: ${shlibs:Depends}, ${misc:Depends} @@ -46,7 +46,7 @@ Package: libmirage10-dev Section: libdevel Architecture: any -Pre-Depends: multiarch-support +Pre-Depends: ${misc:Pre-Depends} Depends: libmirage10 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: CD-ROM image access library (development files) This package contains files needed to develop with libMirage. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/debian/copyright new/libmirage-3.0.5/debian/copyright --- old/libmirage-3.0.4/debian/copyright 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/debian/copyright 2016-10-09 21:01:03.000000000 +0200 @@ -1,4 +1,4 @@ -This package was debianized by Henrik Stokseth <henrik AT hw0 DOT org> on +This package was debianized by Henrik Stokseth <hstok...@users.sourceforge.net> on Mon, 24 Des 2007 12:00:00 +0100. It was downloaded from: http://cdemu.sourceforge.net/ @@ -32,6 +32,6 @@ On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. -The Debian packaging is (C) 2007, Henrik Stokseth <henrik AT hw0 DOT org> and +The Debian packaging is (C) 2007, Henrik Stokseth <hstok...@users.sourceforge.net> and is licensed under the GPL, see above. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/images/image-ccd/parser.c new/libmirage-3.0.5/images/image-ccd/parser.c --- old/libmirage-3.0.4/images/image-ccd/parser.c 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/images/image-ccd/parser.c 2016-10-09 21:01:03.000000000 +0200 @@ -927,6 +927,7 @@ CCD_RegexRule *new_rule = g_new(CCD_RegexRule, 1); new_rule->regex = g_regex_new(rule, G_REGEX_OPTIMIZE, 0, NULL); + g_assert_nonnull(new_rule->regex); new_rule->callback_func = callback; /* Append to the list */ list = g_list_append(list, new_rule); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/images/image-cue/parser.c new/libmirage-3.0.5/images/image-cue/parser.c --- old/libmirage-3.0.4/images/image-cue/parser.c 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/images/image-cue/parser.c 2016-10-09 21:01:03.000000000 +0200 @@ -730,7 +730,7 @@ gint flags = 0; flags_dcp = g_match_info_fetch_named(match_info, "dcp"); - flags_4ch = g_match_info_fetch_named(match_info, "4ch"); + flags_4ch = g_match_info_fetch_named(match_info, "fourch"); flags_pre = g_match_info_fetch_named(match_info, "pre"); flags_scms = g_match_info_fetch_named(match_info, "scms"); @@ -767,6 +767,7 @@ CUE_RegexRule *new_rule = g_new(CUE_RegexRule, 1); new_rule->regex = g_regex_new(rule, G_REGEX_OPTIMIZE, 0, NULL); + g_assert_nonnull(new_rule->regex); new_rule->callback_func = callback; /* Append to the list */ list = g_list_append(list, new_rule); @@ -801,7 +802,7 @@ append_regex_rule(&self->priv->regex_rules, "PREGAP\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$", mirage_parser_cue_callback_pregap); append_regex_rule(&self->priv->regex_rules, "POSTGAP\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$", mirage_parser_cue_callback_postgap); - append_regex_rule(&self->priv->regex_rules, "FLAGS\\+(((?<dcp>DCP)|(?<4ch>4CH)|(?<pre>PRE)|(?<scms>SCMS))\\s*)+$", mirage_parser_cue_callback_flags); + append_regex_rule(&self->priv->regex_rules, "FLAGS\\+(((?<dcp>DCP)|(?<fourch>4CH)|(?<pre>PRE)|(?<scms>SCMS))\\s*)+$", mirage_parser_cue_callback_flags); return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/images/image-iso/parser.c new/libmirage-3.0.5/images/image-iso/parser.c --- old/libmirage-3.0.4/images/image-iso/parser.c 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/images/image-iso/parser.c 2016-10-09 21:01:03.000000000 +0200 @@ -79,7 +79,7 @@ for (gint i = 0; i < G_N_ELEMENTS(valid_subchannel_sizes); i++) { for (gint j = 0; j < G_N_ELEMENTS(valid_sector_sizes); j++) { gint full_sector_size = valid_sector_sizes[j] + valid_subchannel_sizes[i]; - MIRAGE_DEBUG(self, MIRAGE_DEBUG_IMAGE_ID, "%s: cheking %d-byte sector size with %d-byte subchannel...\n", __debug__, valid_sector_sizes[j], valid_subchannel_sizes[i]); + MIRAGE_DEBUG(self, MIRAGE_DEBUG_IMAGE_ID, "%s: checking %d-byte sector size with %d-byte subchannel...\n", __debug__, valid_sector_sizes[j], valid_subchannel_sizes[i]); /* Check if file size is a multiple of full sector size */ if (file_length % full_sector_size != 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/images/image-toc/parser.c new/libmirage-3.0.5/images/image-toc/parser.c --- old/libmirage-3.0.4/images/image-toc/parser.c 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/images/image-toc/parser.c 2016-10-09 21:01:03.000000000 +0200 @@ -863,6 +863,7 @@ TOC_RegexRule *new_rule = g_new(TOC_RegexRule, 1); new_rule->regex = g_regex_new(rule, G_REGEX_OPTIMIZE, 0, NULL); + g_assert_nonnull(new_rule->regex); new_rule->callback_func = callback; /* Append to the list */ list = g_list_append(list, new_rule); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/images/image-xcdroast/parser.c new/libmirage-3.0.5/images/image-xcdroast/parser.c --- old/libmirage-3.0.4/images/image-xcdroast/parser.c 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/images/image-xcdroast/parser.c 2016-10-09 21:01:03.000000000 +0200 @@ -496,6 +496,7 @@ XCDROAST_RegexRule *new_rule = g_new(XCDROAST_RegexRule, 1); new_rule->regex = g_regex_new(rule, G_REGEX_OPTIMIZE, 0, NULL); + g_assert_nonnull(new_rule->regex); new_rule->callback_func = callback; /* Append to the list */ list = g_list_append(list, new_rule); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/mirage/context.c new/libmirage-3.0.5/mirage/context.c --- old/libmirage-3.0.4/mirage/context.c 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/mirage/context.c 2016-10-09 21:01:03.000000000 +0200 @@ -66,6 +66,7 @@ /* Password function */ MiragePasswordFunction password_function; gpointer password_data; + GDestroyNotify password_data_destroy; /* Stream cache */ GHashTable *input_stream_cache; @@ -272,8 +273,9 @@ /** * mirage_context_set_password_function: * @self: a #MirageContext - * @func: (in) (allow-none) (scope call): a password function pointer + * @func: (in) (allow-none) (scope notified): a password function pointer * @user_data: (in) (closure): pointer to user data to be passed to the password function + * @destroy: (in) (allow-none): destroy notify for @user_data, or %NULL * * Sets the password function to context. The function is used by parsers * that support encrypted images to obtain password for unlocking such images. @@ -281,11 +283,17 @@ * Both @func and @user_data can be %NULL; in that case the appropriate setting * will be reset. */ -void mirage_context_set_password_function (MirageContext *self, MiragePasswordFunction func, gpointer user_data) +void mirage_context_set_password_function (MirageContext *self, MiragePasswordFunction func, gpointer user_data, GDestroyNotify destroy) { + /* Destroy old password function's data, if necessary */ + if (self->priv->password_data_destroy) { + self->priv->password_data_destroy(self->priv->password_data); + } + /* Store the pointers */ self->priv->password_function = func; self->priv->password_data = user_data; + self->priv->password_data_destroy = destroy; } /** @@ -348,14 +356,21 @@ gint num_parsers; const GType *parser_types; + gint num_filenames = g_strv_length(filenames); + + if (!num_filenames) { + g_set_error(error, MIRAGE_ERROR, MIRAGE_ERROR_IMAGE_FILE_ERROR, "No image files given!"); + return NULL; + } + /* Get the list of supported parsers */ if (!mirage_get_parsers_type(&parser_types, &num_parsers, error)) { return NULL; } /* Create streams */ - streams = g_new0(MirageStream *, g_strv_length(filenames)+1); - for (gint i = 0; filenames[i]; i++) { + streams = g_new0(MirageStream *, num_filenames+1); + for (gint i = 0; i < num_filenames; i++) { streams[i] = mirage_context_create_input_stream(self, filenames[i], error); if (!streams[i]) { goto end; @@ -606,6 +621,10 @@ self->priv->domain = NULL; self->priv->name = NULL; + self->priv->password_function = NULL; + self->priv->password_data = NULL; + self->priv->password_data_destroy = NULL; + /* Options */ self->priv->options = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_variant_unref); @@ -621,6 +640,11 @@ g_free(self->priv->domain); g_free(self->priv->name); + /* Destroy password function's data, if necessary */ + if (self->priv->password_data_destroy) { + self->priv->password_data_destroy(self->priv->password_data); + } + /* Free options */ g_hash_table_unref(self->priv->options); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/mirage/context.h new/libmirage-3.0.5/mirage/context.h --- old/libmirage-3.0.4/mirage/context.h 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/mirage/context.h 2016-10-09 21:01:03.000000000 +0200 @@ -98,7 +98,7 @@ void mirage_context_set_option (MirageContext *self, const gchar *name, GVariant *value); GVariant *mirage_context_get_option (MirageContext *self, const gchar *name); -void mirage_context_set_password_function (MirageContext *self, MiragePasswordFunction func, gpointer user_data); +void mirage_context_set_password_function (MirageContext *self, MiragePasswordFunction func, gpointer user_data, GDestroyNotify destroy); gchar *mirage_context_obtain_password (MirageContext *self, GError **error); MirageDisc *mirage_context_load_image (MirageContext *self, gchar **filenames, GError **error); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/mirage/disc.c new/libmirage-3.0.5/mirage/disc.c --- old/libmirage-3.0.4/mirage/disc.c 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/mirage/disc.c 2016-10-09 21:01:03.000000000 +0200 @@ -1526,7 +1526,7 @@ * @start: (out) (allow-none): location to store DPM start sector, or %NULL * @resolution: (out) (allow-none): location to store DPM data resolution, or %NULL * @num_entries: (out) (allow-none): location to store number of DPM entries, or %NULL - * @data: (out) (allow-none) (array length=num_entries): location to store pointer to buffer containing DPM data, or %NULL + * @data: (out) (allow-none) (array length=num_entries) (transfer none): location to store pointer to buffer containing DPM data, or %NULL * * Retrieves DPM data for disc. The pointer to buffer containing DPM data entries * is stored in @data; the buffer belongs to object and therefore should not be diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libmirage-3.0.4/mirage/parser.c new/libmirage-3.0.5/mirage/parser.c --- old/libmirage-3.0.4/mirage/parser.c 2015-11-21 14:54:15.000000000 +0100 +++ new/libmirage-3.0.5/mirage/parser.c 2016-10-09 21:01:03.000000000 +0200 @@ -290,9 +290,6 @@ GVariant *encoding_value; const gchar *encoding; - /* Add reference to provided input stream */ - g_object_ref(stream); - /* If provided, use the specified encoding; otherwise, try to detect it */ encoding_value = mirage_contextual_get_option(MIRAGE_CONTEXTUAL(self), "encoding");; if (encoding_value) {