You are not logged in.

#1 2009-08-28 06:18:26

lolilolicon
Member
Registered: 2009-03-05
Posts: 1,722

Help me with my first PKGBUILD and concerns.

This is my first-time-ever PKGBUILD. I'm noobie-noobie, my questions must be silly-silly.

pkgname=iat-git
pkgver=0.1.7
pkgrel=1
pkgdesc="Iso9660 Analyzer Tool is a tool for detecting the structure of many types of image file."
arch=('i686' 'x86_64')
url="http://iat.berlios.de"
license=('GPL')
depends=('')
makedepends=('git')
provides=('iat')
conflicts=('')
source=()
md5sums=()

_gitroot="git://git.berlios.de/iat"
_gitname=master

build() {
  msg "Connecting to GIT server..."
  if [[ -d $srcdir/$pkgname ]]; then
    cd $srcdir/$pkgname && git pull . $_gitname || return 1
  else
    git clone $_gitroot $srcdir/$pkgname || return 1
    cd $srcdir/$pkgname
      git checkout $_gitname || return 1
  fi

  msg "GIT checkout done or server timeout"

  ./autogen.sh || return 1
  ./configure --prefix=/usr || return 1
  make || return 1
  make DESTDIR="$pkgdir/" install
}

# vim:set ts=2 sw=2 et:

It builds on my machine.
What makes me feel uncomfortable is

$ tree pkg
pkg
`-- usr
    |-- bin
    |   `-- iat
    |-- include
    |   |-- calculate_pregap.h
    |   |-- cmdline.h
    |   |-- convert_2_iso.h
    |   |-- debug.h
    |   |-- define.h
    |   |-- ecma119.h
    |   |-- ecma167.h
    |   |-- mkcore.h
    |   |-- mkcue.h
    |   |-- mktoc.h
    |   |-- mmc2r11.h
    |   `-- util.h
    `-- share
        `-- man
            `-- man1
                `-- iat.1.gz

define.h? debug.h? util.h?
Those names are too common! My /usr/include/ directory already contains utils.h.
I wonder what would happen if there is already a util.h in my /usr/include?
What do poeple do to avoid conflictions like this?

Well, do I even need to install those *.h files to /usr/include/? Why, that iat in [community] installs only /usr/bin/iat and nothing else. I can't open the SVN entries at the package page so I don't know what is in that PKGBUILD.

Last edited by lolilolicon (2009-08-28 06:28:10)


This silver ladybug at line 28...

Offline

#2 2009-08-28 06:29:20

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,422
Website

Re: Help me with my first PKGBUILD and concerns.

Those include files do seem a bit unnecessary.    Check for a configure option to put them in /usr/include/iat/ or not to install them.  Otherwise you could add a "rm -rf $pkgdir/usr/include" to you PKGBUILD

You can remove the empty depends and conflicts lines.  I guess you need to keep the source and md5sums to upload to the AUR...

Offline

#3 2009-08-28 07:02:08

Stefan Husmann
Member
From: Germany
Registered: 2007-08-07
Posts: 1,391

Re: Help me with my first PKGBUILD and concerns.

The pkgver will be overwritten by the current date if you build the package, I guess. But you can add it to the provides array.

provides=('iat=1.1.7')

I would also suggest to fill the conflicts  array

conflicts=('iat')

Last edited by Stefan Husmann (2009-08-28 07:03:05)

Offline

#4 2009-08-28 07:05:03

lolilolicon
Member
Registered: 2009-03-05
Posts: 1,722

Re: Help me with my first PKGBUILD and concerns.

@Allan
Yes you're right. Those files are redundant. The binary alone is enough. Did a great job converting one of my .bin image to .iso.

So I'm gonna up this to AUR? Lemmesee...

@Stefan
Yep, it is overwritten... Strange (or smart!).

It looks like this now.

pkgname=iat-git
pkgver=20090828
pkgrel=1
pkgdesc="Iso9660 Analyzer Tool is a tool for detecting the structure of many types of image file."
arch=('i686' 'x86_64')
url="http://iat.berlios.de"
license=('GPL')
makedepends=('git')
provides=('iat')
conflicts=('iat')
source=()
md5sums=()

_gitroot="git://git.berlios.de/iat"
_gitname=master

build() {
  msg "Connecting to GIT server..."
  if [[ -d $srcdir/$pkgname ]]; then
    cd $srcdir/$pkgname && git pull . $_gitname || return 1
  else
    git clone $_gitroot $srcdir/$pkgname || return 1
    cd $srcdir/$pkgname
      git checkout $_gitname || return 1
  fi

  msg "GIT checkout done or server timeout"

  ./autogen.sh || return 1
  ./configure --prefix=/usr --includedir=/usr/include/iat || return 1
  make || return 1
  make DESTDIR="$pkgdir/" install || return 1
  rm -rf $pkgdir/usr/include #comment this out if you want include files...
}

# vim:set ts=2 sw=2 et:

Last edited by lolilolicon (2009-08-28 07:17:43)


This silver ladybug at line 28...

Offline

#5 2009-08-28 09:28:07

tomk
Forum Fellow
From: Ireland
Registered: 2004-07-21
Posts: 9,839

Re: Help me with my first PKGBUILD and concerns.

lolilolicon wrote:

@Stefan
Yep, it is overwritten... Strange (or smart!).

Smart smile - this is intended behaviour. Code checked out from git does not have an official version number, so the date of the checkout is used instead.

Offline

Board footer

Powered by FluxBB