clamav 0.95.1+dfsg-1ubuntu1.2: possible error in clamav-base.config.in

Romain Dartigues romain.dartigues at gmail.com
Tue Jun 9 21:44:08 UTC 2009


Good day Ubuntu community,

while backporting clamav 0.95.1+dfsg-1ubuntu1.2 to Ubuntu 8.04, i
noticed in the script debian/clamav-base.config.in:

    AddGroups=`groups "$User" | awk -F ':' '{print $2}' | sed -e s/"$User"//`

It seems that the "groups" command output is not the same on Debian,
RedHat and others; quoting Stephen Gran on "Debian ClamAV list":

> steve at varinia:~$ groups
> steve root adm mail dialout cdrom floppy audio dip video plugdev games users netdev fuse powerdev libvirt nvram
> steve at varinia:~$ groups steve
> steve : steve root adm mail dialout cdrom floppy audio dip video plugdev games users netdev fuse powerdev libvirt nvram

However, on my side:

user at ubuntu-8.04: groups --version
groups (GNU coreutils) 6.10
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.

user at ubuntu-8.04: groups
adm dialout cdrom floppy audio dip video plugdev users fuse

user at ubuntu-8.04: groups user
adm dialout cdrom floppy audio dip video plugdev users fuse

user at ubuntu-8.04: groups root user
root : root
user : adm dialout cdrom floppy audio dip video plugdev users fuse


user at slackware-12.0: groups user
users wheel floppy audio video cdrom plugdev

user at slackware-12.0: groups --version
groups (GNU coreutils) 6.9
...
Written by David MacKenzie.


I suggested the following patch wich should support both forms:

diff -u clamav-base.config.in clamav-base.config.in
--- clamav-base.config.in   2009-06-09 10:56:05.182086862 -0400
+++ clamav-base.config.in   2009-06-09 10:56:30.114467304 -0400
@@ -20,7 +20,7 @@
 if [ -n "$User" ]; then
  db_set clamav-base/User "$User" || true
  if ! [ "$User" = 'root' ]; then
-    AddGroups=`groups "$User" | awk -F ':' '{print $2}' | sed -e s/"$User"//`
+    AddGroups=`groups "$User" | sed -e 's/^.*: \?//g' -e s/"$User"//`
  fi
  if [ -n "$AddGroups" ]; then
    db_set clamav-base/AddGroups "$AddGroups" || true


Best regards.




More information about the Ubuntu-devel-discuss mailing list