deepin.dde-daemon: init at 5.14.122

This commit is contained in:
rewine 2023-01-12 15:53:51 +08:00
parent 7b835852bb
commit 9ee68d484a
No known key found for this signature in database
GPG key ID: B00A7D2932F72756
7 changed files with 1095 additions and 0 deletions

View file

@ -57,6 +57,7 @@ let
go-gir-generator = callPackage ./go-package/go-gir-generator { };
go-dbus-factory = callPackage ./go-package/go-dbus-factory { };
dde-api = callPackage ./go-package/dde-api { inherit replaceAll; };
dde-daemon = callPackage ./go-package/dde-daemon { };
deepin-pw-check = callPackage ./go-package/deepin-pw-check { };
deepin-desktop-schemas = callPackage ./go-package/deepin-desktop-schemas { };

View file

@ -0,0 +1,33 @@
From ad18742c699a08cd82f8926a31da9a19b2aef329 Mon Sep 17 00:00:00 2001
From: rewine <lhongxu@outlook.com>
Date: Wed, 5 Apr 2023 23:37:24 +0800
Subject: [PATCH 1/4] fix-wrapped-name-for-verifyExe
---
dock/process_info.go | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/dock/process_info.go b/dock/process_info.go
index 83c61d58..e2970f3a 100644
--- a/dock/process_info.go
+++ b/dock/process_info.go
@@ -119,6 +119,16 @@ func verifyExe(exe, cwd, firstArg string) bool {
return false
}
logger.Debugf("firstArgPath: %q", firstArgPath)
+ if exe == firstArgPath {
+ return true
+ }
+ if strings.HasSuffix(exe, "-wrapped") {
+ exeBase := filepath.Base(exe)
+ if (len(exeBase) <= 9) {
+ return false
+ }
+ exe = exe[0:len(exe)-len(exeBase)] + exeBase[1:len(exeBase)-8]
+ }
return exe == firstArgPath
}
--
2.39.2

View file

@ -0,0 +1,40 @@
From 7fe41aac7c31f6143b5f5887dbefa41fdf4c252b Mon Sep 17 00:00:00 2001
From: rewine <lhongxu@outlook.com>
Date: Wed, 5 Apr 2023 23:37:49 +0800
Subject: [PATCH 2/4] dont-set-PATH
---
bin/dde-system-daemon/main.go | 4 ----
grub2/modify_manger.go | 1 -
2 files changed, 5 deletions(-)
diff --git a/bin/dde-system-daemon/main.go b/bin/dde-system-daemon/main.go
index 03d2a415..cf92f065 100644
--- a/bin/dde-system-daemon/main.go
+++ b/bin/dde-system-daemon/main.go
@@ -77,10 +77,6 @@ func main() {
// fix no PATH when was launched by dbus
if os.Getenv("PATH") == "" {
logger.Warning("No PATH found, manual special")
- err = os.Setenv("PATH", "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
- if err != nil {
- logger.Warning(err)
- }
}
// 系统级服务无需设置LANG和LANGUAGE保证翻译不受到影响
diff --git a/grub2/modify_manger.go b/grub2/modify_manger.go
index a811770b..30e9561e 100644
--- a/grub2/modify_manger.go
+++ b/grub2/modify_manger.go
@@ -21,7 +21,6 @@ const (
)
func init() {
- _ = os.Setenv("PATH", "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
}
type modifyManager struct {
--
2.39.2

View file

@ -0,0 +1,257 @@
From 528f590c0c81728c324444fd76e0f7113a2e3dc4 Mon Sep 17 00:00:00 2001
From: rewine <lhongxu@outlook.com>
Date: Wed, 5 Apr 2023 23:41:25 +0800
Subject: [PATCH 3/4] search-in-XDG-directories
---
accounts/manager.go | 5 ++++-
accounts/user.go | 8 +++++++-
appearance/fsnotify.go | 21 +++++++++++++++++----
apps/utils.go | 3 ++-
dock/desktop_file_path.go | 6 ++++++
gesture/config.go | 4 ++--
keybinding/shortcuts/system_shortcut.go | 4 +++-
mime/app_info.go | 7 ++++++-
system/gesture/config.go | 4 +++-
9 files changed, 50 insertions(+), 12 deletions(-)
diff --git a/accounts/manager.go b/accounts/manager.go
index a5abb157..3fd7c153 100644
--- a/accounts/manager.go
+++ b/accounts/manager.go
@@ -15,6 +15,7 @@ import (
"sync"
"syscall"
+ "github.com/adrg/xdg"
dbus "github.com/godbus/dbus"
"github.com/linuxdeepin/dde-daemon/accounts/users"
"github.com/linuxdeepin/dde-daemon/common/sessionmsg"
@@ -35,8 +36,10 @@ const (
actConfigFile = actConfigDir + "/accounts.ini"
actConfigGroupGroup = "Accounts"
actConfigKeyGuest = "AllowGuest"
+)
- interfacesFile = "/usr/share/dde-daemon/accounts/dbus-udcp.json"
+var (
+ interfacesFile, _ = xdg.SearchDataFile("dde-daemon/accounts/dbus-udcp.json")
)
type InterfaceConfig struct {
diff --git a/accounts/user.go b/accounts/user.go
index 99138941..56a7731a 100644
--- a/accounts/user.go
+++ b/accounts/user.go
@@ -15,6 +15,7 @@ import (
"strings"
"sync"
+ "github.com/adrg/xdg"
dbus "github.com/godbus/dbus"
"github.com/linuxdeepin/dde-daemon/accounts/users"
authenticate "github.com/linuxdeepin/go-dbus-factory/com.deepin.daemon.authenticate"
@@ -645,7 +646,12 @@ func getUserSession(homeDir string) string {
}
func getSessionList() []string {
- fileInfoList, err := ioutil.ReadDir("/usr/share/xsessions")
+ xsessionPath, err := xdg.SearchDataFile("xsessions")
+ if err != nil {
+ return nil;
+ }
+
+ fileInfoList, err := ioutil.ReadDir(xsessionPath)
if err != nil {
return nil
}
diff --git a/appearance/fsnotify.go b/appearance/fsnotify.go
index a409d0ba..ff674600 100644
--- a/appearance/fsnotify.go
+++ b/appearance/fsnotify.go
@@ -5,12 +5,15 @@
package appearance
import (
+ "errors"
+ "io/fs"
"os"
"path"
"path/filepath"
"strings"
"time"
+ "github.com/adrg/xdg"
"github.com/fsnotify/fsnotify"
"github.com/linuxdeepin/dde-daemon/appearance/background"
"github.com/linuxdeepin/dde-daemon/appearance/subthemes"
@@ -100,9 +103,14 @@ func (m *Manager) watchGtkDirs() {
gtkDirs = []string{
path.Join(home, ".local/share/themes"),
path.Join(home, ".themes"),
- "/usr/local/share/themes",
- "/usr/share/themes",
}
+ for _, dataPath := range xdg.DataDirs {
+ gtkPath := filepath.Join(dataPath, "themes");
+ if _, err := os.Stat(gtkPath); err != nil && errors.Is(err, fs.ErrNotExist) {
+ continue
+ }
+ gtkDirs = append(gtkDirs, gtkPath);
+ }
m.watchDirs(gtkDirs)
}
@@ -112,9 +120,14 @@ func (m *Manager) watchIconDirs() {
iconDirs = []string{
path.Join(home, ".local/share/icons"),
path.Join(home, ".icons"),
- "/usr/local/share/icons",
- "/usr/share/icons",
}
+ for _, dataPath := range xdg.DataDirs {
+ iconPath := filepath.Join(dataPath, "icons");
+ if _, err := os.Stat(iconPath); err != nil && errors.Is(err, fs.ErrNotExist) {
+ continue
+ }
+ iconDirs = append(iconDirs, iconPath);
+ }
m.watchDirs(iconDirs)
}
diff --git a/apps/utils.go b/apps/utils.go
index 8863d6c2..dd6f8e16 100644
--- a/apps/utils.go
+++ b/apps/utils.go
@@ -11,6 +11,7 @@ import (
"strconv"
"strings"
"syscall"
+ "github.com/adrg/xdg"
)
func intSliceContains(slice []int, a int) bool {
@@ -96,7 +97,7 @@ func removeDesktopExt(name string) string {
}
func getSystemDataDirs() []string {
- return []string{"/usr/share", "/usr/local/share"}
+ return xdg.DataDirs
}
// get user home
diff --git a/dock/desktop_file_path.go b/dock/desktop_file_path.go
index 7adc9f55..e1a97679 100644
--- a/dock/desktop_file_path.go
+++ b/dock/desktop_file_path.go
@@ -7,6 +7,8 @@ package dock
import (
"path/filepath"
"strings"
+
+ "github.com/adrg/xdg"
)
var pathDirCodeMap map[string]string
@@ -20,6 +22,10 @@ func initPathDirCodeMap() {
"/usr/local/share/applications/": "/L@",
}
+ for _, dataPath := range xdg.DataDirs {
+ pathDirCodeMap[dataPath] = "/S@"
+ }
+
dir := filepath.Join(homeDir, ".local/share/applications")
dir = addDirTrailingSlash(dir)
pathDirCodeMap[dir] = "/H@"
diff --git a/gesture/config.go b/gesture/config.go
index bfbd4db7..4ce9d641 100644
--- a/gesture/config.go
+++ b/gesture/config.go
@@ -10,6 +10,7 @@ import (
"io/ioutil"
"path/filepath"
+ "github.com/adrg/xdg"
"github.com/linuxdeepin/go-lib/xdg/basedir"
)
@@ -21,11 +22,10 @@ const (
var (
configUserPath = filepath.Join(basedir.GetUserConfigDir(), "deepin/dde-daemon/gesture.json")
+ configSystemPath, _ = xdg.SearchDataFile("dde-daemon/gesture.json")
)
const (
- configSystemPath = "/usr/share/dde-daemon/gesture.json"
-
gestureSchemaId = "com.deepin.dde.gesture"
gsKeyTouchPadEnabled = "touch-pad-enabled"
gsKeyTouchScreenEnabled = "touch-screen-enabled"
diff --git a/keybinding/shortcuts/system_shortcut.go b/keybinding/shortcuts/system_shortcut.go
index d33a69f6..c3138099 100644
--- a/keybinding/shortcuts/system_shortcut.go
+++ b/keybinding/shortcuts/system_shortcut.go
@@ -10,6 +10,7 @@ import (
"path"
"sync"
+ "github.com/adrg/xdg"
dutils "github.com/linuxdeepin/go-lib/utils"
)
@@ -152,5 +153,6 @@ func getSystemActionsFile() string {
return file
}
- return ""
+ filepath, _ := xdg.SearchDataFile(systemActionsFile)
+ return filepath;
}
diff --git a/mime/app_info.go b/mime/app_info.go
index 63fcdcc0..18436164 100644
--- a/mime/app_info.go
+++ b/mime/app_info.go
@@ -9,6 +9,7 @@ import (
"os"
"path"
+ "github.com/adrg/xdg"
"github.com/linuxdeepin/go-lib/appinfo/desktopappinfo"
"github.com/linuxdeepin/go-lib/mime"
dutils "github.com/linuxdeepin/go-lib/utils"
@@ -162,5 +163,9 @@ func findFilePath(file string) string {
return data
}
- return path.Join("/usr/share", file)
+ filepath, err := xdg.SearchDataFile(file)
+ if err != nil {
+ return path.Join("/usr/share", file)
+ }
+ return filepath;
}
diff --git a/system/gesture/config.go b/system/gesture/config.go
index d4aebaac..f3fc92c3 100644
--- a/system/gesture/config.go
+++ b/system/gesture/config.go
@@ -8,6 +8,7 @@ import (
"encoding/json"
"io/ioutil"
+ "github.com/adrg/xdg"
"github.com/linuxdeepin/go-lib/utils"
)
@@ -35,5 +36,6 @@ func getConfigPath() string {
if utils.IsFileExist(filename) {
return filename
}
- return "/usr/share/" + suffix
+ filepath, _ := xdg.SearchDataFile(suffix)
+ return filepath;
}
--
2.39.2

View file

@ -0,0 +1,323 @@
From 12a5ccce245f82c334e78d48354e55311c15fb0c Mon Sep 17 00:00:00 2001
From: rewine <lhongxu@outlook.com>
Date: Wed, 5 Apr 2023 23:51:58 +0800
Subject: [PATCH 4/4] aviod-use-hardcode-path
---
accounts/user.go | 2 +-
accounts/user_chpwd_union_id.go | 9 ++++-----
bin/backlight_helper/ddcci/ddcci.go | 20 +++++--------------
bin/dde-authority/fprint_transaction.go | 2 +-
inputdevices/keyboard.go | 5 +++--
keybinding/shortcuts/system_shortcut.go | 6 +++---
keybinding/special_keycode.go | 2 +-
keybinding/utils.go | 2 +-
launcher/manager_ifc.go | 2 +-
.../dde-daemon/keybinding/system_actions.json | 4 ++--
misc/etc/acpi/powerbtn.sh | 2 +-
misc/udev-rules/80-deepin-fprintd.rules | 2 +-
system/display/displaycfg.go | 2 +-
system/power/manager_lmt.go | 3 ++-
system/power_manager/utils.go | 2 +-
system/systeminfo/manager.go | 2 +-
systeminfo/utils.go | 2 +-
17 files changed, 30 insertions(+), 39 deletions(-)
diff --git a/accounts/user.go b/accounts/user.go
index f8827fb2..ff604f38 100644
--- a/accounts/user.go
+++ b/accounts/user.go
@@ -450,7 +450,7 @@ func (u *User) checkIsControlCenter(sender dbus.Sender) bool {
return false
}
- if exe == controlCenterPath {
+ if strings.Contains(exe, "dde-control-center") {
return true
}
diff --git a/accounts/user_chpwd_union_id.go b/accounts/user_chpwd_union_id.go
index b0ba9cb9..e8aa1a1e 100644
--- a/accounts/user_chpwd_union_id.go
+++ b/accounts/user_chpwd_union_id.go
@@ -107,14 +107,13 @@ func newCaller(service *dbusutil.Service, sender dbus.Sender) (ret *caller, err
// 只允许来自控制中心, 锁屏和 greetter 的调用
var app string
- switch exe {
- case "/usr/bin/dde-control-center":
+ if (strings.Contains(exe, "dde-control-center")) {
app = "control-center"
- case "/usr/bin/dde-lock":
+ } else if (strings.Contains(exe, "dde-lock")) {
app = "lock"
- case "/usr/bin/lightdm-deepin-greeter":
+ } else if (strings.Contains(exe, "lightdm-deepin-greeter")) {
app = "greeter"
- default:
+ } else {
err = fmt.Errorf("set password with Union ID called by %s, which is not allow", exe)
return
}
diff --git a/bin/backlight_helper/ddcci/ddcci.go b/bin/backlight_helper/ddcci/ddcci.go
index 21653459..01a67e91 100644
--- a/bin/backlight_helper/ddcci/ddcci.go
+++ b/bin/backlight_helper/ddcci/ddcci.go
@@ -15,10 +15,7 @@ import (
"bytes"
"encoding/base64"
"fmt"
- "os/exec"
- "path/filepath"
"reflect"
- "strings"
"sync"
"unsafe"
@@ -113,18 +110,11 @@ func newDDCCI() (*ddcci, error) {
return nil, err
}
- content, err := exec.Command("/usr/bin/dpkg-architecture", "-qDEB_HOST_MULTIARCH").Output() // TODO: arch和rpm打包需要通过patch修改获取路径的方式
- if err != nil {
- logger.Warning(err)
- } else {
- path := filepath.Join("/usr/lib", strings.TrimSpace(string(content)), "libddcutil.so.0")
- logger.Debug("so path:", path)
- cStr := C.CString(path)
- defer C.free(unsafe.Pointer(cStr))
- ret := C.InitDDCCISo(cStr)
- if ret == -2 {
- logger.Debug("failed to initialize ddca_free_all_displays sym")
- }
+ cStr := C.CString("libddcutil.so.0")
+ defer C.free(unsafe.Pointer(cStr))
+ ret := C.InitDDCCISo(cStr)
+ if ret == -2 {
+ logger.Debug("failed to initialize ddca_free_all_displays sym")
}
return ddc, nil
diff --git a/bin/dde-authority/fprint_transaction.go b/bin/dde-authority/fprint_transaction.go
index 0e460ec3..b803d1c9 100644
--- a/bin/dde-authority/fprint_transaction.go
+++ b/bin/dde-authority/fprint_transaction.go
@@ -461,7 +461,7 @@ func (tx *FPrintTransaction) End(sender dbus.Sender) *dbus.Error {
func killFPrintDaemon() {
logger.Debug("kill fprintd")
- err := exec.Command("pkill", "-f", "/usr/lib/fprintd/fprintd").Run()
+ err := exec.Command("pkill", "fprintd").Run()
if err != nil {
logger.Warning("failed to kill fprintd:", err)
}
diff --git a/inputdevices/keyboard.go b/inputdevices/keyboard.go
index 6d05f662..ca29cecc 100644
--- a/inputdevices/keyboard.go
+++ b/inputdevices/keyboard.go
@@ -10,6 +10,7 @@ import (
"fmt"
"os"
"os/user"
+ "os/exec"
"path"
"regexp"
"strings"
@@ -51,7 +52,7 @@ const (
kbdSystemConfig = "/etc/default/keyboard"
qtDefaultConfig = ".config/Trolltech.conf"
- cmdSetKbd = "/usr/bin/setxkbmap"
+ cmdSetKbd = "setxkbmap"
)
type Keyboard struct {
@@ -704,7 +705,7 @@ func (kbd *Keyboard) handlePropertyNotifyEvent(ev *x.PropertyNotifyEvent) {
}
func (kbd *Keyboard) shouldUseDDEKwin() bool {
- _, err := os.Stat("/usr/bin/kwin_no_scale")
+ _, err := exec.LookPath("kwin_no_scale")
return err == nil
}
diff --git a/keybinding/shortcuts/system_shortcut.go b/keybinding/shortcuts/system_shortcut.go
index 95e1b222..95d82db7 100644
--- a/keybinding/shortcuts/system_shortcut.go
+++ b/keybinding/shortcuts/system_shortcut.go
@@ -83,10 +83,10 @@ var defaultSysActionCmdMap = map[string]string{
"launcher": "dbus-send --print-reply --dest=com.deepin.dde.Launcher /com/deepin/dde/Launcher com.deepin.dde.Launcher.Toggle",
"terminal": "/usr/lib/deepin-daemon/default-terminal",
"terminal-quake": "deepin-terminal --quake-mode",
- "lock-screen": "originmap=$(setxkbmap -query | grep option | awk -F ' ' '{print $2}');/usr/bin/setxkbmap -option grab:break_actions&&/usr/bin/xdotool key XF86Ungrab&&dbus-send --print-reply --dest=com.deepin.dde.lockFront /com/deepin/dde/lockFront com.deepin.dde.lockFront.Show&&/usr/bin/setxkbmap -option; setxkbmap -option $originmap",
+ "lock-screen": "originmap=$(setxkbmap -query | grep option | awk -F ' ' '{print $2}');setxkbmap -option grab:break_actions&&xdotool key XF86Ungrab&&dbus-send --print-reply --dest=com.deepin.dde.lockFront /com/deepin/dde/lockFront com.deepin.dde.lockFront.Show&&/usr/bin/setxkbmap -option; setxkbmap -option $originmap",
"logout": "dbus-send --print-reply --dest=com.deepin.dde.shutdownFront /com/deepin/dde/shutdownFront com.deepin.dde.shutdownFront.Show",
"deepin-screen-recorder": "dbus-send --print-reply --dest=com.deepin.ScreenRecorder /com/deepin/ScreenRecorder com.deepin.ScreenRecorder.stopRecord",
- "system-monitor": "/usr/bin/deepin-system-monitor",
+ "system-monitor": "deepin-system-monitor",
"color-picker": "dbus-send --print-reply --dest=com.deepin.Picker /com/deepin/Picker com.deepin.Picker.Show",
// screenshot actions:
"screenshot": screenshotCmdPrefix + "StartScreenshot",
@@ -104,7 +104,7 @@ var defaultSysActionCmdMap = map[string]string{
"global-search": "/usr/libexec/dde-daemon/keybinding/shortcut-dde-grand-search.sh",
"switch-next-kbd-layout": "dbus-send --print-reply --dest=com.deepin.daemon.Keybinding /com/deepin/daemon/InputDevice/Keyboard com.deepin.daemon.InputDevice.Keyboard.ToggleNextLayout",
// cmd
- "calculator": "/usr/bin/deepin-calculator",
+ "calculator": "deepin-calculator",
"search": "/usr/libexec/dde-daemon/keybinding/shortcut-dde-grand-search.sh",
}
diff --git a/keybinding/special_keycode.go b/keybinding/special_keycode.go
index d18c9a66..9704b241 100644
--- a/keybinding/special_keycode.go
+++ b/keybinding/special_keycode.go
@@ -276,7 +276,7 @@ func (m *Manager) handlePower() {
}
m.systemTurnOffScreen()
case powerActionShowUI:
- cmd := "originmap=$(setxkbmap -query | grep option | awk -F ' ' '{print $2}');/usr/bin/setxkbmap -option grab:break_actions&&/usr/bin/xdotool key XF86Ungrab&&dbus-send --print-reply --dest=com.deepin.dde.lockFront /com/deepin/dde/shutdownFront com.deepin.dde.shutdownFront.Show&&/usr/bin/setxkbmap -option; setxkbmap -option $originmap"
+ cmd := "originmap=$(setxkbmap -query | grep option | awk -F ' ' '{print $2}');setxkbmap -option grab:break_actions&&xdotool key XF86Ungrab&&dbus-send --print-reply --dest=com.deepin.dde.lockFront /com/deepin/dde/shutdownFront com.deepin.dde.shutdownFront.Show&&setxkbmap -option; setxkbmap -option $originmap"
go func() {
locked, err := m.sessionManager.Locked().Get(0)
if err != nil {
diff --git a/keybinding/utils.go b/keybinding/utils.go
index 8e531369..261c88e8 100644
--- a/keybinding/utils.go
+++ b/keybinding/utils.go
@@ -311,7 +311,7 @@ func readTinyFile(file string) ([]byte, error) {
}
func shouldUseDDEKwin() bool {
- _, err := os.Stat("/usr/bin/kwin_no_scale")
+ _, err := exec.LookPath("kwin_no_scale")
return err == nil
}
diff --git a/launcher/manager_ifc.go b/launcher/manager_ifc.go
index 440aa8e5..ad74f99f 100644
--- a/launcher/manager_ifc.go
+++ b/launcher/manager_ifc.go
@@ -24,7 +24,7 @@ const (
dbusObjPath = "/com/deepin/dde/daemon/Launcher"
dbusInterface = dbusServiceName
desktopMainSection = "Desktop Entry"
- launcherExecPath = "/usr/bin/dde-launcher"
+ launcherExecPath = "dde-launcher"
)
var errorInvalidID = errors.New("invalid ID")
diff --git a/misc/dde-daemon/keybinding/system_actions.json b/misc/dde-daemon/keybinding/system_actions.json
index 8de3f111..8048048e 100644
--- a/misc/dde-daemon/keybinding/system_actions.json
+++ b/misc/dde-daemon/keybinding/system_actions.json
@@ -13,7 +13,7 @@
"Action": "dbus-send --print-reply --dest=com.deepin.ScreenRecorder /com/deepin/ScreenRecorder com.deepin.ScreenRecorder.stopRecord"
},
{
- "Action": "/usr/bin/deepin-system-monitor",
+ "Action": "deepin-system-monitor",
"Key": "system-monitor"
},
{
@@ -21,7 +21,7 @@
"Action": "dbus-send --print-reply --dest=com.deepin.Picker /com/deepin/Picker com.deepin.Picker.Show"
},
{
- "Action": "originmap=$(setxkbmap -query | grep option | awk -F ' ' '{print $2}');/usr/bin/setxkbmap -option grab:break_actions&&/usr/bin/xdotool key XF86Ungrab&&dbus-send --print-reply --dest=com.deepin.dde.lockFront /com/deepin/dde/lockFront com.deepin.dde.lockFront.Show&&/usr/bin/setxkbmap -option; setxkbmap -option $originmap",
+ "Action": "originmap=$(setxkbmap -query | grep option | awk -F ' ' '{print $2}');setxkbmap -option grab:break_actions&&xdotool key XF86Ungrab&&dbus-send --print-reply --dest=com.deepin.dde.lockFront /com/deepin/dde/lockFront com.deepin.dde.lockFront.Show&&setxkbmap -option; setxkbmap -option $originmap",
"Key": "lock-screen"
},
{
diff --git a/misc/etc/acpi/powerbtn.sh b/misc/etc/acpi/powerbtn.sh
index 5c536b9e..39c28987 100755
--- a/misc/etc/acpi/powerbtn.sh
+++ b/misc/etc/acpi/powerbtn.sh
@@ -58,4 +58,4 @@ elif test "$XUSER" != "" && test -x /usr/bin/qdbus; then
fi
# If all else failed, just initiate a plain shutdown.
-/sbin/shutdown -h now "Power button pressed"
+shutdown -h now "Power button pressed"
diff --git a/misc/udev-rules/80-deepin-fprintd.rules b/misc/udev-rules/80-deepin-fprintd.rules
index d3d3554a..9163b91c 100644
--- a/misc/udev-rules/80-deepin-fprintd.rules
+++ b/misc/udev-rules/80-deepin-fprintd.rules
@@ -1 +1 @@
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", ACTION=="add|remove", ENV{LIBFPRINT_DRIVER}!="" RUN+="/usr/bin/dbus-send --system --dest=com.deepin.daemon.Fprintd --print-reply /com/deepin/daemon/Fprintd com.deepin.daemon.Fprintd.TriggerUDevEvent"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", ACTION=="add|remove", ENV{LIBFPRINT_DRIVER}!="" RUN+="@dbus@/bin/dbus-send --system --dest=com.deepin.daemon.Fprintd --print-reply /com/deepin/daemon/Fprintd com.deepin.daemon.Fprintd.TriggerUDevEvent"
diff --git a/system/display/displaycfg.go b/system/display/displaycfg.go
index 57b5871a..5b7757b4 100644
--- a/system/display/displaycfg.go
+++ b/system/display/displaycfg.go
@@ -255,7 +255,7 @@ func (d *Display) doDetectSupportWayland(sender dbus.Sender) (bool, error) {
return false, err
}
var cmd *exec.Cmd
- if execPath == "/usr/bin/lightdm-deepin-greeter" {
+ if strings.Contains(execPath, "lightdm-deepin-greeter") {
cmd = exec.Command("runuser", "-u", "lightdm", "glxinfo") // runuser -u lightdm glxinfo
} else {
cmd = exec.Command("glxinfo")
diff --git a/system/power/manager_lmt.go b/system/power/manager_lmt.go
index e2bdb2af..baf32fbd 100644
--- a/system/power/manager_lmt.go
+++ b/system/power/manager_lmt.go
@@ -8,6 +8,7 @@ import (
"bufio"
"io/ioutil"
"os"
+ "os/exec"
"path/filepath"
"strings"
@@ -28,7 +29,7 @@ const (
const lowBatteryThreshold = 20.0
func isLaptopModeBinOk() bool {
- _, err := os.Stat(laptopModeBin)
+ _, err := exec.LookPath("laptop_mode")
return err == nil
}
diff --git a/system/power_manager/utils.go b/system/power_manager/utils.go
index 93f433c2..ef603c96 100644
--- a/system/power_manager/utils.go
+++ b/system/power_manager/utils.go
@@ -33,7 +33,7 @@ func canSuspend() bool {
}
func detectVirtualMachine() (string, error) {
- out, err := exec.Command("/usr/bin/systemd-detect-virt").Output()
+ out, err := exec.Command("systemd-detect-virt").Output()
if err != nil {
return "", err
}
diff --git a/system/systeminfo/manager.go b/system/systeminfo/manager.go
index 5525ae36..daab2c44 100644
--- a/system/systeminfo/manager.go
+++ b/system/systeminfo/manager.go
@@ -205,7 +205,7 @@ func filterUnNumber(value string) string {
//执行命令:/usr/bin/getconf LONG_BIT 获取系统位数
func (m *Manager) systemBit() string {
- output, err := exec.Command("/usr/bin/getconf", "LONG_BIT").Output()
+ output, err := exec.Command("getconf", "LONG_BIT").Output()
if err != nil {
return "64"
}
diff --git a/systeminfo/utils.go b/systeminfo/utils.go
index ed17aeb8..e919fb53 100644
--- a/systeminfo/utils.go
+++ b/systeminfo/utils.go
@@ -39,7 +39,7 @@ func getMemoryFromFile(file string) (uint64, error) {
//执行命令:/usr/bin/getconf LONG_BIT 获取系统位数
func systemBit() string {
- output, err := exec.Command("/usr/bin/getconf", "LONG_BIT").Output()
+ output, err := exec.Command("getconf", "LONG_BIT").Output()
if err != nil {
return "64"
}
--
2.39.2

View file

@ -0,0 +1,151 @@
{ stdenv
, lib
, fetchFromGitHub
, substituteAll
, buildGoPackage
, pkg-config
, deepin-gettext-tools
, gettext
, python3
, wrapGAppsHook
, go-dbus-factory
, go-gir-generator
, go-lib
, dde-api
, ddcutil
, alsa-lib
, glib
, gtk3
, libgudev
, libinput
, libnl
, librsvg
, linux-pam
, libxcrypt
, networkmanager
, pulseaudio
, gdk-pixbuf-xlib
, tzdata
, xkeyboard_config
, runtimeShell
, xorg
, xdotool
, getconf
, dbus
}:
buildGoPackage rec {
pname = "dde-daemon";
version = "5.14.122";
goPackagePath = "github.com/linuxdeepin/dde-daemon";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "sha256-KoYMv4z4IGBH0O422PuFHrIgDBEkU08Vepax+00nrGE=";
};
patches = [
./0001-fix-wrapped-name-for-verifyExe.patch
./0002-dont-set-PATH.patch
./0003-search-in-XDG-directories.patch
(substituteAll {
src = ./0004-aviod-use-hardcode-path.patch;
inherit dbus;
})
];
postPatch = ''
substituteInPlace session/eventlog/{app_event.go,login_event.go} accounts/users/users_test.go \
--replace "/bin/bash" "${runtimeShell}"
substituteInPlace inputdevices/layout_list.go \
--replace "/usr/share/X11/xkb" "${xkeyboard_config}/share/X11/xkb"
substituteInPlace appearance/background/{background.go,custom_wallpapers.go} accounts/user.go bin/dde-system-daemon/wallpaper.go \
--replace "/usr/share/wallpapers" "/run/current-system/sw/share/wallpapers"
substituteInPlace appearance/manager.go timedate/zoneinfo/zone.go \
--replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
substituteInPlace accounts/image_blur.go grub2/modify_manger.go \
--replace "/usr/lib/deepin-api" "/run/current-system/sw/lib/deepin-api"
substituteInPlace accounts/user_chpwd_union_id.go \
--replace "/usr/lib/dde-control-center" "/run/current-system/sw/lib/dde-control-center"
for file in $(grep "/usr/lib/deepin-daemon" * -nR |awk -F: '{print $1}')
do
sed -i 's|/usr/lib/deepin-daemon|/run/current-system/sw/lib/deepin-daemon|g' $file
done
patchShebangs .
'';
goDeps = ./deps.nix;
nativeBuildInputs = [
pkg-config
deepin-gettext-tools
gettext
python3
wrapGAppsHook
];
buildInputs = [
go-dbus-factory
go-gir-generator
go-lib
dde-api
ddcutil
linux-pam
libxcrypt
alsa-lib
glib
libgudev
gtk3
gdk-pixbuf-xlib
networkmanager
libinput
libnl
librsvg
pulseaudio
tzdata
xkeyboard_config
];
buildPhase = ''
runHook preBuild
addToSearchPath GOPATH "${go-dbus-factory}/share/gocode"
addToSearchPath GOPATH "${go-gir-generator}/share/gocode"
addToSearchPath GOPATH "${go-lib}/share/gocode"
addToSearchPath GOPATH "${dde-api}/share/gocode"
make -C go/src/${goPackagePath}
runHook postBuild
'';
installPhase = ''
runHook preInstall
make install DESTDIR="$out" PREFIX="/" -C go/src/${goPackagePath}
runHook postInstall
'';
postFixup = ''
for f in "$out"/lib/deepin-daemon/*; do
echo "Wrapping $f"
wrapGApp "$f"
done
mv $out/run/current-system/sw/lib/deepin-daemon/service-trigger $out/lib/deepin-daemon/
rm -r $out/run
'';
meta = with lib; {
description = "Daemon for handling the deepin session settings";
homepage = "https://github.com/linuxdeepin/dde-daemon";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = teams.deepin.members;
};
}

View file

@ -0,0 +1,290 @@
[
{
goPackagePath = "github.com/fsnotify/fsnotify";
fetch = {
type = "git";
url = "https://github.com/fsnotify/fsnotify";
rev = "v1.5.1";
sha256 = "sha256-B8kZ8yiWgallT7R2j1kSRJcJkSGFVf9ise+TpXa+7XY=";
};
}
{
goPackagePath = "github.com/godbus/dbus";
fetch = {
type = "git";
url = "https://github.com/godbus/dbus";
rev = "v5.1.0";
sha256 = "sha256-JSPtmkGEStBEVrKGszeLCb7P38SzQKgMiDC3eDppXs0=";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "v1.7.1";
sha256 = "sha256-disUVIHiIDSj/go3APtJH8awSl8QwKRRFLKI7LRnl0w=";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://github.com/golang/sys";
rev = "289d7a0edf712062d9f1484b07bdf2383f48802f";
sha256 = "sha256-AzS/J3OocI7mA0xsIfQzyskNKVija7F2yvuts+EFJBs=";
};
}
{
goPackagePath = "golang.org/x/xerrors";
fetch = {
type = "git";
url = "https://github.com/golang/xerrors";
rev = "2f41105eb62f341cfe208d06de4ee3bdd3a083da";
sha256 = "sha256-yZNeG+jcarcw/aOFhrhxWWE20r0P+/VJF4i/0JQfv1c=";
};
}
{
goPackagePath = "gopkg.in/yaml.v3";
fetch = {
type = "git";
url = "https://github.com/go-yaml/yaml";
rev = "496545a6307b2a7d7a710fd516e5e16e8ab62dbc";
sha256 = "sha256-j8yDji+vqsitpRZirpb4w/Em8nstgf28wpwkcrOlxBk=";
};
}
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "v1.1.1";
sha256 = "sha256-nhzSUrE1fCkN0+RL04N4h8jWmRFPPPWbCuDc7Ss0akI=";
};
}
{
goPackagePath = "github.com/stretchr/objx";
fetch = {
type = "git";
url = "https://github.com/stretchr/objx";
rev = "v0.3.0";
sha256 = "sha256-T753/EiD5Cpk6H2JFhd+s1gFvpNptG2XlEHxZF6dQaw=";
};
}
{
goPackagePath = "github.com/linuxdeepin/go-x11-client";
fetch = {
type = "git";
url = "https://github.com/linuxdeepin/go-x11-client";
rev = "0.6.9";
sha256 = "sha256-xXNaXpFFHJN1fCFLoVrQFCXQ4ya+Kga55QWcJL/InkA=";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "5d4384ee4fb2527b0a1256a821ebfc92f91efefc";
sha256 = "sha256-XA4Oj1gdmdV/F/+8kMI+DBxKPthZ768hbKsO3d9Gx90=";
};
}
{
goPackagePath = "github.com/axgle/mahonia";
fetch = {
type = "git";
url = "https://github.com/axgle/mahonia";
rev = "3358181d7394e26beccfae0ffde05193ef3be33a";
sha256 = "0b8wsrxmv8a0cqbnsg55lpf29pxy2zw8azvgh3ck664lqpcfybhq";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://github.com/golang/text";
rev = "v0.3.7";
sha256 = "sha256-XpIbgE6MxWwDQQcPXr2NIsE2cev2+CIabi566TYGfHY=";
};
}
{
goPackagePath = "golang.org/x/image";
fetch = {
type = "git";
url = "https://github.com/golang/image";
rev = "70e8d0d3baa9a699c3865c753cbfa8ae65bd86ce";
sha256 = "sha256-oMbDIke/qQ6cp7JLNsMusf7EIUfuj0WavFVfI0lxTDs=";
};
}
{
goPackagePath = "github.com/nfnt/resize";
fetch = {
type = "git";
url = "https://github.com/nfnt/resize";
rev = "83c6a9932646f83e3267f353373d47347b6036b2";
sha256 = "005cpiwq28krbjf0zjwpfh63rp4s4is58700idn24fs3g7wdbwya";
};
}
{
goPackagePath = "github.com/Lofanmi/pinyin-golang";
fetch = {
type = "git";
url = "https://github.com/Lofanmi/pinyin-golang";
rev = "1db892057f20c56a3286cc1517e0642dacbff54c";
sha256 = "sha256-nhO6AYZ3vc7nwgmmfTlE6m33caY9gGZoKiSYvFLqHQc=";
};
}
{
goPackagePath = "github.com/mozillazg/go-pinyin";
fetch = {
type = "git";
url = "https://github.com/mozillazg/go-pinyin";
rev = "8930bc1fcb5693689dc35d98ad2a4153662e34b1";
sha256 = "sha256-kuMNiWpPeqsIsFgYIOsffxUfwcLPaMZWdZRBJAMDVvA=";
};
}
{
goPackagePath = "github.com/kelvins/sunrisesunset";
fetch = {
type = "git";
url = "https://github.com/kelvins/sunrisesunset";
rev = "39fa1bd816d52927b4cfcab0a1535b17eafe0a3d";
sha256 = "sha256-awklKAW1YM3sWM21irbyu2sUMIo3kCOj12lzyVzDefw=";
};
}
{
goPackagePath = "github.com/cryptix/wav";
fetch = {
type = "git";
url = "https://github.com/cryptix/wav";
rev = "8bdace674401f0bd3b63c65479b6a6ff1f9d5e44";
sha256 = "18nyqv0ic35fs9fny8sj84c00vbxs8mnric6vr6yl42624fh5id6";
};
}
{
goPackagePath = "github.com/rickb777/date";
fetch = {
type = "git";
url = "https://github.com/rickb777/date";
rev = "v1.18";
sha256 = "sha256-8r8eFOF5dKtowE3dnjpSMIXJ/yX2IjiR7nZ/EApUZbA=";
};
}
{
goPackagePath = "github.com/rickb777/plural";
fetch = {
type = "git";
url = "https://github.com/rickb777/plural";
rev = "v1.4.1";
sha256 = "sha256-nhN+ApdfUie45L+M2OZAPtSoiIZ1pZ2UpDX/DePS6Yw=";
};
}
{
goPackagePath = "github.com/gosexy/gettext";
fetch = {
type = "git";
url = "https://github.com/gosexy/gettext";
rev = "v0.9";
sha256 = "0asphx8nd7zmp88wk6aakk5292np7yw73akvfdvlvs9q5r5ahkgi";
};
}
{
goPackagePath = "github.com/msteinert/pam";
fetch = {
type = "git";
url = "https://github.com/msteinert/pam";
rev = "v1.0.0";
sha256 = "sha256-Ji13ckPyZUBAovhK2hRHgf2LB1ieglX/XrIJBxVcsXc=";
};
}
{
goPackagePath = "github.com/youpy/go-wav";
fetch = {
type = "git";
url = "https://github.com/youpy/go-wav";
rev = "v0.3.2";
sha256 = "sha256-jNqXW3F3fcgjT47+d2MVXauWkA7+1KfYVu3ZZpRCTkM=";
};
}
{
goPackagePath = "github.com/zaf/g711";
fetch = {
type = "git";
url = "https://github.com/zaf/g711";
rev = "v1.2";
sha256 = "sha256-G+0cgGw/fcOUFVn32AeqUE0YjyOS82Z5MTcn6IANhCY=";
};
}
{
goPackagePath = "github.com/youpy/go-riff";
fetch = {
type = "git";
url = "https://github.com/youpy/go-riff";
rev = "v0.1.0";
sha256 = "sha256-d/3rkxDeRTPveZblArKc61gB4LJVV08n7g0THieuhx8=";
};
}
{
goPackagePath = "google.golang.org/protobuf";
fetch = {
type = "git";
url = "https://github.com/protocolbuffers/protobuf-go";
rev = "v1.28.1";
sha256 = "sha256-7Cg7fByLR9jX3OSCqJfLw5PAHDQi/gopkjtkbobnyWM";
};
}
{
goPackagePath = "github.com/mdlayher/netlink";
fetch = {
type = "git";
url = "https://github.com/mdlayher/netlink";
rev = "v1.6.0";
sha256 = "sha256-3pVOXscdUVerFlRW9aGz7/5YL2OWFkvm8AJGSxygkEs=";
};
}
{
goPackagePath = "github.com/josharian/native";
fetch = {
type = "git";
url = "https://github.com/josharian/native";
rev = "a938fb150d47536d63d6bb2f0c4433091cb8c223";
sha256 = "sha256-KYeAFKKzRt+e7Zy0sp4VW65HQL90hF/wjXP3R5dXaww=";
};
}
{
goPackagePath = "github.com/mdlayher/socket";
fetch = {
type = "git";
url = "https://github.com/mdlayher/socket";
rev = "v0.2.3";
sha256 = "sha256-EDaSQ621SJ2OK2WycMtybuJ2KpaH86JHknqsiduuCtQ=";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://github.com/golang/net";
rev = "83b083e8dc8b4507e702ce59208711115b23ec25";
sha256 = "sha256-50A1EeE7HxKbnLBy1vdxtrbH+7d6/mnZA0cOwHJr5XA=";
};
}
{
goPackagePath = "golang.org/x/sync";
fetch = {
type = "git";
url = "https://github.com/golang/sync";
rev = "7fc1605a5dde7535a0fc1770ca44238629ff29ac";
sha256 = "sha256-5EOxO8FRdaLW9v/DhwBmWiT2G34A2ofxSCaC7ovvpb0=";
};
}
{
goPackagePath = "github.com/adrg/xdg";
fetch = {
type = "git";
url = "https://github.com/adrg/xdg";
rev = "v0.4.0";
sha256 = "sha256-zGjkdUQmrVqD6rMO9oDY+TeJCpuqnHyvkPCaXDlac/U=";
};
}
]