View previous topic :: View next topic |
Am I crazy or not (please read post before voting). |
You so crazy! |
|
21% |
[ 4 ] |
No, the procedure sucks ass. |
|
63% |
[ 12 ] |
No frickin' way I'm reading that long-ass post! |
|
10% |
[ 2 ] |
You're simply incredibly wrong and I have posted below authoritative information proving this. |
|
5% |
[ 1 ] |
|
Total Votes : 19 |
|
Author |
Message |
DeathAndTaxes Tux's lil' helper
Joined: 27 Mar 2003 Posts: 124
|
Posted: Thu Sep 16, 2004 4:37 am Post subject: Ugh. (the ut2004 linux procedure) |
|
|
Here's what's asked of the linux user when all they want to do is patch their ut2004 install from version 3236-r1 (probably a gentoo-specific level) to 3323:
Code: | >>> md5 src_uri ;-) ut2004-lnxpatch3323.tar.bz2
* Do you accept the terms of this license (ut2003)? [yes/no] yes
* The installed game takes about 6.8GB of space!
* This package will need access to 6 cds.
* If you do not have the CDs, but have the data files
* mounted somewhere on your filesystem, just export
* the following variables so they point to the right place:
* CD_ROOT_1 CD_ROOT_2 CD_ROOT_3 CD_ROOT_4 CD_ROOT_5 CD_ROOT_6
* Or, if you have all the files in the same place, or
* you only have one cdrom, you can export CD_ROOT
* and that place will be used as the same data source
* for all the CDs.
* Please insert cd #1 for ut2004 now !
* Press return to scan for the cd again
* or hit CTRL+C to abort the emerge. |
Am I alone to think this is utterly ridiculous? Why not just run the original installer and then have *all* successive patches merely apply the patch (*gasp*)?
This franchise has really taken a turn south since the original ut. I support the Unreal franchise, I've bought every PC version of Unreal except for Unreal2. However, it's unreasonable to require the linux users to copy 6 CDs worth of data to their HD so they can export those directories as variables on the command line. Even requiring all 6 CDs to be present at the time of PATCHING is incredible.
I can't seem to remember clearly, but I don't think I even had to have a single CD in the drive for patching the windoze version of ut2004, but I might be wrong...It's been a while since I did that. I remember the CD for UT had to be in the drive as I think some botpack.something files was probably actually getting patched while it copied over.
Am I crazy or am I right? |
|
Back to top |
|
|
ScArE2100 n00b
Joined: 09 Mar 2003 Posts: 20 Location: Washington State
|
Posted: Thu Sep 16, 2004 4:49 am Post subject: |
|
|
Yeah I think its dumb too.
Code: | emerge -C ut2004 && cd /mnt/dvdrw && ./linux-installer.sh |
is my solution _________________ School, bored, sleep. My life in 3 words 2 commas and 1 period. |
|
Back to top |
|
|
DeathAndTaxes Tux's lil' helper
Joined: 27 Mar 2003 Posts: 124
|
Posted: Thu Sep 16, 2004 4:56 am Post subject: |
|
|
Ok, I need to back off a bit from my rant...BTW, I got the CDs, not the DVD.
I guess it's actually the ebuild's maintainer's fault. I usually really appreciate maintainers, but I can unpack this tarball manually and apply the patch without even thinking about the CDs.
Shouldn't the ebuild detect that the game is already installed and if so, just unpack the tarball to the appropriate directory? I mean, if I didn't have ut2004 already installed, it'd be neat to actually have this little message telling you how to install ut2004, etc...But if it's already installed, it's completely unnecessary to do anything but unpack the files where they go. Ok, so now you can vote again! |
|
Back to top |
|
|
DeathAndTaxes Tux's lil' helper
Joined: 27 Mar 2003 Posts: 124
|
Posted: Thu Sep 16, 2004 5:01 am Post subject: |
|
|
I think
Code: | mv /opt/ut2004 /usr/local/games/ut2004 ; emerge --unmerge ut2004 |
is my solution. I mean, the ebuild is actually making this thing HARDER?!? I rely on the qmail ebuild to do sooo many things right, but this is an excellent example of how to maintain a package in portage wrongly, IMO.
I usually really respect and appreciate package maintainers as they usually have the most thankless job in the entire gentoo experience...However, we should NOT accept this ebuild into portage in it's current state.
(note, this is not me volunteering to maintain the package, simply that the current ebuild is actually harder than just handling this package outside of portage manually) |
|
Back to top |
|
|
grenouille Tux's lil' helper
Joined: 12 Jun 2004 Posts: 97
|
Posted: Thu Sep 16, 2004 10:12 am Post subject: |
|
|
The problem isn't the ebuild or the maintainer or the game itself...
The problem is the way portage works. It doesn't update things, it installs the new version and removes the former one. So I dunno if for now it's possible to have a game like ut2004 upgraded with portage without reinstalling the whole thing |
|
Back to top |
|
|
Naib Watchman
Joined: 21 May 2004 Posts: 6065 Location: Removed by Neddy
|
Posted: Thu Sep 16, 2004 10:44 am Post subject: |
|
|
Yes
It is how Portage Work - doing what is needed for UT patch would go against the philosopy of the Portage.
It is annoying but still. I use Portage with UT2004 to tell me when a new patch is out (if I havn't spotted it before).
I use my install script to install it and test the game.
I then just
#emerge inject games-fps/ut2004-3323
To let portage "think" I emerged it
Has worked allways |
|
Back to top |
|
|
tactless l33t
Joined: 14 Jul 2002 Posts: 642 Location: Mitzpe Adi, Israel
|
Posted: Thu Sep 16, 2004 11:47 am Post subject: |
|
|
Well, as people have mentioned, portage simply doesn't DO patching.
But...
If I am not mistaken, the UT2004 patches are not cumulative: to get version X, you do not need versions B through W, just "version A" - i.e, the base install.
Actually, this is true for most commercial games. So I have a bit of a radical suggestion, but hey - it might work. If you like this, say so. Who knows, I might get highlighted in the next GWN
Let's say you've installed a commercial game on your system, using the CD-included installer. You put it in /usr/local/games/doom3/.
Now, you want to patch doom3 to the latest version in portage. The ebuild will be called doom3-patches.
Code: | # emerge -u doom3-patches
Latest patch version is 4567. Checking currently installed version...
(Note: If possible, not the version portage installed, the version the game has! The mechanism to check this will be in programmed the ebuild)
Error: Currently installed location is not known. Please add the following line to /etc/portage/package.locations (create this file if it does not exist):
doom3 /path/to/doom3/
# echo "doom3 /usr/local/games/doom3" >> /etc/portage/package.locations
# emerge -u doom3-patches
Latest patch version is 4567. Checking currently installed version... 4558.
Patching...
>>> bla
>>> bla bla
>>> bla bla bla bla
>>> bla bla bla bla bla
> Done! |
Of course, it could be a good idea to add a basic doom3 ebuild which installs from the CD, and adds the appropraite info to /etc/portage/package.locations automatically.
What do you think? _________________ Tactless
"If it wasn't for fog, the world would run at a really crappy framerate."
Jabber: tactless@amessage.info |
|
Back to top |
|
|
GrayFox Apprentice
Joined: 24 Jan 2004 Posts: 183 Location: Germany
|
Posted: Thu Sep 16, 2004 2:40 pm Post subject: |
|
|
There are two ways I can think of that could make you life easier. First one would be to write your own ut2004-patch ebuild that is just copying the patch files to the ut dir. Should be very easy to maintain. Second you could patch you ut manually and then inject the new ut version.
EDIT: oops I should have read tactless' post more carefully _________________ Random Stuff |
|
Back to top |
|
|
BlackEdder Advocate
Joined: 26 Apr 2004 Posts: 2588 Location: Dutch enclave in Egham, UK
|
Posted: Thu Sep 16, 2004 2:46 pm Post subject: |
|
|
I always start emerge, then stop it after the license agreement, it will have downloaded the patch by then to /usr/portage/distfiles. Install thi manually and inject the new ut version:) it's not pretty, but it works |
|
Back to top |
|
|
GrayFox Apprentice
Joined: 24 Jan 2004 Posts: 183 Location: Germany
|
Posted: Thu Sep 16, 2004 6:01 pm Post subject: |
|
|
Ok I tried to make an ebuild that checks /etc/portage/package.games and looks for a line like:
Code: | ut2004 /path/to/ut2004 |
It's really just a workaround for the stupid portage update issue and additionally you can also patch ut if you have installed it with the run file.
Code: | inherit games
DESCRIPTION="UT2004 Patch"
HOMEPAGE="http://www.icculus.org/"
SRC_URI="http://0day.icculus.org/ut2004/ut2004-lnxpatch${PV}.tar.bz2"
LICENSE="ut2003"
SLOT="0"
KEYWORDS="x86 amd64"
IUSE=""
RESTRICT="nostrip"
DEPEND=""
RDEPEND="amd64? ( app-emulation/emul-linux-x86-xlibs )"
S="${WORKDIR}"
pkg_setup() {
cat /etc/portage/package.games || die "no /etc/portage/package.games found!"
for i in $( grep ut2004 /etc/portage/package.games );do
PATHUT=$i
done
games_pkg_setup
}
dir="${PATHUT}"
Ddir="${D}${dir}"
src_unpack() {
unpack ut2004-lnxpatch${PV}.tar.bz2
}
src_install() {
dodir ${Ddir}
insinto ${PATHUT}Animations/
doins UT2004-Patch/Animations/*
insinto ${PATHUT}Help/
doins UT2004-Patch/Help/*
insinto ${PATHUT}Textures/
doins UT2004-Patch/Textures/*
insinto ${PATHUT}System/
doins UT2004-Patch/System/*
}
pkg_postinst() {
einfo "UT2k4 Patched"
}
|
There are some bugs I didn't take care of and they're pretty obvious:
1. If you create the package.games file make sure it has the ut2004 line with the path in it and make sure it's correct!
2. The Patches might have files I didn't include in the doins insinto stuff... looks like for example v 3323 and 3270 are slightly different.(v3270 doesn't have Animations I think)
Well I'm sure there's somebody out there who can fix that because my ebuild/bash skills are minimal or maybe he even writes an even better ebuild.
If you want to try it out copy the file ut2004-patch-{VERSION}.ebuild into you're portdir_overlay/games-fps/ut2004-patch/
Then run
Code: | ebuild ut2004-patch-{VERSION}.ebuild digest
emerge ut2004-patch |
_________________ Random Stuff |
|
Back to top |
|
|
deathdruid Guru
Joined: 25 Jul 2002 Posts: 343 Location: Philadelphia, PA, USA
|
Posted: Thu Sep 16, 2004 8:24 pm Post subject: |
|
|
What we need is two ebuilds, one called ut2004-data and the other ut2004-bin. Only the ut2004-bin ebuild should be run for patches that do not affect data files. |
|
Back to top |
|
|
Naib Watchman
Joined: 21 May 2004 Posts: 6065 Location: Removed by Neddy
|
Posted: Thu Sep 16, 2004 8:27 pm Post subject: |
|
|
again I stress:
How would you un-emerge a patch if you had to (like if a patch turned out to be dodgy)
The portage system does not cater for what would be needed - ie
When a patch is emerged a list of all files being replaced is taken and these files put into a bachup.tar.gz within the ut2004 install directory.
If for some reason you have to un-emerge the patch, portage deletes the files the ebuild merged in BUT it would then have to unzip the archive and install those files |
|
Back to top |
|
|
GrayFox Apprentice
Joined: 24 Jan 2004 Posts: 183 Location: Germany
|
Posted: Thu Sep 16, 2004 8:33 pm Post subject: |
|
|
Well can you do this when you manually patch UT? Can you actually tell me a program which you can "un-patch" like that? I don't think so. Besides copying the old patch over the new one(or doing a emerge =ut2004-patch-{older-version}) does downgrade ut. _________________ Random Stuff |
|
Back to top |
|
|
deathdruid Guru
Joined: 25 Jul 2002 Posts: 343 Location: Philadelphia, PA, USA
|
Posted: Thu Sep 16, 2004 8:41 pm Post subject: |
|
|
I realize that it would have to redo all the files apart from the data files even if they were not part of the patch, but for me the biggest anoyance is the time it takes to copy the large data files. So the ut2004-bin/ut2004-data idea works fine for me.
As for uninstalling, you would unmerge the latest patch and re-emerge the previous version. |
|
Back to top |
|
|
GrayFox Apprentice
Joined: 24 Jan 2004 Posts: 183 Location: Germany
|
Posted: Thu Sep 16, 2004 8:49 pm Post subject: |
|
|
Maybe I'm just too stupid but...
Isn't that exactly what I meant? You have the normal ut2004 ebuild. For a first installation or if it's broken etc. Then when you want to patch it you use ut2004-patch. Then if that patch breaks anything you can just emerge an earlier patch with that ebuild...
I still don't get your point sorry. _________________ Random Stuff |
|
Back to top |
|
|
deathdruid Guru
Joined: 25 Jul 2002 Posts: 343 Location: Philadelphia, PA, USA
|
Posted: Thu Sep 16, 2004 9:00 pm Post subject: |
|
|
Here's the thing. I want ut2004 to be my application. Not ut2004 + ut2004-patch. I don't want to do "emerge ut2004; emerge ut-2004-patch", just "emerge ut2004".
Your version:
ut2004 --> original ut2004 off cd + data files
ut2004-patch --> new files in patch
My version:
ut2004 --> application binaries and other files, but no data files
(depends on)
ut2004-data --> data files
This is not saying that your ebuild idea does not work, I just like mine better. |
|
Back to top |
|
|
Naib Watchman
Joined: 21 May 2004 Posts: 6065 Location: Removed by Neddy
|
Posted: Thu Sep 16, 2004 9:34 pm Post subject: |
|
|
GrayFox wrote: | Well can you do this when you manually patch UT? Can you actually tell me a program which you can "un-patch" like that? I don't think so. Besides copying the old patch over the new one(or doing a emerge =ut2004-patch-{older-version}) does downgrade ut. |
my point is that is how Portage operates. Thats all |
|
Back to top |
|
|
GrayFox Apprentice
Joined: 24 Jan 2004 Posts: 183 Location: Germany
|
Posted: Thu Sep 16, 2004 10:12 pm Post subject: |
|
|
Ah now I get it. The only problem then is what if not all files are included in the next patch? For example in 3270 There is no Animations folder(correct me if I'm wrong) but in 3323 there is one. Of course the idea is really good but hard to realize. _________________ Random Stuff |
|
Back to top |
|
|
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Thu Sep 16, 2004 11:48 pm Post subject: |
|
|
@Grayfox: They will be.
tactless wrote: | If I am not mistaken, the UT2004 patches are not cumulative: to get version X, you do not need versions B through W, just "version A" - i.e, the base install. |
|
|
Back to top |
|
|
tactless l33t
Joined: 14 Jul 2002 Posts: 642 Location: Mitzpe Adi, Israel
|
Posted: Fri Sep 17, 2004 12:16 am Post subject: |
|
|
Okay, since you seem to like my idea, I'll address some of the issues that have been raised.
deathdruid: There is no need to make a distinction between data and binary files (both of which, actually, are binary data ). Patches update both. Even what you call plain 'data' has scripting information that changes with the patches. It makes no sense to keep separate ebuilds. Rather, an ebuild for the commercially distributed (CD, DVD) version, and an ebuild for patches.
Your thinking works well for many other projects, which do have a nice split between binary versions and data versions. UT2004, however, updates all in one fell swoop, so this split cannot be reliably done.
Naib: As for patch backrolling, this would be complicated under any system - not just portage. Basically, the easiest way to unroll would be to reinstall the CD version and possible install a previous patch version (usually the patch alone will suffice). For better speed, you might want to check the creation timestamps on all files. Anything newer than the CD/DVD version gets replaced by the original version. Then you can apply a patch.
Overall, it would be nice to get all this in one ebuild - have portage realize when the game is already installed and all, but I'm pretty sure that this would require a package to depend on a previous version of itself, which portage wouldn't like. _________________ Tactless
"If it wasn't for fog, the world would run at a really crappy framerate."
Jabber: tactless@amessage.info |
|
Back to top |
|
|
|