Subject: Re: /dev/null symlink and suse_base
To: Dan McMahill <dmcmahill@NetBSD.org>
From: Quentin Garnier <cube@cubidou.net>
List: tech-pkg
Date: 07/04/2005 14:07:06
--n8884J15jRwcBTvu
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.
>=20
> In the install target in emulators/suse_base/Makefile, this is done with:
>=20
> ${LN} -fs /dev/null ${EMULDIR}/dev/null
>=20
> 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.
>=20
> I'm wondering if we should instead do something like
>=20
> ${CP} -p /dev/MAKEDEV ${EMULDIR}/dev
> cd ${EMULDIR}/dev && ${SH} ./MAKEDEV std
>=20
> or some such thing.  I tried just running
>=20
> cd /emul/linux/dev && mknod -m 666 -g wheel -u root null c 2 2
>=20
> 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.
>=20
> 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
>=20
> cd /emul/linux/dev && ln -s ../../../dev/null
>=20
> but that also failed.

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

--=20
Quentin Garnier - cube@cubidou.net - cube@NetBSD.org
"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.

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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (NetBSD)

iQEVAwUBQskmatgoQloHrPnoAQKYgwgAi7WmhOCGdrGKGP95ta40A9Jyk+QnckyK
R05B69+EU3oD3JWao5wy1jlbc0tiDZDYFAOoL+tgWBH7puZOh98mJlYIqjC9qskN
cCwxBifIe5JP8PbSHf9BR89vLDaR627lSOxJXNAse1S4iJzVlUQKBtOtnE71patW
gYZuBWnCsXtayUAxM0oQTXsapjex2zfhuz+i1RrgTgQDF4GCmEzEWmo4qttRsc0o
BgEqWszd3CZpp9M9qYuay9wPVQyCyzZvEDua1i5/AWrHdD5l/KjctI/GPD0hHPDG
gct29SMwTiZL2ea7sikhGALUgzEZ469XZxJLKqvruBbkDXq4/CRK/g==
=muhN
-----END PGP SIGNATURE-----

--n8884J15jRwcBTvu--