diff --git a/desktop-background.jpg b/desktop-background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..437cf1fc5cdef5f0cdd79bc9169d885b491feb63 Binary files /dev/null and b/desktop-background.jpg differ diff --git a/devstation-config.spec b/devstation-config.spec index 0807641a8ca067c0351fdb10645e0f551687f3af..704b6f392e1c88179fd18888f0a7bd663488aff6 100644 --- a/devstation-config.spec +++ b/devstation-config.spec @@ -1,43 +1,193 @@ Name: devstation-config Version: 2 -Release: 4 +Release: 5 Summary: A shortcut to openEuler official site License: LGPLv3 Source0: openEuler.desktop Source1: openEuler.png Source2: devstation-config.gschema.override +Source3: extensions-source.tar.gz +Source4: desktop-background.jpg -#BuildRequires: +BuildRequires: unzip +BuildRequires: fontconfig +BuildRequires: gtk-update-icon-cache +BuildRequires: dbus-x11 +BuildRequires: dconf +BuildRequires: coreutils + +Requires: gnome-shell-extension-dash-to-dock +Requires: bash +Requires: gnome-terminal-nautilus +Requires: fish +Requires: gnome-software +Requires: gnome-weather +Requires: gnome-maps +Requires: gnome-calendar +Requires: gnome-clocks +Requires: gnome-console +Requires: gnome-contacts +Requires: sound-theme-freedesktop +Requires: plymouth +Requires: chkconfig +Requires: gnome-shell +Requires: dconf +Requires: gtk-update-icon-cache +Requires: dracut +Requires: glib2 +Requires: coreutils +Requires: sudo +Requires: dbus-x11 +Requires: fontconfig +Requires: gawk -Requires: gnome-shell-extension-dash-to-dock %description A shortcut to openEuler official site. + +%prep +tar -xf %{SOURCE3} + + %install +pushd extensions-source + %{__mkdir} -p %{buildroot}%{_datadir}/applications -%{__cp} %{_sourcedir}/{openEuler.desktop,openEuler.png} %{buildroot}%{_datadir}/applications -install -D -m 0644 %SOURCE2 %{buildroot}%{_datadir}/glib-2.0/schemas/80_devstation-config.gschema.override +%{__cp} %{_sourcedir}/{openEuler.desktop,openEuler.png,desktop-background.jpg} %{buildroot}%{_datadir}/applications +install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/glib-2.0/schemas/80_devstation-config.gschema.override +mkdir -p %{buildroot}%{_datadir}/backgrounds +unzip -q -o wallpapers.zip -d %{buildroot}%{_datadir}/backgrounds/ +mkdir -p %{buildroot}%{_datadir}/plymouth/themes/ +unzip -q -o plymouth-theme.zip -d %{buildroot}%{_datadir}/plymouth/themes/ +# 系统目录权限(全局可读) +chmod -R a+r %{buildroot}%{_datadir}/backgrounds +chmod -R a+r %{buildroot}%{_datadir}/plymouth/themes + +mkdir -p "%{buildroot}%{_sysconfdir}/skel/.local/share/gnome-shell" +unzip -q -o gnome-extensions.zip -d "%{buildroot}%{_sysconfdir}/skel/.local/share/gnome-shell" + +mkdir -p "%{buildroot}%{_sysconfdir}/skel/.themes" +unzip -q -o GTK-Themes.zip -d "%{buildroot}%{_sysconfdir}/skel/.themes/" + +mkdir -p "%{buildroot}%{_sysconfdir}/skel/.local/share/icons" +unzip -q -o icon-themes.zip -d "%{buildroot}%{_sysconfdir}/skel/.local/share/icons/" + +mkdir -p "%{buildroot}%{_sysconfdir}/skel/.icons" +unzip -q -o cursors-theme.zip -d "%{buildroot}%{_sysconfdir}/skel/.icons/" + +mkdir -p "%{buildroot}%{_sysconfdir}/skel/.local/share" +unzip -q -o fonts.zip -d "%{buildroot}%{_sysconfdir}/skel/.local/share" +cp -arf openeuler-desktop-settings.conf %{buildroot}%{_sysconfdir} + +# 激活GTK配置(软链接) +mkdir -p "%{buildroot}%{_sysconfdir}/skel/.config/gtk-3.0" +pushd "%{buildroot}%{_sysconfdir}/skel/.config/gtk-3.0" +ln -sf "../../.themes/Orchis-Dark/gtk-4.0/assets" assets +ln -sf "../../.themes/Orchis-Dark/gtk-4.0/gtk.css" gtk.css +ln -sf "../../.themes/Orchis-Dark/gtk-4.0/gtk-dark.css" gtk-dark.css +popd + +# 解压配置文件 +unzip -q -o conky-config.zip -d "%{buildroot}%{_sysconfdir}/skel/.config/" +unzip -q -o cava-config.zip -d "%{buildroot}%{_sysconfdir}/skel/.config/" +unzip -q -o fishomp-config.zip -d "%{buildroot}%{_sysconfdir}/skel" + +mkdir -p %{buildroot}%{_sysconfdir}/skel/Desktop +%{__install} %{SOURCE0} %{buildroot}%{_sysconfdir}/skel/Desktop + +rm -rf $HOME/.config/dconf/user +dbus-launch dconf load / < %{buildroot}%{_sysconfdir}/openeuler-desktop-settings.conf +dbus-launch dconf load /org/gnome/shell/extensions/dash-to-panel/ <= 1000 || $3 == 0) && \ + ($7 != "/usr/sbin/nologin" && $7 != "/sbin/nologin") {print $1; exit}') + if [ -z $USER ]; then + continue fi -done -[[ ! -d /root/Desktop ]] && mkdir /root/Desktop -%{__install} %{_datadir}/applications/openEuler.desktop /root/Desktop -echo " Installed to \"root\"." + HOME_DIR=$(echo $line | awk -F: '{print $6; exit}') + if [ ! -d $HOME_DIR ]; then + continue + fi + cp -arf %{_sysconfdir}/skel/.config "$HOME_DIR/" + cp -arf %{_sysconfdir}/skel/.icons "$HOME_DIR/" + cp -arf %{_sysconfdir}/skel/.local "$HOME_DIR/" + cp -arf %{_sysconfdir}/skel/.poshthemes "$HOME_DIR/" + cp -arf %{_sysconfdir}/skel/.themes "$HOME_DIR/" + cp -arf %{_sysconfdir}/skel/Desktop "$HOME_DIR/" + + # 修复用户目录所有权 + chown -R "$USER:$USER" "$HOME_DIR/.config" + chown -R "$USER:$USER" "$HOME_DIR/.icons" + chown -R "$USER:$USER" "$HOME_DIR/.local" + chown -R "$USER:$USER" "$HOME_DIR/.poshthemes" + chown -R "$USER:$USER" "$HOME_DIR/.themes" + chown -R "$USER:$USER" "$HOME_DIR/Desktop" + + chmod u+rw "$HOME_DIR/.poshthemes"/*.json + [[ -e $HOME_DIR/.cache/dconf ]] && chown -R "$USER:$USER" "$HOME_DIR/.cache/dconf" + [[ -e $HOME_DIR/.dbus ]] && chown -R "$USER:$USER" "$HOME_DIR/.dbus" + sudo -u "$USER" dbus-launch dconf load / < %{_sysconfdir}/openeuler-desktop-settings.conf + fc-cache -fv + sudo -u "$USER" gtk-update-icon-cache -f -t "$HOME_DIR/.local/share/icons" + sudo -u "$USER" dbus-launch dconf load /org/gnome/shell/extensions/dash-to-panel/ < /etc/polkit-1/rules.d/80-calamares.rules + +fc-cache -fv +gtk-update-icon-cache -f -t /usr/share/icons + %files -%attr(755, root, root) %{_datadir}/applications/{openEuler.desktop,openEuler.png} +%attr(755, root, root) %{_datadir}/applications/{openEuler.desktop,openEuler.png,desktop-background.jpg} %{_datadir}/glib-2.0/schemas/80_devstation-config.gschema.override +%{_datadir}/backgrounds/ +%{_datadir}/plymouth/themes/ +%{_sysconfdir}/skel/.config +%{_sysconfdir}/skel/.icons +%{_sysconfdir}/skel/.local +%{_sysconfdir}/skel/.poshthemes +%{_sysconfdir}/skel/.themes +%{_sysconfdir}/skel/Desktop +%{_sysconfdir}/openeuler-desktop-settings.conf + %changelog +* Mon Jul 21 2025 Wang Kui - 2-5 +- Desktop optimization + * Tue Jun 3 2025 Li Ping <1477412247@qq.com> - 2-4 - Update easysoftware icon diff --git a/extensions-source.tar.gz b/extensions-source.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..04f580d55c7e9487750314091698492a648947bc Binary files /dev/null and b/extensions-source.tar.gz differ