!/bin/sh
#
# 2023/03/03 g.b. 
# OpenAFS 1.8.9 for CentOS 7.x, build of rpms
#
# Script based on:
# https://wiki.openafs.org/devel/HowToBuildOpenAfsRpmPackages/
#
#
  mkdir -p openafs-1.8.9
  cd openafs-1.8.9
#
# Download source release.
  wget https://www.openafs.org/dl/openafs/1.8.9/openafs-1.8.9-src.tar.bz2
  wget https://www.openafs.org/dl/openafs/1.8.9/openafs-1.8.9-doc.tar.bz2
  wget https://www.openafs.org/dl/openafs/1.8.9/RELNOTES-1.8.9
  wget https://www.openafs.org/dl/openafs/1.8.9/ChangeLog
#
  getstring=$(tar -xOf openafs-1.8.9-src.tar.bz2 '*/RedHat/openafs.spec.in' | grep 'https://www.central.org')
  celldbname_in_spec="${getstring##*/}"
#
# added for a newer version of CellServDB: the name is modofied to the one in the spec file
# if the file is available it is not retrieved from www.central.org
  wget http://grand.central.org/dl/cellservdb/CellServDB
  mv CellServDB $celldbname_in_spec
#
# Build the source RPM.
tar xf openafs-1.8.9-src.tar.bz2 --strip-components=4 '*/makesrpm.pl'
perl makesrpm.pl openafs-1.8.9-src.tar.bz2 openafs-1.8.9-doc.tar.bz2 RELNOTES-1.8.9 ChangeLog $celldbname_in_spec

# Install build dependencies.
  yum yum-builddep openafs-1.8.9-1.src.rpm
  yum install "kernel-devel-uname-r == $(uname -r)"
#
# Build RPMs.
  rpmbuild --rebuild -bc openafs-1.8.9-1.src.rpm
#
# Client packages installation
  list0=$(ls /root/rpmbuild/RPMS/x86_64/| egrep "^openafs-1|openafs-krb5|client|dkms|docs"| grep 1.8.9| grep -v debug)
  mkdir -p essential_rpms
  essential_client_rpms_list=""
  for p in $list0
  do
    rpm=/root/rpmbuild/RPMS/x86_64/$p
    cp -p $rpm essential_rpms
    essential_client_rpms_list="$essential_client_rpms_list $p"
  done
#
  echo "New rps are in $HOME/rpmbuild/RPMS/x86_64 directory"
#
