#!/bin/bash # Copyright 2010 - 2011 Nicolás Reynolds # Copyright 2011 Joshua Ismael Haase Hernández # ---------- GNU General Public License 3 ---------- # This file is part of Parabola. # Parabola is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # Parabola is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with Parabola. If not, see . source /etc/libretools.conf if [ $UID -ne 0 ]; then error "This script must be run as root" exit 1 fi usage() { echo "cd to a dir containing a PKGBUILD and run:" echo "$0 [options] [makepkg args]" echo echo "OPTIONS:" echo echo " -h : show this message" echo " -c : cleans CHCOPY and cachedir" echo " -u : updates before building" echo " -n chrootname : use this dir instead of CHCOPY" } CLEAN="" CLEAN_CACHE="" update_first=0 chrootname=${CHCOPY} while getopts 'hcCun' arg; do case "${arg}" in h) usage ;; c) CLEAN="-c" ;; C) CLEAN_CACHE="-C" ;; u) update_first=1 ;; n) chrootname="$OPTARG" ;; *) MAKEPKG_ARGS="$MAKEPKG_ARGS -$arg $OPTARG" ;; esac done msg "Checking PKGBUILD for non-free issues" pkgbuild-check-nonfree ||{ if [[ $? -eq 15 ]]; then error "PKGBUILD contains non-free issues" exit 15 else exit $? fi } if [ $update_first -eq 1 ]; then msg "Updating the main chroot" # -c option in mkarchroot indicates cache mkarchroot -c ${CACHEDIR} -u -- ${CHROOTDIR}/${CHROOT} fi msg "Creating the package" makechrootpkg $CLEAN -r ${CHROOTDIR} -l ${chrootname} -- $CLEAN_CACHE $MAKEPKG_ARGS umount ${CHROOTDIR}/${chrootname}/var/cache/pacman/pkg exit 0