On Sat, Sep 01, 2018 at 12:52:57AM +0000, Jonathan Thornburg wrote: > What's the "OpenBSD way" to install Perl modules which don't exist > as packages? > > The usual Perl idiom for "install module foo & all of its (recursive) > dependencies" is "cpan install foo", but this fetches all dependencies > from CPAN, ignoring any OpenBSD packages which may exist. What I'd like > is something like "cpan install foo", but with the semantics that for > each dependency, if there's OpenBSD package in /etc/installurl which > is the same module version as the latest CPAN version, then install > the OpenBSD package instead. Is there a utility already around which > does this? >
Afraid not. I've only added or updated a very small number of Perl ports. I've found that some are very simple to do. Just learn how and submit it to ports@ (which is the correct list for this question, just remember that for the future,please). Others must have patches. Really, they need some minor but crucial patches to be "OpenBSDified". This isn't linux. And when you start to talk about recursively adding multiple dependencies, that's where disaster strikes. A big mess with wrong locations, wrong this, wrong that. And exactly how would you even figure out the nightmare of updating or removal? After all, you don't have any idea where anything is. Testing? Not gonna work out. Security? Oh yeah, that's not important, is it? Your clients or your own data getting processed or lost? Oops! This is why everything is moving as a solid unified system and packages. Everything is examined by multiple eyes. Some Perl modules don't and cannot ever work under OpenBSD. Our ports system works well, but is plagued by all of those screwy linuxisms. Now, if you really want to do this sort of thing without adding to and using the existing ports tree, feel free to. See the instructions for doing a fresh re-install. You might need it. Seriousness aside, it's a good question to ask and anyone coming from another OS usually wants (expects?) to be able to do this. Welcome to OpenBSD! It's a tight ship and those ships usually don't sink! ;>) Chris Bennett