diff --git a/tigervnc.changes b/tigervnc.changes index 0ef0c43..e16a419 100644 --- a/tigervnc.changes +++ b/tigervnc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Oct 28 13:05:33 UTC 2021 - Callum Farmer + +- Change to systemd-sysusers + ------------------------------------------------------------------- Thu Oct 28 12:03:58 UTC 2021 - Stefan Dirsch diff --git a/tigervnc.spec b/tigervnc.spec index 0a023b3..b306212 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -58,6 +58,7 @@ Source17: tigervnc.firewalld Source18: tigervnc-https.firewalld Source19: xvnc.target Source21: xvnc-novnc.service.in +Source22: vnc.sysusers Patch1: tigervnc-newfbsize.patch Patch2: tigervnc-clean-pressed-key-on-exit.patch Patch3: u_tigervnc-ignore-epipe-on-write.patch @@ -105,8 +106,9 @@ BuildRequires: libgcrypt-devel BuildRequires: libgpg-error-devel BuildRequires: mozilla-nss BuildRequires: pam-devel -BuildRequires: pkg-config +BuildRequires: pkgconfig BuildRequires: systemd-rpm-macros +BuildRequires: sysuser-tools BuildRequires: xmlto BuildRequires: xorg-x11-libICE-devel BuildRequires: xorg-x11-libSM-devel @@ -161,8 +163,8 @@ extensions for advanced authentication methods and TLS encryption. %package -n xorg-x11-Xvnc Summary: TigerVNC implementation of Xvnc Group: System/X11/Servers/XF86_4 -Requires(post): /usr/sbin/useradd -Requires(post): /usr/sbin/groupadd +Requires(pre): group(shadow) +%sysusers_requires Requires(post): /bin/awk Requires(post): systemd %if %{use_firewalld} @@ -280,6 +282,7 @@ pushd unix/xserver popd %build +%sysusers_generate_pre %{SOURCE22} xorg-x11-Xvnc vnc.conf export CXXFLAGS="%optflags" export CFLAGS="%optflags" sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE21} > xvnc-novnc.service @@ -372,6 +375,8 @@ install -D %{SOURCE16} -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.socket install -D %{SOURCE19} -m 0444 %{buildroot}%{_unitdir}/xvnc.target install -D xvnc-novnc.service -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.service +install -Dm0644 %{SOURCE22} %{buildroot}%{_sysusersdir}/vnc.conf + rm -rf %{buildroot}%{_datadir}/doc/tigervnc-* %find_lang '%{name}' @@ -390,15 +395,9 @@ if [ "$1" = 0 ] ; then fi %endif -%pre -n xorg-x11-Xvnc +%pre -n xorg-x11-Xvnc -f xorg-x11-Xvnc.pre %service_add_pre xvnc.socket -getent group %{vncgroup} > /dev/null || groupadd -r %{vncgroup} || : -getent passwd %{vncuser} > /dev/null || useradd -r -g %{vncgroup} -d %{_sharedstatedir}/empty -s /sbin/nologin -c "user for VNC" %{vncuser} || : -# add vnc user to shadow group. (bsc#980326) -# more details about the reasoning in bsc#1162951 -usermod -G shadow -a %{vncuser} || : - %post -n xorg-x11-Xvnc %service_add_post xvnc.socket @@ -491,6 +490,7 @@ fi %{_unitdir}/xvnc@.service %{_unitdir}/xvnc.socket %{_unitdir}/xvnc.target +%{_sysusersdir}/vnc.conf %{_sbindir}/rcxvnc %exclude %{_sharedstatedir}/xkb/compiled/README.compiled diff --git a/vnc.sysusers b/vnc.sysusers new file mode 100644 index 0000000..00470eb --- /dev/null +++ b/vnc.sysusers @@ -0,0 +1,3 @@ +#Type Name ID GECOS Home directory Shell +u vnc - "user for VNC" /var/lib/empty - +m vnc shadow - - -