Bug 211368

Summary: graphics/gd: Fix circular dependency with graphics/webp
Product: Ports & Packages Reporter: roberthuff
Component: Individual Port(s)Assignee: Dirk Meyer <dinoex>
Status: Closed FIXED    
Severity: Affects Some People CC: dinoex, sunpoet, vlad-fbsd
Priority: --- Keywords: needs-patch
Version: LatestFlags: dinoex: maintainer-feedback+
Hardware: Any   
OS: Any   
Attachments:
Description Flags
webp poudriere build log
none
giflib buildlog from the same build pass
none
Unbreak WEBP option vlad-fbsd: maintainer-approval? (dinoex)

Description roberthuff 2016-07-25 17:20:51 UTC
From the maintainer of gd:

     the port of libwebp depends on libgd,
     so libgd can not depend on libwebp.

     We have to wait for libwebp is fixed.
     I failed to reach sunpoet@FreeBSD.org.

     Please file a PR for graphics/webp

     Please disable option "WEBP" for now,
     which is default off.
Comment 1 VK 2016-09-24 22:11:10 UTC
graphics/gd already has the WEBP option marked broken. However, enabling it builds just fine with Poudriere 11.0-RC amd64.

Has this actually been fixed?

Reassigning issue to graphics/gd which is the one marked broken.
Comment 2 Dirk Meyer freebsd_committer freebsd_triage 2016-09-26 07:21:29 UTC
Not fixed.

How do you build webp if it depends on giflib?
and giflib depends on webp?

graphics/webp$ make all-depends-list 
/usr/ports/graphics/giflib
[...]

grpahics/webp needs to be split into pure lib
and webp-tools which can use both libs.
Comment 3 VK 2016-09-26 08:16:06 UTC
Created attachment 175171 [details]
webp poudriere build log

Well, I just tried again, made sure the Poudriere jail was clean of packages from previous builds. It passes. 

Am I missing something not immediately obvious here?

Build log of webp attached. No gd required or mentioned. Not even in its Makefile. All default options except gd which had WEBP enabled.

Poudriere 11.0-RC3 amd64 jail.
Comment 4 VK 2016-09-26 08:36:48 UTC
Created attachment 175172 [details]
giflib buildlog from the same build pass

I forgot the giflib buildog too. It's from the same build pass.
Comment 5 VK 2016-09-26 10:21:33 UTC
(In reply to Dirk Meyer from comment #2)

> and giflib depends on webp?

It does? graphics/giflib doesn't mention webp nor does the all-depends-list. Is there a RUN_DEPENDS missing for it then?
Comment 6 VK 2016-09-26 10:42:08 UTC
Reassigning back to Dirk. Because I've checked the ports, and concluded:

1. graphics/gd builds fine with WEBP option enabled, which this issue is about
2. graphics/webp does not depend on graphics/gd
3. graphics/webp depends on graphics/giflib, but giflib doesn't depend on anything
   (except pkg, which is defined by the framework)

So, unless there's missing information in the Makefiles, like a RUN_DEPENDS, because as I tested it builds just fine, I suggest graphics/gd be unbroken for WEBP.

And if there is a missing RUN_DEPENDS or something, a separate issue should be filed for that, blocking this one.

Can you folks confirm this? That graphics/gd builds fine with WEBP, and works?
Comment 7 VK 2016-09-27 10:10:36 UTC
Created attachment 175195 [details]
Unbreak WEBP option

Passes Poudriere 11.0-RELEASE amd64 build.
Comment 8 commit-hook freebsd_committer freebsd_triage 2016-10-16 18:41:55 UTC
A commit references this bug:

Author: dinoex
Date: Sun Oct 16 18:41:21 UTC 2016
New revision: 424078
URL: https://svnweb.freebsd.org/changeset/ports/424078

Log:
  - fix option WEBP
  - make option WEBP default
  PR:		211368

  - Security patch, port was not vulnerable
  Security: https://github.com/libgd/libgd/issues/308
  Security: http://seclists.org/oss-sec/2016/q3/626
  Security: CVE-2016-7568
  PR:		213020

Changes:
  head/graphics/gd/Makefile
  head/graphics/gd/files/patch-gd_webp.c