You are not logged in.

#1 2008-08-02 15:08:55

FeatherMonkey
Member
Registered: 2007-02-26
Posts: 313

Wrong permissions when it is built.

I maintain Vulturesclaw. http://aur.archlinux.org/packages.php?ID=14157

I was about to update but I've noticed on my old PKGBUILD though everything seems to be building fine, there is just one problem with the permissions on the $USERS/~ file. It resorts to being owned by root.

Can anyone see what I can do to change it, I have to admit I really struggled with this pkg first time around.

pkgname=vulturesclaw
pkgver=2.1.1
pkgrel=1
pkgdesc="An isometric graphics interface to Slashem."
arch=('i686' 'x86_64')
url="http://www.darkarts.co.za/projects/vultures/"
license=('custom')
depends=('sdl_mixer' 'sdl_ttf' 'sdl_image' 'libpng' 'flex' 'bison')
    source=(http://usrsrc.org/svn/vultures/releases/$pkgver/vultures-$pkgver-full.tar.bz2)
md5sums=('3f0393e112407ae0e99b8da6784ec7d9')


build() {
  mkdir -p $startdir/pkg/usr/bin
  mkdir -p $startdir/pkg/usr/share/applications
  mkdir -p $startdir/pkg/usr/share/icons/hicolor/48x48/apps
  mkdir -p $startdir/pkg/usr/share/licenses
  cd $startdir/src/vultures-$pkgver/slashem/sys/unix
  sh setup.sh
  
  cd $startdir/src/vultures-$pkgver/slashem/include
  sed -e '/define HACKDIR/ s|/boot/apps/NetHack|/usr/share/vulturesclaw|' \
      -e '/^# define COMPRESS\s/ s|/usr/bin/compress|/bin/gzip|' \
      -e '/^# define COMPRESS_EXTENSION/ s|".Z"|".gz"|' \
      -e 's|^/\* \(#define DLB\) \*/|\1|' -i config.h

  sed -e 's|^/\* \(#define LINUX\) \*/|\1|' \
      -e 's|^/\* \(#define TIMED_DELAY\) \*/|\1|' -i unixconf.h
  
  cd $startdir/src/vultures-$pkgver/slashem
  sed -e '/^GAMEUID\s*=/ s|games|root|' \
      -e '/^GAMEGRP\s*=/ s|bin|root|' \
      -e '/^SHELLDIR\s*=/ s|/local||' \
      -e '/^GAMEDIR\s*=/ s|/local/slashemdir|/share/vulturesclaw|' -i Makefile
  
  make || return 1
  make PREFIX=$startdir/pkg/usr install
  
  cd $startdir/pkg/usr/bin
  sed -e 's|^HACKDIR=.*|HACKDIR=/usr/share/vulturesclaw|' -i vulturesclaw
  
  install -Dm644 $startdir/src/vultures-$pkgver/slashem/dat/license $startdir/pkg/usr/share/licenses/$pkgname/license
  install -Dm644 $startdir/src/vultures-$pkgver/dist/linux/vulturesclaw.desktop $startdir/pkg/usr/share/applications/vulturesclaw.desktop
  install -Dm644 $startdir/pkg/usr/share/$pkgname/vulturesclaw.png $startdir/pkg/usr/share/icons/hicolor/48x48/apps/vulturesclaw.png
}

Offline

#2 2008-08-05 11:44:19

FeatherMonkey
Member
Registered: 2007-02-26
Posts: 313

Re: Wrong permissions when it is built.

A little bump

Perhaps someone can point me to where in what I presume is C or C++ permissions would be set?

Offline

#3 2008-08-05 17:43:33

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: Wrong permissions when it is built.

If you manually fix the permission, does it still work?

Offline

#4 2008-08-05 19:25:23

FeatherMonkey
Member
Registered: 2007-02-26
Posts: 313

Re: Wrong permissions when it is built.

It does, but the folder seems to be only created after first time ran, so unsure how I would implement it.

I tried to use the plain vulturesclaw but that refused to compile, seemed to be looking for headers in the wrong place.

Having just updated it, the final PKGBUILD

pkgname=vulturesclaw
pkgver=2.1.2
pkgrel=1
pkgdesc="An isometric graphics interface to Slashem."
arch=('i686' 'x86_64')
url="http://clivecrous.lighthouseapp.com/projects/11282-vulture-s"
license=('custom')
depends=('sdl_mixer' 'sdl_ttf' 'sdl_image' 'libpng' 'flex' 'bison')
    source=(http://downloads.usrsrc.org/vultures/$pkgver/vultures-$pkgver-full.tar.bz2)
md5sums=('d31598c0e347648896c085fc961385d7')


build() {
  mkdir -p $startdir/pkg/usr/bin
  mkdir -p $startdir/pkg/usr/share/applications
  mkdir -p $startdir/pkg/usr/share/icons/hicolor/48x48/apps
  mkdir -p $startdir/pkg/usr/share/licenses
  cd $startdir/src/vultures-$pkgver/slashem/sys/unix
  sh setup.sh
  
  cd $startdir/src/vultures-$pkgver/slashem/include
  sed -e '/define HACKDIR/ s|/boot/apps/NetHack|/usr/share/vulturesclaw|' \
      -e '/^# define COMPRESS\s/ s|/usr/bin/compress|/bin/gzip|' \
      -e '/^# define COMPRESS_EXTENSION/ s|".Z"|".gz"|' \
      -e 's|^/\* \(#define DLB\) \*/|\1|' -i config.h

  sed -e 's|^/\* \(#define LINUX\) \*/|\1|' \
      -e 's|^/\* \(#define TIMED_DELAY\) \*/|\1|' -i unixconf.h
  
  cd $startdir/src/vultures-$pkgver/slashem
  sed -e '/^GAMEUID\s*=/ s|games|root|' \
      -e '/^GAMEGRP\s*=/ s|bin|users|' \
      -e '/^SHELLDIR\s*=/ s|/local||' \
      -e '/^GAMEDIR\s*=/ s|/local/slashemdir|/share/vulturesclaw|' -i Makefile
  
  make || return 1
  make PREFIX=$startdir/pkg/usr install
  
  cd $startdir/pkg/usr/bin
  sed -e 's|^HACKDIR=.*|HACKDIR=/usr/share/vulturesclaw|' -i vulturesclaw
  
  install -Dm644 $startdir/src/vultures-$pkgver/slashem/dat/license $startdir/pkg/usr/share/licenses/$pkgname/license
  install -Dm644 $startdir/src/vultures-$pkgver/dist/linux/vulturesclaw.desktop $startdir/pkg/usr/share/applications/vulturesclaw.desktop
  install -Dm644 $startdir/pkg/usr/share/$pkgname/vulturesclaw.png $startdir/pkg/usr/share/icons/hicolor/48x48/apps/vulturesclaw.png
}

As you can see I'm doing some sed in the makefile, I suspect changing the GAMEUID would work, but some how that doesn't sound like the solution or would I even know what to.

Offline

Board footer

Powered by FluxBB