[arch-dev-public] filesystem package

Allan McRae allan at archlinux.org
Sat Jan 26 19:55:07 EST 2013


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


More information about the arch-dev-public mailing list