You are not logged in.

#1 2016-01-17 12:25:42

michis
Member
Registered: 2015-12-12
Posts: 77

need help with PKGBUILD, ELF file outside of a valid path

Hi,

I'm writing a PKGBUILD for dynablaster-revenge, this is what I have so far

pkgname=dynablaster-revenge
pkgver=1.0.2
pkgrel=1
pkgdesc="Remake of the classic game dynablaster aka bomberman"
arch=('x86_64')
url=('https://dynablaster.titandemo.de')
license=('GPL2')
depends=('qt4' 'sdl2')
source=("http://prods.j-chaos.net/dynablaster_revenge.zip")
md5sums=('276e6b701d87c1e33504d240d17f853a')

package() {
    cd "$srcdir/dynablaster_revenge_v1_0_2"
    mkdir -p "$pkgdir/usr/share/games/dynablaster-revenge"
    cp -r data "$pkgdir/usr/share/games/dynablaster-revenge/"
    install -Dm755 dynablaster_linux_x64 "$pkgdir/usr/bin/dynablaster_linux_64"
    #install -m755 server_linux_x64 "$pkgdir/usr/share/games/dynablaster-revenge/"

    echo -e "#!/bin/bash\n(cd /usr/share/games/dynablaster-revenge; dynablaster_linux_x64)" \
            > "$pkgdir/usr/bin/dynablaster-revenge" 
    chmod 755 "$pkgdir/usr/bin/dynablaster-revenge"
}

dynablaster_linux_x64 is the binary that starts the game. It needs to be executed from the games data directory ( /usr/share/games/dynablaster-revenge/ ).
So I create the script /usr/bin/dynablaster-revenge

#!/bin/bash
(cd /usr/share/games/dynablaster-revenge; dynablaster_linux_x64)

I think this way it's not so nice (with bash completion in mind) because there are two files dynablaster* in /usr/bin/ but only one works to start the game.
If I install dynablaster_linux_x64 to /usr/share/games/ namcap gives an error: "ELF file outside of a valid path".

So my question is what is the favourite way to handle this?

1. install the binary in /usr/share/games/dynablaster-revenge/ and ignore the namcap error
2. install it to /usr/bin/ and ignore that it's in the $PATH but does not work to start the game
3. maybe install it to /usr/lib/games/dynablaster-revenge/ or /usr/lib/dynablaster-revenge/ ?

Last edited by michis (2016-01-17 12:35:41)

Offline

#2 2016-01-17 13:08:32

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,522
Website

Re: need help with PKGBUILD, ELF file outside of a valid path

I'd say go with #1 or #3.

But I mainly posted to request that you get rid of the pointless subshell in your script:

#!/bin/bash
cd /usr/share/games/dynablaster-revenge
dynablaster_linux_x64

"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2016-01-17 13:27:40

michis
Member
Registered: 2015-12-12
Posts: 77

Re: need help with PKGBUILD, ELF file outside of a valid path

Ah, thanks for the hint. Now as I see it, I don't remember excactly why I used the subshell.

I think I will use #1.

Offline

Board footer

Powered by FluxBB