<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">>> Perl has native versioning support and you can use the Makefile.PL<br>
>> (Build.PL, META.yml, etc) to get your dependencies checked for you,<br>
>> without having to make OS/brand specific install scripts.   [ Since this<br>
>> is Perl, neither "dpkg" or "objdump", etc. are applicable **]<br>
>><br>
>> ** I'm not sure why you mentioned those... is there a specific example<br>
>> where the standard Perl packaging tools dont cover some use cases?<br>
>><br>
><br>
> sure, you have built a package depending on a os library such as<br>
> libmysqlclient.so, and you would like the native operating system to take<br>
> care of security fixes etc, but you want to signal to the os that your<br>
> package depends on those libraries and therefore do not allow a user to<br>
> uninstall the library (in this case libmysqlclient.so) OR upgrade it to a<br>
> incompatible version.<br>
<br>
In my case, there is a hand-built list of all those dependencies in<br>
the Debian package (for things like postgresql-client, mysql-client,<br>
libssl, libgd, libjpeg, libpng, etc etc).<br></blockquote><div><br></div><div>None of these make much sense with depending on the OS-specific versions... you should instead be relying on the equivalent Perl/CPAN module, ie: DBD::mysql, DBD::Pg, GD::Simple, etc.</div>
<div><br></div><div>There might be some merit in using the package manager to manage dependencies for a core library that needs wrapping ** but a given Perl application should only need to depend on its required Perl modules.</div>
<div><br></div><div>** Even in this case, you dont need to create OS/Vendor specific packages, cf Perl integration with Gentoo where dependencies are tracked across the Perl-OS boundary.</div><div><br></div><div>In fact the example of security updates, is exactly why you dont create your own OS-specific package, and instead use the built-in support for versioning.</div>
<div><br></div><div>Mathew  </div></div>