[review] cvs commit: ports/math/libqalculate Makefile
Jan Henrik Sylvester
me at janh.de
Mon May 18 22:45:08 UTC 2009
Pav Lucistnik wrote:
> Pietro Cerutti píše v po 18. 05. 2009 v 18:24 +0000:
>> gahr 2009-05-18 18:24:36 UTC
>>
>> FreeBSD ports repository
>>
>> Modified files:
>> math/libqalculate Makefile
>> Log:
>> - Add dependency on math/libgmp4
>> - Bump PORTREVISION
>>
>> Reported by: Jan Henrik Sylvester <me at janh.de>
>
>> -LIB_DEPENDS= cln.5:${PORTSDIR}/math/cln
>> +LIB_DEPENDS= cln.5:${PORTSDIR}/math/cln \
>> + gmp.8:${PORTSDIR}/math/libgmp4
>
> Why are you adding a dependency on libgmp4, when this port is depended
> on already, indirectly, via math/cln ?
>
> This is unneeded in FreeBSD Ports.
I really would like to understand this.
As far as I understand, if a shared library version is bumped -- for
example recently libgmp.so.7 was bumped to libgmp.so.8 -- all ports that
have gmp.7 listed in LIB_DEPENDS are changed to gmp.8 and have their
PORTREVISION bumped at the same time to trigger a rebuild of the package.
Ports that depend on the library only indirectly are not bumped, since
it would be a waste to rebuild everything recursively. This can only
work, if all ports linking a library actually list that dependency as
there is no other way for someone bumping a shared library version to
know which packages actually link that library.
In this case, /usr/local/bin/qalc from math/libqalculate linked
libgmp.so.7, but since the dependency was not listed, the PORTREVISION
was not bumped leaving the package broken.
If bumping PORTREVISIONs is not feasible as there are too many dependent
ports, there is usually an entry in UPDATING to rebuild everything
recursively.
I only got this understanding observing commits. What is wrong with it?
I do not understand the PORTREVISION bumping at all if not all
dependencies are listed.
Thanks for any explanation,
Jan Henrik
More information about the cvs-ports
mailing list