Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package shotwell It provides a fix for #665498, which has been tested and applied upstream. unblock shotwell/0.12.3-2 -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-3-amd64 (SMP w/8 CPU cores)
diff -Nru shotwell-0.12.3/debian/changelog shotwell-0.12.3/debian/changelog --- shotwell-0.12.3/debian/changelog 2012-06-03 15:18:23.000000000 +0200 +++ shotwell-0.12.3/debian/changelog 2012-08-05 14:54:36.000000000 +0200 @@ -1,3 +1,12 @@ +shotwell (0.12.3-2) unstable; urgency=low + + * Team upload. + * debian/patches/metadata.patch: + - Cherry-pick patches from upstream repository to fix crashes while + managing metadata (Closes: #665498). + + -- Luca Falavigna <dktrkr...@debian.org> Sun, 22 Jul 2012 11:56:51 +0200 + shotwell (0.12.3-1) unstable; urgency=low * Team upload. diff -Nru shotwell-0.12.3/debian/patches/metadata.patch shotwell-0.12.3/debian/patches/metadata.patch --- shotwell-0.12.3/debian/patches/metadata.patch 1970-01-01 01:00:00.000000000 +0100 +++ shotwell-0.12.3/debian/patches/metadata.patch 2012-07-22 11:56:42.000000000 +0200 @@ -0,0 +1,33 @@ +Description: Writing metadata ends up in a neverending cycle +Author: Clinton Rogers + +Index: shotwell-0.12.3/src/MetadataWriter.vala +=================================================================== +--- shotwell-0.12.3.orig/src/MetadataWriter.vala 2012-05-08 23:46:35.000000000 +0200 ++++ shotwell-0.12.3/src/MetadataWriter.vala 2012-07-22 11:55:09.212907651 +0200 +@@ -103,7 +103,24 @@ + } + + // tags (keywords) ... replace (or clear) entirely rather than union or intersection +- if (!equal_sets(current_keywords, metadata.get_keywords())) { ++ ++ Gee.Set<string> safe_keywords = new Gee.HashSet<string>(); ++ ++ // Since the tags are stored in an image file's `keywords' field in ++ // non-hierarchical format, before checking whether the tags that ++ // should be associated with this image have been written, we'll need ++ // to produce non-hierarchical versions of the tags to be tested. ++ // get_user_visible_name() does this by returning the most deeply-nested ++ // portion of a given hierarchical tag; that is, for a tag "/a/b/c", ++ // it'll return "c", which is exactly the form we want here. ++ if (current_keywords != null) { ++ foreach(string tmp in current_keywords) { ++ Tag tag = Tag.for_path(tmp); ++ safe_keywords.add(tag.get_user_visible_name()); ++ } ++ } ++ ++ if (!equal_sets(safe_keywords, metadata.get_keywords())) { + metadata.set_keywords(current_keywords); + changed = true; + } diff -Nru shotwell-0.12.3/debian/patches/series shotwell-0.12.3/debian/patches/series --- shotwell-0.12.3/debian/patches/series 2012-06-03 12:23:14.000000000 +0200 +++ shotwell-0.12.3/debian/patches/series 2012-07-22 11:35:17.000000000 +0200 @@ -1,3 +1,4 @@ gettext.patch format_string.patch openmp.patch +metadata.patch