Subject: Re: /dev/null symlink and suse_base
To: Dan McMahill <>
From: Quentin Garnier <>
List: tech-pkg
Date: 07/04/2005 14:07:06
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Jul 04, 2005 at 07:19:23AM -0400, Dan McMahill wrote:
> I've run into a compat_linux problem which stems from ${EMULDIR}/dev/null
> being a symlink to /dev/null.
> In the install target in emulators/suse_base/Makefile, this is done with:
> ${LN} -fs /dev/null ${EMULDIR}/dev/null
> I've seen some linux programs which use realpath() and readlink() on
> /dev/null.  The problem is when looking for /dev/null, compat_linux
> will look for ${EMULDIR}/dev/null first and the program loops a whole
> bunch of times until you get an error about too many symlinks.
> I'm wondering if we should instead do something like
> ${CP} -p /dev/MAKEDEV ${EMULDIR}/dev
> cd ${EMULDIR}/dev && ${SH} ./MAKEDEV std
> or some such thing.  I tried just running
> cd /emul/linux/dev && mknod -m 666 -g wheel -u root null c 2 2
> to create a /dev/null in the emulation root which was not a symlink.
> It seemed to have gotten past the problem I'd been having.
> Does anyone see a problem with changing the suse_base and suse91_base
> packages to do this?  Maybe there is a better fix?  Someone had suggested
> cd /emul/linux/dev && ln -s ../../../dev/null
> but that also failed.

It should be "ln -s /../dev/null".  The leading "/../" is magic.

Quentin Garnier - -
"When I find the controls, I'll go where I like, I'll know where I want
to be, but maybe for now I'll stay right here on a silent sea."
KT Tunstall, Silent Sea, Eye to the Telescope, 2004.

Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.2.6 (NetBSD)