# libpng upgrade brings in all kinds of new ports



## drhowarddrfine (Oct 21, 2014)

I upgraded graphics/png on FreeBSD10 and it installed a whole bunch of stuff that wasn't there before. I can't find the reason for it in the Makefile but does someone know what happened or why this is?

```
The following actions were performed:
   Installation of devel/libevent2 (libevent2-2.0.21_3)
   Installation of textproc/libxml2 (libxml2-2.9.2_1)
   Installation of www/spdylay (spdylay-1.3.1)
   Installation of www/nghttp2 (nghttp2-0.6.2)
   Installation of security/ca_root_nss (ca_root_nss-3.17.2)
   Installation of ftp/curl (curl-7.38.0_2)
   Installation of textproc/expat2 (expat-2.1.0_1)
   Installation of devel/py-setuptools27 (py27-setuptools27-5.5.1)
   Installation of devel/py-pytz (py27-pytz-2014.7,1)
   Installation of devel/py-babel (py27-Babel-1.3_2)
   Installation of textproc/py-MarkupSafe (py27-MarkupSafe-0.23)
   Installation of devel/py-Jinja2 (py27-Jinja2-2.7.3)
   Installation of textproc/py-docutils (py27-docutils-0.12)
   Installation of textproc/py-pygments (py27-pygments-1.6_2)
   Installation of textproc/py-sphinx (py27-sphinx-1.2.3)
   Installation of devel/cmake-modules (cmake-modules-3.0.2)
   Installation of devel/cmake (cmake-3.0.2)
   Upgrade of png-1.5.18 to png-1.5.19
```


----------



## ShelLuser (Oct 21, 2014)

It may seem like a bit of a peculiar issue, I also assumed at first that a port had only 2 kinds of dependencies; run and build dependencies. However, there are usually more ports at work here. When looking at graphics/png this is what you get to see:


```
root@smtp2:/usr/ports/graphics/png # make run-depends-list
root@smtp2:/usr/ports/graphics/png # make build-depends-list
/usr/ports/devel/cmake
/usr/ports/ports-mgmt/pkg
root@smtp2:/usr/ports/graphics/png # make all-depends-list
/usr/ports/ports-mgmt/pkg
/usr/ports/devel/cmake
/usr/ports/textproc/py-sphinx
/usr/ports/ftp/curl
/usr/ports/textproc/expat2
/usr/ports/devel/cmake-modules
/usr/ports/devel/py-Jinja2
/usr/ports/textproc/py-docutils
/usr/ports/devel/py-setuptools27
/usr/ports/lang/python27
/usr/ports/textproc/py-pygments
/usr/ports/lang/perl5.16
/usr/ports/security/ca_root_nss
/usr/ports/textproc/py-MarkupSafe
/usr/ports/devel/pkgconf
/usr/ports/devel/gettext
/usr/ports/converters/libiconv
/usr/ports/print/indexinfo
```
Maybe puzzling at first, then look a bit closer into one of the dependencies. For example lets check devel/cmake:


```
root@smtp2:/usr/ports/devel/cmake # make run-depends-list
/usr/ports/devel/cmake-modules
/usr/ports/ftp/curl
/usr/ports/textproc/expat2
```

That explains the dependency on ftp/curl for example. And so on.

So basically; a long way of telling you that what you're seeing here are dependencies from the ports on which graphics/png depends.

*EDIT:
*
Just to complete my answer..  Also note that build dependencies are just that; ports which are required to build another port. Some port management tools, my personal preference being portmaster can automatically remove those dependencies if you so desire.

Of course; it could be a waste of time because the next time you need to update the port all those build dependencies become one again a requirement.


----------



## drhowarddrfine (Oct 21, 2014)

I forgot all about doing `make run-depends-list` as is typical of me lately. Yes, I know those are dependencies but they were never dependencies in the past. So why are they there now? That's a lot of new stuff for an old port that handles png images.


----------

