Path confusion
  • Caterpillar
    Caterpillar
    sTix
    Posts: 36 from 2003/12/7
    I'm slightly confused by the default path in 3.14 (it might have been like that before as well, I can't remember, but it doesn't really matter)

    Is System:C supposed to come after System:MorphOS/C? Isn't it supposed to be in the same order as S: so that it's possible to install replacement components without cluttering the OS?

    8.Ram Disk:> path
    Current_directory
    System:MorphOS/C
    System:C
    System:Utilities
    System:S
    System:MorphOS/S
    [...]
  • »06.10.20 - 18:42
    Profile
  • MorphOS Developer
    Piru
    Posts: 438 from 2003/2/24
    From: finland, the l...
    In short: no. MOSSYS isn't there to allow you to replace MorphOS components.

    Longer response: MOSSYS:C has priority over C:. This is also the case for example LIBS: and DEVS:.

    What this allows, however, is to have components and/or commands added that do not exist in MOSSYS, without disturbing MorphOS internals, and have these user changes persist over MorphOS system upgrades.

    Here's some background from nearly 20 years ago: The very first MorphOS versions didn't have the concept of MOSSYS, but instead used .elf file extension for native components. For example the system would load a library with .elf extension before trying to load it without the extension. This quickly became a problem with multiassigns, as then non-PPC component would get picked if it existed in any of the earlier directories of the multiassign. This resulted in the wrong (68k component) being picked up instead of the native one.

    The concept we came up to fix this was to separate PPC native components to a completely separate directory (SYS:MorphOS) and then have MOSSYS: assign assigned to it. Then we modified the system to attempt to load the components from MOSSYS: first, and only after if that fails try SYS:.

    As a happy coincidence this also gave us nice separation of "system" and "user installed" components. If I recall correctly this wasn't the initial intent, but kind of a byproduct of this fix we came up with.

    Now the actual beef of this story:

    Because of the original intent of the MOSSYS, we really don't support replacing things that already exist in MOSSYS. If you really want to do that you need to disable the component in MOSSYS manually (or put your replacing thing in MOSSYS direct, overwriting the system provided one).

    This is not recommended or officially supported by for example the MorphOS upgrade script. But if you do this, you need to keep track of things you've manually poked and make sure things continue work as you have hacked them after the OS upgrade.

    I hope this cleared the confusion rather than adding to it.
  • »06.10.20 - 20:10
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    Andreas_Wolf
    Posts: 11095 from 2003/5/22
    From: Germany
    > Isn't it supposed to be in the same order as S: so that it's possible
    > to install replacement components without cluttering the OS?

    Just to mention the most known example, it has always been necessary to rename MOSSYS:Libs/rexxsyslib.library when installing the m68k one to SYS:Libs.

    https://morph.zone/modules/newbb_plus/viewtopic.php?topic_id=1309&forum=9
  • »06.10.20 - 20:54
    Profile
  • Caterpillar
    Caterpillar
    sTix
    Posts: 36 from 2003/12/7
    Quote:

    Piru wrote:
    I hope this cleared the confusion rather than adding to it.


    It definitely did. Thanks for the lengthy reply, interesting to get some info about the background of MOSSYS:.
  • »06.10.20 - 21:37
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    polluks
    Posts: 529 from 2007/10/23
    From: Gelsenkirchen,...
    @Piru
    Many thanks!
    Pegasos II G4: MorphOS 3.9, Zalman M220W · iMac G5 12,1
    Power Mac G3: OSX 10.3 · PowerBook 5,8: OSX 10.5, MorphOS 3.13
  • »07.10.20 - 11:41
    Profile