Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Feb 2013 17:27:57 +0400
From:      Andrey Chernov <ache@freebsd.org>
To:        Brooks Davis <brooks@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r246913 - head/etc
Message-ID:  <51237DDD.90301@freebsd.org>
In-Reply-To: <5123621F.1050000@freebsd.org>
References:  <201302171306.r1HD6xGM028562@svn.freebsd.org> <20130218225511.GC91067@lor.one-eyed-alien.net> <512358A5.7050800@freebsd.org> <5123621F.1050000@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
------enig2PXBHTTSFIGDJFVBFOECC
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: quoted-printable

Forget about -C and the patch, this bug shows itself with pure install
without -C too. install does not acts like 'ln -f'. Here is minimal test:=


#!/bin/sh
mkdir b
install -l s b a
echo Pass 1
ls -al a b
install -l s b a
echo
echo Pass 2
ls -al a b
# bug

And its output (notice b -> b):

Pass 1
lrwxr-xr-x  1 ache  wheel  1 19 Feb 17:15 a -> b

b:
total 6
drwxr-xr-x   2 ache  wheel   512 19 Feb 17:15 .
drwxr-xr-x  32 ache  wheel  2560 19 Feb 17:15 ..

Pass 2
lrwxr-xr-x  1 ache  wheel  1 19 Feb 17:15 a -> b

b:
total 6
drwxr-xr-x   2 ache  wheel   512 19 Feb 17:15 .
drwxr-xr-x  32 ache  wheel  2560 19 Feb 17:15 ..
lrwxr-xr-x   1 ache  wheel     1 19 Feb 17:15 b -> b


On 19.02.2013 15:29, Andrey Chernov wrote:
> This patch makes install -C, -S and default (-c) to do the same for lin=
ks,=20
> as 'ln -f'. Not well tested yes due to lack of time.
>=20
> --- xinstall.c.bak	2013-02-19 15:20:16.000000000 +0400
> +++ xinstall.c	2013-02-19 15:24:30.000000000 +0400
> @@ -754,7 +754,7 @@
>  		target =3D (lstat(to_name, &to_sb) =3D=3D 0);
> =20
>  	if (dolink) {
> -		if (target && !safecopy) {
> +		if (target) {
>  			if (to_sb.st_mode & S_IFDIR && rmdir(to_name) =3D=3D -1)
>  				err(EX_OSERR, "%s", to_name);
>  			if (to_sb.st_flags & NOCHANGEBITS)=20
>=20
> On 19.02.2013 14:49, Andrey Chernov wrote:
>> On 19.02.2013 2:55, Brooks Davis wrote:
>>> On Sun, Feb 17, 2013 at 01:06:59PM +0000, Andrey A. Chernov wrote:
>>>> Author: ache Date: Sun Feb 17 13:06:59 2013 New Revision: 246913
>>>>  URL: http://svnweb.freebsd.org/changeset/base/246913
>>>>
>>>> Log: In 'make hierarchy' don't install /sys/sys pointing to=20
>>>> usr/src/sys but just /sys pointing there
>>>
>>> Did you have the latest install sources when you hit this?  It=20
>>> should be emulating "ln -sfh" which would do the right thing.
>>>
>>> -- Brooks
>>>
>>
>> Yes, very latest current, just standing in /usr/src and typing 'make
>>  hierarchy' and fail. I suspect the difference which plays role is=20
>> make.conf:INSTALL=3Dinstall -C which is common practice since old
>> days. I.e. it may don't delete old symlink with -C, but use it as
>> directory instead. I can't check this right now, maybe later.
>>
>=20
>=20



------enig2PXBHTTSFIGDJFVBFOECC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (MingW32)

iEYEARECAAYFAlEjfeMACgkQVg5YK5ZEdN3BKACcC8hhm6C4K/s718IZMPGQCyBD
dlwAn35vqY3yZ82AYXjcyQLMVELbZgZx
=lyS4
-----END PGP SIGNATURE-----

------enig2PXBHTTSFIGDJFVBFOECC--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51237DDD.90301>