#!/bin/bash # Random integrity things [ "$UID" = "" ] && UID=$(uid) # Useful functions source_makepkg () { if [ -f "/etc/makepkg.conf" ]; then #Get some config info . /etc/makepkg.conf else echo "/etc/makepkg.conf does not exist!" exit 1 fi } repo_lock () { #repo_lock repo-name arch LOCKFILE="/tmp/.repolck.$1.$2" if [ -f "$LOCKFILE" ]; then owner="$(/usr/bin/stat -c %U $LOCKFILE)" echo "error: db generation is already in progress (started by $owner)" exit 1 else /bin/touch "$LOCKFILE" fi } repo_unlock () { #repo_unlock repo-name arch LOCKFILE="/tmp/.repolck.$1.$2" if [ ! -f "$LOCKFILE" ]; then echo "error: repo lock doesn't exist... something went terribly wrong!" else rm -f "$LOCKFILE" fi } # Get the package name from the filename # hackish, but should work for now getpkgname() { local tmp tmp=${1##*/} tmp=${tmp%$PKGEXT} tmp=${tmp%$SRCEXT} tmp=${tmp%-$CARCH} echo ${tmp%-*-*} } check_pkg_arch () { #check_pkg_arch pkgfile arch local arch _arch="$(/usr/bin/bsdtar -xOf "$1" .PKGINFO | /bin/grep "^arch" | /bin/sed 's|\w*\s*=\s*\(.*\)|\1|')" if [ -z "$_arch" ]; then echo "ERROR: Package '$1' has no arch in the PKGINFO. Fail!" return 1 fi if [ "$_arch" = "$2" ]; then echo "yay" return 0 else echo "nay" return 1 fi } # vim: set ts=4 sw=4 noet ft=sh: