mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
accounts: fixed 'UserList' not init before installing dbus interface
tower:https://tower.im/projects/69dc94f2e66248d5b722b7d9609b8fe7/todos/178d68231bc44418965deae6dd2d9fef/ Change-Id: I4e9d9d1a758dfb98cbd8658f574f67d5d10b6d92
This commit is contained in:
parent
90f4378339
commit
845fcf87aa
5
Makefile
5
Makefile
@ -66,11 +66,6 @@ install: build translate
|
||||
mkdir -pv ${DESTDIR}/etc/dbus-1/system.d
|
||||
cp misc/conf/*.conf ${DESTDIR}/etc/dbus-1/system.d/
|
||||
|
||||
mkdir -pv ${DESTDIR}/etc/systemd/system
|
||||
cp -rf misc/etc/systemd/system/* ${DESTDIR}/etc/systemd/system/
|
||||
mkdir -pv ${DESTDIR}/etc/systemd/system/graphical.target.wants
|
||||
ln -sv ${DESTDIR}/etc/systemd/system/dbus-com.deepin.daemon.Accounts.service ${DESTDIR}/etc/systemd/system/graphical.target.wants/dbus-com.deepin.daemon.Accounts.service
|
||||
|
||||
mkdir -pv ${DESTDIR}${PREFIX}/share/dbus-1
|
||||
cp -r misc/services ${DESTDIR}${PREFIX}/share/dbus-1/
|
||||
cp -r misc/system-services ${DESTDIR}${PREFIX}/share/dbus-1/
|
||||
|
@ -48,7 +48,7 @@ func Start() {
|
||||
return
|
||||
}
|
||||
|
||||
_m.installUsers(getUserPaths())
|
||||
_m.installUsers()
|
||||
}
|
||||
|
||||
func Stop() {
|
||||
|
@ -101,7 +101,7 @@ func (m *Manager) handleFileShadowChanged() {
|
||||
func (m *Manager) handleUserAdded(list []string) {
|
||||
var paths = m.UserList
|
||||
for _, p := range list {
|
||||
err := m.installUser(p)
|
||||
err := m.installUserByPath(p)
|
||||
if err != nil {
|
||||
logger.Errorf("Install user '%s' failed: %v", p, err)
|
||||
continue
|
||||
|
@ -61,6 +61,7 @@ func NewManager() *Manager {
|
||||
|
||||
m.setPropGuestIcon(userIconGuest)
|
||||
m.setPropAllowGuest(isGuestUserEnabled())
|
||||
m.newUsers(getUserPaths())
|
||||
|
||||
m.watcher = dutils.NewWatchProxy()
|
||||
if m.watcher != nil {
|
||||
@ -82,27 +83,44 @@ func (m *Manager) destroy() {
|
||||
dbus.UnInstallObject(m)
|
||||
}
|
||||
|
||||
func (m *Manager) installUsers(list []string) {
|
||||
func (m *Manager) newUsers(list []string) {
|
||||
var paths []string
|
||||
for _, v := range list {
|
||||
err := m.installUser(v)
|
||||
for _, p := range list {
|
||||
u, err := NewUser(p)
|
||||
if err != nil {
|
||||
logger.Errorf("Install user '%s' failed: %v", v, err)
|
||||
logger.Errorf("New user '%s' failed: %v", p, err)
|
||||
continue
|
||||
}
|
||||
|
||||
paths = append(paths, v)
|
||||
paths = append(paths, p)
|
||||
|
||||
m.mapLocker.Lock()
|
||||
m.usersMap[p] = u
|
||||
m.mapLocker.Unlock()
|
||||
}
|
||||
m.setPropUserList(paths)
|
||||
}
|
||||
|
||||
func (m *Manager) installUsers() {
|
||||
m.mapLocker.Lock()
|
||||
defer m.mapLocker.Unlock()
|
||||
for _, u := range m.usersMap {
|
||||
err := dbus.InstallOnSystem(u)
|
||||
if err != nil {
|
||||
logger.Errorf("Install user '%s' failed: %v",
|
||||
u.Uid, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Manager) uninstallUsers(list []string) {
|
||||
for _, p := range list {
|
||||
m.uninstallUser(p)
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Manager) installUser(userPath string) error {
|
||||
func (m *Manager) installUserByPath(userPath string) error {
|
||||
u, err := NewUser(userPath)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=Deepin Account Manager
|
||||
DefaultDependencies=no
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=dbus
|
||||
BusName=com.deepin.daemon.Accounts
|
||||
ExecStart=/usr/lib/deepin-daemon/dde-system-daemon
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical.target
|
Loading…
x
Reference in New Issue
Block a user