feat: add unity-settings-daemon

This commit is contained in:
cat-master21
2023-02-25 18:17:28 -08:00
parent 4da1e00143
commit 3491097fff
4 changed files with 235 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
project "pkg" {
rpm {
spec = "unity-settings-daemon.spec"
}
}
@@ -0,0 +1,87 @@
'\" t
.\" Title: unity-settings-daemon
.\" Author: Bastien Nocera <hadess@hadess.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 02/08/2023
.\" Manual: User Commands
.\" Source: Unity
.\" Language: English
.\"
.TH "UNITY\-SETTINGS\-DAE" "1" "" "Unity" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
unity-settings-daemon \- Unity settings daemon
.SH "SYNOPSIS"
.HP \w'\fBunity\-settings\-daemon\ \fR\fB[OPTION...]\fR\ 'u
\fBunity\-settings\-daemon \fR\fB[OPTION...]\fR
.SH "DESCRIPTION"
.PP
\fBunity\-settings\-daemon\fR
provides many session\-wide services and functions that require a long\-running process\&. Among the services implemented by unity\-settings\-daemon are an XSettings manager, which provides theming, font and other settings to GTK+ applications, and a clipboard manager, which preserves clipboard contents when an application exits\&. Many user interface elements of
\fBunity\fR
and
\fBunity\-control\-center\fR
rely on unity\-settings\-daemon for their functionality\&.
.PP
The internal architecture of unity\-settings\-daemon consists of a number of plugins, which provide functionality such as printer notifications, software update monitoring, background changing, etc\&. For debugging purposes, these plugins can be individually disabled by changing the gsettings key
org\&.gnome\&.settings\-daemon\&.plugins\&.\fIplugin\-name\fR\&.active, where
\fIplugin\-name\fR
is the name of the plugin\&. To see a list of all plugins, use the command
\fB gsettings list\-children org\&.gnome\&.settings\-daemon\&.plugins \fR
.PP
unity\-settings\-daemon takes the name org\&.gnome\&.SettingsDaemon on the session bus to ensure that only one instance is running\&. Some plugins export objects under this name to make their functionality available to other applications\&. The interfaces of these objects should generally be considered private and unstable\&.
.PP
unity\-settings\-daemon is a required component of the Unity desktop, i\&.e\&. it is listed in the RequiredComponents field of
/usr/share/gnome\-session/sessions/gnome\&.session\&. It is started in the initialization phase of the session, and
\fBgnome\-session\fR
will restart it if it crashes\&.
.SH "OPTIONS"
.PP
\fB\-h\fR, \fB\-\-help\fR
.RS 4
Prints a short help text and exits\&.
.RE
.PP
\fB\-\-debug\fR
.RS 4
Enables debugging code\&.
.RE
.PP
\fB\-\-timed\-exit\fR
.RS 4
Exits after a timeout (30 seconds) for debugging\&.
.RE
.SH "FILES"
.PP
/usr/share/gnome\-session/sessions/ubuntu\&.session
.RS 4
Unity session definition file where unity\-settings\-daemon is listed as a required component\&.
.RE
.PP
/etc/xdg/autostart/unity\-settings\-daemon\&.desktop
.RS 4
Autostart file for unity\-settings\-daemon, where its autostart phase is set\&.
.RE
.SH "SEE ALSO"
.PP
\fBunity\fR(1),
\fBunity-control-center\fR(1),
\fBgnome-session\fR(1)
@@ -0,0 +1,7 @@
[Unit]
Description=Unity Settings Daemon
PartOf=graphical-session.target
[Service]
ExecStart=/usr/libexec/unity-settings-daemon
Restart=on-failure
@@ -0,0 +1,136 @@
Name: unity-settings-daemon
Version: 15.04.1+21.10.20220802
Release: %autorelease
Summary: Daemon handling for Unity session settings
License: GPLv2 AND LGPLv2+
URL: https://launchpad.net/unity-settings-daemon
Source0: http://archive.ubuntu.com/ubuntu/pool/universe/u/unity-settings-daemon/unity-settings-daemon_%{version}.orig.tar.gz
Source1: unity-settings-daemon.service
Source2: unity-settings-daemon.1
BuildRequires: automake libtool gnome-common
BuildRequires: intltool
BuildRequires: make
BuildRequires: gcc
BuildRequires: g++
BuildRequires: systemd-rpm-macros
BuildRequires: gsettings-desktop-schemas-devel
BuildRequires: pkgconfig(lcms2)
BuildRequires: libnotify-devel
BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xi)
BuildRequires: libXext-devel
BuildRequires: xorg-x11-server-devel
BuildRequires: gperf
BuildRequires: ibus-devel
BuildRequires: accountsservice-devel
BuildRequires: pkgconfig(xkbfile)
BuildRequires: xkeyboard-config-devel
BuildRequires: pkgconfig(fcitx-config)
BuildRequires: pkgconfig(fcitx-gclient)
BuildRequires: pkgconfig(gnome-desktop-3.0)
BuildRequires: pulseaudio-libs-devel
BuildRequires: pkgconfig(libcanberra-gtk3)
BuildRequires: alsa-lib-devel
BuildRequires: libXrandr-devel
BuildRequires: upower-devel
BuildRequires: pkgconfig(colord)
BuildRequires: pkgconfig(libwacom)
BuildRequires: pkgconfig(xorg-wacom)
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(packagekit-glib2)
BuildRequires: NetworkManager-libnm-devel
BuildRequires: gsettings-ubuntu-touch-schemas
Requires: hwdata
Requires: gsettings-ubuntu-touch-schemas
%description
The settings daemon used in Unity. It is based on GNOME Settings Daemon 3.8.6.1.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
%{summary}.
%prep
%autosetup -n unity-settings-daemon-%{version}
# Requires internet so manually installing manpage
rm -rf man
sed -i '/man\/Makefile/d' ./configure.ac
sed -i '/man/d' Makefile.am
%build
# Some flag fixes an issue
export LDFLAGS='-Wl,-O1 -Wl,-z,defs -Wl,--warn-unresolved-symbols -Wl,--as-needed'
NOCONFIGURE=1 \
./autogen.sh
%configure --disable-static --enable-packagekit --enable-ibus --enable-fcitx --enable-network-manager
%make_build
%install
%make_install
rm -fv %{buildroot}%{_libdir}/unity-settings-daemon-1.0/*.la %{buildroot}%{_libdir}/*.la
pushd %{buildroot}
mkdir -m 755 -p .%{_bindir}
ln -fs %{_libexecdir}/unity-settings-daemon .%{_bindir}/unity-settings-daemon
popd
# Install this
mkdir -m 755 -p %{buildroot}%{_userunitdir}
install -m 644 %{SOURCE1} -t %{buildroot}%{_userunitdir}
# Requires internet so manually installing
mkdir -m 755 -p %{buildroot}%{_mandir}/man1
install -m 644 %{SOURCE2} -t %{buildroot}%{_mandir}/man1
# This conflicts
rename 61-gnome-settings-daemon-rfkill.rules 60-gnome-settings-daemon-rfkill.rules %{buildroot}%{_prefix}/lib/udev/rules.d/61-gnome-settings-daemon-rfkill.rules
%find_lang %{name}
%files -f %{name}.lang
%license COPYING COPYING.LIB
%{_sysconfdir}/xdg/autostart/*.desktop
%{_bindir}/unity-settings-daemon
%{_prefix}/lib/udev/rules.d/60-gnome-settings-daemon-rfkill.rules
%{_userunitdir}/unity-settings-daemon.service
%{_libdir}/libunity-settings-daemon.so.*
%{_libdir}/unity-settings-daemon-1.0/
%{_libexecdir}/check_gl_texture_size
%{_libexecdir}/gnome-update-wallpaper-cache
%{_libexecdir}/gsd-test-rfkill
%{_libexecdir}/unity-*
%{_libexecdir}/usd-*
%{_datadir}/glib-2.0/schemas/*.xml
%{_datadir}/icons/hicolor/*
%{_mandir}/man1/unity-settings-daemon.1.gz
%{_datadir}/polkit-1/actions/*.policy
%dir %{_datadir}/unity-settings-daemon
%dir %{_datadir}/unity-settings-daemon/icons
%dir %{_datadir}/unity-settings-daemon/icons/hicolor
%dir %{_datadir}/unity-settings-daemon/icons/hicolor/64x64
%dir %{_datadir}/unity-settings-daemon/icons/hicolor/64x64/devices
%{_datadir}/unity-settings-daemon/icons/hicolor/64x64/devices/*.png
%dir %{_datadir}/unity-settings-daemon-1.0
%{_datadir}/unity-settings-daemon-1.0/input-device-example.sh
%files devel
%{_libdir}/libunity-settings-daemon.so
%{_libdir}/pkgconfig/*.pc
%dir %{_includedir}/unity-settings-daemon-1.0
%dir %{_includedir}/unity-settings-daemon-1.0/libunity-settings-daemon
%{_includedir}/unity-settings-daemon-1.0/libunity-settings-daemon/*.h
%dir %{_includedir}/unity-settings-daemon-1.0/unity-settings-daemon
%{_includedir}/unity-settings-daemon-1.0/unity-settings-daemon/*.h
%changelog
%autochangelog