Hi Don. Good to see Debian in use at my alma mater, Cornell.
Now I'm remembering good old Fuertes Observatory. :)

Do you have a copy of the error message from the failed upgrade?

The code in question is a direct copy from Debian policy, in order to
deal with a read-only /usr/local. So if there's a bug, it's in Debian policy,
really.

                if [ ! -e "$dir" ]; then
                        if mkdir "$dir" 2>/dev/null; then
                                chown "$user":"$group" "$dir"
                                chmod "$mode" "$dir"
                        fi
                fi

When /usr/local is read-only, this a) does nothing if the directory 
already exists and b) if the directory doesn't exist, then the mkdir will
fail to create it and nothing else will be done.

The remaining failure case then would be if the directory doesn't exist;
the mkdir to create it succeeds, but then the chown (to root:staff) or
chmod fails.

When could that happen? Well, NFS comes to mind, and you mentioned something
about a /usr/local being a remote mount. Perhaps rather than being a read-only
nfs mount, it's one where mkdir succeeds but the staff group causes a failure
somehow. I don't know.

This would probably not be a technical violation of policy, but it might
be best to guard the chmod and chown in policy's code, anyway.

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature

Reply via email to