[Bug 202949] bsd.options.mk: do-* target helpers fail to override default definitions

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Sep 7 13:57:13 UTC 2015


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

            Bug ID: 202949
           Summary: bsd.options.mk: do-* target helpers fail to override
                    default definitions
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Ports Framework
          Assignee: portmgr at FreeBSD.org
          Reporter: jbeich at FreeBSD.org
                CC: freebsd-ports-bugs at FreeBSD.org

ports r394503 introduced do-* target option helpers. However, do-* targets are
special as defining them in Makefile overrides default definitions provided by
Mk/bsd.*.mk and Mk/Uses/*.mk. If a port only has helpers but not main do-*
target it'd lead to an undocumented behavior. So, NO_INSTALL can be used as a
workaround.

Here's an example:

  do-install:
  .if ${PORT_OPTIONS:MSDL}
      ${MKDIR} ${STAGEDIR}${DATADIR}
      ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}
${STAGEDIR}${DATADIR}/${PORTNAME}
      ${LN} -sf ${DATADIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
  .else
      ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
  .endif

cannot be converted into

  do-install-SDL-on:
      ${MKDIR} ${STAGEDIR}${DATADIR}
      ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}
${STAGEDIR}${DATADIR}/${PORTNAME}
      ${LN} -sf ${DATADIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin

  do-install-SDL-off:
      ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin

do-install in bsd.port.mk calls vendor install target which may not be defined
thus leading to an error.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-ports-bugs mailing list