New DVD release of ut2004 doesn't work with current ebuild, this version, labeled "Includes Editors Choice and Mega Bonus Pack" seems to be a version that installs entirely on the hard disk, not running from DVD at all. The directory structure is as follows: -\Disk1 ---\data1.cab ---\data1.hbr ---\data2.cab ---\Setup.bmp ---\engine32.cab ---\layout.bin ---\setup.exe ---\setup.ibt ---\setup.ini ---\setup.inx ---\setup.isn -\Disk2 ---\data3.cab -\Disk3 ---\data4.cab -\Disk4 ---\data5.cab -\Disk5 ---\data6.cab Only 5 disk directories are present as well as an "AutoRunData" directory, AutoRun.exe, AutoRun.inf, and Manual.pdf all in root.
Please attach a file showing the contents of those cab files. Discussion thread: http://forums.gentoo.org/viewtopic-t-526497.html
There is a manual installation procedure for the dvd, which worked for me: http://utforums.epicgames.com/showthread.php?t=558146 I think it should not be a big problem to put that procedure into the ebuild.
(In reply to comment #1) > Please attach a file showing the contents of those cab files. I've created these listings with unshield, I've uploaded them to: http://files.mgeek.de/ut/ . It seems that all *.cab's are just on splitted big .cab (I do not know if this is normal). The complete listing of the DVD can be found in root.list , it is the output of ls -lR . Let me know if you need more information.
Created attachment 110789 [details] games-ut2k4mod.eclass > It seems that all *.cab's are just on splitted big .cab What does that mean? What commands are used to extract them properly? Your 6 files are identical except for the first line. Would joining them together avoid the "All_"* directories mentioned at http://utforums.epicgames.com/showthread.php?t=558146 ? Here's a replacement eclass to hopefully identify the "UT2004 Anthology" DVD, assuming that we're all talking about that. I've got an ebuild in progress, but need more info.
(In reply to comment #4) What it means by one 'split' cab file, is only unshielding the first data1.cab file extracts everything, from all the files. One important note is that all files (data[1-6].cab, data1.hdr) must be in the same directory. It *does* work with symlinks, however, so the ebuild could just link them to a temporary location. Also, be sure to look into that amd64 unshield problem/patch also referenced in the manual install topic linked to. Another thing to look at, is that in the System directory there needs to be symlinks to libSDL, and to libopenal like so: lrwxrwxrwx 1 root root 26 2007-02-06 18:31 libSDL-1.2.so.0 -> /usr/lib64/libSDL-1.2.so.0 lrwxrwxrwx 1 root root 23 2007-02-06 18:36 openal.so -> /usr/lib64/libopenal.so or it won't work properly - either failing to run without libSDL-1.2.so.0, or failing to produce audio without openal.so. These need to be to 32-bit libs for the 32-bit binary, and 64-bit libs for the 64-bit binary (probably obvious).
Created attachment 111117 [details] ut2004-3369-r4.ebuild Removes need for the /opt/ut2004/ut2004 script, which is not provided on the Anthology DVD.
Created attachment 111119 [details] ut2004-data-3186-r3.ebuild (Hopefully) adds support for the Anthology DVD and Midway DVD. Please test it. Both ebuilds and the replacement eclass are required. Commands to run: emerge --unmerge ut2004 ut2004-data ut2004-bonuspack-ece ut2004-bonuspack-mega rm -rf /opt/ut2004 emerge ut2004
Created attachment 111125 [details] New games-ut2k4mod.eclass: Fixed a little bug in test for Anthology DVD - if [[ -d "${CD_ROOT}/AutoRunData/Midway.tga" ]] ; then + if [[ -e "${CD_ROOT}/AutoRunData/Midway.tga" ]] ; then That should check for a file. Changed that.
Created attachment 111126 [details, diff] Patch to the ebuild for ut2004-data to work with Midway DVD I used the Midway DVD here and unshield needs also the file Disk1/data1.hdr since it stores important information about the .cab's. Added that to the ebuild for ut2004-data.
So, although the above patches worked for me so far, there are more errors I cannot solve myself: First, these error occurs when unpacking after the unshield'ing: [...] extracting: ./_Engine_Kernel_Placeholder/IGDI.dll extracting: ./_Engine_Kernel_Placeholder/ISBEW64.exe -------- ------- 1805 files mv: cannot stat `*.int': No such file or directory And then the emerge fails with this: ACCESS DENIED open_wr: /var/tmp/portage/games-fps/ut2004-data-3186-r3/image/opt/ut2004/System/libSDL-1.2.so.0 ACCESS DENIED open_wr: /var/tmp/portage/games-fps/ut2004-data-3186-r3/image/opt/ut2004/System/openal.so >>> Completed installing ut2004-data-3186-r3 into /var/tmp/portage/games-fps/ut2004-data-3186-r3/image/ --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/var/log/sandbox/sandbox-games-fps_-_ut2004-data-3186-r3-4129.log" open_wr: /var/tmp/portage/games-fps/ut2004-data-3186-r3/image/opt/ut2004/System/libSDL-1.2.so.0 (symlink to /usr/lib64/libSDL-1.2.so.0.11.0) open_wr: /var/tmp/portage/games-fps/ut2004-data-3186-r3/image/opt/ut2004/System/openal.so (symlink to /usr/lib64/libopenal.so.0.0.0) -------------------------------------------------------------------------------- Traceback (most recent call last): File "/usr/bin/emerge", line 5372, in ? retval = emerge_main() File "/usr/bin/emerge", line 5367, in emerge_main myopts, myaction, myfiles, spinner) File "/usr/bin/emerge", line 4834, in action_build retval = mergetask.merge(pkglist, favorites, mtimedb) File "/usr/bin/emerge", line 3064, in merge prev_mtimes=ldpath_mtimes) File "/usr/lib64/portage/pym/portage.py", line 3713, in doebuild alwaysdep=1, logfile=logfile) File "/usr/lib64/portage/pym/portage.py", line 2906, in spawnebuild filemode=060, filemask=0) File "/usr/lib64/portage/pym/portage_util.py", line 696, in apply_recursive_permissions onerror(e) File "/usr/lib64/portage/pym/portage_util.py", line 691, in apply_recursive_permissions uid=uid, gid=gid, mode=filemode, mask=filemask) File "/usr/lib64/portage/pym/portage_util.py", line 743, in apply_secpass_permissions stat_cached=stat_cached, follow_links=follow_links) File "/usr/lib64/portage/pym/portage_util.py", line 592, in apply_permissions raise ReadOnlyFileSystem(func_call) portage_exception.ReadOnlyFileSystem: chown('/var/tmp/portage/games-fps/ut2004-data-3186-r3/temp/data1.hdr', 250, 250)
Created attachment 111132 [details] games-ut2k4mod.eclass Fixed check for Midway.tga
Created attachment 111133 [details] ut2004-data-3186-r3.ebuild Hopefully fixed sandbox violation. Please test this.
Ok, this emerged fine here now. Thank you very much. One thing is left when emerging ut2004-data: extracting: ./_Engine_Kernel_Placeholder/iKernel.dll extracting: ./_Engine_Kernel_Placeholder/Setup.dll extracting: ./_Engine_Kernel_Placeholder/DotNetInstaller.exe extracting: ./_Engine_Kernel_Placeholder/iscript.dll extracting: ./_Engine_Kernel_Placeholder/ctor.dll extracting: ./_Engine_Kernel_Placeholder/iuser.dll extracting: ./_Engine_Kernel_Placeholder/IGDI.dll extracting: ./_Engine_Kernel_Placeholder/ISBEW64.exe -------- ------- 1805 files rm: cannot remove `/var/tmp/portage/games-fps/ut2004-data-3186-r3/temp/logging': Is a directory
Ok, and there's another thing that's not so nice: Somehow the ut2004.xpm (/usr/share/pixmaps/ut2004.xpm) for the application shortcut is missing.
Created attachment 111159 [details] ut2004-data-3186-r3.ebuild Fixed "logging" message. Now ignoring US_License.int, because I assume it's useless. Do you have the Midway "Anthology" DVD, or the Midway UT2004-only DVD? Please attach the result of: equery files --md5sum ut2004-data Then I can check it against my "vanilla" installation. Also please mark your other attachments as obsolete, otherwise it's going to look pretty confusing :) The ut2004.xpm icon is a sore point - it's missing from the Midway DVDs, and not available easily. One way is to download the >250mb ut2004-demo, just for a 21k icon. Another way is "icotool -x Help/Unreal.ico", and then somehow change Unreal_7_48x48x32.png to an xpm file. For now, the only reasonable action is to ignore it.
Created attachment 111268 [details] ut2004-data-3186-r3.ebuild Uses imagemagick to create ut2004.xpm
(In reply to comment #16) The creation of the icon works fine. The icon is ok. Also no errors occur during emerge now. Thanks a lot. I'm using the Midway UT2004-only DVD.
Created attachment 111281 [details] The requested file list with md5 checksums
Created attachment 111284 [details] ut2004-data-3186-r3.ebuild Fixed file collisions with games-fps/ut2004.
Created attachment 111314 [details] New file list with md5 checksums The new ut2004-data ebuild from above works here. Attaching the "new" file list after using that ebuild.
Created attachment 111438 [details] games-ut2k4mod.eclass Fixed identification of the Midway Anthology DVD.
Created attachment 111440 [details] ut2004-data-3186-r3.ebuild Added more flexibility for the Anthology DVD. After installing, please attach the contents of /opt/ut2004/extract-filelist.txt
Created attachment 111475 [details] Unreal Anthology extracted cab file list from my /var/tmp/portage/games-fps/ut2004-data-3186-rs/work/ directory. using the unreal anthology dvd.
Created attachment 111487 [details] ut2004-data-3186-r3.ebuild Removes "4_UT2004_" from the Anthology directories.
Created attachment 111504 [details] ut2004-data-md5sum results of equery files --md5sum ut2004-data from Unreal Anthology dvd
Created attachment 111508 [details] ut2004-data-3186-r3.ebuild I had missed out Sounds & System from a loop. Other than that, it looks good.
Created attachment 111579 [details] games-ut2k4mod.eclass Standardized the detection of both Midway DVDs. Further tidying of games-ut2k4mod_src_unpack().
Created attachment 111667 [details] games-ut2k4mod.eclass Changed check_dvd() into 1 loop rather than 2.
Created attachment 111668 [details] ut2004-data-3186-r3.ebuild Fixed cdrom_get_cds for Anthology DVD - it was looking for Manual.pdf
Created attachment 111677 [details] ut2004-data-3186-r3.ebuild Added "dynamic" USE flag, for symlinking to system's SDL & openal libs. This is required anyway, with the Midway DVDs.
Created attachment 111760 [details] anthology_dvd_filelist.txt file list from Unreal Anthology DVD
Thanks Paul, this ebuild works pretty well. One thing I noticed, however, was that for both emerge ut2004 and ut2004 data (both were at the same time), I was not prompted for my CD key during the emerge the way the ebuild seems to indicate; I had to run emerge --config as root afterward. Also, you may want to fix the "accept license?" part, as typing "yes" as it indicated caused it to FAIL with an error about not understood. I had to re-emerge it and just type "y", even though the question asks "yes/no". Other than that, thanks for this. I am a happy Midway DVD buyer & user. :)
Created attachment 112050 [details] ut2004-3369-r4.ebuild Enclosed is a tidied ut2004 ebuild. Removed the comments about the libs, because the libs are involved with the ut2004-data ebuild. > prompted for my CD key during the emerge That would break (even more) the concept of non-interactive ebuilds. The ut2004 ebuild prompts you to run emerge --config ut2004 > fix the "accept license?" part It works for me. It's handled by eutils.eclass, i.e.: case ${alic} in yes|Yes|y|Y)
Created attachment 112051 [details] ut2004-data-3186-r3.ebuild Tidied comments.
Created attachment 112080 [details] ut2004-3369-r4.ebuild Creates /opt/ut2004/ut2004 script, to work with the ut2004 mods, e.g. ut2004-alienswarm.
Created attachment 113955 [details] games-ut2k4mod.eclass Distinguishes the *German* Midway DVD.
Created attachment 113957 [details] ut2004-data-3186-r3.ebuild Adds support for the German Midway DVD, hopefully.
Just to summarize the current situation: These ebuilds handle every UT2004 CD/DVD variation that I've seen mentioned. Discussion: http://forums.gentoo.org/viewtopic-t-526497.html The files involved are: games-ut2k4mod.eclass ut2004-3369-r4.ebuild ut2004-data-3186-r3.ebuild
I started looking at this today and noticed that the ebuilds do a ton of extra things besides just resolving this bug. It will take me a bit to strip out the actual fixes from the additional garbage in these ebuilds that we don't necessarily want.
Strip out what? These ebuilds are lengthy because they support umpteen UT2004 CD/DVDs. All the old ones, plus 3 new Midway DVDs - Anthology, German and er, "classic". And possibly some others that I don't yet know about.
For one, I'm not adding ImageMagick as a dependency (even build-time) for any of ut2004. I didn't look at it very closely, and just looked at the diff, but saw it was much more than necessary, meaning I'll need to take some time to apply parts of the diff manually. Remember, in general it is better to provide a single diff for a single problem, rather than trying sweeping changes, it makes it much harder to accept a patch outright, especially when parts of the patch are nothing more than coding style changes (moving "then" and "do" and such) that aren't necessary to add the functionality and only make for a longer patch. Like I said, I'll get to this one as soon as I get a nice block of time.
(In reply to comment #41) > For one, I'm not adding ImageMagick as a dependency (even build-time) for any > of ut2004. And the *reason* is? It's necessary, with some DVDs, to extract the icon. > in general it is better to provide a single diff for a single problem I know. The general case is inappropriate here, because the diff would be larger than the new ebuild. People need to be able to grab & test the ebuilds themselves, for necessary feedback, because they add support for DVDs that I don't *have*.
it's never "necessary" to provide an icon for the menu entry.
Created attachment 115472 [details] ut2004-data-3186-r3.ebuild Adds "icon" USE flag, to make imagemagick optional.
Created attachment 115939 [details] ut2004-data-3186-r3.ebuild Stops using ${T}, to hopefully fix this error: portage_exception.ReadOnlyFileSystem: chown('/var/tmp/portage/games-fps/ut2004-data-3186-r3/temp/data1.cab', 250, 250)
Most recent ut2004-data-3186-r3.ebuild (2007-04-10 20:50 0000), ut2004-3369-r4.ebuild (2007-03-04 17:03 0000) and games-ut2k4mod.eclass (2007-03-21 10:15 0000) worked here on ~amd64 with the Midway UT2004 (only) DVD.
I'm having trouble emergeing ut2004 using the Anthology edition. On emergeing ut2004-data-3186-r3 the script complains about not finding /media/dvd/System when probing for the disc. As you can see in the "anthology dvd filelist"-attachment, there is no such directory on the DVD.
(In reply to comment #47) > the script complains about Such vague error descriptions are *useless*. Don't try to interpret them. Show the error messages *exactly* as they appear.
First of all, thanks for making this run with all the repackaged DVD versions Midway seem to be pulling together just for the fun of it. The current ebuilds work fine on my amd64 system. Just for the record: I'm not sure what you consider to be the "German" version. I got a German Midway DVD that the eclass identifies as USE_MIDWAY_DVD, but not as USE_GERMAN_MIDWAY_DVD. It contains the AutoRunData folder and 5 Disk* folders, of which the last one contains the file data6.cab. What's the deal with the new games-ut2k4mod.eclass anyway? I mean: =============================================== diff /usr/portage/eclass/games-ut2k4mod.eclass /usr/local/portage/eclass/games-ut2k4mod.eclass 3c3 < # $Header: /var/cvsroot/gentoo-x86/eclass/games-ut2k4mod.eclass,v 1.11 2007/07/12 23:57:42 wolf31o2 Exp $ --- > # $Header: $ =============================================== ? As for the icon / imagemagick problem. I thinks it's a good idea to create the icon on the fly for the DVDs that are missing the file. However, we don't need a new USE flag for this. The "imagemagick" flag exists and should be respected by this ebuild. The reason why I'm actually replying to this bug is a short question. I noticed the message "scanelf: rpath_security_checks(): Security problem with relative DT_RPATH '.' in /var/tmp/portage/games-fps/ut2004-3369-r4/image/opt/ut2004/System/ut2004-bin" when emerging games-fps/ut2004. What does that mean? I guess it can't be fixed because ut2004 is a binary package? @Carl Olof Englund: Have you tried the ebuilds attached to this bug? I had the same message about a missing "System" path when I tried the ebuilds that are currently in Portage.
(In reply to comment #49) > what you consider to be the "German" version. Read http://forums.gentoo.org/viewtopic-t-526497.html > What's the deal with the new games-ut2k4mod.eclass anyway? It's been updated to be mine, with weird Changelog entries. > The "imagemagick" flag exists That would be confusing. This is not about compiling ut2004 to include runtime linking with imagemagick, it's about using imagemagick at compile-time *only*. Different type of usage. "icon" makes it blatantly obvious that the purpose is for the icon.
(In reply to comment #50) > Read http://forums.gentoo.org/viewtopic-t-526497.html I did. So I seem to have the edition mentioned in the first posting. Just wanted to note that the text on the jewel case and the ingame text is in German, so what you label "GERMAN_MIDWAY_DVD" in the ebuild might be a little confusing. Just wanted to clearify that to _you_, as the users won't see this anyway, and as long as the ebuild works... it works. :-) > > What's the deal with the new games-ut2k4mod.eclass anyway? > It's been updated to be mine, with weird Changelog entries. Still don't get the point in overlaying that file. The only change in the current version is the header. There's no functional difference to the version in Portage, so why not just use that one? > That would be confusing. This is not about compiling ut2004 to include runtime > linking with imagemagick, it's about using imagemagick at compile-time *only*. Right. But the imagemagick flag would have the advantage of users not having to mess around with another package specific USE flag. Plus it would have the advantage that users who have imagemagick installed usually have that USE flag autoset, so there's no need for them to edit /etc/portage/package.use. You might add some info text to the ebuild, telling confused users what the imagemagick flag ist used for in this ebuild. Well, just an idea. Stick to the icon flag if you prefer that.
Comment on attachment 113955 [details] games-ut2k4mod.eclass Marking eclass as obsolete, because it's been copied verbatim into Portage.
Installs fine with the US Midway Anthology DVD.
Created attachment 161312 [details, diff] ut2004-data.ebuild.diff My DVD has just another layout (TM) (I bet they have employed one person just for developing new layouts...). But it works, with a small modification of the ebuild (see patch): On my DVD are 8 cabs - (like the GERMAN_MIDWAY_DVD (actually ... it is a German one)) - but the disk directories are named "Disk" like in the normal Midway. And I don't see a reason for listing just another variant and explicitly link the cabs. So I replaced it by a simple for-loop. This should also make it more robust for smaller changes (like putting data2.cab into another disk dir - or reducing the number of cabs ...).
Created attachment 161380 [details] ut2004-data-3186-r3.ebuild OK, I've applied that patch, to make the symlinking elegant.
Concerning the icon: Would it be possible to distribute it via the files-dir. Or is this not possible due to license/gentoo policy issues?
It's not desirable, due to the potential licensing headache. The USA sucks, and Epic sucks (look at the UT3 Linux situation), so what's the point of encouraging their pathetic scumbag legal department. And before anyone says, "I'm not in the USA", Gentoo *is*.
I just used the attached ebuild with my (German?) Midway DVD with the contents I posted earlier here. Everything worked fine during installation, but when trying to run the game, I get these errors: 1. The installed binary /usr/games/bin/ut2004 wants to launch ./ut2004 in /opt/ut2004. However, this file does not exist here, only /opt/ut2004/System/ut2004-bin 2. The /opt/ut2004/System/ut2004-bin is linked against ./libSDL-1.2.so.0 but it cannot find that lib. $ /opt/ut2004/System/ut2004-bin /opt/ut2004/System/ut2004-bin: error while loading shared libraries: ./libSDL-1.2.so.0: cannot open shared object file: No such file or directory The symlink seems correct, however: $ ls -l /opt/ut2004/System/libSDL-1.2.so.0 lrwxrwxrwx 1 root root 26 Feb 16 17:43 /opt/ut2004/System/libSDL-1.2.so.0 -> /usr/lib64/libSDL-1.2.so.0 Then I noticed the ./ in front of the library name when I ran ldd on ut2004-bin $ ldd /opt/ut2004/System/ut2004-bin linux-vdso.so.1 => (0x00007fff137fe000) libdl.so.2 => /lib/libdl.so.2 (0x00007f940b3b1000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007f940b195000) ./libSDL-1.2.so.0 => not found libstdc++.so.5 => /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.6/libstdc++.so.5 (0x00007f940afc2000) libm.so.6 => /lib/libm.so.6 (0x00007f940ad3f000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f940ab29000) libc.so.6 => /lib/libc.so.6 (0x00007f940a7d4000) /lib64/ld-linux-x86-64.so.2 (0x00007f940b5b5000) So, it occured to me that, again /usr/games/bin/ut2004 was responsible, since it cd's to /opt/ut2004 only, so I changed that to /opt/ut2004/System and now ut2004 starts at least. 3. But after this, ut2004 segfaults here. I will attach a diff here for /usr/games/bin/ut2004 as well as a stack trace of the segfault.
Created attachment 182246 [details, diff] Patch to /usr/games/bin/ut2004 to work with my UT2004 Midway installation using the attached ebuild
Created attachment 182247 [details] strace of the segfault created with $ strace ut2004 > ./ut2004.strace 2>&1 Here is the stack trace of the segfault, I encountered. I'll be glad to provide any further required information.
FWIW, my ~/bin/ut2004 is: cd "/opt/ut2004/System" export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:..:." exe="ut2004-bin-linux-amd64" [[ $(uname -m) == "i686" ]] && exe="ut2004-bin" ./"${exe}" "$@"
Thanks for posting it, but unfortunately, I do not have a ut2004-bin-linux-amd64 binary /opt/ut2004/System. Where did you get it? Thanks, Martin
> Where did you get it? It's just the 64-bit ut2004 executable. Look at my uname check.
I do have a amd64 system (Intel Core2Quad), so there should be this binary, otherwise it must have another origin ...
What about loop devices? I have a virtual dvd of Unreal Antology in mdf format. I mount it as loop devices at /mnt/cdrom. Of course cdrom_get_cds don't work. If I comment this check it doesn't work too. What the solution may be without burning DVD?
you'd probably just set CD_ROOT in that case.
Fixed, thanks.
Created attachment 220189 [details] list of files in polish midway antology Hello, i foudn this bug and i was thinkig it is cure for my problems, but i see that my cd is difrent from others. Any help with that?
(In reply to comment #68) > Created an attachment (id=220189) [details] > list of files in polish midway antology > > Hello, i foudn this bug and i was thinkig it is cure for my problems, but i see > that my cd is difrent from others. Any help with that? > Sory my unreal antology DVD and its named "XKG Unreal"