Hi, I have three questions regarding a behaviour of syspatch(8) with mtree(8).
1. I noticed when applying patches it resets some permissions of new, but also of existing directories on the system using mtree(8). In the shellscript syspatch(8) there is a function: trap_handler(): # in case a patch added a new directory (install -D) if [[ -n ${_PATCHES} ]]; then mtree -qdef /etc/mtree/4.4BSD.dist -p / -U >/dev/null [[ -f /var/sysmerge/xetc.tgz ]] && mtree -qdef /etc/mtree/BSD.x11.dist -p / -U >/dev/null fi Here the comment says: "in case a patch added a new directory (install -D)". This is true, but it also applies to existing directories and resets permissions, ownership, etc. A real-world example: on my system after applying syspatch this changed permissions of an existing directory and a daemon (mysqld) failed to start, because it could not access a UNIX domain socket file in the www chroot. Is this intended? If so should this behaviour perhaps get documented in the man page? I can write a patch if so. 2. This code-path is called when $_PATCHES is set, thus when patches are available and are being applied, but on patch rollback (syspatch -r or -R) it does not run mtree. Wouldn't it be more consistent to also run mtree after patch rollback? 3. With an other case on another machine with low disk-space the following occurred: syspatch is run and ran out of disk-space while applying patches: "No space left on sd0f, aborting", but it still ran mtree and reset the permissions on "SIGEXIT". Wouldn't it make more sense to not change anything if no patch could be applied? Thanks for your time, -- Kind regards, Hiltjo