#!/bin/bash # Maintainer: Peter Iwanowitsch # Contributor: Sibren Vasse # Contributor: Jakob Gahde # Contributor: Kurt J. Bosch _lang='de' # Source directories containing the RPMs to install _source_dirs=( "${_lang}/RPMS" ) # Install path components as found in RPMs _install_prefix='opt' _install_name='openoffice4' _install_path=${_install_prefix}/${_install_name} pkgname=openoffice-${_lang}-bin pkgver=4.1.4 pkgrel=1 pkgdesc="German language pack for OpenOffice.org - Repackaged from upstream" arch=('i686' 'x86_64') url="http://www.openoffice.org/" license=('APACHE') # see below depends=( "openoffice>=${pkgver}" ) makedepends=( 'rpmextract' ) options=(!strip docs) install=openoffice-i18n-bin.install # AUR is tricky source=( http://apache.org/dist/openoffice/${pkgver}/binaries/${_lang}/ ) md5sums=('SKIP') sha256sums=('SKIP') case "$CARCH" in i686 ) source=(http://apache.org/dist/openoffice/${pkgver}/binaries/${_lang}/Apache_OpenOffice_${pkgver}_Linux_x86_langpack-rpm_${_lang}.tar.gz) md5sums[0]='477b5d00585cf5778b0f0dbec47bb93a' sha256sums[0]='4230d0d7bdbbb0c2374e0fea863e6f9843a84d78f591b3d7d974a886b4a0d47b' ;; x86_64 ) source=(http://apache.org/dist/openoffice/${pkgver}/binaries/${_lang}/Apache_OpenOffice_${pkgver}_Linux_x86-64_langpack-rpm_${_lang}.tar.gz) md5sums[0]='b92c04806c647a256c3365967fb1e002' sha256sums[0]='c9a1443c7e329751a18f4ae2d6f5b214e872317524aca7b6df71ada4cffdf23b' esac _find_rpms() { local dir file for dir in "${_source_dirs[@]}"; do dir=${srcdir:-src}/${dir} ( cd "${dir}" ) # check existing for file in $( find "${dir}" -type f -name '*.rpm' ); do if ! [[ $file == */desktop-integration/* && $file != *-freedesktop-menus-* ]] && ! [[ $file == */jre-* ]]; then echo "${file}" elif type -p msg2 >/dev/null; then msg2 "Skipping ${file##*/}" >&2 else echo "Skipping ${file##*/}" >&2 fi done done } _ln_s_t() { local dir=$1 prefix=$2 shift 2 mkdir -p "$dir" local file for file in "${@}"; do readlink -v -e "${file}" >/dev/null # check existing ln -s -T /"${file}" "${dir}/${prefix}${file##*/}" done } package() { cd "${pkgdir}" # unpack RPMs local file for file in $( _find_rpms ); do msg2 "Extracting ${file##*/}" rpmextract.sh "${file}" done # msg2 "Completing package" # # add licenses (found by find pkg -ipath '*license*') # _ln_s_t usr/share/licenses/${pkgname} '' \ # ${_install_path}/program/LICENSE } ## Functions for manual usage # makepkg -o && source PKGBUILD && _list_rpm_depends # Helper for finding external dependencies _list_rpm_depends() { local file for file in $( _find_rpms ); do r=$( rpmmeta -t requirename "${file}" | sed -re 's;(ooobasis|ooo-dev|ooodev|openoffice|rpmlib)[^ ]*;;g' ) [[ $r ]] || continue echo ${file##*/} $r done } # makepkg -o && source PKGBUILD && _find_license_files # Helper for finding license files _find_license_files() { find pkg -ipath '*license*' -type f } # makepkg -o && source PKGBUILD && _make_install_script >${install}.new # Helper for porting install scripts _make_install_script() { cat <