mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-06-07 19:59:14 -04:00
distros(dms-greeter): Add sysusers.d immutable distro support
- Closes #1975
This commit is contained in:
@@ -29,7 +29,9 @@ override_dh_auto_install:
|
|||||||
install -Dm644 $$SOURCE_DIR/LICENSE \
|
install -Dm644 $$SOURCE_DIR/LICENSE \
|
||||||
debian/dms-greeter/usr/share/doc/dms-greeter/LICENSE && \
|
debian/dms-greeter/usr/share/doc/dms-greeter/LICENSE && \
|
||||||
install -Dpm0644 $$SOURCE_DIR/systemd/tmpfiles-dms-greeter.conf \
|
install -Dpm0644 $$SOURCE_DIR/systemd/tmpfiles-dms-greeter.conf \
|
||||||
debian/dms-greeter/usr/lib/tmpfiles.d/dms-greeter.conf; \
|
debian/dms-greeter/usr/lib/tmpfiles.d/dms-greeter.conf && \
|
||||||
|
install -Dm644 $$SOURCE_DIR/systemd/sysusers-dms-greeter.conf \
|
||||||
|
debian/dms-greeter/usr/lib/sysusers.d/dms-greeter.conf; \
|
||||||
else \
|
else \
|
||||||
echo "ERROR: No upstream source (dms-qml or Modules/Greetd/assets/dms-greeter)!" && \
|
echo "ERROR: No upstream source (dms-qml or Modules/Greetd/assets/dms-greeter)!" && \
|
||||||
echo "Contents of current directory:" && ls -la && exit 1; \
|
echo "Contents of current directory:" && ls -la && exit 1; \
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ install -Dm644 %{_builddir}/dms-qml/Modules/Greetd/README.md %{buildroot}%{_docd
|
|||||||
|
|
||||||
install -Dpm0644 %{_builddir}/dms-qml/systemd/tmpfiles-dms-greeter.conf %{buildroot}%{_tmpfilesdir}/dms-greeter.conf
|
install -Dpm0644 %{_builddir}/dms-qml/systemd/tmpfiles-dms-greeter.conf %{buildroot}%{_tmpfilesdir}/dms-greeter.conf
|
||||||
|
|
||||||
|
install -Dm644 %{_builddir}/dms-qml/systemd/sysusers-dms-greeter.conf %{buildroot}%{_sysusersdir}/dms-greeter.conf
|
||||||
|
|
||||||
install -Dm644 %{_builddir}/dms-qml/LICENSE %{buildroot}%{_docdir}/dms-greeter/LICENSE
|
install -Dm644 %{_builddir}/dms-qml/LICENSE %{buildroot}%{_docdir}/dms-greeter/LICENSE
|
||||||
|
|
||||||
install -dm755 %{buildroot}%{_sharedstatedir}/greeter
|
install -dm755 %{buildroot}%{_sharedstatedir}/greeter
|
||||||
@@ -78,6 +80,7 @@ fi
|
|||||||
%{_bindir}/dms-greeter
|
%{_bindir}/dms-greeter
|
||||||
%{_datadir}/quickshell/dms-greeter/
|
%{_datadir}/quickshell/dms-greeter/
|
||||||
%{_tmpfilesdir}/%{name}.conf
|
%{_tmpfilesdir}/%{name}.conf
|
||||||
|
%{_sysusersdir}/dms-greeter.conf
|
||||||
|
|
||||||
%pre
|
%pre
|
||||||
# Create greeter user/group if they don't exist
|
# Create greeter user/group if they don't exist
|
||||||
|
|||||||
@@ -53,6 +53,8 @@ install -Dm644 %{_builddir}/dms-qml/Modules/Greetd/README.md %{buildroot}%{_docd
|
|||||||
|
|
||||||
install -Dpm0644 %{_builddir}/dms-qml/systemd/tmpfiles-dms-greeter.conf %{buildroot}%{_tmpfilesdir}/dms-greeter.conf
|
install -Dpm0644 %{_builddir}/dms-qml/systemd/tmpfiles-dms-greeter.conf %{buildroot}%{_tmpfilesdir}/dms-greeter.conf
|
||||||
|
|
||||||
|
install -Dm644 %{_builddir}/dms-qml/systemd/sysusers-dms-greeter.conf %{buildroot}%{_sysusersdir}/dms-greeter.conf
|
||||||
|
|
||||||
install -Dm644 %{_builddir}/dms-qml/LICENSE %{buildroot}%{_docdir}/dms-greeter/LICENSE
|
install -Dm644 %{_builddir}/dms-qml/LICENSE %{buildroot}%{_docdir}/dms-greeter/LICENSE
|
||||||
|
|
||||||
install -dm755 %{buildroot}%{_sharedstatedir}/greeter
|
install -dm755 %{buildroot}%{_sharedstatedir}/greeter
|
||||||
@@ -78,6 +80,7 @@ fi
|
|||||||
%dir %{_datadir}/quickshell
|
%dir %{_datadir}/quickshell
|
||||||
%{_datadir}/quickshell/dms-greeter/
|
%{_datadir}/quickshell/dms-greeter/
|
||||||
%{_tmpfilesdir}/%{name}.conf
|
%{_tmpfilesdir}/%{name}.conf
|
||||||
|
%{_sysusersdir}/dms-greeter.conf
|
||||||
|
|
||||||
%pre
|
%pre
|
||||||
# Create greeter user/group if they don't exist
|
# Create greeter user/group if they don't exist
|
||||||
|
|||||||
@@ -40,6 +40,11 @@ override_dh_auto_install:
|
|||||||
install -Dm644 DankMaterialShell-$(BASE_VERSION)/LICENSE \
|
install -Dm644 DankMaterialShell-$(BASE_VERSION)/LICENSE \
|
||||||
debian/dms-greeter/usr/share/doc/dms-greeter/LICENSE
|
debian/dms-greeter/usr/share/doc/dms-greeter/LICENSE
|
||||||
|
|
||||||
|
install -Dpm0644 DankMaterialShell-$(BASE_VERSION)/quickshell/systemd/tmpfiles-dms-greeter.conf \
|
||||||
|
debian/dms-greeter/usr/lib/tmpfiles.d/dms-greeter.conf
|
||||||
|
install -Dm644 DankMaterialShell-$(BASE_VERSION)/quickshell/systemd/sysusers-dms-greeter.conf \
|
||||||
|
debian/dms-greeter/usr/lib/sysusers.d/dms-greeter.conf
|
||||||
|
|
||||||
# Create cache directory structure (will be created by postinst)
|
# Create cache directory structure (will be created by postinst)
|
||||||
mkdir -p debian/dms-greeter/var/cache/dms-greeter
|
mkdir -p debian/dms-greeter/var/cache/dms-greeter
|
||||||
|
|
||||||
|
|||||||
@@ -97,7 +97,8 @@ sudo rpm -ivh x86_64/dms-greeter-*.rpm
|
|||||||
```
|
```
|
||||||
|
|
||||||
The package automatically:
|
The package automatically:
|
||||||
- Creates the greeter user
|
|
||||||
|
- Creates the greeter user (via `systemd-sysusers` from `/usr/lib/sysusers.d/dms-greeter.conf` for atomic/immutable compatibility, with package script fallback)
|
||||||
- Sets up directories and permissions
|
- Sets up directories and permissions
|
||||||
- Configures greetd with auto-detected compositor
|
- Configures greetd with auto-detected compositor
|
||||||
- Applies SELinux contexts
|
- Applies SELinux contexts
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# DMS greeter system user for greetd (declarative; survives ostree /etc/passwd merge).
|
||||||
|
# Installed as /usr/lib/sysusers.d/dms-greeter.conf
|
||||||
|
u greeter - "System Greeter" /var/lib/greeter /bin/bash
|
||||||
Reference in New Issue
Block a user