Date: Fri, 29 Jul 2011 15:10:17 +0200 From: Stefan Esser <se@freebsd.org> To: FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: installworld fails with /usr/bin and /usr/sbin on separate file systems Message-ID: <4E32B139.8030807@freebsd.org>
next in thread | raw e-mail | index | archive | help
Installworld fails in "usr.sbin/chown" with a cross-device link error, if /usr/bin and /usr/sbin are not on the same partition due to the following line in Makefile: LINKS= ${BINDIR}/chown /usr/bin/chgrp In this case, ${BINDIR} is /usr/sbin and while both are subdirectories of /usr (and thus typically within the /usr file system), there is no reason /usr/bin and /usr/sbin could not be individual and independent file systems. (I ran into this problem when I played with ZFS file system tuning and happened to create separate file systems for the above directories.) I could not find any other place, where a hard link is used for files in different subdirectories (typically ${BINDIR}/x -> ${BINDIR}/y or ${LIBDIR}/x -> ${LIBDIR}/y). Installworld succeeds, if a symlink is used instead: SYMLINKS= ${BINDIR}/chown /usr/bin/chgrp Alternatively, the file could be copied, if the hard link can not be created. I'm not sure, whether this is an actual problem, since it does not appear to have been reported before, but I think that "LINK=..." should generally not be used between different directories. Regards, STefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E32B139.8030807>