Hi, I've just upgraded ut2004 with portage-2.1_pre6-r3, and the automatic installation order from "emerge -Dv ut2004" was: ut2004-data-3186-r1 ut2004-bonuspack-mega-1 ut2004-bonuspack-ece-1-r1 ut2004-3369-r3 The bonuspack-mega's pkg_postinst() overwrote /opt/ut2004/System/{Manifest.in{i,t},Packages.md5} with never versions than the ones that belong to ut2004, as intended. What surprises me is that, even with FEATURES="collision-protect", portage was happy to *overwrite* my {Manifest.in{i,t},Packages.md5} files with the *old* versions belonging to ut2004. It emerged ut2004 last, because ut2004-bonuspack-mega's DEPEND was satisfied by the originally-installed ut2004 version. The clean fix, since ut2004 now RDEPENDs on ut2004-bonuspack-mega anyway, is to move the ownership of those System files from ut2004 to ut2004-bonuspack-mega. While I'm at it, given that the installation testing takes a while, I've included the fixes for bug #126382 and bug #123202. The ownership of /opt/ut2004/System/{openal.so,libSDL-1.2.so.0} changes from ut2004-data to ut2004, and they become symlinks. I went a bit mad with cleaning the use of quotes etc., so diffs would look messy. Below are the 3 new ebuilds required, which work fine for me.
Created attachment 82377 [details] ut2004-3369-r4.ebuild
Created attachment 82379 [details] ut2004-data-3186-r2.ebuild
Created attachment 82380 [details] ut2004-bonuspack-mega-1-r1.ebuild
(In reply to comment #0) > What surprises me is that, even with FEATURES="collision-protect", portage was > happy to *overwrite* my {Manifest.in{i,t},Packages.md5} files with the *old* > versions belonging to ut2004. It emerged ut2004 last, because That doesn't surprise me, at all, since pkg_postinst doesn't track files. Anything that should be tracked by portage should be done in src_install. Basically, since portage wasn't aware of the file's existence, it couldn't protect the collision. I'm sure users are going to *love* us for giving them 2 ut2004-data revisions in less than a week, but you're correct that this really needs to be done. I sincerely hope that Epic doesn't do another one of these fun "include a bunch of stuff we already released into a new tarball with new content" again and instead simply releases new content as a new tarball.
The next bonuspack will be easy-peasy, we're experts at using diffs now :) It's just bad luck that the behemoth ut2004-data needs another bump. I've checked that my 3 enclosed ebuilds produce the same files in /opt/ut2004 as in bug #116528, except for the 5 files I mentioned in /opt/ut2004/System (and their new backup files: *-Megapack and *-binary). The users who get a performance boost by using their native audio drivers, might be happy at least :)
I have added these to CVS with some slight modifications. Unfortunately, upstream does not want us shipping anything using system libraries, as it makes it much harder for them to support, so I've commented those parts of the ebuilds out while leaving nice directions inside the ebuild on how to re-enable it.