Turns out to be good idea to run %tmpfiles_create in systemd's %post. It guarantees that all packages requiring 'systemd' (which should be at least exactly those packages which are using %{_tmpfilesdir}) have always prepared common directories like /run/lock (in mock build, yum installroot, etc.). Thanks msekleta for discussion! Relevant bz: bug 1052932, bug 1101325, bug 980100 ... Also, it would be fine if /run/lock directory was %ghost owned by systemd.