Bug 211368 - graphics/gd: Fix circular dependency with graphics/webp
Summary: graphics/gd: Fix circular dependency with graphics/webp
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Dirk Meyer
Keywords: needs-patch
Depends on:
Reported: 2016-07-25 17:20 UTC by roberthuff
Modified: 2016-10-16 18:43 UTC (History)
3 users (show)

See Also:
dinoex: maintainer-feedback+

webp poudriere build log (309.45 KB, text/plain)
2016-09-26 08:16 UTC, VK
no flags Details
giflib buildlog from the same build pass (30.57 KB, text/plain)
2016-09-26 08:36 UTC, VK
no flags Details
Unbreak WEBP option (392 bytes, patch)
2016-09-27 10:10 UTC, VK
vlad-fbsd: maintainer-approval? (dinoex)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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 freebsd_triage 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 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 

grpahics/webp needs to be split into pure lib
and webp-tools which can use both libs.
Comment 3 VK freebsd_triage 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 freebsd_triage 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 freebsd_triage 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 freebsd_triage 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 freebsd_triage 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 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

  - 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