[1/2] clamav: Proper create users and groups during package installation.

Message ID 20230212152013.386417-1-stefan.schantl@ipfire.org
State Accepted
Commit aa2ea4d782b34e95c95c75396e7a78cdc2631e80
Headers
Series [1/2] clamav: Proper create users and groups during package installation. |

Commit Message

Stefan Schantl Feb. 12, 2023, 3:20 p.m. UTC
  Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
---
 clamav/clamav.nm | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)
  

Patch

diff --git a/clamav/clamav.nm b/clamav/clamav.nm
index d4548a94a..14765e000 100644
--- a/clamav/clamav.nm
+++ b/clamav/clamav.nm
@@ -5,7 +5,7 @@ 
 
 name       = clamav
 version    = 0.103.7
-release    = 1
+release    = 2
 
 groups     = System Environment/Daemons
 url        = https://www.clamav.net
@@ -55,13 +55,7 @@  build
 	# User and group have to exist to compile the source code,
 	# so we have to create them
 	prepare_cmds
-		groupadd -g 497 -r clamupdate
-		useradd	-u 497 -r -s /sbin/nologin -d /var/lib/clamav -M \
-			-c 'Clamav database update user' -g clamupdate clamupdate
-
-		groupadd -g 496 -r clamscan
-		useradd -u 496 -r -s /sbin/nologin -d / -M \
-			-g clamscan clamscan
+		%{create_users}
 	end
 
 	test
@@ -69,11 +63,28 @@  build
 	end
 end
 
+create_users
+	# Create user and group for clamupdate.
+	getent group clamupdate || groupadd -g 497 -r clamupdate || :
+	getent passwd clamupdate || useradd -u 497 -r -s /sbin/nologin \
+		-d /var/lib/clamav -M -c 'Clamav database update user' \
+		-g clamupdate clamupdate || :
+
+	# Create user and group for clamscan.
+	getent group clamscan || groupadd -g 496 -r clamscan || :
+	getent passwd clamscan || useradd -u 496 -r -s /sbin/nologin \
+		-d / -M -g clamscan clamscan || :
+end
+
 packages
 	package %{name}
 		requires
 			%{name}-libs = %{thisver}
 		end
+
+		script prein
+			%{create_users}
+		end
 	end
 
 	package %{name}-libs