On Mon, Jul 30, 2012 at 08:43:39AM +0200, Antoine Jacoutot wrote:
> So, after a quick chat with Marc Espie trying to understand why a
> particular package would not run @exec-add, I would like to warn you
> guys when you use such a marker in your ports.
> In my case, @exec-add was not run because I had some .libs-foo still
> installed on the system which where @conflicting with the package I was
> installing; as a consequence, my exec-add was turned into an exec-update
> (although my new package does _not_ have any @pkgpath set to the old one).
> 
> So be very careful when using @exec-add instead of @exec.
> For example, when freeradius was updated to 2.1.8, some @exec-add lines
> where added; these will never be run if you already had a prior
> installation on your system. I am not saying it's wrong, it is a
> perfectly normal and documented behavior, but since I spent some time
> trying to figure this out and considering I _always_ forget about
> .libs-*, I though it was worth a reminder...

No, this is definitely not a feature.

Those are rather obvious cases where pkg_add is confused.

Specifically:

foo-1.0 -> foo-2.0     update
.libs-whatever -> foo-2.0    add, definitely not update


if we are running pkg_add -u, we do know what is getting updated, because
hey, each updated package points back to the stuff it was updated from, so
this is fixable.


I'll have to think a bit more about pkg_add -r, since the updater doesn't
run, and it's slightly less obvious.

I think we can err on the side of caution in that case.

Reply via email to