[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#945275: debian-policy: [9.1.2] deprecated `staff` group special case



Package: debian-policy

9.1.2 recommends the following to create a directory under /usr/local:

```
if [ ! -e /usr/local/share/emacs ]; then
    if mkdir /usr/local/share/emacs 2>/dev/null; then
        if test -e /etc/staff-group-for-usr-local ; then
            if chown root:staff /usr/local/share/emacs; then
                chmod 2775 /usr/local/share/emacs || true
            fi
        elif chown root:root /usr/local/share/emacs; then
            chmod 0755 /usr/local/share/emacs || true
        fi
    fi
fi
```

That is way too complicated and has race conditions (yes, I know staff
is practically almost root).

I suggest to have packages just create the directory with
```
mkdir -p /usr/local/share/emacs || true
```

If people want to have /usr/local writable by different users than root,
they should use POSIX ACLs or similar means.  This would also set
correct permissions for directories that aren't created as above, but
by, for example, a call to `make install`.

The `/etc/staff-group-for-usr-local` flag file could also go away then.

Ansgar


Reply to: