Skip to content

Make the directory layout match upstream MSYS #16

Description

@sschuberth

Currently we have "swapped" the MSYS and MinGW directory trees via a profile.xml to match what we had for msysgit. However, it makes more sense for us to simplify things by aligning the directory layout again with upstream MSYS.

Activity

  1. self-assigned this
    on Oct 15, 2014
  2. dscho commented on Oct 15, 2014

    @dscho
    Member

    👍

  3. dscho commented on Oct 15, 2014

    @dscho
    Member

    It would be enough for that profile.xml to lose its <system-map> section, yes? I.e.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <profile project="MinGW" application="mingw-get">
      <repository uri="http://prdownloads.sourceforge.net/mingw/%F.xml.lzma?download">
      </repository>
      <repository uri="https://github.com/git-for-windows/sdk-packages/blob/master/%F.xml.lzma?raw=true">
        <package-list catalogue="git-win-sdk-package-list" />
      </repository>
      <system-map id="default">
        <sysroot subsystem="mingw32" path="%R" />
        <sysroot subsystem="msys" path="%R/../" />
      </system-map>
    </profile>

    would become

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <profile project="MinGW" application="mingw-get">
      <repository uri="http://prdownloads.sourceforge.net/mingw/%F.xml.lzma?download">
      </repository>
      <repository uri="https://github.com/git-for-windows/sdk-packages/blob/master/%F.xml.lzma?raw=true">
        <package-list catalogue="git-win-sdk-package-list" />
      </repository>
    </profile>

    ... and then we have to identify all the places that still expect the msysGit layout... ;-)

  4. sschuberth commented on Oct 15, 2014

    @sschuberth
    Author

    Exactly. Your last sentence names the hard part.

  5. t-b commented on Oct 15, 2014

    @t-b

    Does that mean we have to tweak every mgwport file?

  6. sschuberth commented on Oct 15, 2014

    @sschuberth
    Author

    Probably not tweak every file, but we must ensure for every file that it still builds, and if not, then tweak it.

  7. t-b commented on Oct 15, 2014

    @t-b

    Just to understand the implications. In the curl mgwport file I would need to change

    insinto /mingw/include/curl
    

    to

    insinto /include/curl
    

    or?

    And while we are at it, it might also make sense to use the generic commands like doinclude instead of the ones hardcoding the paths with insinto.

  8. sschuberth commented on Oct 15, 2014

    @sschuberth
    Author

    Correct.

  9. t-b commented on Oct 15, 2014

    @t-b

    And how are $__mpflavor_prefix and friends from mgwport effected?
    Or to rephrase my question: Can we write mgwport files which are before and after the switch valid?

  10. sschuberth commented on Oct 15, 2014

    @sschuberth
    Author

    Can we write mgwport files which are before and after the switch valid?

    Probably yes, I don't know and would have to research.

  11. dscho commented on Oct 15, 2014

    @dscho
    Member

    @sschuberth do you think we will have to switch all #!/bin/sh to #!/msys/1.0/bin/sh with this switch? If so, I think we should not switch.

  12. sschuberth commented on Oct 15, 2014

    @sschuberth
    Author

    No, I'm very sure we don't need to do that, as Shell scripts that come from upstream also don't have that.

  13. sschuberth commented on Oct 23, 2014

    @sschuberth
    Author

    Hmm, maybe we need to re-think this. In upstream MinGW / MSYS (installed to C:\MinGW), if you start C:\MinGW\msys\1.0\msys.bat, you get this:

    $ cd /
    $ pwd -W
    C:/MinGW/msys/1.0
    

    I.e., a cd / does not take you to the installation directory, but to the root of the MSYS directory. While this makes sense from an MSYS point of view, it makes it unnecessary hard to access files in C:\MinGW from the MSYS shell. So, what do you think, should we keep things as-is?

  14. 59 remaining items

  15. added a commit that references this issue on Aug 13, 2025
  16. added a commit that references this issue on Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions