On Fri, Jul 19, 2002 at 09:28:09PM +1000, Bruce Evans wrote:
> On Thu, 18 Jul 2002, Ruslan Ermilov wrote:
> 
> > ru          2002/07/18 05:54:56 PDT
> >
> >   Modified files:
> >     share/man/man5       make.conf.5
> >     share/examples/etc   make.conf
> >   Log:
> >   To force install(1) to always compare files before installing, one
> >   now needs to set COPY=-C as -C is no longer compatible with the -d
> >   option.  It is also likely to be renamed to INSTALL_COPY soon.
> >   Update documentation to reflect this change.
> >
> >   PR:             bin/40724
> 
> The bug is that -C is no longer compatible with -d.  See also misc/40414.
> 
This PR is already closed.

On Fri, Jul 19, 2002 at 09:21:14PM +1000, Bruce Evans wrote:
> On Thu, 18 Jul 2002, Ruslan Ermilov wrote:
> 
> > ru          2002/07/18 05:07:49 PDT
> >
> >   Modified files:
> >     etc                  Makefile
[...]
> >     usr.sbin/ypserv      Makefile
> >   Log:
> >   s/${INSTALL} -c/${INSTALL} ${COPY}/
> 
> Strongly unapproved by: bde.
> 
> This change is to help work around the foot-shooting of making -d
> incompatible with -C and -p in install(1)'s flags.  It abuses the old
> poorly named COPY variable which had become a no-op.  Now COPY is still
> poorly named but has different semantics.  All this is like breaking
> cc to reject combinations of flags that don't really go together (e.g.,
> -I doesn't go with linking) instead of just ignoring the flags that
> don't apply to the current operation, and then working around this
> foot-shooting by splitting up CFLAGS and changing many Makefiles to
> only use the part of CFLAGS that is relevant.
> 
Since its first revision (install.1,v 1.7 and install.c,v 1.16 they
were incompatible).  Later on, in rev. 1.26, it was made a no-op,
just to support "INSTALL=install -C" in /etc/make.conf.

OpenBSD merged these changes and since then they still have them
incompatible.

There are two ways to proceed:

1.  Rename COPY to INSTALL_COPY (that was my plan), optionally giving
    it by default an empty value.  This shouldn't harm third-party
    makefiles as -c is now an effective no-op.  But this would make
    us even more compatible with OpenBSD that has:

: INSTALL_COPY    The old usage of this flag is obsolescent since install(1)
:                 now copies by default.  However, it can also be used to
:                 specify that a file not be copied unless it is different
:                 (via the -p option).  See install(1) for details.  This
:                 is to be used when building our own install script so
:                 that the entire system can either be installed with copies,
:                 or copy-if-different using a single knob. [-c]

2.  Make again -C an allowed (ignored) option in the -d case.  This would
    make us again incompatible with OpenBSD.

I do not have a technical problem doing either, I'd just like to know
what do others think about this.


Thanks,
-- 
Ruslan Ermilov          Sysadmin and DBA,
[EMAIL PROTECTED]           Sunbay Software AG,
[EMAIL PROTECTED]          FreeBSD committer,
+380.652.512.251        Simferopol, Ukraine

http://www.FreeBSD.org  The Power To Serve
http://www.oracle.com   Enabling The Information Age

Attachment: msg41224/pgp00000.pgp
Description: PGP signature

Reply via email to