[Bug 193527] New: [patch] bsd.port.mk: check-already-installed hitting conflicts with ports that have same PKGBASE

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Sep 10 16:15:30 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193527

            Bug ID: 193527
           Summary: [patch] bsd.port.mk: check-already-installed hitting
                    conflicts with ports that have same PKGBASE
           Product: Ports Tree
           Version: Latest
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Many People
          Priority: ---
         Component: Infrastructure
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: z7dr6ut7gs at snkmail.com

Created attachment 147175
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=147175&action=edit
use PKGORIGIN to decide if a package is already installed

check-already-installed was changed after support for the old pkg_* tools was
removed recently.  It was changed to look at PKGBASE instead of PKGORIGIN
(despite passing -O to pkg info [1]).

This causes issues like the following when you have two ports that can
legitimately have the same PKGBASE installed:

=======================
===>  Installing for glib-2.36.3_4
===>  Checking if glib already installed
===>   An older version of glib is already installed (glib-1.2.10_13)
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of glib
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/devel/glib20.
=======================

I could not determine why this change was made.  Is there a reason to use
PKGBASE rather than PKGORIGIN?  Origin seems like the more correct thing to
check.

I have attached a patch to go back to PKGORIGIN and done some test builds 

[1] This is a second bug - when passing something that is not an origin to pkg
info -q -O, it still returns a result (e.g., pkg info -q -O pkg-1.3.7 gives
pkg-1.3.7).  This deviates from the old pkg_info which returns nothing (since
pkg-1.3.7 is not an origin).  Unless the definition of origin has changed,
pkg_info seems more correct in this regard.  Should I open a separate bug for
this, or is this intended behavior?

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list