<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    On 31/03/2011 13:09, Mattias Gaertner wrote:
    <blockquote
cite="mid:2146270354.308611.1301573375266.JavaMail.open-xchange@cc-app1.netcologne.de"
      type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <title></title>
      <p style="margin: 0px;"><span> </span></p>
      <p style="margin: 0px;"> </p>
      <div style="margin: 5px 0px;"> Martin <a class="moz-txt-link-rfc2396E" href="mailto:lazarus@mfriebe.de"><lazarus@mfriebe.de></a>
        hat am 31. März 2011 um 13:22 geschrieben:<br>
        <br>
        >[...]<br>
        > This whole discussion seems to mix 2 issues into one:<br>
        > - problems caused by using the wrong config due to none
        awareness (imho<br>
        > the main issue) </div>
      <p style="margin: 0px;"> </p>
      <p style="margin: 0px;">+1</p>
      <p style="margin: 0px;"> </p>
      <div style="margin: 5px 0px;"> > - convenience of using
        multiply configs.<br>
        ><br>
        > Searching for config files in the exe dir (even if done)
        doesn't solve<br>
        > the first issue, as there may not be any config files in
        that directory<br>
        > to start with. </div>
      <p style="margin: 0px;"> </p>
      <p style="margin: 0px;">Then the IDE creates defaults.</p>
    </blockquote>
    No. This is:<br>
    - if a search in the exe-dir is added, (so the the behaviour will
    be: search exe-dir, search global-conf dir)<br>
    - if a global config exists<br>
    <br>
    The IDE will search the exe dir, will not find a config, will find
    the global conf<br>
    If no global conf exists, it will search all places, and then create
    the globa conf<br>
    <br>
    <blockquote
cite="mid:2146270354.308611.1301573375266.JavaMail.open-xchange@cc-app1.netcologne.de"
      type="cite">
      <p style="margin: 0px;"> </p>
      <div style="margin: 5px 0px;"> > In this case the unaware user
        is still screwed. <br>
      </div>
      <p style="margin: 0px;">Why do you think he is screwed?</p>
    </blockquote>
    <br>
    Because if the user is unaware, and never creates a config by hand,
    or forces it into the exe dir, then he./she always ends up with a
    global conf.<br>
    <br>
    So searching the exe dir first, doesn't help. (unless the user is
    aware, but an aware user can use -pcp too)<br>
    <br>
    <blockquote
cite="mid:2146270354.308611.1301573375266.JavaMail.open-xchange@cc-app1.netcologne.de"
      type="cite">
      <p style="margin: 0px;"> </p>
      <div style="margin: 5px 0px;"> > And even if there are config
        files there, the unaware user, may just<br>
        > have started a 2nd build (with different set of installed
        packages), by<br>
        > copying another lazarus dir, and moved config files into
        the new dir,<br>
        > which have values pointing back to the old dir, causing
        problems again. </div>
      <p style="margin: 0px;"> </p>
      <p style="margin: 0px;">Since 0.9.29 packages in the Lazarus
        directory are stored relative. Changing the Lazarus directory
        will load the lpk files of the new Lazarus directory.</p>
      <p style="margin: 0px;">lpk files outside are used from the old
        positions.</p>
    </blockquote>
    <br>
    if they exist...<br>
    if a user installed lnet, in his lazarus dir, it may not exist in
    another laz dir...<br>
      <br>
    <br>
    <blockquote
cite="mid:2146270354.308611.1301573375266.JavaMail.open-xchange@cc-app1.netcologne.de"
      type="cite">
      <div style="margin: 5px 0px;"> > Only checking, if the config
        files match the current installation can<br>
        > solve that.<br>
        > AFAIK Mattias added a version check. </div>
      <p style="margin: 0px;"> </p>
      <p style="margin: 0px;">I added a check for the ide/version.inc.</p>
      <p style="margin: 0px;">Configs from another version are quietly
        loaded and updated.</p>
      <p style="margin: 0px;">Maybe a check could be added to warn if
        the environmentoptions.xml is from a future Lazarus with two
        options: Quit and continue.</p>
    </blockquote>
    <br>
    Imho on any conflict:<br>
    - diff version<br>
    - diff last exe path  (doesn't work on linux, since recompiled exe
    goes into user dir)<br>
    - missing package source<br>
    <br>
    the user should be:<br>
    - informed which config is used<br>
    - offered to create a new one, in a new place (run some kind of
    profile manager)<br>
      => and be told how to load this.<br>
    - offered to load a diff config<br>
    <br>
    <br>
    <br>
    <blockquote
cite="mid:2146270354.308611.1301573375266.JavaMail.open-xchange@cc-app1.netcologne.de"
      type="cite">
      <p style="margin: 0px;"> </p>
      <p style="margin: 0px;"> </p>
      <div style="margin: 5px 0px;"> > IMHO for example any error
        about installed/not found packages at start<br>
        > up, could also offer to run the setup dialog again (and
        point out which<br>
        > config is used / warn about a potential conflict) </div>
      <p style="margin: 0px;"> </p>
      <p style="margin: 0px;">Yes.</p>
      <p style="margin: 0px;"> </p>
      <br>
    </blockquote>
    <br>
  </body>
</html>