Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Nov 2019 00:33:50 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 235275] Multiply bundled GH_TUPLE repositories result in broken links
Message-ID:  <bug-235275-7788-aiXrVTq7dH@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-235275-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-235275-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235275

Dmitri Goutnik <dmgk@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dmgk@freebsd.org

--- Comment #9 from Dmitri Goutnik <dmgk@freebsd.org> ---
(In reply to Mathieu Arnold from comment #6)
This situation with duplicates often happens with Go ports [1], [2] due to =
the
way Go dependencies work. E.g.

fsnotify:fsnotify:v1.4.7:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnot=
ify
\
fsnotify:fsnotify:v1.4.7:fsnotify_fsnotify_1/vendor/gopkg.in/fsnotify.v1 \
fsnotify:fsnotify:v1.4.7:fsnotify_fsnotify_2/vendor/gopkg.in/fsnotify/fsnot=
ify.v1
\

are 3 different packages as far as Go is concerned, but we get duplicates
because we have to map them to Github mirrors.

Looking at bsd.sites.mk code [3], it's not entirely clear why it does ${MV}
first and then ${LN}:

post-extract-gh-${_group}:
        @${RMDIR} ${WRKSRC}/${GH_SUBDIR_${_group}} 2>/dev/null || :
        @${MKDIR} ${WRKSRC}/${GH_SUBDIR_${_group}:H} 2>/dev/null || :
        @${MV} ${WRKSRC_${_group}} ${WRKSRC}/${GH_SUBDIR_${_group}}
        @${LN} -s ${WRKSRC:T}/${GH_SUBDIR_${_group}} ${WRKSRC_${_group}}

After the move, there's nothing to link to anymore and two remaining fsnoti=
fy
tuples from the example above get broken GH_SUBDIR symlink.

Would changing ${MV}/${LN} to just symlinking tuple's WRKSRC to GH_SUBDIR b=
reak
anything? E.g.

post-extract-gh-${_group}:
        @${RMDIR} ${WRKSRC}/${GH_SUBDIR_${_group}} 2>/dev/null || :
        @${MKDIR} ${WRKSRC}/${GH_SUBDIR_${_group}:H} 2>/dev/null || :
        @${LN} -s ${WRKSRC_${_group}} ${WRKSRC}/${GH_SUBDIR_${_group}}

It does seem to work in my (limited) testing and fixes broken symlink probl=
em.

[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D241637
[2] https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D209217&action=3Dd=
iff
[3] https://svnweb.freebsd.org/ports/head/Mk/bsd.sites.mk?annotate=3D511849=
#l496

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-235275-7788-aiXrVTq7dH>