Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 119132

Summary: Ebuild for Uplink (commercial)
Product: Gentoo Linux Reporter: Allen Brooker (AllenJB) <gentoo-bugs>
Component: New packagesAssignee: Default Assignee for New Packages <maintainer-wanted>
Status: CONFIRMED ---    
Severity: enhancement CC: acturneruk, nbowler, nitro, spock255
Priority: High Keywords: EBUILD
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://uplink.co.uk/
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Uplink 1.31 Ebuild
Uplink license
Ebuild: Uplink 1.31 r1
Updated Uplink 1.31 ebuild
Debug ebuild for Uplink - see comment
Output from emerge -v uplink
Ebuild for Uplink 1.31 (r2)
Ebuild for Uplink 1.31 (r2) (corrected)
Ebuild for Uplink 1.31 (r2) (corrected)
Diff uplink-1.31-r2 to uplink-1.31-r3
games-strategy/uplink-1.6 ebuild
Manifest for 1.6
~/.uplink/debug.log

Description Allen Brooker (AllenJB) 2006-01-15 14:58:39 UTC
New ebuild for commercial game uplink. Requested on forums.
Comment 1 Allen Brooker (AllenJB) 2006-01-15 14:59:24 UTC
Created attachment 77199 [details]
Uplink 1.31 Ebuild
Comment 2 Allen Brooker (AllenJB) 2006-01-15 14:59:49 UTC
Created attachment 77200 [details]
Uplink license
Comment 3 Andrew Turner 2006-01-15 22:44:46 UTC
The latest issue of the game contains the file uplink-complete-1.31.sh (which is the complete fully patched game), and not the old uplink.zip.
Comment 4 Andrew Turner 2006-01-17 13:32:08 UTC
Running the game as a normal user (i.e. typing "uplink" in a terminal) gives me the following error:-

/opt/uplink
/opt/uplink/uplink: line 38: /opt/uplink/lib/uplink.bin.x86: Permission denied

Game runs fine when executing as root.
Comment 5 Allen Brooker (AllenJB) 2006-01-17 15:02:05 UTC
(In reply to comment #4)
> Running the game as a normal user (i.e. typing "uplink" in a terminal) gives me
> the following error:-
> 
> /opt/uplink
> /opt/uplink/uplink: line 38: /opt/uplink/lib/uplink.bin.x86: Permission denied
> 
> Game runs fine when executing as root.
> 

What platform is this on and is it definitely with the above ebuild, with the installation unmodified?

This file doesn't even exist in my version and I can find no similar files other than /opt/uplink/uplink, which isn't a script. (There's no /opt/uplink/lib directory at all on my install, altho this is on amd64 but as far as I know the game is only available in 32-bit edition)

Could you also give the output of the following on the (assuming /mnt/cdrom is your cdrom mount point) /mnt/cdrom/linux/uplink.zip file on the Uplink CD:
unzip -l uplink.zip
This command will list the contents of the zip file (check with unzip --help)

Also on the uplink CD there should be a file /mnt/cdrom/readme.txt, at the top of which there should be a version number. Please quote this.

My suspicion is that you have a much more recent uplink CD than I do, and its contents are different.
Comment 6 Allen Brooker (AllenJB) 2006-01-17 15:05:14 UTC
Oh, and one final peice of information. The output of:
ls -lR /opt/uplink/
Comment 7 Allen Brooker (AllenJB) 2006-01-17 16:08:21 UTC
Err, just checked back on the thread at http://forums.gentoo.org/viewtopic-p-3039383.html#3039383 (which I actually forogt abotu because I forgot to put it on watch, but that's life) where you obviously have changed the installation method.

Unfortunately the downloadable copy of this file (from http://uplink.co.uk/otherfiles.html ) doesn't seem to want to work for me. For some strange reason it's giving me the following error:
allen@lister ~/new/downloads/games/uplink/sh $ ./uplink-full-1.31.sh
bash: ./uplink-full-1.31.sh: /bin/sh: bad interpreter: Permission denied

If I look at the mentioned file I get:
allen@lister ~/new/downloads/games/uplink/sh $ ls -l /bin/sh
lrwxrwxrwx  1 root root 4 Jul  7  2005 /bin/sh -> bash
allen@lister ~/new/downloads/games/uplink/sh $ ls -l /bin/bash
-rwxr-xr-x  1 root root 793176 Jul  7  2005 /bin/bash

I've worked through the code and manually extracted the file. But unfortunately there's further scripts inside which cause the same error.

I'm currently looking into an alternatively tar.gz download that appears to be available.
Comment 8 Andrew Turner 2006-01-17 22:24:14 UTC
The file in question is uplink-complete-1.31.sh, not uplink-full-1.31.sh (which is just the latest patch for the full game, as opposed to the demo).  The file uplink-complete-1.31.sh is on the latest issue of the CD and, I would imagine, if you pay to direct download the game at introversion.co.uk.

Sorry for posting about modified source files.
Comment 9 Allen Brooker (AllenJB) 2006-01-18 12:55:02 UTC
Created attachment 77457 [details]
Ebuild: Uplink 1.31 r1

Updated ebuild for Uplink - this version should now support the 1.31 version CD. Unfortunately I only have 1.0 here, so please test this and report back whether it works or not.

Also, if you have a CD that is not recognised by this ebuild, please report that too.
Comment 10 Andrew Turner 2006-01-18 13:16:05 UTC
When emerging (with the CD containing uplink-complete-1.31.sh) I get the following in the output (although it does finish the emerge successfully):-

Uncompressing Uplink complete 1.31............................................................................
mv: cannot stat `/var/tmp/portage/uplink-1.31-r1/image///opt/uplink/tmp/uplink/bin/Linux/x86/uplink': No such file or directory
cp: cannot stat `/var/tmp/portage/uplink-1.31-r1/image///opt/uplink/tmp/uplink/*': No such file or directory

When typing "uplink" as a normal user (in the games group) I get:-

/usr/games/bin/uplink: line 10: /opt/uplink/uplink: is a directory
/usr/games/bin/uplink: line 10: exec: /opt/uplink/uplink: cannot execute: Success
Comment 11 Allen Brooker (AllenJB) 2006-01-19 08:15:16 UTC
Created attachment 77538 [details]
Updated Uplink 1.31 ebuild

I've corrected a minor mistake which caused the previous ebuild not to work.
Comment 12 Allen Brooker (AllenJB) 2006-01-21 07:15:36 UTC
Created attachment 77710 [details]
Debug ebuild for Uplink - see comment

This ebuild is slightly updated, but mostly I've added A LOT of debug comments to help with the fact that I'm relying on people who have a different version of the CD to me for testing. This ebuild will give a HUGE amount of output.
Comment 13 Andrew Turner 2006-01-21 07:56:08 UTC
Created attachment 77722 [details]
Output from emerge -v uplink
Comment 14 Allen Brooker (AllenJB) 2006-01-21 09:56:05 UTC
Created attachment 77731 [details]
Ebuild for Uplink 1.31 (r2)

New ebuild. This has been updated and should now work with the 1.31 CD. Note that this isn't a debug ebuild like my previous, so there's no horrendous amounts of output.

Many thanks to Andrew for the testing.
Comment 15 Allen Brooker (AllenJB) 2006-01-21 11:36:15 UTC
Created attachment 77743 [details]
Ebuild for Uplink 1.31 (r2) (corrected)

Missed a handful of verbose flags.
Comment 16 Allen Brooker (AllenJB) 2006-01-21 11:42:48 UTC
Created attachment 77746 [details]
Ebuild for Uplink 1.31 (r2) (corrected)

Missed a - on the unzip command. That's what I get for using unrar all day.
Comment 17 Andrew Turner 2006-01-22 01:11:15 UTC
Just to confirm this is working with the uplink-complete-1.31.sh version of the game.
Comment 18 Sonny Lander 2006-08-21 09:27:01 UTC
I tried to install uplink using this ebuild and it failed :(

Calculating dependencies... done!
>>> Emerging (1 of 1) games-strategy/uplink-1.31-r2 to /
>>> checking ebuild checksums ;-)
>>> checking auxfile checksums ;-)
>>> checking miscfile checksums ;-)
>>> checking linuxpatch1.31.tar.gz ;-)
 * This ebuild will need the cdrom for uplink

 * If you do not have the CD, but have the data files
 * mounted somewhere on your filesystem, just export
 * the variable CD_ROOT so that it points to the
 * directory containing the files.

 * For example:
 * export CD_ROOT=/mnt/cdrom

 * Found CD #1 root at /mnt/hdb
 * Found the original Uplink CD (1.0)
 * Copying uplink.zip to /var/tmp/portage/uplink-1.31-r2/distdir
>>> Unpacking source...
>>> Unpacking linuxpatch1.31.tar.gz to /var/tmp/portage/uplink-1.31-r2/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/uplink-1.31-r2 ...
>>> Source compiled.
>>> Test phase [not enabled]: games-strategy/uplink-1.31-r2

>>> Install uplink-1.31-r2 into /var/tmp/portage/uplink-1.31-r2/image/ category games-strategy
>>> Completed installing uplink-1.31-r2 into /var/tmp/portage/uplink-1.31-r2/image/

man:
QA Notice: // installed in ${D}/${D}
QA Notice: //opt installed in ${D}/${D}
QA Notice: //opt/uplink installed in ${D}/${D}

!!! ERROR: games-strategy/uplink-1.31-r2 failed.
Call stack:
  misc-functions.sh, line 409:   Called install_qa_check
  misc-functions.sh, line 182:   Called die

!!! Aborting due to QA concerns: 3 files installed in /var/tmp/portage/uplink-1.31-r2/image///var/tmp/port                              age/uplink-1.31-r2/image/
!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! install_qa_check failed; exiting.
!!! This ebuild is from an overlay: '/usr/local/overlay'
Comment 19 Sonny Lander 2006-08-21 11:36:48 UTC
(In reply to comment #18)

The old ebuild 1.31 works, i have the old cd, let me know what you need to fix this error :)
Comment 20 Allen Brooker (AllenJB) 2006-08-21 13:16:14 UTC
Created attachment 94801 [details, diff]
Diff uplink-1.31-r2 to uplink-1.31-r3

I've fixed the problem. It was a superfluous dodir command. Attached is a patch.
Comment 21 Alex Waite 2006-09-30 15:33:03 UTC
(In reply to comment #20)
> Created an attachment (id=94801) [edit]
> Diff uplink-1.31-r2 to uplink-1.31-r3
> 
> I've fixed the problem. It was a superfluous dodir command. Attached is a
> patch.
> 

Looks like thigns are going well.  Any idea when this might hit portage?


---Alex
Comment 22 Allen Brooker (AllenJB) 2006-10-02 08:13:07 UTC
Just a small note to say I'm aware of the current beta patch that's just been released (1.49) - I have limited net access right now but that should be resolved this week and I'll be looking at it then.
Comment 23 Allen Brooker (AllenJB) 2006-10-02 08:14:15 UTC
And to answer the above query, this'll probably hit portage when a developer takes an interest in it, which could easily be never =)
Comment 24 Chris Gianelloni (RETIRED) gentoo-dev 2006-10-02 15:25:17 UTC
Some time after I drop the money to buy the game or someone buys it for me.  ;]

We don't add games, especially binary games, that we don't own and cannot verify, if only because it makes it impossible to support.
Comment 25 Allen Brooker (AllenJB) 2006-11-01 06:49:07 UTC
I've uploaded an updated ebuild for Uplink 1.53 to my website at http://allenjb.me.uk/ - I won't upload it here because Introversion have told me that the test directory currently being used for the current patch isn't a reliable download location (the patches are deleted as new ones are released).

Also note that the location of the data files has changed and that this affects any modifications (such as gateways) you have - you'll need to move any directories you have to compensate. For example, in my case I needed to move the graphics and data directories in /opt/uplink to /opt/uplink/lib
Comment 26 Sonny Lander 2007-03-26 18:41:28 UTC
(In reply to comment #24)
> Some time after I drop the money to buy the game or someone buys it for me.  ;]
> 
> We don't add games, especially binary games, that we don't own and cannot
> verify, if only because it makes it impossible to support.
> 

I'll buy it for a dev :) its only like $10 right...?
If that is all we need email me and we can work out some details.
Comment 27 Chris Gianelloni (RETIRED) gentoo-dev 2007-03-27 14:39:46 UTC
Mail sent...
Comment 28 Aniruddha 2008-03-03 19:29:36 UTC
I get the following error messgae:

>>> Install uplink-1.31-r2 into /var/tmp/portage/games-strategy/uplink-1.31-r2/image/ category games-strategy
Creating directory /var/tmp/portage/games-strategy/uplink-1.31-r2/image///opt/uplink/tmp
Verifying archive integrity... All good.
Uncompressing Uplink complete 1.31............................................................................
>>> Completed installing uplink-1.31-r2 into /var/tmp/portage/games-strategy/uplink-1.31-r2/image/



 * QA Notice: Pre-stripped files found:
 * /var/tmp/portage/games-strategy/uplink-1.31-r2/image/opt/uplink/lib/uplink.bin.x86
/var/tmp/portage/games-strategy/uplink-1.31-r2/image/opt/uplink/lib/libgcc_s.so.1
strip: i686-pc-linux-gnu-strip --strip-unneeded -R .comment
   opt/uplink/lib/libmikmod.so.3
   opt/uplink/lib/libSDL_mixer-1.2.so.0
   opt/uplink/lib/libSDL-1.2.so.0
   opt/uplink/lib/libgltt.so.0

 * QA Notice: The following files contain runtime text relocations
 *  Text relocations force the dynamic linker to perform extra
 *  work at startup, waste system resources, and may pose a security
 *  risk.  On some architectures, the code may not even function
 *  properly, if at all.
 *  For more information, see http://hardened.gentoo.org/pic-fix-guide.xml
 *  Please include this file in your report:
 *  /var/tmp/portage/games-strategy/uplink-1.31-r2/temp/scanelf-textrel.log
 * TEXTREL opt/uplink/lib/libSDL-1.2.so.0


 * QA Notice: The following files contain executable stacks
 *  Files with executable stacks will not work properly (or at all!)
 *  on some architectures/operating systems.  A bug should be filed
 *  at http://bugs.gentoo.org/ to make sure the file is fixed.
 *  For more information, see http://hardened.gentoo.org/gnu-stack.xml
 *  Please include this file in your report:
 *  /var/tmp/portage/games-strategy/uplink-1.31-r2/temp/scanelf-execstack.log
 * RWX --- --- opt/uplink/lib/libSDL-1.2.so.0

 * QA Notice: // installed in ${D}/${D}
 * QA Notice: //opt installed in ${D}/${D}
 * QA Notice: //opt/uplink installed in ${D}/${D}
 *
 * ERROR: games-strategy/uplink-1.31-r2 failed.
 * Call stack:
 *       misc-functions.sh, line 609:  Called install_qa_check
 *       misc-functions.sh, line 204:  Called die
 * The specific snippet of code:
 *              die "Aborting due to QA concerns: ${INSTALLTOD} files installed in ${D}/${D}"
 *  The die message:
 *   Aborting due to QA concerns: 3 files installed in /var/tmp/portage/games-strategy/uplink-1.31-r2/image///var/tmp/portage/games-strategy/uplink-1.31-r2/image/
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/games-strategy/uplink-1.31-r2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/games-strategy/uplink-1.31-r2/temp/environment'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 *
!!! install_qa_check failed; exiting.
                             
Comment 29 DJ Dunn 2010-10-29 08:55:39 UTC
can anybody get an ebuild bumping this up to version 1.55?  the link for the patch is here http://forums.introversion.co.uk/uplink/viewtopic.php?t=37053&sid=4a01a662ae3ac3f3854ba5de08c6f6d8
Comment 30 Nick Bowler 2011-11-24 21:17:59 UTC
Created attachment 293647 [details]
games-strategy/uplink-1.6 ebuild

Here's an ebuild for the 1.6 release included in the latest humble bundle.

NOTE: untested on x86!

The uplink binary links against a huge number of libraries that it doesn't
actually call any functions from (presumably they're transitive dependencies).
One of these is a bundled lib (an older version of libmikmod).  We could
probably patch up the binary to remove all these useless deps...
Comment 31 Nick Bowler 2011-11-24 21:19:18 UTC
Created attachment 293651 [details]
Manifest for 1.6
Comment 32 Jared B. 2011-11-27 22:05:33 UTC
just to confirm - new 1.6 ebuild works great here.  Thanks, all.
Comment 33 Thomas 2012-08-21 08:15:10 UTC
Created attachment 321840 [details]
~/.uplink/debug.log

I can't start Uplink as a normal user (beein in the games group) cause of the attached error. The only way to play is to start it as root.
Comment 34 Jared B. 2012-08-21 23:53:32 UTC
I just tried rebuilding/reinstalling the game and it still works for me.  Few questions to try to narrow the problem:

1. Perhaps you're trying to install a different, or differently packaged version.  Can you provide the checksum of your uplink_1.6-1_amd64.tar.gz file?

2. Dumb question, I know, but I have to ask:  did you just add yourself to the games group right before or after installing this?  If so, can you try logging off and back on, then running it again?

3. Can you please post the output of these two commands?
ls -l /opt/uplink/
file /opt/uplink/music.dat
Comment 35 Thomas 2012-08-22 06:42:21 UTC
(In reply to comment #34)
> 1. Perhaps you're trying to install a different, or differently packaged
> version.  Can you provide the checksum of your uplink_1.6-1_amd64.tar.gz
> file?
$ md5sum /usr/portage/distfiles/uplink_1.6-1_amd64.tar.gz 
8ee01e7d0d688339fbd84e2005d4625b  /usr/portage/distfiles/uplink_1.6-1_amd64.tar.gz

It's the one from the newest humble bundle.

> 2. Dumb question, I know, but I have to ask:  did you just add yourself to
> the games group right before or after installing this?  If so, can you try
> logging off and back on, then running it again?
I was in the games group long before. Other games work like a charm.

> 3. Can you please post the output of these two commands?
> ls -l /opt/uplink/
> file /opt/uplink/music.dat
$ ls -l /opt/uplink/
insgesamt 28488
-rw-r----- 1 root games    34911 19. Aug 01:02 data.dat
-rw-r----- 1 root games    79490 19. Aug 01:02 fonts.dat
-rw-r----- 1 root games  5645148 19. Aug 01:02 graphics.dat
drwxr-x--- 2 root games      138 19. Aug 01:25 lib64
-rw-r----- 1 root games  1722352 19. Aug 01:02 loading.dat
-rw-r----- 1 root games  2271462 19. Aug 01:02 music.dat
-rw-r----- 1 root games   262020 19. Aug 01:02 patch.dat
-rw-r----- 1 root games     5104 19. Aug 01:02 patch2.dat
-rw-r----- 1 root games   290014 19. Aug 01:02 patch3.dat
-rw-r----- 1 root games  2659854 19. Aug 01:02 sounds.dat
-rwxr-x--- 1 root games  1780560 19. Aug 01:02 uplink.bin.x86_64
-rw-r----- 1 root games 14400792 19. Aug 01:02 world.dat
$ file /opt/uplink/music.dat
/opt/uplink/music.dat: Zip archive data, at least v1.0 to extract
Comment 36 Jared B. 2012-08-24 03:14:32 UTC
Well crud.  I'm afraid I have nothing for you.  I have the exact same installer, using the same ebuild (you're using Nick's 1.6 ebuild, right?), and it works like a champ for me.  I was thinking there was maybe some weird permission problem going on, but you can obviously read the files in the game directory just fine.  Based in the error message it it looks like the game is having trouble either seeing or unpacking the files music.dat, but I have no idea why.  The only other thing I can think of is perhaps you're missing an expected library that isn't covered by the ebuild dependencies.  Try the following and look for anything that's not found:

ldd /opt/uplink/uplink.bin.x86_64

If everything looks good there as well, I'm afraid I don't know what else to suggest.
Comment 37 Thomas 2012-08-24 06:29:44 UTC
(In reply to comment #36)

Yes, I'm using nicks ebuild.
I don't think there's a dependencie error as I'm able to start the game as root. But I used ldd and everything is found.

After some googling I found this: http://forums.introversion.co.uk/uplink/viewtopic.php?p=418431 with the solution:
"You might want to make a note on the patch that it requires all the .dat files to be in lib/ *maybe this was required with 1.3x and I just wasn't paying attention"
I really don't want to copy/move files by hand (that's something the ebuild should handle) and also he doesn't seem to mean the /opt/uplink/lib64 dir, cause copying the files to this directory doesn't help. Maybe you copied the files by hand in the past and that's cause it works for you?
Comment 38 Jared B. 2012-08-26 04:07:31 UTC
Again, I'm afraid I don't know what else to suggest that this point.  Maybe try changing the /opt/upling first and then running ./uplink.bin.x86_64 directly?  Maybe trying to rename ~/.uplink to clear any saved preferences?  I don't know.  Based on what you've shown, it should just work, and I really don't know any more than you about how it's supposed to work (I've never even played the game yet), just that it does work fine on my system.

As for the /lib thing, I don't think that's applicable here.  It looks like it is looking in the correct location for the data files:

REDSHIRT : Failed to load file : /opt/uplink/music/serenity.uni

And, if music.dat was properly loaded and unpacked, that's where you'd find the file:

$ unzip -l /opt/uplink/music.dat *serenity.uni
Archive:  /opt/uplink/music.dat
  Length      Date    Time    Name
---------  ---------- -----   ----
   249963  09-03-2001 01:44   music/serenity.uni

I just don't understand why you wouldn't be able to read or unpack that file as a normal user.  Unless anyone else following this bug has any ideas, my next suggestion would be to ask upstream.  Maybe someone that actually knows how the thing works would be able to offer some more guidance.
Comment 39 Thomas 2012-08-26 04:25:35 UTC
> I just don't understand why you wouldn't be able to read or unpack that file
> as a normal user.  Unless anyone else following this bug has any ideas, my
> next suggestion would be to ask upstream.  Maybe someone that actually knows
> how the thing works would be able to offer some more guidance.
http://forums.introversion.co.uk/uplink/viewtopic.php?p=435537#435537 - Hopefully somebody will help.