cvs commit: ports/Mk bsd.port.mk

Michael Nottebrock lofi at freebsd.org
Tue Aug 7 03:42:13 PDT 2007


Alexander Leidinger schrieb:
>
>> Explicit dependencies would be great, if they can be guaranteed to be
>> correct, which basically means we need a way auto-generate them. Maybe
>
> Auto generation would be nice, but it doesn't need to be a hard
> requirement. See below.
>
>> this could be done in a similar way to the security check target - run
>> ldd/objdump over installed executables and libraries, record symbol
>> names somewhere, determine dependencies by comparing records ...
>
> I think this is a little bit over-engineered. Looking into the
> binaries (maybe with objdump, ldd is not really suitable for this task
> I think) for the references to libraries would be enough.
Yeah, I just pulled that out of my hat while writing the email.
>
> How do you want to calculate the RUN_DEPENDS?
RUN_DEPENDS need to be done manually, but I don't consider them a major
problem - those can indeed be sorted out manually and via user feedback
quite well. Experience shows that there is more of a problem with stale
runtime dependencies, which were once necessary, then at some point
became obsolete and nobody noticed. A possible exception to this are the
perl module ports. But my beef really is with library dependencies.
>
>> Explicit dependencies that need to be determined and maintained manually
>> by port maintainers are useless, since they'll be almost guaranteed to
>> be wrong most of the time for those ports that would profit the most
>> (shave off the most implicit dependencies) from having them.
>
> I don't think so.
Well, I do. What now? :P
> I think it will be the same as currently. Things which are not catched
> by pointyhat will be reported by users.
Yes. Over and over again. Getting explicit library dependencies right
for all of KDE (and Qt) for instance means explicitly depending on
single xorg library ports in each of the KDE and Qt ports. With every
update, these dependencies are likely to change and thus need review
(and if the review isn't done (properly), will cause fallout for people
trying to save time on updates and thus waste even more time - a very
frustrating user experience). Moreover, the dependencies are likely to
change depending on the user's installation for a certain number of
ports, i.e. in some circumstances, a library/binary might contain
references to libXrender, in others it might not. Catching all these
cases will need very careful review and again, they are likely to change
from release to release. I maintain that it is futile to try and do this
without some sort of automatic dependency generation (or at least checking).

That said, let me stress again that I'd *like* correct explicit library
dependencies. I actually already tried once to explicity depend on
single X libraries for the Qt4 ports and all the ports further down in
their dependency tree, but gave up because USE_XORG/bsd.xorg.mk at the
moment cannot be used after bsd.port.pre.mk and I didn't have enough
time to try and fix that as well. :)

Cheers,
-- 
   ,_,   | Michael Nottebrock               | lofi at freebsd.org
 (/^ ^\) | FreeBSD - The Power to Serve     | http://www.freebsd.org
   \u/   | K Desktop Environment on FreeBSD | http://freebsd.kde.org


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/cvs-all/attachments/20070807/90e95fca/signature.pgp


More information about the cvs-all mailing list