tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Bring BLAS into pkgsrc, pt. II
Am Sun, 21 Jul 2019 10:09:04 -0500
schrieb Jason Bacon <outpaddling%yahoo.com@localhost>:
> 1. As I mentioned earlier, I think the variable names could be more
> explicit to avoid confusion between what goes in mk.conf and what goes
> in the pkg Makefile.
The variable with PKGSRC_ prefix goes into mk.conf. The others are for
the Makefile. That's what I understood from the earlier discussion (no
tradition of actually prefixing variables in package Makefiles with
PKGSRC_).
I agree that 'preferred' does not convey the actual meaning.
> PKGSRC_BLAS_PREFERRED => PKGSRC_USER_BLAS_ACCEPTED
> BLAS_ACCEPTED => PKGSRC_PKG_BLAS_ACCEPTED
I don't like four words in the variable name. Too verbose.
Right now we have those similar variables in the Makefiles:
$ find . -name Makefile | xargs grep _ACCEPTED | grep -v '#' | cut -f 2 -d : | cut -f 1 -d = | sort -u
BDB_ACCEPTED
EMACS_VERSIONS_ACCEPTED
EMACS_VERSIONS_ACCEPTED+
KRB5_ACCEPTED
LUA_VERSIONS_ACCEPTED
MYSQL_VERSIONS_ACCEPTED
NODE_VERSIONS_ACCEPTED
PGSQL_VERSIONS_ACCEPTED
PHP_VERSIONS_ACCEPTED
PKG_APACHE_ACCEPTED
PKG_JVMS_ACCEPTED
PYTHON_VERSIONS_ACCEPTED
PYTHON_VERSIONS_REALLY_ACCEPTED
RUBY_RAILS_ACCEPTED
RUBY_VERSIONS_ACCEPTED
So, there is the example of two-word BDB_ACCEPTED and KRB5_ACCEPTED
that match BLAS_ACCEPTED. But the majority is three-word names, mostly
with VERSION in the middle. That's not the right word here, but we
could do
BLAS_ACCEPTED => BLAS_TYPES_ACCEPTED
Then the resulting BLAS_TYPE matches that wording. And actually, we can
use that for the user variable, too:
PKGSRC_BLAS_PREFERRED => PKGSRC_BLAS_TYPES
That may make more clear that it's about an exhaustive list of BLAS
implementations, not just a preference. So we'd have:
PKGSRC_BLAS_TYPES in mk.conf
BLAS_TYPES_ACCEPTED in Makefile
BLAS_TYPE, BLAS_LIBS, LAPACK_LIBS to be used by Makefile
OK?
> 2. I think we need to insert a step 1.5 into the process:
>
> Test/patch all existing dependent packages against the new system before
> committing the new blas and lapack packages.
Well, of course you need testing and fixing, but the import of
wip/lapack basically means a version update to 3.8.0 for dependent
packages. There is no fundamental change in what is provided. Checking
for one math/blas user that the change of now depending indirectly on
math/lapack causes no trouble makes sense.
What we need to check is the upgrade path. Will it cause trouble that
we now got liblapack.so.3 instead of liblapack.so.4? Things need a
rebuild. Or should be include a hacky symlink after all?
Hm, I am not at my workstation where my access key for pkgsrc-wip is
stored. I just noticed that wip/blas should have an empty PLIST. It's
not installing anything. I guess this causes no trouble as the check is
not done for the meta package, but it looks unclean.
> duplicate the affected packages in wip with necessary patches.
I am positive that we won't need proper patches for math/lapack or
math/blas usage. But of course one should check. We need people to
rebuild the packages, though. So … at least PKGREVISIONS?
Alrighty then,
Thomas
--
Dr. Thomas Orgis
HPC @ Universität Hamburg
Home |
Main Index |
Thread Index |
Old Index