Your message dated Sat, 10 Feb 2024 13:11:20 +0000
with message-id <e1ryn8a-002yax...@coccia.debian.org>
and subject line Released with 12.5
has caused the Debian Bug report #1060122,
regarding bookworm-pu: package atril/1.26.0-2+deb12u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1060122: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1060122
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: at...@packages.debian.org
Control: affects -1 + src:atril

While preparing a new upstream release upload of atril 1.26.1-1 to
unstable (already some days ago), a bookwork-pu upload has (now) also
been prepared.

[ Reason ]
Upstream fixed two issues regarding epub file opening robustness in
v1.26.1. Also, one patch could be cherry-picked from a bug report in
Debian BTS (#972715).

Additionally, the 'Hide sidebar' button was lacking a11y text which has
also now been added.

[ Impact ]
Impact of rejecting this bookworm-pu is low. Outcome: Less epub
robustness, a11y text for 'Hide sidebar' remains missing.

[ Tests ]
Manually (build and test on local bookworm system).

[ Risks ]
Regressions are always possible. Atril is used as PDF reader in MATE and
Xfce4, so those users will be affected.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

+  * debian/patches:
+    + Add 1002-avoid-crash-on-certain-epub-files.patch. Avoid crashes when
+      opening certain epub files. (Closes: #972715).
+    + Add 0001-Accessibility-add-button-description.patch. Accessibility: add
+      'Hide sidebar' button description. (Cherry-picked from v1.26.1).
+    + Add 0003-epub-Fix-index-loading-for-certain-documents-look-fo.patch. Fix
+      index loading for certain epub documents. (Cherry-picked from v1.26.1).
+    + Add 0004-epub-add-fallback-for-malformed-epub-files-in-check_.patch. 
epub:
+      add fallback for malformed epub files in check_mime_type. (Cherry-picked 
from
+      v1.26.1).

[ Other info ]
None.
diff -Nru atril-1.26.0/debian/changelog atril-1.26.0/debian/changelog
--- atril-1.26.0/debian/changelog       2022-10-27 11:00:10.000000000 +0200
+++ atril-1.26.0/debian/changelog       2024-01-06 07:18:28.000000000 +0100
@@ -1,3 +1,18 @@
+atril (1.26.0-2+deb12u1) bookworm; urgency=medium
+
+  * debian/patches:
+    + Add 1002-avoid-crash-on-certain-epub-files.patch. Avoid crashes when
+      opening certain epub files. (Closes: #972715).
+    + Add 0001-Accessibility-add-button-description.patch. Accessibility: add
+      'Hide sidebar' button description. (Cherry-picked from v1.26.1).
+    + Add 0003-epub-Fix-index-loading-for-certain-documents-look-fo.patch. Fix
+      index loading for certain epub documents. (Cherry-picked from v1.26.1).
+    + Add 0004-epub-add-fallback-for-malformed-epub-files-in-check_.patch. 
epub:
+      add fallback for malformed epub files in check_mime_type. (Cherry-picked 
from
+      v1.26.1).
+
+ -- Mike Gabriel <sunwea...@debian.org>  Sat, 06 Jan 2024 07:18:28 +0100
+
 atril (1.26.0-2) unstable; urgency=medium
 
   [ Mike Gabriel ]
diff -Nru 
atril-1.26.0/debian/patches/0001-Accessibility-add-button-description.patch 
atril-1.26.0/debian/patches/0001-Accessibility-add-button-description.patch
--- atril-1.26.0/debian/patches/0001-Accessibility-add-button-description.patch 
1970-01-01 01:00:00.000000000 +0100
+++ atril-1.26.0/debian/patches/0001-Accessibility-add-button-description.patch 
2024-01-06 07:18:28.000000000 +0100
@@ -0,0 +1,47 @@
+From 9a981607b36488ea5d2ce8646540b1545e35ecd5 Mon Sep 17 00:00:00 2001
+From: Valentin Villenave <vvillen...@hypra.fr>
+Date: Tue, 26 Oct 2021 19:29:01 +0200
+Subject: [PATCH 01/10] Accessibility: add button description
+
+Signed-off-by: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+---
+ po/POTFILES.in     | 1 +
+ shell/ev-sidebar.c | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 02b9435..08ab5ec 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -67,6 +67,7 @@ shell/ev-password-view.c
+ shell/ev-properties-dialog.c
+ shell/ev-properties-fonts.c
+ shell/ev-properties-license.c
++shell/ev-sidebar.c
+ shell/ev-sidebar-annotations.c
+ shell/ev-sidebar-attachments.c
+ shell/ev-sidebar-bookmarks.c
+diff --git a/shell/ev-sidebar.c b/shell/ev-sidebar.c
+index b9173cd..0cdb6be 100644
+--- a/shell/ev-sidebar.c
++++ b/shell/ev-sidebar.c
+@@ -26,6 +26,8 @@
+ 
+ #include <string.h>
+ 
++#include <glib.h>
++#include <glib/gi18n.h>
+ #include <gtk/gtk.h>
+ #include <gdk/gdkkeysyms.h>
+ 
+@@ -362,6 +364,7 @@ ev_sidebar_init (EvSidebar *ev_sidebar)
+       g_signal_connect (close_button, "clicked",
+                         G_CALLBACK (ev_sidebar_close_clicked_cb),
+                         ev_sidebar);
++      gtk_widget_set_tooltip_text (close_button, _("Hide sidebar"));
+ 
+       image = gtk_image_new_from_icon_name ("window-close",
+                                             GTK_ICON_SIZE_MENU);
+-- 
+2.39.2
+
diff -Nru 
atril-1.26.0/debian/patches/0003-epub-Fix-index-loading-for-certain-documents-look-fo.patch
 
atril-1.26.0/debian/patches/0003-epub-Fix-index-loading-for-certain-documents-look-fo.patch
--- 
atril-1.26.0/debian/patches/0003-epub-Fix-index-loading-for-certain-documents-look-fo.patch
 1970-01-01 01:00:00.000000000 +0100
+++ 
atril-1.26.0/debian/patches/0003-epub-Fix-index-loading-for-certain-documents-look-fo.patch
 2024-01-06 07:18:28.000000000 +0100
@@ -0,0 +1,38 @@
+From 9f5d7343f79f6ff8295884df3229bc6696b4386c Mon Sep 17 00:00:00 2001
+From: Michael Webster <miketwebs...@gmail.com>
+Date: Mon, 18 Jul 2022 10:43:47 -0400
+Subject: [PATCH 03/10] epub: Fix index loading for certain documents - look
+ for epub:type instead of epub:id.
+
+Add a null check as well.
+
+ref:
+https://help.apple.com/itc/booksassetguide/en.lproj/itc0f175a5b9.html#apdd3c4c6d1c0904
+https://idpf.org/epub/301/spec/epub-contentdocs-20140626.html#sec-xhtml-nav
+Signed-off-by: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+---
+ backend/epub/epub-document.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/backend/epub/epub-document.c b/backend/epub/epub-document.c
+index 52530f4..385d2fe 100644
+--- a/backend/epub/epub-document.c
++++ b/backend/epub/epub-document.c
+@@ -1201,7 +1201,13 @@ setup_index_from_navfile(gchar *tocpath)
+     GList *index = NULL;
+     open_xml_document(tocpath);
+     set_xml_root_node(NULL);
+-    xmlNodePtr nav = 
xml_get_pointer_to_node((xmlChar*)"nav",(xmlChar*)"id",(xmlChar*)"toc");
++    xmlNodePtr nav = 
xml_get_pointer_to_node((xmlChar*)"nav",(xmlChar*)"type",(xmlChar*)"toc");
++
++    if (nav == NULL) {
++        xml_free_doc();
++        return NULL;
++    }
++
+     xmlretval=NULL;
+     xml_parse_children_of_node(nav,(xmlChar*)"ol", NULL,NULL);
+     gchar *navdirend = g_strrstr(tocpath,"/");
+-- 
+2.39.2
+
diff -Nru 
atril-1.26.0/debian/patches/0004-epub-add-fallback-for-malformed-epub-files-in-check_.patch
 
atril-1.26.0/debian/patches/0004-epub-add-fallback-for-malformed-epub-files-in-check_.patch
--- 
atril-1.26.0/debian/patches/0004-epub-add-fallback-for-malformed-epub-files-in-check_.patch
 1970-01-01 01:00:00.000000000 +0100
+++ 
atril-1.26.0/debian/patches/0004-epub-add-fallback-for-malformed-epub-files-in-check_.patch
 2024-01-06 07:18:28.000000000 +0100
@@ -0,0 +1,98 @@
+From c585b945d27e883908c437d12aa9c453db2143f4 Mon Sep 17 00:00:00 2001
+From: rbuj <robert....@gmail.com>
+Date: Sun, 7 Aug 2022 23:08:59 +0200
+Subject: [PATCH 04/10] epub: add fallback for malformed epub files in
+ check_mime_type
+
+Signed-off-by: Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+---
+ backend/epub/epub-document.c | 66 +++++++++++++++++++++---------------
+ 1 file changed, 38 insertions(+), 28 deletions(-)
+
+diff --git a/backend/epub/epub-document.c b/backend/epub/epub-document.c
+index 385d2fe..451c884 100644
+--- a/backend/epub/epub-document.c
++++ b/backend/epub/epub-document.c
+@@ -625,41 +625,51 @@ xml_get_data_from_node(xmlNodePtr node,
+ static gboolean
+ check_mime_type(const gchar* uri,GError** error)
+ {
+-    GError * err = NULL ;
+-    const gchar* mimeFromFile = ev_file_get_mime_type(uri,FALSE,&err);
++    GError * err = NULL;
++    const gchar* mimeFromFile;
+ 
+-    gchar* mimetypes[] = {"application/epub+zip","application/x-booki+zip"};
+-    int typecount = 2;
+-    if ( !mimeFromFile )
++    mimeFromFile = ev_file_get_mime_type(uri, FALSE, &err);
++    if (mimeFromFile)
+     {
+-        if (err)    {
+-            g_propagate_error (error, err);
+-        }
+-        else    {
+-            g_set_error_literal (error,
+-                         EV_DOCUMENT_ERROR,
+-                         EV_DOCUMENT_ERROR_INVALID,
+-                         _("Unknown MIME Type"));
+-        }
+-        return FALSE;
+-    }
+-    else
+-    {
+-        int i=0;
+-        for (i=0; i < typecount ;i++) {
+-           if ( g_strcmp0(mimeFromFile, mimetypes[i]) == 0  ) {
++        const gchar* mimetypes[] = {"application/epub+zip", 
"application/x-booki+zip", NULL};
++        guint i;
++
++        for (i = 0; i < g_strv_length (mimetypes); i++) {
++           if (strcmp(mimeFromFile, mimetypes[i]) == 0)
+                 return TRUE;
+-           }
++      }
++
++        /* fallback for malformed epub files */
++        if (strcmp (mimeFromFile, "application/zip") == 0)
++        {
++            mimeFromFile = ev_file_get_mime_type (uri, TRUE, &err);
++            if (mimeFromFile)
++            {
++                for (i = 0; i < g_strv_length (mimetypes); i++) {
++                    if (g_strcmp0(mimeFromFile, mimetypes[i]) == 0)
++                        return TRUE;
++                }
++
++                /*We didn't find a match*/
++                g_set_error_literal (error,
++                                     EV_DOCUMENT_ERROR,
++                                     EV_DOCUMENT_ERROR_INVALID,
++                                     _("Not an ePub document"));
++
++                return FALSE;
++            }
+         }
++    }
+ 
+-        /*We didn't find a match*/
++    if (err)
++        g_propagate_error (error, err);
++    else
+         g_set_error_literal (error,
+-                     EV_DOCUMENT_ERROR,
+-                     EV_DOCUMENT_ERROR_INVALID,
+-                     _("Not an ePub document"));
++                             EV_DOCUMENT_ERROR,
++                             EV_DOCUMENT_ERROR_INVALID,
++                             _("Unknown MIME Type"));
+ 
+-        return FALSE;
+-    }
++    return FALSE;
+ }
+ 
+ static gboolean
+-- 
+2.39.2
+
diff -Nru 
atril-1.26.0/debian/patches/1002-avoid-crash-on-certain-epub-files.patch 
atril-1.26.0/debian/patches/1002-avoid-crash-on-certain-epub-files.patch
--- atril-1.26.0/debian/patches/1002-avoid-crash-on-certain-epub-files.patch    
1970-01-01 01:00:00.000000000 +0100
+++ atril-1.26.0/debian/patches/1002-avoid-crash-on-certain-epub-files.patch    
2024-01-06 07:18:28.000000000 +0100
@@ -0,0 +1,27 @@
+Description: Avoid crash on certain epub files
+
+Author: Bernhard Übelacker <bernha...@mailbox.org>
+Bug-Debian: https://bugs.debian.org/972715
+Forwarded: no
+Last-Update: 2020-11-01
+
+--- a/backend/epub/epub-document.c
++++ b/backend/epub/epub-document.c
+@@ -1279,7 +1279,7 @@
+             xml_parse_children_of_node(navLabel,(xmlChar*)"text",NULL,NULL);
+             linknode *newnode = g_new0(linknode,1);
+             newnode->linktext = NULL;
+-            while (newnode->linktext == NULL) {
++            while (xmlretval && newnode->linktext == NULL) {
+                 newnode->linktext = 
(gchar*)xml_get_data_from_node(xmlretval,XML_KEYWORD,NULL);
+                 xmlretval = xmlretval->next;
+             }
+@@ -1597,7 +1597,7 @@
+     contentListNode *pagedata;
+ 
+     guint flag=0;
+-    while (!flag) {
++    while (listiter && !flag) {
+         pagedata = listiter->data;
+         if (link_present_on_page(Link->pagelink, pagedata->value)) {
+             flag=1;
diff -Nru atril-1.26.0/debian/patches/series atril-1.26.0/debian/patches/series
--- atril-1.26.0/debian/patches/series  2022-10-27 10:40:29.000000000 +0200
+++ atril-1.26.0/debian/patches/series  2024-01-06 07:18:28.000000000 +0100
@@ -1 +1,5 @@
 1001-webkit2gtk4.1.patch
+1002-avoid-crash-on-certain-epub-files.patch
+0001-Accessibility-add-button-description.patch
+0003-epub-Fix-index-loading-for-certain-documents-look-fo.patch
+0004-epub-add-fallback-for-malformed-epub-files-in-check_.patch

--- End Message ---
--- Begin Message ---
Version: 12.5

The upload requested in this bug has been released as part of 12.5.

--- End Message ---

Reply via email to