The real solution is to use other software than Dropbox, that plays by the rules and cares about its users.
The real solution is to use other software than Dropbox, that plays by the rules and cares about its users.
I fixed this by integrating all of personal software dev together into a singular build system that will run my sync script, which also manages the various package managers on my systems, once a day if it hasn't been run. Idempotency is my best friend.
Uh, what?
Following symlinks is the default behavior for unix programs that requires extra effort to work around, why would it be "magic", or an antipattern?
Just like how when you tar up a directory, the symlinks are stored as symlinks, not as the files they point to.
It’s really simple: symlinks are symlinks and should be synced as symlinks. Now they are.
Having system files in Dropbox as the source of truth, and symlinking to their canonical locations, is a poor workaround. Does the software work for you, or do you work for the software?
As another comment suggested, one can use cron and rsync to the Dropbox folder. This at least maintains the priority of the system files being where they should be.
Or, one can use any other software that respects and works for the user. Syncthing is great.
GNU Stow (already mentioned here) and NIX are examples.
This sort of snark is unnecessary. Everything has tradeoffs. Have you ever had someone accuse you of not caring about your users? Do you know how it sounds from the other end?
This is exactly why I used this language in this case: because it is just so blatanly obvious that this change is something they have done for whatever other reason (perhaps to make their life easier?), but not to care about its users. This is not even a new feature, this is something that has already worked and a lot of users were depending on. They are literally breaking many setups and are forcing the users to expend time and resources to immediately (was there even a warning) come up with other solutions and re-create their configuration.
I think that if they cared even a little bit, with whatever other reasons they had for this change, they could easily make it an option with a sane default, instead of a locked functionality.