tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Asterisk package naming



On 2018-07-18 03:48 AM, Marc Espie wrote:
> What you're describing is the problem of having several branches of a package.
> 
> In OpenBSD, we finally solved that one 2 years ago, with branch specifications.

I think that NetBSD has solved the problem neatly with other packages,
specifically packages that are modules of another package like Python
and PHP.

> - packages record the directory they come from, and those directories are
> generally organized in a sensible way (yeah, not always)
> 
> - pkg_add can take stem + branch specifications like so:
> 
> pkg_add python%3.6

In NetBSD that is just "pkg_add python36".  Same thing for PHP, Ruby and
others.  It works cleanly because the Makefile in lang/python36 installs
a package called "python36".

The two packages that I use that don't act this way are apache and
asterisk.  Apache isn't as big a problem at the moment mainly because
there is no "apache" package.  It also doesn't hurt that there is only
one actual package at the moment, apache24.  You can install apache24
and search  (or pkg_add) apache and it works fine.  I think that even in
that case it should install apache24 because some day there will be an
apache25.

I do think that having some sort of meta package that depends on a
calculated version would be a nice to have.

> Not saying you guys should do the same, but other the years, we found out
> the hard way   that the best solution to getting relevant semantic information
> out of the packages/ports was to keep it around, and make darn sure the core
> tools do process it.  Once it's "lost", reconstituting that info with
> ad-hoc scripts is awkward, full of special cases, and incredibly brittle...

As I have found out but I don't think we need the complexity.
Consistent naming schemes would solve the problem.

-- 
D'Arcy J.M. Cain <darcy%NetBSD.org@localhost>
http://www.NetBSD.org/ IM:darcy%Vex.Net@localhost


Home | Main Index | Thread Index | Old Index