Subject: variables for preferred package versions
To: None <tech-pkg@netbsd.org>
From: Geert Hendrickx <ghen@netbsd.org>
List: tech-pkg
Date: 01/14/2006 12:28:22
Hello, 

today a DragonFly user asked me how to make pkgsrc default to a specific
version of Apache (2.x) and PHP (5.x) when building apache/php related
packages (he didn't want to manually install www/apache2 and lang/php5
before starting the other builds).  I looked it up and this is what I
found: 

  PKG_APACHE_DEFAULT=apache2	(from mk/apache.mk)
  PHP_VERSION_DEFAULT=5		(from lang/php/phpversion.mk)

Not very consistent.  Other examples are: 

  PYTHON_VERSION_DEFAULT=24	(from lang/python/pyversion.mk)
  TEX_DEFAULT=teTeX3		(from mk/tex.buildlink3.mk)
  PGSQL_VERSION_DEFAULT=80	(from mk/pgsql.buildlink3.mk)
  MYSQL_VERSION_DEFAULT=50	(from mk/mysql.buildlink3.mk)

Shouldn't we standardize variable names (and maybe also the Makefile names
and location) for this kind of things?  I don't really care what standard
name format we choose, as long as it's consistent.  The current situation
is really confusing, and also not well-documented.  

FOO_VERSION_DEFAULT seems to be most often used right now, with values not
including the package name, only a number.  So we could for example declare
the PKG_APACHE_DEFAULT and TEX_DEFAULT variables deprecated and replace
them by APACHE_VERSION_DEFAULT and TETEX_VERSION_DEFAULT.  

Opinions?  

	Geert