Subject: Re: CVS commit: pkgsrc/doc
To: Dieter Baron <dillo@danbala.tuwien.ac.at>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-pkg
Date: 08/08/2007 16:03:22
Dieter Baron <dillo@danbala.tuwien.ac.at> writes:

> In article <20070808174837.CD78621507@cvs.netbsd.org> Greg wrote:
> : add todo item:
>
> :         o Make "pkg_install -u" preserve the automatic tag, clear the
> :           unsafe_depends* and rebuild tags, and set unsafe_depends* on
> :           depending packages, following the behavior of make replace.
>
>   Sorry for coming a bit late with this, but I think pkg_add -u should
> set/unset the automatic tag in the same way pkg_add without -u does.
> If I manually run pkg_add -u foo, I expect the automatic tag to be
> cleared: I just manually installed it. 

Probably we need more flags to keep everyone happy, but that gets scary
in terms of usability too.  The real question is how people view
"pkg_add -u".  I view it as make replace, in which case I need something
updated, but I'm not declaring that it is or isn't a first-class package.

It seems reasonable for pkg_install (no -u) to upgrade a package to
non-automatic if the requested version matches the installed version,
and error otherwise.

>   I see the utility of a flag to preserve the automatic tag, and I'm
> not against adding that.
>
>   [The same goes for ``make update''.]

I also see make update as not changing the automaticness of a package,
or at least believe that it should not.

Perhaps we should have 'make automatic' and 'make no-automatic'

What do other people think?  Should 'pkg_add -u' and 'make update' clear
automatic tags?  If so, should 'make replace' clear tags too?  Should
all three methods have consistent behavior?

(My own view is that these are three ways to update packages, and
they're all separate from declaring a package non-automatic.)