So... some unintended consequences of moving /lib to filesystem. Install scriptlet can not run until filesystem is installed. That means, glibc really should depend on filesystem, but the filesystem package is a bit "bloated": Depends On : iana-etc bash coreutils nss-myhostname bash, coreutils and nss-myhostname all are for the install scriptlets to run. In fact, we are entirely saved here by a bug in pacman: nss-myhostname is provided by systemd, but pacman does not order packages correctly with provides, so systemd is not installed first at a time when install scriptlets fail... Anyway, I say we can just remove post_install from filesystem and reduce the dependencies to only iana-etc, and then make glibc depend on filesystem. We can assume coreutils and bash are installed before an upgrade of filesystem. Lets see what is in filesystem's post_install: post_install() { [ -f var/log/lastlog ] || : >var/log/lastlog [ -f var/log/wtmp ] || : >var/log/wtmp [ -f var/log/btmp ] || { : >var/log/btmp && chmod 600 var/log/btmp; } # workaround for bug #7194 # readded due to bug #9465 # please do not remove! chmod 1777 var/spool/mail tmp var/tmp } The chmod part can be removed (despite the warning). It was initially a bug in pacman and then the installer. Given pacman has been fixed for years and we just use "pacman -r" for the installer, there is no need for that. This is entirely the wrong place to fix this non-existent bug. That leaves the initialising of log files. I guess the lastlog one should be moved to the shadow package. Definitely not the job of filesystem. I am not sure what package should do the wtmp and btmp ones. Anyone know? Allan