Firefox 147 Will Support The XDG Base Directory Specification (phoronix.com) 35
Phoronix's Michael Larabel reports: A 21 year old bug report requesting support of the XDG Base Directory specification is finally being addressed by Firefox. The Firefox 147 release should respect this XDG specification around where files should be positioned within Linux users' home directory.
The XDG Base Directory specification lays out where application data files, configuration files, cached assets, and other files and file formats should be positioned within a user's home directory and the XDG environment variables for accessing those locations. To date Firefox has just positioned all files under ~/.mozilla rather than the likes of ~/.config and ~/.local/share.
The XDG Base Directory specification lays out where application data files, configuration files, cached assets, and other files and file formats should be positioned within a user's home directory and the XDG environment variables for accessing those locations. To date Firefox has just positioned all files under ~/.mozilla rather than the likes of ~/.config and ~/.local/share.
Shocking. (Score:3)
Great to hear, maybe now they can look at some of the other 15+ year old bugs they have been ignoring (except when they want to close a new report as a dupe, of course).
Re: (Score:2, Interesting)
Supporting someone else's desired feature is not a bug. If there's 15 year old bugs, quite possibly no one gives a shit about them. Have you considered contributing to the project?
Re: Shocking. (Score:3)
Reporting bugs is literally a way people who are not software developers can contribute to open source software.
Are you saying only issues reported by coders deserve any attention? Because that sounds a bit antithetical if you're marketing your product to everyday people, as Mozilla does.
Re: (Score:2)
Are we talking here about real bugs or feature requests dressed as bugs? Yeah, I have my own feature requests dressed as bugs much older than 15 years.
Re: (Score:1)
Reporting bugs is literally a way people who are not software developers can contribute to open source software.
And reporting desired features as bugs is the reason bugs are triaged and put somewhere, such as into a backlog bin of "maybe I'll do that when I get to it in the next decade".
Also no it's not the only way people can contribute. How much have you donated? Or let me guess, you only care about using the product for free and thing bug reporting is worth its weight in gold?
Are you saying only issues reported by coders deserve any attention?
Nope. I'm saying that unless you are the coder then the priority for what gets done is exclusively at the behest of the coders. If you care
Re: (Score:1)
Also no it's not the only way people can contribute. How much have you donated? Or let me guess, you only care about using the product for free and thing bug reporting is worth its weight in gold?
Maybe you guys should just add price tags to all bug reports so users know how much they need to pay for you to care. Lots of goalpost moving here. First you give the ol' cliche "if you want it fixed, get coding" to now bringing how much one has contributed financially into it. You're making commercial software sound preferable. At least then we know the relationship is transactional up front.
Re: (Score:2)
First you give the ol' cliche "if you want it fixed, get coding" to now bringing how much one has contributed financially into it.
Actually that's not the point I was making. The point I was saying is if you want it fixed *ON YOUR TERMS* then you need to contribute. That's not a cliché, that's an invariable fact of you not having any control over application of a finite resource.
Since you have not dictated any terms, don't complain about the outcome.
I can see why they ignored it for so long. (Score:2, Interesting)
I can see why they ignored it for so long: having multiple places to put dot files for a single app is irritating. As for app deployment, MacOS is the one unixy OS* where they did it right: entire app and its supporting assets are under one directory.
*snap is an abomination and doesn't count
Re: I can see why they ignored it for so long. (Score:2)
Uhh, except that on macOS, to implement XDG youâ(TM)d set the config directory to ~/Library/Preferences, and the state directory to ~/Library/Application\ Support, so⦠if you think their implementation is good, then thereâ(TM)s no problem having multiple locations to put the data.
Need isolated installations + self contaiment (Score:2)
Maybe maybe someone will give individual applications fully isolated file system locations, internet networking open ports, limited access to system services, ....
There's containers and BSD Jail type of isolation, but that is not be default.....(looking at Windows here)
Re: (Score:3)
I can see why they ignored it for so long: having multiple places to put dot files for a single app is irritating.
Not nearly as irritating as having dozens of random dot subdirectories in the root of your home directory.
The first issue costs a few developers a few days of their time to fix. The second is a problem that nags millions of users for eternity.
Re: (Score:2)
You do know that Firefox uses 2 different dirs on both Windows and OSX, right?
~/.mozilla is convenient (Score:4, Insightful)
It's easy to back up or transfer a complete Firefox setup. Just rsync ~/.mozilla and you're done.
Or just delete ~/.mozilla if you want to start "fresh".
Spreading things out all over the place won't serve any purpose I can see other than making it more complex to manage.
Re: ~/.mozilla is convenient (Score:2)
It's also really easy to miss the .mozilla dir when making a backup cause it's in a different place than everything else.
Re:~/.mozilla is convenient (Score:5, Interesting)
It's really easy to backup/put in version control/rsync/stow/chezomoi etc ~/.config and then you get the benefits for all the XDG-compliant software you use, instead of just one non-compliant piece.
And you can still do what you did before by inserting "~/.config" into your previous commands.
I'm a Mac user and I've switched to XDG paths where possible, coupled with chezmoi and Ansible to get the same setup on my primary Mac and secondary Linux VMs/SBCs. Way easier than searching around the disk for each piece of software's configuration. This is less spread out all over the place than before.
Re: (Score:3)
But hey, I guess I should just put my app's crap in "Desktop" because everyone has one of those. Oh? You want me to put it in "%AppData%\%Publisher%\%Program Name%" ? But it would be far easier for users and scripts to just backup "Desktop".....
That's the thing about standards. You either enforce the ones that exist or someone else will invent an new one to suit their use case. Cue the xkcd meme.
for i in `echo $XDG_USER_DIRS`
Re:~/.mozilla is convenient (Score:4, Interesting)
It is convenient, until you notice that a backup of .mozilla/firefox/*/cache is just taking backup space without having a good purpose. That's why they migrated the cache to the xdg-folder .cache/mozilla a long time ago.
The worst of both worlds is what Chromium does by placing data and cache in .config/chromium, where only config files belong. They could at least place it in .local/share/chromium, but they should REALLY separate all cache data (i.e. data that is disposable without real disadvantage) from the user data. I don't think I would separate the configs into .config, because a profile folder (in .local/share) has its advantages, though.
Not "all" (Score:4, Interesting)
>"To date Firefox has just positioned all files under ~/.mozilla rather than the likes of ~/.config and ~/.local/share.
That is not technically correct. They have been using ~/.cache correctly for a very long time. So it is not *all* files. But it is true the other files have been in ~/.mozilla. I manage an ACTUAL multiuser system (something you rarely see today; yes, hundreds of different users each often running Firefox on that one machine), and even I don't care much that it is ~/.mozilla instead of ~/.config/.mozilla, but I will have to adjust a lot of scripts.
.mozilla is a better solution (Score:2)
Re: (Score:3)
>"Apps should keep their files in their own directories. Spreading them across a 1000 different directories makes no sense and just make uninstall a hassle"
It will still be in its own directory. Just in ~/.config/mozilla instead of ~/.mozilla
For example, LibreOffice stores its settings in ~/.config/libreoffice, GIMP is in ~/.config/GIMP, Thunar is in ~/.config/Thunar, VLC is in ~/.config/vlc, etc...
Re: (Score:3)
Actually no. XDG defines 7 directories in total for apps to spread their data across. Firefox is now splitting up across *two* of them. What was previous in ~/.mozilla may not be found in ~/.config/mozilla or ~/.cache/mozilla
It's not bad, but the OP is on point saying that files are split up.
Incidentally GIMP spreads its files across 3 different folders (add ~/.local/share to the list), LibreOffice across three, the other two programs use just the one though.
Re: (Score:2)
The correct place for most of the profile would be .local/share/mozilla/PROFILENAME. I really hope they don't repeat the chromium mistake of placing data file in .config.
CORRECTION (Score:2)
"Linux" appears ZERO times in the specification.
This is a specification for UNIX. Linux copied from UNIX but is not UNIX. If you'd like to try out a UNIX variant however, the BSDs such as FreeBSD are direct descendants of AT&T Research UNIX.
INB4 "But Linux is more popular" - yes, yes it is, and it is because of EXACTLY things like this, which attribute things to Linux which are NOT Linux and don't mention Linux at all.
Re: (Score:2)
>"Linux" appears ZERO times in the specification."
And yet, 99% of who this change will affect will likely be Linux users. MacOS mostly doesn't really even use ~/.config, because, well, "Apple".
>"This is a specification for UNIX. Linux copied from UNIX but is not UNIX."
If it quacks like a duck and looks like a duck, it is probably a duck. Linux is Unix, in all ways that matter to anyone now (and for a long time before now). Worrying about exact Linux vs Unix vs UNIX vs Unix-like vs BSD vs POSIX is k
Re: CORRECTION (Score:2)
More than 1% of the people affected are likely on Mac, which IS UNIX.
Re: (Score:2)
As I already said in the previous post:
"MacOS mostly doesn't really even use ~/.config, because, well, "Apple".
We don't know if Mozilla will do that on MacOS, which does not follow all Unix conventions. Especially desktop ones, of which this is.
https://en.wikipedia.org/wiki/... [wikipedia.org]
Re: CORRECTION (Score:2)
XDG and other Freedesktop.org specs are careful to identify the concept of a Unix-like operating systems. And nothing in the spec requires it to run on UNIX specifically, although the spec does identify features from UNIX that it depends on. Implement those features and you can implent this spec. Linux and several others have done so already.
I hope you're embarrassed. (Score:3)
This is a specification for UNIX. ....
Wrong. Neither Linux nor UNIX are mentioned in the specification. However, it should be noted that the specification is hosted on Freedesktop.org which clearly states on their site that...
Freedesktop.org is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems.
They do mention Linux and Unix-like operating systems being target operating system. However, there is no menti
Re: (Score:2)
Fun fact, there has been two Linux distributions officially certified as "UNIX". Inspur and Huawei for whatever reason bothered to get them officially certified.
On the flip side, there's an odd sentence in the XDG specification that explicitly qualifies the wording around filesystem feature requirements to apply only to Unix-like platforms. Clearly they had Unix in mind, but they explicitly bothered to give an implicit pass to any hypothetical non-Unix, non-Unix-like platforms.
No huge patch (Score:2)
Looking at the comments, the final patch is rather small, the real work was fixing a lot of related bugs over the years. So they didn't wait 21 years, but they carefully prepared the change.
What It The Point of XDG? (Score:3)
What is the point of XDG?
With everything under ./mozilla we know where to find everything to do with Firefox. It also increases the portability of the Firefox profile. And this behavior extends to any application that uses ./\ Everything in it's own application specific directory. A container, if you will.
It seems to me that XDG just fractures that and spreads application crap all over the place. You can never find what you need, portability is horrendously difficult, and the benefit is..? I see none. You're fractured mess is neatly organized?
It used to be that applications and all their files got put in a single, very portable, application folder. Breaking out per user components to the users home directory only made sense. But this sprinkling of application file all over the file system is a fractured pain in the ass that creates more problems for me than benefit and I don't see any problem that it solves.
Most ironic of all is the "new" popularity of containerization and packing systems like Flatpack that have developed because of the application mess and their solution is to put all the application files into their own directory package albeit also fragmented within the container system. It's worse than /var/lib /usr/lib /usr/share/lib*
It makes so much more sense to just use: ./app /etc/app
~/.appdata
Re: (Score:2)
Formatting is screwed and data missing from post.