diff options
author | Andres P <aepd87@gmail.com> | 2010-05-25 23:02:07 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2010-05-27 16:18:52 +0200 |
commit | fe1e3471f47d9da3bac4cedce250cd2ce04368b4 (patch) | |
tree | d363b4409a987b79fe846d8d81852a2287a81f67 | |
parent | 3064f8d08d8f8048aa064aa07c47b3059df7b56e (diff) | |
download | pacman-fe1e3471f47d9da3bac4cedce250cd2ce04368b4.tar.gz pacman-fe1e3471f47d9da3bac4cedce250cd2ce04368b4.tar.xz |
makepkg: remove code duplication in buildscript parsing
Merges code in two almost identical chunks in create_srcpackage and
check_sanity.
Also discards the space kept by regex in ae73d75660 and earlier, since
the for loop discards it later on.
Signed-off-by: Andres P <aepd87@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | scripts/makepkg.sh.in | 51 |
1 files changed, 14 insertions, 37 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 8c0da8be..76b61833 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1107,31 +1107,19 @@ create_srcpackage() { fi done - local install_files=( $(sed -n "s/^\([[:space:]]*\)install=/\1/p" "$BUILDSCRIPT") ) - if [[ -n $install_files ]]; then - local file - for file in ${install_files[@]}; do - # evaluate any bash variables used - eval file=${file} - if [[ ! -f "${srclinks}/${pkgbase}/$file" ]]; then - msg2 "$(gettext "Adding install script (%s)...")" "$file" - ln -s "${startdir}/$file" "${srclinks}/${pkgbase}/" - fi - done - fi - - local changelog_files=( $(sed -n "s/^\([[:space:]]*\)changelog=/\1/p" "$BUILDSCRIPT") ) - if [[ -n $changelog_files ]]; then + local i + for i in 'changelog' 'install'; do + local $i=$(sed -n "s/^[[:space:]]*$i=//p" "$BUILDSCRIPT") local file - for file in ${changelog_files[@]}; do + for file in ${!i}; do # evaluate any bash variables used - eval file=${file} - if [[ ! -f "${srclinks}/${pkgbase}/$file" ]]; then - msg2 "$(gettext "Adding package changelog (%s)...")" "$file" + eval file='${srclinks}/${pkgbase}/'${file} + if [[ ! -f $file ]]; then + msg2 "$(gettext "Adding %s file (%s)...")" "$i" "$file" ln -s "${startdir}/$file" "${srclinks}/${pkgbase}/" fi done - fi + done local TAR_OPT case "$SRCEXT" in @@ -1250,30 +1238,19 @@ check_sanity() { fi done - local install_files=( $(sed -n "s/^\([[:space:]]*\)install=/\1/p" "$BUILDSCRIPT") ) - if [[ -n $install_files ]]; then + local i + for i in 'changelog' 'install'; do + local $i=$(sed -n "s/^[[:space:]]*$i=//p" "$BUILDSCRIPT") local file - for file in ${install_files[@]}; do - # evaluate any bash variables used - eval file=${file} - if [[ ! -f $file ]]; then - error "$(gettext "Install scriptlet (%s) does not exist.")" "$file" - return 1 - fi - done - fi - - local changelog_files=( $(sed -n "s/^\([[:space:]]*\)changelog=/\1/p" "$BUILDSCRIPT") ) - if [[ -n $changelog_files ]]; then - for file in ${changelog_files[@]}; do + for file in ${!i}; do # evaluate any bash variables used eval file=${file} if [[ ! -f $file ]]; then - error "$(gettext "Changelog file (%s) does not exist.")" "$file" + error "$(gettext "%s file (%s) does not exist.")" "${i^}" "$file" return 1 fi done - fi + done local valid_options=1 local opt known kopt |