#!/bin/bash # This script will help you diff a *-libre PKGBUILD against the unfree one # to check for updates. # 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 . source /etc/libretools.conf custom_config=$XDG_CONFIG_HOME/libretools/libretools.conf [[ "$1" == "--help" ]] && { msg "Diff-Unfree helps you diff build scripts from ABSLibre against (Unfree) ABS. Package name and repo will we guessed if you don't specify them." msg2 "Usage: $0 [unfree-package] [repo]" exit 0 } [[ ! -r PKGBUILD ]] && { error "This is not a build dir." exit 1 } package_guess=$(basename $PWD) package=${1:-${package_guess/-libre}} repo=${2:-$(basename $(dirname $PWD))} tmp_dir=$(mktemp -d /tmp/${package}.XXXXXX) unfree_dir="${tmp_dir}/packages/${package}/trunk" svnrepo="packages" case $repo in; community*) svnrepo="community" ;; multilib*) svnrepo="community" ;; *) ;; esac [[ ! -d "${tmp_dir}" ]] && { error "Can't create temp dir" exit 1 } stdnull 'pushd "${tmp_dir}"' msg "Getting diff from $repo/$package..." stdnull 'svn checkout --depth=empty svn://svn.archlinux.org/$svnrepo' cd packages svn update ${package} # Back to start dir stdnull popd msg "Diffing files" for _file in ${unfree_dir}/*; do msg2 "$(basename "${_file}")" ${DIFFTOOL} "$PWD/$(basename "${_file}")" "${_file}" done exit $?