Jyri Virkki wrote:
> Amanda Waite wrote:
>   
>>> Define it this way instead MYSQL_PATH=/usr/mysql  and  
>>> MYSQL_LIB=$(MYSQL_PATH)/lib/mysql
>>>       
>> I think this would lead to some ambiguity and potential problems. What 
>> if you were to update MySQL to 5.2?. I might no longer be able to 
>> predict if Lighttpd will be linked against MySQL 5.1 or MySQL 5.2, it 
>> would all depend on the order that the two MySQL's were built. I think 
>> that being specific is better.
>>     
>
> It won't be ambiguous, the 'latest' link is always the latest one.
>
> Whether you want the 'latest' or a specific version depends on what
> the dependencies are.
>
> In theory, if you are depending on MySQL interfaces which are
> classified Uncommitted or better, you can know there will not be an
> incompatible change as MySQL goes from 5.1 to 5.2 (for instance), so
> you're better off depending on 'latest'. If you're depending on
> Volatile interfaces specific to 5.1 then you need to hardcode 5.1.  Of
> course, if that is the case then there will be a problem eventually
> when 5.1 is removed.
>
> In practice the build already has other hardcoded areas which need to
> be changed manually as MySQL version upgrades (pkg deps, build
> component deps).  Just wanted to make sure you're deciding to hardcode
> 5.1 use for the right reasons.
>
>
>   

Ok,  I'll work on the basis that there is only one version of MySQL on 
the system and that is the one in /usr/mysql ($(ROOT)/usr/mysql in the 
proto area). If at some point lighttpd breaks either build wise or 
functionality wise because of a change to the version of MySQL then 
we'll treat it the same as we would if an update to say OpenSSL caused a 
similar issue.

One thing though (and I maybe way off base about this), in the proto 
area, how is it guaranteed that the links point to 5.1 and not to 5.0? 
There is no build order dependency defined in usr/src/cmd/Makefile and 
if MySQL 5.0 is built after 5.1 then the links point to 5.0. At the 
moment it's possible that 5.0 gets built before 5.1 because other 
components have a dependency on 5.0. This won't be the case once 
everything depends on 5.1.  This bothered me when Sunanda first 
mentioned it, it bothers me more now that when I ran nightly builds 
yesterday I saw the following:

Files that changed between yesterday and today:

Unit   T File Name                      Reloc/Sym name       perm owner group 
inode lnk maj min package(s)
------------------------------------------------------------------------------------------------------------
filea: s usr/mysql/lib                  5.0/lib               777 -     -       
   0  1  -  -    proto
fileb: s usr/mysql/lib                  5.1/lib               777 -     -       
   0  1  -  -    proto
    differ: symlink
filea: s usr/mysql/bin                  5.0/bin               777 -     -       
   0  1  -  -    proto
fileb: s usr/mysql/bin                  5.1/bin               777 -     -       
   0  1  -  -    proto
    differ: symlink
filea: s usr/mysql/man                  5.0/man               777 -     -       
   0  1  -  -    proto
fileb: s usr/mysql/man                  5.1/man               777 -     -       
   0  1  -  -    proto
    differ: symlink
filea: s var/mysql/data                 5.0/data              777 -     -       
   0  1  -  -    proto
fileb: s var/mysql/data                 5.1/data              777 -     -       
   0  1  -  -    proto
    differ: symlink
filea: s usr/mysql/docs                 5.0/docs              777 -     -       
   0  1  -  -    proto
fileb: s usr/mysql/docs                 5.1/docs              777 -     -       
   0  1  -  -    proto
    differ: symlink
filea: s usr/mysql/share                5.0/share             777 -     -       
   0  1  -  -    proto
fileb: s usr/mysql/share                5.1/share             777 -     -       
   0  1  -  -    proto
    differ: symlink
filea: s etc/mysql/my.cnf               5.0/my.cnf            777 -     -       
   0  1  -  -    proto
fileb: s etc/mysql/my.cnf               5.1/my.cnf            777 -     -       
   0  1  -  -    proto
    differ: symlink
filea: s usr/mysql/include              5.0/include           777 -     -       
   0  1  -  -    proto
fileb: s usr/mysql/include              5.1/include           777 -     -       
   0  1  -  -    proto
    differ: symlink
filea: s usr/mysql/sql-bench            5.0/sql-bench         777 -     -       
   0  1  -  -    proto
fileb: s usr/mysql/sql-bench            5.1/sql-bench         777 -     -       
   0  1  -  -    proto
    differ: symlink
filea: s usr/mysql/mysql-test           5.0/mysql-test        777 -     -       
   0  1  -  -    proto
fileb: s usr/mysql/mysql-test           5.1/mysql-test        777 -     -       
   0  1  -  -    proto

    differ: symlink






Reply via email to