RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Proposal: Consolidate filesystem locations

    Scheduled Pinned Locked Moved Ideas and Development
    installation
    6 Posts 5 Posters 1.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • X
      xrobau
      last edited by

      At the moment, things are a bit scattered. There's stuff in /home/pi, bits in /root, and then /opt/retropie, too.

      I did mention this in IRC, and wasn't immediately shot down, but I'd like to fix this. (I realise some people may not think it's broken, and that's the point of this 8-)

      I'd like the installer to put EVERYTHING in /opt/retropie - roms, checked out repos, everything. And /opt/retropie should be owned by the pi user, so there's no need for root/sudo things (these are meant to be embedded, right? Caring about user permissions shouldn't be on the radar).

      So, when I get some time (and I have a pile of things taking up my spare time at the moment), I'd like to submit a PR to accomplish that, unless anyone has any objections (or suggestions?)

      The other thing I'd like to do is totally remove the shallow git clones that are currently done, and preserve any git repo that's been checked out.

      There is method to my madness. If user x has done a git checkout, it's EXTREMELY LIKELY that they'll do a checkout again. So deleting and redownloading is counter-intuitive... And with repos that have submodules, you have to do a full clone of the submodules, so deleting any repo with a submodule means that you do a shallow clone of one repo, and then a full clone of however many submodules there were.

      Anyone have any feedback?

      herb_fargusH BuZzB 2 Replies Last reply Reply Quote 0
      • herb_fargusH
        herb_fargus administrators @xrobau
        last edited by

        @xrobau you realise how many systems this would break right?

        If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

        Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

        1 Reply Last reply Reply Quote 0
        • Z
          Zigurana
          last edited by

          I do not understand what this would bring us.
          It might be slightly cleaner, but what functionality will this give us? What problem are you solving with this activity?
          Basically what I'm asking is : is this worth the risk (in terms of bugs introduced) ?

          If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

          1 Reply Last reply Reply Quote 0
          • BuZzB
            BuZz administrators @xrobau
            last edited by BuZz

            @xrobau said in Proposal: Consolidate filesystem locations:

            At the moment, things are a bit scattered. There's stuff in /home/pi, bits in /root, and then /opt/retropie, too.

            ROMS are in $HOME/RetroPie
            nothing should be in /root
            everything else is in /opt/retropie - some config locations from $HOME are symlinked to /opt/retropie/configs/ to keep everything together - a few still need to be added. (excluding a few things in /etc as needed)

            I did mention this in IRC, and wasn't immediately shot down, but I'd like to fix this. (I realise some people may not think it's broken, and that's the point of this 8-)

            There is nothing to "fix" - this isn't a bug but your preference. I thought I had already made it clear on IRC that I didn't want to change this.

            I'd like the installer to put EVERYTHING in /opt/retropie - roms, checked out repos, everything. And /opt/retropie should be owned by the pi user, so there's no need for root/sudo things (these are meant to be embedded, right? Caring about user permissions shouldn't be on the radar).

            root/sudo is only used for installing - you would still need that to create the folder in /opt.

            everything that should be written by the installing user is owned by the user, things that should not be touched are not. Safer.

            To make sure every application used /opt/retropie without things like our symlinks we would need to maintain patchsets against every piece of software that expected a user config in $HOME. Including maintaining our own Kodi etc. 50+ patches to maintain on upstream code. No thanks.

            So, when I get some time (and I have a pile of things taking up my spare time at the moment), I'd like to submit a PR to accomplish that, unless anyone has any objections (or suggestions?)

            Sorry but I wouldn't be interested. I don't see the benefit.

            The other thing I'd like to do is totally remove the shallow git clones that are currently done, and preserve any git repo that's been checked out.

            I already added the option for this for you (doesn't do full clones yet but keeps repositories around - __persistent_repos=1) - I don't think those with small sdcards would appreciate keeping megabytes of source lying around all the time. I may make this default on desktop machines in the future after it's had more testing (and I need a gui option to clear the tmp folder in the gui).

            To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

            1 Reply Last reply Reply Quote 0
            • screechS
              screech
              last edited by

              Not really the same subject, but it's about path on retropie ;) :

              why retropie have
              Rom here : /home/pi/RetroPie/roms/%System%/
              Gamelist here : /home/pi/RetroPie/configs/all/emulationstation/gamelists/%System%/gamelist.xml
              Image here : /home/pi/.emulationstation/downloaded_images/%system%/

              Emulationstation work great with all thing at the same place
              Rom here : /home/pi/RetroPie/roms/%System%/
              Gamelist here : /home/pi/RetroPie/roms/%System%/gamelist.xml
              Image here : /home/pi/RetroPie/roms/%System%/downloaded_images/

              It's even easier for user to "save" or "backup" only the roms folder with all scraped datas ;)

              Sorry it's just my 2 cents ;)

              BuZzB 1 Reply Last reply Reply Quote 0
              • BuZzB
                BuZz administrators @screech
                last edited by BuZz

                @screech said in Proposal: Consolidate filesystem locations:

                Not really the same subject, but it's about path on retropie ;) :

                why retropie have
                Rom here : /home/pi/RetroPie/roms/%System%/
                Gamelist here : /home/pi/RetroPie/configs/all/emulationstation/gamelists/%System%/gamelist.xml
                Image here : /home/pi/.emulationstation/downloaded_images/%system%/

                /home/pi/.emulationstation/ is a symlink to /home/pi/RetroPie/configs/all/ - so they are the same path.

                Emulationstation work great with all thing at the same place
                Rom here : /home/pi/RetroPie/roms/%System%/
                Gamelist here : /home/pi/RetroPie/roms/%System%/gamelist.xml
                Image here : /home/pi/RetroPie/roms/%System%/downloaded_images/

                By default sselph's scraper uses those locations.

                To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.