[Bug 246196] Mk/bsd.port.mk: github groups conflict with WRKSRC_SUBDIR
    bugzilla-noreply at freebsd.org 
    bugzilla-noreply at freebsd.org
       
    Mon May  4 21:23:24 UTC 2020
    
    
  
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246196
            Bug ID: 246196
           Summary: Mk/bsd.port.mk: github groups conflict with
                    WRKSRC_SUBDIR
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs at FreeBSD.org
          Reporter: svysh.fbsd at gmail.com
Created attachment 214127
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=214127&action=edit
patch to fix bsd.port.mk
Problem: Using github groups 
(see 5.4.3.1. "Fetching Multiple Files from GitHub" of Porter's Handbook)
along with non-empty WRKSRC_SUBDIR
leads to garbage in WRKSRC variable.
Consider hypotetical port from Example 5.15 of Porter's Handbook,
with addition of non-empty WRKSRC_SUBDIR.
security/foo/Makefile:
--------------------------
PORTNAME=       foo
DISTVERSION=    1.0.2
CATEGORIES=     security
USE_GITHUB=     yes
GH_ACCOUNT=     bar:icons,contrib
GH_PROJECT=     foo-icons:icons foo-contrib:contrib
GH_TAGNAME=     1.0:icons fa579bc:contrib
WRKSRC_SUBDIR=  core/server/
.include <bsd.port.mk>
--------------------------
Experiment 1. With original file Mk/bsd.port.mk.orig:
$ cd /usr/ports/security/foo
$ make -V WRKSRC
/usr/ports/security/foo/work/foo-icons:icons
foo-contrib:contrib-1.0.2/core/server/
which definitely puts garbage into WRKSRC variable.
Experiment 2. With patched file Mk/bsd.port.mk:
$ cd /usr/ports/security/foo
$ make -V WRKSRC
/usr/ports/security/foo/work/foo-1.0.2/core/server/
which works as intended.
The reason of failure with original file Mk/bsd.port.mk.orig is in its lines
1725-1727:
.if defined(WRKSRC_SUBDIR)
WRKSRC:=                ${WRKSRC}/${WRKSRC_SUBDIR}
.endif
which come earlier, than line 2245:
.include "${PORTSDIR}/Mk/bsd.sites.mk"
Hence value of GH_PROJECT in line 1705:
WRKSRC?=                ${WRKDIR}/${GH_PROJECT}-${GH_TAGNAME_EXTRACT}
contains a list of data: 
GH_PROJECT== foo-icons:icons foo-contrib:contrib
instead of needed value:
GH_PROJECT== foo
Proposed change to line 1705, that is substitute
GH_PROJECT ---> GH_PROJECT_DEFAULT
solves the problem, because GH_PROJECT_DEFAULT==foo 
during all stages of "make" operation.
-- 
You are receiving this mail because:
You are the assignee for the bug.
    
    
More information about the freebsd-ports-bugs
mailing list