[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