diff --git a/0001-uos-startdde-fix-kvm-gpu-message-pci-error.patch b/0001-uos-startdde-fix-kvm-gpu-message-pci-error.patch new file mode 100644 index 0000000000000000000000000000000000000000..d49947620a389a43821c8ec83affec0a1187e0cc --- /dev/null +++ b/0001-uos-startdde-fix-kvm-gpu-message-pci-error.patch @@ -0,0 +1,72 @@ +diff -Nuar startdde-5.9.61/display/util.go startdde-5.9.61.new/display/util.go +--- startdde-5.9.61/display/util.go 2022-12-09 11:19:18.000000000 +0800 ++++ startdde-5.9.61.new/display/util.go 2023-04-12 11:21:51.145365556 +0800 +@@ -15,6 +15,7 @@ + "sort" + "strconv" + "strings" ++ "os/exec" + + "github.com/godbus/dbus" + hostname1 "github.com/linuxdeepin/go-dbus-factory/org.freedesktop.hostname1" +@@ -333,6 +334,32 @@ + return chassis, nil + } + ++func CheckKvm() string { ++ var maty string ++ out, err := exec.Command("systemd-detect-virt").Output() ++ if err != nil { ++ maty = "" ++ }else { ++ maty = string(out) ++ maty = strings.Replace(maty, "\n", "", -1) ++ } ++ return maty ++} ++ ++func CheckArch() string { ++ var KArch string ++ out, err := exec.Command("arch").Output() ++ ++ if err != nil { ++ KArch = "" ++ }else { ++ KArch = string(out) ++ KArch = strings.Replace(KArch,"\n","",-1) ++ } ++ return KArch ++} ++ ++ + func getGraphicsCardPciId() string { + var pciId string + subsystems := []string{"drm"} +@@ -362,6 +389,27 @@ + } + } + } ++//qxl not support in arm/loongarch ++//just try drm/card0 ++ if pciId == "" { ++ maty := CheckKvm() ++ KArch := CheckArch() ++ if maty == "kvm" { ++ if KArch == "aarch64" || KArch == "loongarch64" { ++ for _, dev := range devices { ++ name := dev.GetName() ++ if name == "card0" { ++ cardDevice := dev.GetParent() ++ parentDevice := cardDevice.GetParent() ++ pciId = parentDevice.GetProperty("PCI_ID") ++ cardDevice.Unref() ++ parentDevice.Unref() ++ break ++ } ++ } ++ } ++ } ++ } + + return pciId + } diff --git a/0002-uos-startdde-rm-redshift.patch b/0002-uos-startdde-rm-redshift.patch new file mode 100644 index 0000000000000000000000000000000000000000..42eb18b25fbf73795ce008c32fe1311661a51598 --- /dev/null +++ b/0002-uos-startdde-rm-redshift.patch @@ -0,0 +1,282 @@ +diff -Nuar startdde-5.9.61/display/display.go startdde-5.9.61.new/display/display.go +--- startdde-5.9.61/display/display.go 2022-12-09 11:19:18.000000000 +0800 ++++ startdde-5.9.61.new/display/display.go 2023-04-13 09:51:43.128038184 +0800 +@@ -119,7 +119,7 @@ + m.initTouchscreens() + + if !_greeterMode { +- controlRedshift("disable") ++ //controlRedshift("disable") + m.applyColorTempConfig(m.DisplayMode) + } + +diff -Nuar startdde-5.9.61/.history/display/display_20221209111917.go startdde-5.9.61.new/.history/display/display_20221209111917.go +--- startdde-5.9.61/.history/display/display_20221209111917.go 1970-01-01 08:00:00.000000000 +0800 ++++ startdde-5.9.61.new/.history/display/display_20221209111917.go 2023-04-13 09:51:43.124036951 +0800 +@@ -0,0 +1,131 @@ ++// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. ++// ++// SPDX-License-Identifier: GPL-3.0-or-later ++ ++package display ++ ++import ( ++ "errors" ++ "reflect" ++ ++ "github.com/godbus/dbus" ++ sysdisplay "github.com/linuxdeepin/go-dbus-factory/com.deepin.system.display" ++ "github.com/linuxdeepin/go-lib/dbusutil" ++ "github.com/linuxdeepin/go-lib/log" ++) ++ ++var logger = log.NewLogger("daemon/display") ++ ++const ( ++ dbusServiceName = "com.deepin.daemon.Display" ++ dbusInterface = "com.deepin.daemon.Display" ++ dbusPath = "/com/deepin/daemon/Display" ++) ++ ++var _dpy *Manager ++ ++var _greeterMode bool ++ ++func SetGreeterMode(val bool) { ++ _greeterMode = val ++} ++ ++type scaleFactorsHelper struct { ++ changedCb func(factors map[string]float64) error ++} ++ ++// ScaleFactorsHelper 全局的 scale factors 相关 helper,要传给 xsettings 模块。 ++var ScaleFactorsHelper scaleFactorsHelper ++ ++// 用于在 display.Start 还没被调用时,先由 xsettings.Start 调用了 ScaleFactorsHelper.SetScaleFactors, 缓存数据。 ++var _scaleFactors map[string]float64 ++ ++func (h *scaleFactorsHelper) SetScaleFactors(factors map[string]float64) error { ++ if _dpy == nil { ++ _scaleFactors = factors ++ return nil ++ } ++ return _dpy.setScaleFactors(factors) ++} ++ ++func (h *scaleFactorsHelper) GetScaleFactors() (map[string]float64, error) { ++ sysBus, err := dbus.SystemBus() ++ if err != nil { ++ return nil, err ++ } ++ sysDisplay := sysdisplay.NewDisplay(sysBus) ++ cfgJson, err := sysDisplay.GetConfig(0) ++ if err != nil { ++ return nil, err ++ } ++ var rootCfg struct { ++ Config struct { ++ ScaleFactors map[string]float64 ++ } ++ } ++ err = jsonUnmarshal(cfgJson, &rootCfg) ++ if err != nil { ++ return nil, err ++ } ++ return rootCfg.Config.ScaleFactors, nil ++} ++ ++func (h *scaleFactorsHelper) SetChangedCb(fn func(factors map[string]float64) error) { ++ h.changedCb = fn ++} ++ ++func (m *Manager) setScaleFactors(factors map[string]float64) error { ++ logger.Debug("setScaleFactors", factors) ++ m.sysConfig.mu.Lock() ++ defer m.sysConfig.mu.Unlock() ++ ++ if reflect.DeepEqual(m.sysConfig.Config.ScaleFactors, factors) { ++ return nil ++ } ++ m.sysConfig.Config.ScaleFactors = factors ++ err := m.saveSysConfigNoLock("scale factors changed") ++ if err != nil { ++ logger.Warning(err) ++ } ++ return err ++} ++ ++func Start(service *dbusutil.Service) error { ++ m := newManager(service) ++ m.init() ++ ++ if !_greeterMode { ++ // 正常 startdde ++ err := service.Export(dbusPath, m) ++ if err != nil { ++ return err ++ } ++ ++ err = service.RequestName(dbusServiceName) ++ if err != nil { ++ return err ++ } ++ } ++ _dpy = m ++ return nil ++} ++ ++func StartPart2() error { ++ if _dpy == nil { ++ return errors.New("_dpy is nil") ++ } ++ m := _dpy ++ m.initSysDisplay() ++ m.initTouchscreens() ++ ++ if !_greeterMode { ++ controlRedshift("disable") ++ m.applyColorTempConfig(m.DisplayMode) ++ } ++ ++ return nil ++} ++ ++func SetLogLevel(level log.Priority) { ++ logger.SetLogLevel(level) ++} +diff -Nuar startdde-5.9.61/.history/display/display_20230413095143.go startdde-5.9.61.new/.history/display/display_20230413095143.go +--- startdde-5.9.61/.history/display/display_20230413095143.go 1970-01-01 08:00:00.000000000 +0800 ++++ startdde-5.9.61.new/.history/display/display_20230413095143.go 2023-04-13 09:51:43.132039419 +0800 +@@ -0,0 +1,131 @@ ++// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. ++// ++// SPDX-License-Identifier: GPL-3.0-or-later ++ ++package display ++ ++import ( ++ "errors" ++ "reflect" ++ ++ "github.com/godbus/dbus" ++ sysdisplay "github.com/linuxdeepin/go-dbus-factory/com.deepin.system.display" ++ "github.com/linuxdeepin/go-lib/dbusutil" ++ "github.com/linuxdeepin/go-lib/log" ++) ++ ++var logger = log.NewLogger("daemon/display") ++ ++const ( ++ dbusServiceName = "com.deepin.daemon.Display" ++ dbusInterface = "com.deepin.daemon.Display" ++ dbusPath = "/com/deepin/daemon/Display" ++) ++ ++var _dpy *Manager ++ ++var _greeterMode bool ++ ++func SetGreeterMode(val bool) { ++ _greeterMode = val ++} ++ ++type scaleFactorsHelper struct { ++ changedCb func(factors map[string]float64) error ++} ++ ++// ScaleFactorsHelper 全局的 scale factors 相关 helper,要传给 xsettings 模块。 ++var ScaleFactorsHelper scaleFactorsHelper ++ ++// 用于在 display.Start 还没被调用时,先由 xsettings.Start 调用了 ScaleFactorsHelper.SetScaleFactors, 缓存数据。 ++var _scaleFactors map[string]float64 ++ ++func (h *scaleFactorsHelper) SetScaleFactors(factors map[string]float64) error { ++ if _dpy == nil { ++ _scaleFactors = factors ++ return nil ++ } ++ return _dpy.setScaleFactors(factors) ++} ++ ++func (h *scaleFactorsHelper) GetScaleFactors() (map[string]float64, error) { ++ sysBus, err := dbus.SystemBus() ++ if err != nil { ++ return nil, err ++ } ++ sysDisplay := sysdisplay.NewDisplay(sysBus) ++ cfgJson, err := sysDisplay.GetConfig(0) ++ if err != nil { ++ return nil, err ++ } ++ var rootCfg struct { ++ Config struct { ++ ScaleFactors map[string]float64 ++ } ++ } ++ err = jsonUnmarshal(cfgJson, &rootCfg) ++ if err != nil { ++ return nil, err ++ } ++ return rootCfg.Config.ScaleFactors, nil ++} ++ ++func (h *scaleFactorsHelper) SetChangedCb(fn func(factors map[string]float64) error) { ++ h.changedCb = fn ++} ++ ++func (m *Manager) setScaleFactors(factors map[string]float64) error { ++ logger.Debug("setScaleFactors", factors) ++ m.sysConfig.mu.Lock() ++ defer m.sysConfig.mu.Unlock() ++ ++ if reflect.DeepEqual(m.sysConfig.Config.ScaleFactors, factors) { ++ return nil ++ } ++ m.sysConfig.Config.ScaleFactors = factors ++ err := m.saveSysConfigNoLock("scale factors changed") ++ if err != nil { ++ logger.Warning(err) ++ } ++ return err ++} ++ ++func Start(service *dbusutil.Service) error { ++ m := newManager(service) ++ m.init() ++ ++ if !_greeterMode { ++ // 正常 startdde ++ err := service.Export(dbusPath, m) ++ if err != nil { ++ return err ++ } ++ ++ err = service.RequestName(dbusServiceName) ++ if err != nil { ++ return err ++ } ++ } ++ _dpy = m ++ return nil ++} ++ ++func StartPart2() error { ++ if _dpy == nil { ++ return errors.New("_dpy is nil") ++ } ++ m := _dpy ++ m.initSysDisplay() ++ m.initTouchscreens() ++ ++ if !_greeterMode { ++ //controlRedshift("disable") ++ m.applyColorTempConfig(m.DisplayMode) ++ } ++ ++ return nil ++} ++ ++func SetLogLevel(level log.Priority) { ++ logger.SetLogLevel(level) ++} diff --git a/0003-uos-startdde-rm-message-greeter-BadMatch-error.patch b/0003-uos-startdde-rm-message-greeter-BadMatch-error.patch new file mode 100644 index 0000000000000000000000000000000000000000..05e5ddb5174fe9f1a247e1c9b9d8ccc382a6f5fc --- /dev/null +++ b/0003-uos-startdde-rm-message-greeter-BadMatch-error.patch @@ -0,0 +1,14 @@ +diff -Nuar startdde-5.9.61/display/greeter.go startdde-5.9.61.new/display/greeter.go +--- startdde-5.9.61/display/greeter.go 2022-12-09 11:19:18.000000000 +0800 ++++ startdde-5.9.61.new/display/greeter.go 2023-04-19 17:14:55.561867197 +0800 +@@ -27,7 +27,9 @@ + } + err := m.doShowCursor(true) + if err != nil { +- logger.Warning(err) ++ //display only on greeter stage and in xorg server the err occurs when it show hide cursor ++ //just replace warning with debug to avoid print the err in /var/log/messages ++ logger.Debug(err) + } + m.cursorShowed = true + } diff --git a/README.md b/README.md deleted file mode 100644 index 1fa98e56ded55f4c171db20feb82b1fdad4f53f8..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,12 +0,0 @@ -Anolis OS -======================================= -# 代码仓库说明 -## 分支说明 ->进行代码开发工作时,请注意选择当前版本对应的分支 -* aX分支为对应大版本的主分支,如a8分支对应当前最新版本 -* aX.Y分支为对应小版本的维护分支,如a8.2分支对应8.2版本 -## 开发流程 -1. 首先fork目标分支到自己的namespace -2. 在自己的fork分支上做出修改 -3. 向对应的仓库中提交merge request,源分支为fork分支 - diff --git a/startdde-5.9.61.tar.gz b/startdde-5.9.61.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..6d0e55d59ba4c546c54c504b5cdd205cb024eb60 Binary files /dev/null and b/startdde-5.9.61.tar.gz differ diff --git a/startdde.spec b/startdde.spec new file mode 100644 index 0000000000000000000000000000000000000000..3c648b6b87007546277b9b3df834edf06f10276c --- /dev/null +++ b/startdde.spec @@ -0,0 +1,125 @@ +%global _missing_build_ids_terminate_build 0 +%global debug_package %{nil} + + +Name: startdde +Version: 5.9.61 +Release: 1%{?dist}.03 +Summary: Starter of deepin desktop environment +License: GPLv3 +URL: https://github.com/linuxdeepin/startdde +Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz + +Patch0: 0001-uos-startdde-fix-kvm-gpu-message-pci-error.patch +Patch1: 0002-uos-startdde-rm-redshift.patch +Patch2: 0003-uos-startdde-rm-message-greeter-BadMatch-error.patch + +BuildRequires: golang +BuildRequires: jq +BuildRequires: gocode +BuildRequires: glib2-devel +BuildRequires: pkgconfig(x11) +BuildRequires: libXcursor-devel +BuildRequires: libXfixes-devel +BuildRequires: gtk3-devel +BuildRequires: pulseaudio-libs-devel +BuildRequires: libgnome-keyring-devel +BuildRequires: alsa-lib-devel +BuildRequires: pkgconfig(gudev-1.0) +BuildRequires: pkgconfig(libsecret-unstable) +BuildRequires: go-x11-client-devel +BuildRequires: go-dbus-factory-devel +BuildRequires: go-lib-devel +BuildRequires: go-gir-generator +BuildRequires: dde-api-devel + + +Provides: x-session-manager +Requires: dde-daemon +Requires: procps +Requires: deepin-desktop-schemas +Requires: dde-kwin +Requires: libXfixes +Requires: libXcursor +Recommends: dde-qt5integration + +%description +%{summary}. + +%prep +%setup -n %{name}-%{version} +sed -i 's|/usr/lib/deepin-daemon|/usr/libexec/deepin-daemon|g' \ +misc/auto_launch/chinese.json misc/auto_launch/default.json + +## Scripts in /etc/X11/Xsession.d are not executed after xorg start +sed -i 's|X11/Xsession.d|X11/xinit/xinitrc.d|g' Makefile + +patch main.go < rpm/main.go.patch +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%build +%ifarch loongarch64 +export GOOS="linux" +export CGO_ENABLED=1 +%endif + +export GOPATH=/usr/share/gocode + +## Scripts in /etc/X11/Xsession.d are not executed after xorg start +sed -i 's|X11/Xsession.d|X11/xinit/xinitrc.d|g' Makefile + +%make_build GO_BUILD_FLAGS=-trimpath + +%install +%make_install + +%post +xsOptsFile=/etc/X11/Xsession.options +update-alternatives --install /usr/bin/x-session-manager x-session-manager \ + /usr/bin/startdde 90 || true +if [ -f $xsOptsFile ];then + sed -i '/^use-ssh-agent/d' $xsOptsFile + if ! grep '^no-use-ssh-agent' $xsOptsFile >/dev/null; then + echo no-use-ssh-agent >> $xsOptsFile + fi +fi + +%files +%doc README.md +%license LICENSE +%{_sysconfdir}/X11/xinit/xinitrc.d/00deepin-dde-env +%{_sysconfdir}/X11/xinit/xinitrc.d/01deepin-profile +%{_sysconfdir}/X11/xinit/xinitrc.d/94qt_env +%{_sysconfdir}/profile.d/deepin-xdg-dir.sh +%{_bindir}/%{name} +%{_sbindir}/deepin-fix-xauthority-perm +%{_datadir}/xsessions/deepin.desktop +%{_datadir}/lightdm/lightdm.conf.d/60-deepin.conf +%{_datadir}/glib-2.0/schemas/* +%{_datadir}/startdde/* +%{_datadir}/locale/ +%{_datadir}/dsg/ +/usr/lib/deepin-daemon/greeter-display-daemon + +%changelog +* Wed Apr 19 2023 lichao - 5.9.61-1.03 +- fix: fix greeter.go error in message (bugid:189853) + +* Thu Apr 13 2023 lichao - 5.9.61-1.02 +- fix: fix failed to disable redshift.service (bugid:189853) + +* Tue Apr 11 2023 lichao - 5.9.61-1.01 +- fix: fix failed to get current using graphics card pci id error (bugid:189853) + +* Tue Jan 03 2023 liweiganga - 5.9.61-1 +- update: update to 5.9.61 + +* Wed Oct 19 2022 zhangkea - 5.8.34.3-2.04 +- fix: delete requires deepin-proxy resolve messages errors + +* Tue Jun 28 2022 liweiganga - 5.8.34.3-2.03 +- fix: add requires deepin-proxy + +* Fri Jun 10 2022 uoser - 5.8.34.3-2.02 +- update to 5.8.34.3-2.02