Bug 233187 - net/ndisc6: Update to 1.0.4 (remove gcc dependency)
Summary: net/ndisc6: Update to 1.0.4 (remove gcc dependency)
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Tobias Kortkamp
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-13 07:12 UTC by hashiz
Modified: 2019-01-21 06:05 UTC (History)
1 user (show)

See Also:
tobik: maintainer-feedback+


Attachments
remove unnecessary runtime dependency on gcc. (443 bytes, patch)
2018-11-13 07:12 UTC, hashiz
no flags Details | Diff
ldd result (1.52 KB, text/plain)
2018-11-21 02:13 UTC, hashiz
no flags Details
build.log (13.24 KB, text/plain)
2018-11-21 02:21 UTC, hashiz
no flags Details
ndisc6.diff (9.92 KB, patch)
2019-01-12 13:36 UTC, Tobias Kortkamp
no flags Details | Diff
ndisc6.diff (10.30 KB, patch)
2019-01-12 13:40 UTC, Tobias Kortkamp
m.tsatsenko: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description hashiz 2018-11-13 07:12:30 UTC
Created attachment 199194 [details]
remove unnecessary runtime dependency on gcc.

net/ndisc6 has unnecessary runtime dependency on gcc.
Comment 1 m.tsatsenko 2018-11-18 21:18:47 UTC
I dont think this a way to handle port's dependencies.
How did you come to conclusion gcc dependency is not required?
Comment 2 hashiz 2018-11-19 00:50:07 UTC
(In reply to m.tsatsenko from comment #1)
> I dont think this a way to handle port's dependencies.
There seems no way to set only runtime dependencies in Mk/bsd.gcc.mk.

> How did you come to conclusion gcc dependency is not required?
- All of this port's binary has no dependency on gcc runtime library.
- As far as I have confirmed, gcc is not started from the tool included in this port.

This port is a small tool. But gcc is very large.
So I do not want to install gcc in the runtime environment.
Comment 3 m.tsatsenko 2018-11-20 21:41:04 UTC
I am still not convinced because as far as I know once gcc is used to build a port resulting binary automatically links against gcc lib. That is how ports system works.

Please provide following:
- ldd output for ndisc6 binary
- net/ndisc6 build log

Also confirm it still works after forcibly removing gcc (pkg delete -f gcc)
Comment 4 hashiz 2018-11-21 02:13:15 UTC
Created attachment 199400 [details]
ldd result
Comment 5 hashiz 2018-11-21 02:21:11 UTC
Created attachment 199401 [details]
build.log
Comment 6 hashiz 2018-11-21 02:22:55 UTC
(In reply to m.tsatsenko from comment #3)

> - ldd output for ndisc6 binary
> - net/ndisc6 build log
see attachment

> Also confirm it still works after forcibly removing gcc (pkg delete -f gcc)
Yes, it work.
Comment 7 m.tsatsenko 2018-11-22 19:55:38 UTC
Well, you got my attention this time.
But still we can not just remove the dependency on gcc. Because the fact it works for you this doesnt mean it will work for other people using the port.
Now I have to check the things out on my own.
Comment 8 m.tsatsenko 2018-12-03 21:29:51 UTC
Hello,
I spent some time trying to figure out why it depends on ports gcc but resulting binary doesnt link against libc provided by gcc port. I suppose the answer lays somewhere in ports Mk files. Furthermore at least devel/kBuild has the same problem - it depends on gcc port, but doesnt utilize its libs.
What I am trying to say - given that at the issue affects at least two independent ports you better address this question to @portmgr.
Please understand even if I approve the patch you are suggesting it is very unlikely it gets ever committed because of the reason I already mentioned. It like curing symptoms rather than disease causing them and risk of facing undesired side effects.
Comment 9 Tobias Kortkamp freebsd_committer freebsd_triage 2019-01-12 13:36:42 UTC
Created attachment 201057 [details]
ndisc6.diff

ndisc6 1.0.4 removes the need for GCC, so the dependency can be completely
dropped.

http://git.remlab.net/gitweb/?p=ndisc6.git;a=blob;f=NEWS
Comment 10 Tobias Kortkamp freebsd_committer freebsd_triage 2019-01-12 13:40:13 UTC
Created attachment 201058 [details]
ndisc6.diff
Comment 11 m.tsatsenko 2019-01-20 21:28:14 UTC
Seems fine. Thanks!
Comment 12 m.tsatsenko 2019-01-20 21:28:44 UTC
Comment on attachment 201058 [details]
ndisc6.diff

Approved. Thanks!
Comment 13 commit-hook freebsd_committer freebsd_triage 2019-01-20 21:44:06 UTC
A commit references this bug:

Author: tobik
Date: Sun Jan 20 21:43:59 UTC 2019
New revision: 490814
URL: https://svnweb.freebsd.org/changeset/ports/490814

Log:
  net/ndisc6: Update to 1.0.4

  ndisc6 1.0.4 now requires a C11-capable compiler and no longer needs
  the 'variable length array in structure' GCC extension.  As such
  we can build it with Clang now.  This also removes the GCC run
  dependency which was the initial request in the PR [1].

  Changes:	http://git.remlab.net/gitweb/?p=ndisc6.git;a=blob_plain;f=NEWS;hb=81bdcb51b576a394ba01f5a8022e5b9354e431a6
  PR:		233187
  Reported by:	hashiz@meridiani.jp [1]
  Submitted by:	tobik
  Approved by:	m.tsatsenko@gmail.com (maintainer)
  MFH:		2019Q1 (bug fixes and fewer run dependencies)

Changes:
  head/net/ndisc6/Makefile
  head/net/ndisc6/distinfo
  head/net/ndisc6/files/patch-configure
  head/net/ndisc6/files/patch-rdnss_merge-hook.in
  head/net/ndisc6/files/patch-rdnss_rdnssd.c
  head/net/ndisc6/files/patch-rdnss_rdnssd.h
  head/net/ndisc6/files/patch-rdnssd__merge-hook.in
  head/net/ndisc6/files/patch-rdnssd__rdnssd.c
  head/net/ndisc6/files/patch-rdnssd__rdnssd.h
  head/net/ndisc6/files/patch-src-ndisc.c
  head/net/ndisc6/pkg-plist
Comment 14 commit-hook freebsd_committer freebsd_triage 2019-01-21 06:04:42 UTC
A commit references this bug:

Author: tobik
Date: Mon Jan 21 06:04:08 UTC 2019
New revision: 490819
URL: https://svnweb.freebsd.org/changeset/ports/490819

Log:
  MFH: r490814

  net/ndisc6: Update to 1.0.4

  ndisc6 1.0.4 now requires a C11-capable compiler and no longer needs
  the 'variable length array in structure' GCC extension.  As such
  we can build it with Clang now.  This also removes the GCC run
  dependency which was the initial request in the PR [1].

  Changes:	http://git.remlab.net/gitweb/?p=ndisc6.git;a=blob_plain;f=NEWS;hb=81bdcb51b576a394ba01f5a8022e5b9354e431a6
  PR:		233187
  Reported by:	hashiz@meridiani.jp [1]
  Submitted by:	tobik
  Approved by:	m.tsatsenko@gmail.com (maintainer)

  Approved by:	ports-secteam (miwi)

Changes:
_U  branches/2019Q1/
  branches/2019Q1/net/ndisc6/Makefile
  branches/2019Q1/net/ndisc6/distinfo
  branches/2019Q1/net/ndisc6/files/patch-configure
  branches/2019Q1/net/ndisc6/files/patch-rdnss_merge-hook.in
  branches/2019Q1/net/ndisc6/files/patch-rdnss_rdnssd.c
  branches/2019Q1/net/ndisc6/files/patch-rdnss_rdnssd.h
  branches/2019Q1/net/ndisc6/files/patch-rdnssd__merge-hook.in
  branches/2019Q1/net/ndisc6/files/patch-rdnssd__rdnssd.c
  branches/2019Q1/net/ndisc6/files/patch-rdnssd__rdnssd.h
  branches/2019Q1/net/ndisc6/files/patch-src-ndisc.c
  branches/2019Q1/net/ndisc6/pkg-plist
Comment 15 Tobias Kortkamp freebsd_committer freebsd_triage 2019-01-21 06:05:30 UTC
Thanks!