#!/bin/bash # Generates a patch for a nonfree PKGBUILD # # Copyright 2010 Nicolás Reynolds # ---------- 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 . . /etc/libretools.conf cmd=${0##*/} usage() { echo "Usage: $cmd [ ...]" echo "Requirements:" echo " * Have a / directory with nonfree build scripts inside" echo " * Have a -libre/ directory with libre build scripts inside" } main() { local packages=("$@") if [[ ${packages[#]} = 0 ]]; then usage exit 1 fi for package in "${packages[@]}"; do if [[ ! -f ./${package}/PKGBUILD || ! -f ./${package}-libre/PKGBUILD ]] then error "Build scripts not found for ${package}(-libre)" else . ./${package}-libre/PKGBUILD [[ -z ${pkgbase} ]] && pkgbase=${pkgname} # Generate a diff file, no -r since we don't want to patch src/ nor pkg/ diff -auN ${package} ${package}-libre > $PATCHDIR/${pkgbase}-${pkgver}-${pkgrel}.patch done exit 0 } main "$@"