Bug 194029 - net-p2p/transmission-cli: don't use bundled libraries
Summary: net-p2p/transmission-cli: don't use bundled libraries
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jan Beich
URL:
Keywords:
Depends on: 194030 194031 194036 196351 196455 196456
Blocks:
  Show dependency treegraph
 
Reported: 2014-09-30 07:59 UTC by Jan Beich
Modified: 2016-03-02 23:18 UTC (History)
2 users (show)

See Also:


Attachments
use system libs (1.73 KB, patch)
2014-09-30 07:59 UTC, Jan Beich
no flags Details | Diff
|poudriere testport -P| log (9.3R i386) (34.69 KB, text/plain)
2014-09-30 08:02 UTC, Jan Beich
no flags Details
use system libs, v1.1 (1.91 KB, patch)
2014-09-30 11:40 UTC, Jan Beich
no flags Details | Diff
|poudriere testport -P| log (9.3R i386) for -qt4 slave (90.76 KB, text/plain)
2014-09-30 11:41 UTC, Jan Beich
no flags Details
|poudriere testport -P| log (9.3R i386) for -gtk slave (75.68 KB, text/plain)
2014-09-30 11:58 UTC, Jan Beich
no flags Details
|poudriere testport -P| log (9.3R i386) for -daemon slave (35.09 KB, text/plain)
2014-09-30 12:00 UTC, Jan Beich
no flags Details
|poudriere testport -P| log (9.3R i386) for LITE=on (34.94 KB, text/plain)
2014-09-30 12:04 UTC, Jan Beich
no flags Details
|poudriere testport -P| log (9.3R i386) with updated deps (34.71 KB, text/plain)
2014-09-30 12:10 UTC, Jan Beich
no flags Details
Be sure to not even extact the third-party/ subdirectory (1.99 KB, patch)
2014-09-30 16:08 UTC, Mikhail T.
no flags Details | Diff
upstream-friendly version (5.81 KB, patch)
2014-09-30 22:57 UTC, Jan Beich
no flags Details | Diff
update followup, revert to upstream (1.43 KB, patch)
2014-12-28 01:50 UTC, Jan Beich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer freebsd_triage 2014-09-30 07:59:20 UTC
Created attachment 147821 [details]
use system libs

We have ports for all the libraries under third-party/ directory. Let's use them. This would split maintainership into granular pieces. For one, libnatpmp and miniupnpc are under BSD3CLAUSE, not under MIT license.

Not strictly required but in order to not regress one may want to update port dependencies to their latest versions.

https://lists.freebsd.org/pipermail/freebsd-ports/2014-August/094461.html
,
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2014-09-30 07:59:20 UTC
Auto-assigned to maintainer crees@FreeBSD.org
Comment 2 Jan Beich freebsd_committer freebsd_triage 2014-09-30 08:02:47 UTC
Created attachment 147822 [details]
|poudriere testport -P| log (9.3R i386)
Comment 3 Jan Beich freebsd_committer freebsd_triage 2014-09-30 11:40:26 UTC
Created attachment 147837 [details]
use system libs, v1.1

-qt4 port is a special snowflake:

  c++: ../third-party/dht/libdht.a: No such file or directory
Comment 4 Jan Beich freebsd_committer freebsd_triage 2014-09-30 11:41:30 UTC
Created attachment 147838 [details]
|poudriere testport -P| log (9.3R i386) for -qt4 slave
Comment 5 Jan Beich freebsd_committer freebsd_triage 2014-09-30 11:58:03 UTC
Created attachment 147840 [details]
|poudriere testport -P| log (9.3R i386) for -gtk slave
Comment 6 Jan Beich freebsd_committer freebsd_triage 2014-09-30 12:00:54 UTC
Created attachment 147841 [details]
|poudriere testport -P| log (9.3R i386) for -daemon slave
Comment 7 Jan Beich freebsd_committer freebsd_triage 2014-09-30 12:04:52 UTC
Created attachment 147842 [details]
|poudriere testport -P| log (9.3R i386) for LITE=on
Comment 8 Jan Beich freebsd_committer freebsd_triage 2014-09-30 12:10:43 UTC
Created attachment 147843 [details]
|poudriere testport -P| log (9.3R i386) with updated deps

With bug 194030, bug 194031 and bug 194036 applied. devel/jech-dht is already at the same version as third-party/dht.
Comment 9 Mikhail T. 2014-09-30 16:08:13 UTC
Created attachment 147849 [details]
Be sure to not even extact the third-party/ subdirectory

(In reply to Jan Beich from comment #0)
> We have ports for all the libraries under third-party/ directory. Let's use
> them.

Enthusiastically seconded! The attached version of Jan's patch ensures, the third-party/ subdirectory is not even extracted -- for great justice and to prevent vendor's code from accidentally picking up the wrong headers. The two new hunks add --exclude argument to tar and change configure-script to not look for anything under third-party/:

---- net-p2p/transmission-cli/Makefile  (revision 369573)
-+++ net-p2p/transmission-cli/Makefile  (working copy)
-@@ -34,6 +34,10 @@ LIB_DEPENDS?=       ${GEN_LIB_DEPENDS}
+--- Makefile   (revision 369613)
++++ Makefile   (working copy)
+@@ -26,6 +26,7 @@
+ CONFLICTS_INSTALL=    ${PORTNAME}${PKGNAMESUFFIX}-2.5*
+ 
+ OPTIONS_DEFINE=       LITE DOCS
++EXTRACT_AFTER_ARGS=--no-same-owner --no-same-permissions --exclude third-party
+ 
+ .include <bsd.port.options.mk>
+ 
+@@ -34,6 +35,10 @@
  
@@ -15,3 +23,3 @@
  
-@@ -41,12 +45,21 @@ GEN_RUN_DEPENDS=${LOCALBASE}/share/transmission/we
+@@ -41,12 +46,21 @@
  USES+=                gmake iconv libtool pkgconfig
@@ -40,3 +48,3 @@
                 --without-gtk \
-@@ -82,6 +95,15 @@ general-patch:
+@@ -82,6 +96,16 @@
        @${REINPLACE_CMD} -e 's|utils \\|\\|g' \
@@ -48,2 +56,3 @@
 +      @${REINPLACE_CMD} -Ee '/^DHT_(CFLAGS|LIBS)=/d' \
++              -e 's|third-party/[^ ]*Makefile||g' \
 +              ${WRKSRC}/configure
Comment 10 commit-hook freebsd_committer freebsd_triage 2014-09-30 19:23:15 UTC
A commit references this bug:

Author: crees
Date: Tue Sep 30 19:22:25 UTC 2014
New revision: 369657
URL: https://svnweb.freebsd.org/changeset/ports/369657

Log:
  Unbundle libs.

  PR:		ports/194029
  Submitted by:	Jan Beich

  Also, don't extract the third-party directory if we're not using it here.

  Submitted by:	mi

Changes:
  head/net-p2p/transmission-cli/Makefile
Comment 11 Chris Rees freebsd_committer freebsd_triage 2014-09-30 19:27:54 UTC
Thanks very much guys, committed.  Can't close this yet because of a dependent PR.
Comment 12 Mikhail T. 2014-09-30 19:33:07 UTC
It may be useful to submit the patch upstream... Vendor's configure already allows for some of the libraries to be "system", but not all...
Comment 13 Jan Beich freebsd_committer freebsd_triage 2014-09-30 22:56:07 UTC
Comment on attachment 147849 [details]
Be sure to not even extact the third-party/ subdirectory

At least adjust the comment. This breaks patches that touch any file under third-party/ directory e.g., testing upstream-friendly changes.

  # Force system libraries
Comment 14 Jan Beich freebsd_committer freebsd_triage 2014-09-30 22:57:21 UTC
Created attachment 147867 [details]
upstream-friendly version

Here's what I have in mind for upstream. The Trac tickets are still waiting for moderator approval.

Ignore USES=autoreconf and EXTRACT_AFTER_ARGS changes. They're temporary until files/patch-unbundle lands upstream.
Comment 15 Jan Beich freebsd_committer freebsd_triage 2014-09-30 23:05:47 UTC
Comment on attachment 147867 [details]
upstream-friendly version

Caveat to not commit into ports: autoreconf makes any patch against configure or Makefile.in useless as they're regenerated. But it builds fine regardless.
Comment 16 Jan Beich freebsd_committer freebsd_triage 2014-12-28 01:50:41 UTC
Created attachment 151021 [details]
update followup, revert to upstream

Those 3 upstream bugs have successfully landed. Let's prepare for the future update. Generate a tentative tarball via |gmake dist| after r14410.

Note, the port can be updated without the patch just fine.
Comment 17 Jan Beich freebsd_committer freebsd_triage 2015-01-03 02:30:09 UTC
The next version may need --enable-external-b64 per
https://trac.transmissionbt.com/changeset/14422
Comment 18 commit-hook freebsd_committer freebsd_triage 2016-03-02 22:51:17 UTC
A commit references this bug:

Author: jbeich
Date: Wed Mar  2 22:50:30 UTC 2016
New revision: 409981
URL: https://svnweb.freebsd.org/changeset/ports/409981

Log:
  net-p2p/transmission-*: update to 2.90

  - Add POLARSSL and WOLFSSL support (like ftp/curl)
  - Hide LITE (unused) and DOCS (redundant) options from -web slave
  - Simplify r398996 and move to CONFIGURE_ENV
  - Drop r369657 hacks after upstream integration [1]
  - As implied by r378806 transfer maintainership back to crees

  Changes:	https://trac.transmissionbt.com/wiki/Changes#version-2.90
  PR:		194029 [1]

Changes:
  head/net-p2p/transmission-cli/Makefile
  head/net-p2p/transmission-cli/distinfo
  head/net-p2p/transmission-cli/files/patch-fix_without_ipv6
  head/net-p2p/transmission-cli/files/patch-libtransmission_upnp.c
  head/net-p2p/transmission-cli/files/patch-qt-app-h
  head/net-p2p/transmission-cli/files/patch-qt-mainwin.cc
  head/net-p2p/transmission-cli/files/patch-qt_qtr_pro
  head/net-p2p/transmission-daemon/Makefile
  head/net-p2p/transmission-gtk/Makefile
  head/net-p2p/transmission-qt4/Makefile
  head/www/transmission-web/Makefile