[arch-commits] Commit in deepin-daemon/trunk (PKGBUILD fix-lockservice.patch)

Felix Yan felixonmars at archlinux.org
Wed Mar 7 07:14:19 UTC 2018


    Date: Wednesday, March 7, 2018 @ 07:14:18
  Author: felixonmars
Revision: 303476

upgpkg: deepin-daemon 3.2.10-1

Added:
  deepin-daemon/trunk/fix-lockservice.patch
Modified:
  deepin-daemon/trunk/PKGBUILD

-----------------------+
 PKGBUILD              |   11 +++----
 fix-lockservice.patch |   73 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 78 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-03-07 07:09:57 UTC (rev 303475)
+++ PKGBUILD	2018-03-07 07:14:18 UTC (rev 303476)
@@ -4,7 +4,7 @@
 # Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com>
 
 pkgname=deepin-daemon
-pkgver=3.2.9
+pkgver=3.2.10
 pkgrel=1
 pkgdesc='Daemon handling the DDE session settings'
 arch=('x86_64')
@@ -12,12 +12,11 @@
 license=('GPL3')
 depends=('deepin-desktop-schemas' 'gvfs' 'libcanberra-pulse' 'poppler-glib'
          'rfkill' 'bluez' 'deepin-notifications' 'iso-codes' 'lsb-release'
-         'mobile-broadband-provider-info' 'deepin-polkit-agent' 'udisks2' 'upower' # 'gcc-libs>=5.3.0-3'
+         'mobile-broadband-provider-info' 'deepin-polkit-agent' 'udisks2' 'upower'
          'libxkbfile' 'accountsservice' 'deepin-desktop-base' 'bamf' 'pulseaudio'
          'gnome-keyring' 'noto-fonts')
 makedepends=('deepin-dbus-factory' 'deepin-gir-generator' 'deepin-go-lib' 'deepin-api' 'sqlite'
              'deepin-gettext-tools' 'git' 'mercurial' 'python-gobject' 'networkmanager' 'go-pie')
-             # 'gcc-go')
 optdepends=('networkmanager: for network management support'
             'deepin-grub2-themes: theme for grub module'
             'iw: for miracast module'
@@ -29,7 +28,7 @@
 source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/dde-daemon/archive/$pkgver.tar.gz"
         https://raw.githubusercontent.com/jouyouyun/tap-gesture-patches/master/patches/dde-daemon_3.2.3.patch
         'deepin-daemon.sysusers')
-sha512sums=('a1cccec281f3d3930ccac455e3999ff464cc6fc30b5ce533fb81323b179de3ab0ec3e9c74556d9a5c76f1e009f68f652f255522a75c1c2bbf511e8680b81414a'
+sha512sums=('621b6318ea7976be216fb4d16088264deadc2e00c48f2d6913768c54c4cdf4a3a5b2c9e0e04e4ce33b589151d8f991a621b9ec85c3eea077c520672548df4fa4'
             '29874d6b316bb678b6656827e696d65eef174a53bb8226ed4c2d3bc89e42d5edb466df3c2ac647a1f2eb05d6e2a199b8d07dcaa9302b9227a0692fde0d50bb52'
             '808c02d4fec4cbbb01119bbb10499090199e738b7dd72c28a57dde098eef6132723f3434c151f79e21d9f788c7f7bae8046573ac93ba917afe0e803fbffa6d5a')
 
@@ -55,12 +54,12 @@
 build() {
   cd dde-daemon-$pkgver
   make -C network/nm_generator gen-nm-code
-  make # USE_GCCGO=1
+  make
 }
 
 package() {
   cd dde-daemon-$pkgver
-  make DESTDIR="$pkgdir" install # USE_GCCGO=1
+  make DESTDIR="$pkgdir" install
 
   install -Dm644 ../deepin-daemon.sysusers "$pkgdir/usr/lib/sysusers.d/deepin-daemon.conf"
 }

Added: fix-lockservice.patch
===================================================================
--- fix-lockservice.patch	                        (rev 0)
+++ fix-lockservice.patch	2018-03-07 07:14:18 UTC (rev 303476)
@@ -0,0 +1,73 @@
+From b5c7466e498c341d33410dca3d4d84f83ad53ec9 Mon Sep 17 00:00:00 2001
+From: jouyouyun <jouyouwen717 at gmail.com>
+Date: Tue, 27 Feb 2018 15:13:07 +0800
+Subject: [PATCH] fix(lockservice): fix event crash after the frequent unlocking
+
+Change-Id: Ib045d91eb1c3c89bcc2bf6c8716aebc14fbcd271
+---
+
+diff --git a/bin/dde-lockservice/manager.go b/bin/dde-lockservice/manager.go
+index dfa4167..ba60787 100644
+--- a/bin/dde-lockservice/manager.go
++++ b/bin/dde-lockservice/manager.go
+@@ -164,6 +164,7 @@
+ 	id := getId(pid, username)
+ 	_, ok := m.authUserTable[id]
+ 	if ok {
++		log.Println("In authenticating:", id)
+ 		m.authLocker.Unlock()
+ 		return nil
+ 	}
+@@ -216,6 +217,12 @@
+ 		// 	// TODO: read data from input
+ 		// 	return "", nil
+ 		case pam.PromptEchoOff, pam.PromptEchoOn:
++			if password != "" {
++				tmp := password
++				password = ""
++				return tmp, nil
++			}
++
+ 			if msg != "" {
+ 				if style == pam.PromptEchoOff {
+ 					log.Println("Echo off:", msg)
+@@ -224,12 +231,6 @@
+ 					log.Println("Echo on:", msg)
+ 					m.sendEvent(PromptQuestion, pid, username, msg)
+ 				}
+-			}
+-
+-			if password != "" {
+-				tmp := password
+-				password = ""
+-				return tmp, nil
+ 			}
+ 
+ 			id := getId(pid, username)
+@@ -241,7 +242,17 @@
+ 			}
+ 			log.Println("Join select:", id)
+ 			select {
+-			case tmp := <-v:
++			case tmp, ok := <-v:
++				if !ok {
++					log.Println("Invalid select channel")
++					return "", nil
++				}
++
++				m.authLocker.Lock()
++				delete(m.authUserTable, id)
++				m.authLocker.Unlock()
++				close(v)
++				v = nil
+ 				return tmp, nil
+ 			}
+ 		case pam.ErrorMsg:
+@@ -273,6 +284,7 @@
+ 	if ok {
+ 		if v != nil {
+ 			close(v)
++			v = nil
+ 		}
+ 		delete(m.authUserTable, id)
+ 	}



More information about the arch-commits mailing list