[arch-commits] Commit in pcmanfm/trunk (2 files)

Balló György bgyorgy at archlinux.org
Thu May 28 09:24:18 UTC 2020


    Date: Thursday, May 28, 2020 @ 09:24:17
  Author: bgyorgy
Revision: 636207

upgpkg: pcmanfm 1.3.1-2: Fix delay on shutdown (FS#66268)

Added:
  pcmanfm/trunk/pcmanfm-0201-main-set-the-GIOChannel-encoding-to-binary.patch
Modified:
  pcmanfm/trunk/PKGBUILD

---------------------------------------------------------------+
 PKGBUILD                                                      |   14 ++-
 pcmanfm-0201-main-set-the-GIOChannel-encoding-to-binary.patch |   39 ++++++++++
 2 files changed, 50 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-05-28 08:43:27 UTC (rev 636206)
+++ PKGBUILD	2020-05-28 09:24:17 UTC (rev 636207)
@@ -6,7 +6,7 @@
 
 pkgname=pcmanfm
 pkgver=1.3.1
-pkgrel=1
+pkgrel=2
 pkgdesc='Extremely fast and lightweight file manager'
 arch=('x86_64')
 url='https://lxde.org/'
@@ -16,9 +16,17 @@
 makedepends=('intltool')
 optdepends=('gvfs: for trash support, mounting with udisks and remote filesystems'
             'xarchiver: archive management')
-source=(https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.xz)
-sha256sums=('6804043b3ee3a703edde41c724946174b505fe958703eadbd7e0876ece836855')
+source=(https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.xz
+        pcmanfm-0201-main-set-the-GIOChannel-encoding-to-binary.patch)
+sha256sums=('6804043b3ee3a703edde41c724946174b505fe958703eadbd7e0876ece836855'
+            '4138a9de9d6dffa702f6c12fe97763408afc734a5e99dfcee71520220d5f9e56')
 
+prepare() {
+  cd $pkgname-$pkgver
+  # https://git.lxde.org/gitweb/?p=lxde/pcmanfm.git;a=commitdiff;h=be8c60d588fc6b527d1cc77df9935bcfa66d52be
+  patch -Np1 -i ../pcmanfm-0201-main-set-the-GIOChannel-encoding-to-binary.patch
+}
+
 build() {
   cd $pkgname-$pkgver
   ./configure --sysconfdir=/etc --prefix=/usr

Added: pcmanfm-0201-main-set-the-GIOChannel-encoding-to-binary.patch
===================================================================
--- pcmanfm-0201-main-set-the-GIOChannel-encoding-to-binary.patch	                        (rev 0)
+++ pcmanfm-0201-main-set-the-GIOChannel-encoding-to-binary.patch	2020-05-28 09:24:17 UTC (rev 636207)
@@ -0,0 +1,39 @@
+From be8c60d588fc6b527d1cc77df9935bcfa66d52be Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka at fedoraproject.org>
+Date: Sun, 22 Mar 2020 16:46:48 +0900
+Subject: [PATCH] main: set the GIOChannel encoding to binary
+
+https://developer.gnome.org/glib/stable/glib-IO-Channels.html#g-io-channel-set-encoding
+says the default encoding is UTF-8, and setting encoding to NULL is safe
+use with binary data.
+
+Actually without setting encoding to NULL, on Fedora 32, trying to terminate pcmanfm with
+Ctrl-C (SIGINT) causes pcmanfm hang at g_io_channel_read_chars() in on_unix_signal(),
+and this is now causing system reboot delayed for 90 seconds with systemd.
+---
+ src/pcmanfm.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/pcmanfm.c b/src/pcmanfm.c
+index 9be80f7..08a7fc3 100644
+--- a/src/pcmanfm.c
++++ b/src/pcmanfm.c
+@@ -3,6 +3,7 @@
+  *
+  *      Copyright 2009 - 2010 Hong Jen Yee (PCMan) <pcman.tw at gmail.com>
+  *      Copyright 2012-2015 Andriy Grytsenko (LStranger) <andrej at rep.kiev.ua>
++ *      Copyright 2020 Mamoru TASAKA <mtasaka at fedoraproject.org>
+  *
+  *      This program is free software; you can redistribute it and/or modify
+  *      it under the terms of the GNU General Public License as published by
+@@ -239,6 +240,7 @@ int main(int argc, char** argv)
+     {
+         GIOChannel* ch = g_io_channel_unix_new(signal_pipe[0]);
+         g_io_add_watch(ch, G_IO_IN|G_IO_PRI, (GIOFunc)on_unix_signal, NULL);
++        g_io_channel_set_encoding(ch, NULL, NULL);
+         g_io_channel_unref(ch);
+ 
+         /* intercept signals */
+-- 
+2.1.4
+


More information about the arch-commits mailing list