diff --git a/dde-daemon-3.2.0.tar.gz b/dde-daemon-3.2.0.tar.gz
deleted file mode 100644
index 9ce3ddf..0000000
--- a/dde-daemon-3.2.0.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:92d5a8c277df5611f9d2cbe69d290796e223bd0701ee2670aba7ede52458f655
-size 2649791
diff --git a/dde-daemon-3.2.7.tar.gz b/dde-daemon-3.2.7.tar.gz
new file mode 100644
index 0000000..801a7f7
--- /dev/null
+++ b/dde-daemon-3.2.7.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f8368e42b7714cc5a44ebc907c22a6ef39f7357754af9c8cf1b586ad40d44500
+size 2768849
diff --git a/deepin-daemon-fix-wrong-policy-settings.patch b/deepin-daemon-fix-wrong-policy-settings.patch
index 7538218..a26f0b8 100644
--- a/deepin-daemon-fix-wrong-policy-settings.patch
+++ b/deepin-daemon-fix-wrong-policy-settings.patch
@@ -1,6 +1,6 @@
-diff -Nur dde-daemon-3.2.0/misc/polkit-action/com.deepin.daemon.accounts.policy dde-daemon-3.2.0-new/misc/polkit-action/com.deepin.daemon.accounts.policy
---- dde-daemon-3.2.0/misc/polkit-action/com.deepin.daemon.accounts.policy 2017-10-12 11:03:49.000000000 +0800
-+++ dde-daemon-3.2.0-new/misc/polkit-action/com.deepin.daemon.accounts.policy 2017-11-15 20:20:28.927451700 +0800
+diff -Nur dde-daemon-3.2.7/misc/polkit-action/com.deepin.daemon.accounts.policy dde-daemon-3.2.7-new/misc/polkit-action/com.deepin.daemon.accounts.policy
+--- dde-daemon-3.2.7/misc/polkit-action/com.deepin.daemon.accounts.policy 2017-11-28 11:31:45.000000000 +0800
++++ dde-daemon-3.2.7-new/misc/polkit-action/com.deepin.daemon.accounts.policy 2017-11-29 15:57:49.641270102 +0800
@@ -70,8 +70,8 @@
修改您的用户数据:需要授权
若要變更您自身的使用者資料需要通過認證
@@ -34,12 +34,12 @@ diff -Nur dde-daemon-3.2.0/misc/polkit-action/com.deepin.daemon.accounts.policy
auth_admin_keep
-diff -Nur dde-daemon-3.2.0/misc/polkit-action/com.deepin.daemon.Grub2.policy dde-daemon-3.2.0-new/misc/polkit-action/com.deepin.daemon.Grub2.policy
---- dde-daemon-3.2.0/misc/polkit-action/com.deepin.daemon.Grub2.policy 2017-10-12 11:03:49.000000000 +0800
-+++ dde-daemon-3.2.0-new/misc/polkit-action/com.deepin.daemon.Grub2.policy 2017-11-15 20:19:25.289418600 +0800
+diff -Nur dde-daemon-3.2.7/misc/polkit-action/com.deepin.daemon.Grub2.policy.in dde-daemon-3.2.7-new/misc/polkit-action/com.deepin.daemon.Grub2.policy.in
+--- dde-daemon-3.2.7/misc/polkit-action/com.deepin.daemon.Grub2.policy.in 2017-11-28 11:31:45.000000000 +0800
++++ dde-daemon-3.2.7-new/misc/polkit-action/com.deepin.daemon.Grub2.policy.in 2017-11-29 15:58:19.296468907 +0800
@@ -10,8 +10,8 @@
- Change the grub2 configuration
- 修改 Grub2 的配置
+ Change the grub2 configuration
+ Authentication is required to change the grub2 configuration
- no
- no
diff --git a/deepin-daemon-libinput.patch b/deepin-daemon-libinput.patch
new file mode 100644
index 0000000..9b71115
--- /dev/null
+++ b/deepin-daemon-libinput.patch
@@ -0,0 +1,97 @@
+diff -Nur dde-daemon-3.2.6/misc/dde-daemon/gesture.json dde-daemon-3.2.6-new/misc/dde-daemon/gesture.json
+--- dde-daemon-3.2.6/misc/dde-daemon/gesture.json 2017-11-16 20:32:17.000000000 +0800
++++ dde-daemon-3.2.6-new/misc/dde-daemon/gesture.json 2017-11-29 23:16:08.696136900 +0800
+@@ -54,15 +54,6 @@
+ }
+ },
+ {
+- "Name": "tap",
+- "Direction": "none",
+- "Fingers": 3,
+- "Action": {
+- "Type": "built-in",
+- "Action": "MoveWindow"
+- }
+- },
+- {
+ "Name": "swipe",
+ "Direction": "up",
+ "Fingers": 4,
+diff -Nur dde-daemon-3.2.6/system/gesture/core.c dde-daemon-3.2.6-new/system/gesture/core.c
+--- dde-daemon-3.2.6/system/gesture/core.c 2017-11-16 20:32:17.000000000 +0800
++++ dde-daemon-3.2.6-new/system/gesture/core.c 2017-11-29 23:20:21.688875700 +0800
+@@ -211,16 +211,16 @@
+ }
+ raw_event_reset(raw);
+ break;
+- case LIBINPUT_EVENT_GESTURE_TAP_BEGIN:
+- break;
+- case LIBINPUT_EVENT_GESTURE_TAP_END:
+- if (libinput_event_gesture_get_cancelled(gesture)) {
+- break;
+- }
+- raw->fingers = libinput_event_gesture_get_finger_count(gesture);
+- printf("[Tap] fingers: %d\n", raw->fingers);
+- handleGestureEvent(GESTURE_TYPE_TAP, GESTURE_DIRECTION_NONE, raw->fingers);
+- break;
++ /* case LIBINPUT_EVENT_GESTURE_TAP_BEGIN: */
++ /* break; */
++ /* case LIBINPUT_EVENT_GESTURE_TAP_END: */
++ /* if (libinput_event_gesture_get_cancelled(gesture)) { */
++ /* break; */
++ /* } */
++ /* raw->fingers = libinput_event_gesture_get_finger_count(gesture); */
++ /* printf("[Tap] fingers: %d\n", raw->fingers); */
++ /* handleGestureEvent(GESTURE_TYPE_TAP, GESTURE_DIRECTION_NONE, raw->fingers); */
++ /* break; */
+ }
+ }
+
+@@ -278,13 +278,10 @@
+ }
+ case LIBINPUT_EVENT_GESTURE_PINCH_BEGIN:
+ case LIBINPUT_EVENT_GESTURE_PINCH_UPDATE:
+- case LIBINPUT_EVENT_GESTURE_PINCH_END:
+- case LIBINPUT_EVENT_GESTURE_SWIPE_BEGIN:
+- case LIBINPUT_EVENT_GESTURE_SWIPE_UPDATE:
+- case LIBINPUT_EVENT_GESTURE_SWIPE_END:
+- case LIBINPUT_EVENT_GESTURE_TAP_BEGIN:
+- case LIBINPUT_EVENT_GESTURE_TAP_UPDATE:
+- case LIBINPUT_EVENT_GESTURE_TAP_END:{
++ /* case LIBINPUT_EVENT_GESTURE_TAP_BEGIN: */
++ /* case LIBINPUT_EVENT_GESTURE_TAP_UPDATE: */
++ /* case LIBINPUT_EVENT_GESTURE_TAP_END: */
++ case LIBINPUT_EVENT_GESTURE_SWIPE_END:{
+ handle_gesture_events(ev, type);
+ break;
+ }
+diff -Nur dde-daemon-3.2.6/system/gesture/gesture.go dde-daemon-3.2.6-new/system/gesture/gesture.go
+--- dde-daemon-3.2.6/system/gesture/gesture.go 2017-11-16 20:32:17.000000000 +0800
++++ dde-daemon-3.2.6-new/system/gesture/gesture.go 2017-11-29 23:11:14.265531500 +0800
+@@ -42,9 +42,9 @@
+ var (
+ GestureTypeSwipe = GestureType(C.GESTURE_TYPE_SWIPE)
+ GestureTypePinch = GestureType(C.GESTURE_TYPE_PINCH)
+- GestureTypeTap = GestureType(C.GESTURE_TYPE_TAP)
++ // GestureTypeTap = GestureType(C.GESTURE_TYPE_TAP)
+
+- GestureDirectionNone = GestureType(C.GESTURE_DIRECTION_NONE)
++ // GestureDirectionNone = GestureType(C.GESTURE_DIRECTION_NONE)
+ GestureDirectionUp = GestureType(C.GESTURE_DIRECTION_UP)
+ GestureDirectionDown = GestureType(C.GESTURE_DIRECTION_DOWN)
+ GestureDirectionLeft = GestureType(C.GESTURE_DIRECTION_LEFT)
+@@ -59,10 +59,10 @@
+ return "swipe"
+ case GestureTypePinch:
+ return "pinch"
+- case GestureTypeTap:
+- return "tap"
+- case GestureDirectionNone:
+- return "none"
++ // case GestureTypeTap:
++ // return "tap"
++ // case GestureDirectionNone:
++ // return "none"
+ case GestureDirectionUp:
+ return "up"
+ case GestureDirectionDown:
diff --git a/deepin-daemon.changes b/deepin-daemon.changes
index 3b45ce3..9ac5e74 100644
--- a/deepin-daemon.changes
+++ b/deepin-daemon.changes
@@ -1,3 +1,66 @@
+-------------------------------------------------------------------
+Thu Nov 30 06:51:10 UTC 2017 - hillwood@opensuse.org
+
+- Update to 3.2.7
+ * gesture: check keyboard grab status before do action
+ * mime: add multi default app id
+ * audio: select best port if config non-exist
+ * plymouth: support ssd theme checker
+ * dock: fix index in signal EntryAdded is wrong
+ * add flatpak to recommends
+ * audio: remove style in font config
+ * network: fix wireless disconnect when delete inactive hotspot
+ * logined: update 'UserList' when session removed
+ * network: remove autoconnect from wireless hotspot
+ * appearance: fix fonts memory used large when loading
+ * audio: add switcher to decide whether auto switch port
+ * add com.deepin.daemon.ImageBlur interface
+ * not show newly installed wechat in launcher
+ * failed to set some bmp image file as icon
+ * the Accels field of two shortcuts is empty
+ * make `install_to_hicolor.py` compatibility with older python3
+ * automatic switch port when card changed
+ * add shortcut for deepin-system-monitor and color-picker
+ * support deepin qt theme settings
+ * add touchpad tap gesture
+ * add flatpak app window identify method
+ * fix gccgo compile failed
+ * fix syndaemon pid file not created
+ * fix wireless not work after multiple toggle hotspot
+ * fix active connections not updated when deleted the last connection
+ * update font config xml version
+ * refactor grub theme dbus interface
+ * rename 'Logout' shortcut to 'Shutdown Interface'
+ * add dependency 'dnsmasq'
+ * update notifications for scale setting
+ * keybinding: process grab pointer failed ([328aa07a](328aa07a))
+ * add fprintd module ([1469e2d4](1469e2d4))
+ * fix fprint dependencies missing ([22dc0735](22dc0735))
+ * langselector: write the configuration file wrong ([ee018ea2](ee018ea2))
+ * network: remove band settings from hotspot
+ * add proxychains-ng as suggested dependency
+ * launcher: RequestUninstall does not remove desktop file in autostart directory
+ ([24d1b698](24d1b698))
+ * grub2 policykit message not using user's locale ([aa461794](aa461794))
+ * keybinding: failed to handle GSettings changed event correctly
+ ([7583b35b](7583b35b))
+ * network: delete dot at end ([800eb0c4](800eb0c4))
+ * appearance: Fix scale set failed if file not found ([61b72897](61b72897))
+ * keybinding can not use key Delete to delete keystroke ([deae5285](deae5285))
+ * support setting plymouth scale ([842a080e](842a080e))
+ * add fprintd module ([1469e2d4](1469e2d4))
+ * keybinding: AddCustomShortcut returns id and type of newly created shortcut
+ ([d74f34f8](d74f34f8))
+ * accounts: Add no password login ([b87c7448](b87c7448))
+ * keybinding: update screenshot command ([64f62269](64f62269))
+ * appearance: theme thumbnail support display scaling ([7cba49d6](7cba49d6))
+ * dock: menu of entry add item "Force Quit" ([7b853187](7b853187))
+ * appearance: Update greeter config when setting scale ([f1b37a80](f1b37a80))
+ * network: Implement routes methods ([6889c2d3](6889c2d3))
+ * Add 'dde-greeter-setter' ([4dd38e68](4dd38e68))
+ * iw: replace 'iw' command with libnl
+- Add deepin-daemon-libinput.patch. Fix build on libinput.
+
-------------------------------------------------------------------
Wed Nov 15 12:21:47 UTC 2017 - hillwood@opensuse.org
@@ -9,4 +72,4 @@ Wed Nov 15 12:21:47 UTC 2017 - hillwood@opensuse.org
-------------------------------------------------------------------
Tue Oct 3 15:29:45 UTC 2017 - sensor.wen@gmail.com
-- Initial package.
+ Initial package.
diff --git a/deepin-daemon.spec b/deepin-daemon.spec
index 42af00b..f576f6b 100644
--- a/deepin-daemon.spec
+++ b/deepin-daemon.spec
@@ -18,19 +18,21 @@
%define _name dde-daemon
Name: deepin-daemon
-Version: 3.2.0
+Version: 3.2.7
Release: 0
Summary: Daemon handling the DDE session settings
License: GPL-3.0+
URL: https://github.com/linuxdeepin/dde-daemon
Source0: https://github.com/linuxdeepin/dde-daemon/archive/%{version}/%{_name}-%{version}.tar.gz
Source1: %{name}.sysusers
-# PATCH-FIX-UPSTREAM deepin-daemon-fix-wrong-policy-settings.patch hillwood@opensuse.org - Fix wrong policyconfig settings.
Source99: %{name}-rpmlintrc
+# PATCH-FIX-UPSTREAM deepin-daemon-fix-wrong-policy-settings.patch hillwood@opensuse.org - Fix wrong policyconfig settings.
Patch0: %{name}-fix-wrong-policy-settings.patch
+# PATCH-FIX-OPENSUSE deepin-daemon-libinput.patch.patch hillwood@opensuse.org - Fix build on libinput.
+Patch1: %{name}-libinput.patch
Group: System/GUI/Other
BuildRequires: golang-packaging
-BuildRequires: gettext
+BuildRequires: deepin-gettext-tools
BuildRequires: golang-gir-generator
BuildRequires: fontpackages-devel
BuildRequires: pam-devel
@@ -54,7 +56,9 @@ BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xkbfile)
-BuildRequires: golang-dbus-factory
+BuildRequires: pkgconfig(libnl-3.0)
+BuildRequires: pkgconfig(libnl-genl-3.0)
+BuildRequires: golang-dbus-factory >= 3.1.9
BuildRequires: golang-go-lib
BuildRequires: golang-deepin-api-source
BuildRequires: golang-github-linuxdeepin-go-x11-client
@@ -66,8 +70,9 @@ BuildRequires: golang-github-nfnt-resize
BuildRequires: golang-github-alecthomas-kingpin
BuildRequires: golang-gopkgin-yaml
BuildRequires: golang-org-x-tools
-BuildRequires: golang-org-x-text
+BuildRequires: golang-org-x-text >= 1.5.2+git20161209
BuildRequires: golang-org-x-net
+BuildRequires: rsvg-view
Requires: deepin-desktop-base
Requires: deepin-desktop-schemas
Requires: deepin-notifications
@@ -79,6 +84,7 @@ Requires: rfkill
Requires: upower
Requires: xdotool
Requires: systemd
+Recommends: %{name}-lang = {version}
Recommends: NetworkManager-vpnc-gnome
Recommends: NetworkManager-pptp-gnome
Recommends: NetworkManager-l2tp-gnome
@@ -87,8 +93,6 @@ Recommends: NetworkManager-openvpn-gnome
Recommends: NetworkManager-openconnect-gnome
Recommends: iso-codes
Recommends: mobile-broadband-provider-info
-Recommends: google-noto-mono-fonts
-Recommends: google-noto-sans-fonts
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -99,13 +103,14 @@ Deepin Daemon is a daemon for handling the deepin session settings
%prep
%setup -q -n %{_name}-%{version}
%patch0 -p1
+%patch1 -p1
# Fix library exec path
sed -i '/ldflags/d' Makefile
# Fix grub.cfg path
sed -i 's|boot/grub|boot/grub2|' grub2/{theme,log,entry,config}.go
-sed -i 's|default_background.jpg|default.png|' accounts/user.go
+sed -i 's|default_background.jpg|background.png|' accounts/user.go
%build
make %{?_smp_mflags}
@@ -113,11 +118,11 @@ make %{?_smp_mflags}
%install
%make_install
-install -Dm644 %{S:1} %{buildroot}/usr/lib/sysusers.d/deepin-daemon.conf
+install -Dm644 %{S:1} %{buildroot}%{_libexecdir}/sysusers.d/deepin-daemon.conf
# fix systemd/logind config
-install -d %{buildroot}/usr/lib/systemd/logind.conf.d/
-cat > %{buildroot}/usr/lib/systemd/logind.conf.d/10-%{name}.conf < %{buildroot}%{_libexecdir}/systemd/logind.conf.d/10-%{name}.conf <