# Maintainer: Márcio Silva <coadde@lavabit.com>

pkgname=openhpi
pkgver=3.2.0
pkgrel=4
pkgdesc='Abstracted interface for managing computer hardware, typically chassis and rack based servers'
arch=(
  i686
  x86_64
  mips64el
)
url=http://www.$pkgname.org/
license=custom
depends=(
  libxml2
  net-snmp
)
options=(!libtool)
source=http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
sha512sums=5a54ccc2279b3a608e2842dd3b4f01d7d483182ecd33d1d33186247cea15b62f1e0aea4eea1294cd6c3959a25424dc322cca73e516f4c8fd9d3a41a949d087ab

prepare() {
  cd $srcdir/$pkgname-$pkgver

  _automake=$(automake --version | grep automake | sed 's|automake (GNU automake) ||')
  sed -i "/am__api_version=/ s|1.12|${_automake::4}|;
         " $(grep -rl am__api_version=)

  #sed -i 's|INCLUDES|AM_CPPFLAGS|;
  #       ' $(grep -rl INCLUDES | grep Makefile.am)

  # fixing path
  sed -i 's|bin/sh|usr/bin/bash|;
         ' $(grep -rl bin/sh)
  sed -i 's| /bin| /usr/bin|;
         ' $(grep -rl ' /bin')
  sed -i 's| /sbin| /usr/bin|;
         ' $(grep -rl ' /sbin')
  sed -i 's|usr/sbin|usr/bin|;
         ' $(grep -rl usr/sbin)
  #sed -i 's|/lib64|/lib|;
  #       ' $(grep -rl /lib64)
  sed -i 's|usr/libexec|usr/lib|;
         ' $(grep -rl usr/libexec)
  sed -i 's|var/lock|run/lock|;
         ' $(grep -rl var/lock)
  sed -i 's|var/run|run|;
         ' $(grep -rl var/run)

  # remove Open Source term
  #sed -i 's|Open Source / ||;
  #        s|open source / ||;
  #        s|Open Source|Free Software|;
  #        s|open source|free software|;
  #        s|Free Software Development Lab|Open Source Development Lab|;
  #       ' $(grep -ril 'open source')
  #sed -i 's|OpenSource / ||;
  #        s|opensource / ||;
  #        s|OpenSource|FreeSoftware|;
  #        s|opensource|freesoftware|;
  #        s|freesoftware.org|opensource.org|;
  #        s|http://www.opensource.org/|http://www.gnu.org/philosophy/free-sw.html|;
  #        s|http://www.gnu.org/philosophy/free-sw.htmllicenses/osl-|http://opensource.org/licenses/osl-|;
  #        s|http://www.gnu.org/philosophy/free-sw.htmlosd|http://opensource.org/osd|;
  #       ' $(grep -ril opensource)

  # remove Linux term
  sed -i 's|Linux,|GNU/Linux,|;
          s|Linux and|GNU/Linux and|;
          s|Linux distro|GNU/Linux distro|;
          s|Linux distribution|GNU/Linux distribution|;
          s|Linux machine|GNU/Linux machine|;
          s|Linux Only|GNU/Linux Only|;
          s|Linux only|GNU/Linux only|;
          s|Linux operating|GNU/Linux operating|;
          s|Linux OS|GNU/Linux OS|;
          s|Linux platform|GNU/Linux platform|;
          s|Linux software|GNU/Linux software|;
          s|Linux specific|GNU/Linux specific|;
          s|Linux system|GNU/Linux system|;
          s|Linux will|GNU/Linux will|;
          s|# Linux$|# GNU/Linux|;
          s|# Linux.$|# GNU/Linux.|;
          s|* Linux$|* GNU/Linux|;
          s|* Linux.$|* GNU/Linux.|;
          s|// Linux$|// GNU/Linux|;
          s|// Linux.$|// GNU/Linux.|;
          s|, Linux|, GNU/Linux|;
          s|As Linux|As GNU/Linux|;
          s|as Linux|as GNU/Linux|;
          s|And Linux|And GNU/Linux|;
          s|and Linux|and GNU/Linux|;
          s|Be Linux|Be GNU/Linux|;
          s|be Linux|be GNU/Linux|;
          s|Because Linux|Because GNU/Linux|;
          s|because Linux|because GNU/Linux|;
          s|e.g. Linux|e.g. GNU/Linux|;
          s|For Linux|For GNU/Linux|;
          s|for Linux|for GNU/Linux|;
          s|In Linux|In GNU/Linux|;
          s|in Linux|in GNU/Linux|;
          s|Like Linux|Like GNU/Linux|;
          s|like Linux|like GNU/Linux|;
          s|non-Linux|non GNU/Linux|;
          s|Of Linux|Of GNU/Linux|;
          s|of Linux|of GNU/Linux|;
          s|On Linux|On GNU/Linux|;
          s|on Linux|on GNU/Linux|;
          s|OS type: Linux|OS type: GNU/Linux|;
          s|Other Linux|Other GNU/Linux|;
          s|other Linux|other GNU/Linux|;
          s|The Linux|The GNU/Linux|;
          s|the Linux|the GNU/Linux|;
          s|Typically Linux|Typically GNU/Linux|;
          s|typically Linux|typically GNU/Linux|;
          s|To Linux|To GNU/Linux|;
          s|to Linux|to GNU/Linux|;
          s|Under Linux|Under GNU/Linux|;
          s|under Linux|under GNU/Linux|;
          s|ArchGNU/Linux|ArchLinux|;
          s|e2fsprogs, typically GNU/Linux|e2fsprogs, typically Linux|;
          s|GNU/GNU|GNU|;
          s|GNU/Linux device|Linux device|;
          s|GNU/Linux Director Daemon|Linux Director Daemon|;
          s|GNU/Linux is a registered trademark of Linus Torvalds|Linux is a registered trademark of Linus Torvalds|;
          s|GNU/Linux kernel|Linux kernel|;
          s|GNU/Linux specific kernel|Linux specific kernel|;
          s|GNU/Linux Standard Base|Linux Standard Base|;
          s|GNU/Linux sysfs|Linux sysfs|;
          s|GNU/Linux Virtual Server|Linux Virtual Server|;
          s|GNU/Linux Watchdog|Linux Watchdog|;
          s|GNU/Linux watchdog|Linux watchdog|;
          s|GNU/LinuxHA|LinuxHA|;
          s|GNU/Linux-HA|Linux-HA|;
          s|GNU/LinuxSCSI|LinuxSCSI|;
          s|HA GNU/Linux|HA Linux|;
          s|High-Availability GNU/Linux|High-Availability Linux|;
          s|MkGNU/Linux|MkLinux|;
          s|SEGNU/Linux|SELinux|;
          s|VA GNU/Linux Cluster|VA Linux Cluster|;
         ' $(grep -rl Linux)
}

build() {
  cd $srcdir/$pkgname-$pkgver
  setarch $CARCH ./configure --prefix=/usr\
    --disable-static\
    --enable-clients\
    --enable-dynamic_simulator\
    --enable-ilo2_ribcl\
    --enable-ipmidirect\
    --enable-man\
    --enable-oa_soap\
    --enable-simulator\
    --enable-slave\
    --enable-snmp_bc\
    --enable-sysfs\
    --enable-test_agent\
    --enable-watchdog\
    --localstatedir=/var\
    --sbindir=/usr/bin\
    --sysconfdir=/etc
  setarch $CARCH make
}

package() {
  cd $srcdir/$pkgname-$pkgver
  setarch $CARCH make DESTDIR=$pkgdir install

  rm $pkgdir/etc/init.d/openhpid && rmdir $pkgdir/etc/init.d

  install -d $pkgdir/usr/lib/systemd/system
  echo '[Unit]'                                                           >  $pkgdir/usr/lib/systemd/system/openhpi.service
  echo 'Description=Enable OpenHPI service which is provided by openhpid' >> $pkgdir/usr/lib/systemd/system/openhpi.service
  echo 'After=network.target remote-fs.target'                            >> $pkgdir/usr/lib/systemd/system/openhpi.service
  echo ''                                                                 >> $pkgdir/usr/lib/systemd/system/openhpi.service
  echo '[Service]'                                                        >> $pkgdir/usr/lib/systemd/system/openhpi.service
  echo 'Type=forking'                                                     >> $pkgdir/usr/lib/systemd/system/openhpi.service
  echo 'ExecStart=/usr/bin/openhpid -c /etc/openhpi/openhpi.conf'         >> $pkgdir/usr/lib/systemd/system/openhpi.service
  echo ''                                                                 >> $pkgdir/usr/lib/systemd/system/openhpi.service
  echo '[Install]'                                                        >> $pkgdir/usr/lib/systemd/system/openhpi.service
  echo 'WantedBy=multi-user.target'                                       >> $pkgdir/usr/lib/systemd/system/openhpi.service
}

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