[libcxx-commits] [PATCH] D139270: [libc++] Rename __tuple to __tuple2 to avoid file collision

Tom Honermann via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Dec 9 14:11:35 PST 2022


tahonermann added a comment.

> The issue is package managers often can't handle replacing a symlink directly with a directory. By having a release in between, it becomes the same as a new file.

Doesn't that assume that the intervening package is actually installed?

If we just ship a renamed directory now, what are the chances that package managers will know to modify their package to remove the `__tuple` file so that a future version of the package can reuse that name? The chances seem pretty high to me.

For tarball-based installations, a temporary rename doesn't seem to allow a return to the original name without some additional ability to delete the original file.

I empathize with the issue you are facing. I don't have a lot of experience with package managers, but my understanding is that most have some ability to run code ahead of time. If nothing else, a package could have a dependency on another package that only contains post-install cleanup steps; e.g., a package that installs nothing and then runs a cleanup step to remove the `__tuple` file. Is this not a viable option for Gentoo?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139270/new/

https://reviews.llvm.org/D139270



More information about the libcxx-commits mailing list