Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Oct 2002 17:44:35 +0400 (MSD)
From:      "."@babolo.ru
To:        "Clark C. Evans" <cce@clarkevans.com>
Cc:        ports@FreeBSD.ORG
Subject:   Re: why is .install_done needed?  It seems redundant.
Message-ID:  <200210151344.g9FDiZv5061123@aaz.links.ru>
In-Reply-To: <20021015033313.GA37677@doublegemini.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> On Tue, Oct 15, 2002 at 03:52:18AM +0400, "."@babolo.ru wrote:
> | >   2) Where are these ports storing the flag that says
> | >      they are already installed?  Any good way to 
> | >      reset this flag or have this flag be in the 
> | >      /var partition (which is different for each install?)
> |
> | ${WRKDIR}/.STAGE_done.NAME-VERSION
> | usually ${WRKDIR} is ./work
> 
> Thanks.   Is there a way to tell "make install" to use
> pkg_info to deterimine if a port is installed rather 
> than keying from the .install_done.NAME-VERSION file?
Remember, that all:
 - ports tree (usually /usr/ports)
 - distfiles (usually /usr/ports/distfiles)
 - WRKDIR (and WRKDIRPREFIX)
 - /var/db/pkg
can be located on different hosts and shared,
or in different roots on some hosts,
so use "make reinstall" when you shure
what you do.
pkg_info's database used both install
and reinstall, in addition to ${WRKDIR}/
marks.

> Logic I'd like to see for "make install" ---
> 
>   grab the port name
>   check to see if it appears in pkg_info list
>   if so, check the version
>      if the versions match, do nothing
>      if the versions mis-match, complain loudly
>      check-dependencies using the same method
>   if not,
>      then install
> 
> I don't see why "make install" should be using
> .install_done at all, as installation is a
> property of the system installed upon (/var)
> and not a property of the package or its
> current state of preparation.
> 
> In short, I think the .install_done.NAME-VERSION is
> not only useless, but perhaps even harmful?  As a work-around
> for this behavior, I've created to fill in the required
> .install_done files from pkg_info...
....
find ${WRKDIRPREFIX} -maxdepth 6 -name .install_done.\* -delete
or
cd ${WRKDIRPREFIX}; rm -f usr/ports/*/*/*/.install_done.*

but remember make reinstall

-- 
@BABOLO      http://links.ru/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




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