Date: Wed, 10 Sep 2014 16:15:30 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 193527] New: [patch] bsd.port.mk: check-already-installed hitting conflicts with ports that have same PKGBASE Message-ID: <bug-193527-13@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
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@FreeBSD.org Reporter: z7dr6ut7gs@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-193527-13>