In some case, the install script of split packages was not included in the sourceballs. This was due because split packages can specify their install script in the package functions. They also can use several install scripts. Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> --- scripts/makepkg.sh.in | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 8fc7c82..b77cc68 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1060,14 +1060,25 @@ create_srcpackage() { msg2 "$(gettext "Adding %s...")" "$BUILDSCRIPT" ln -s "${BUILDFILE}" "${srclinks}/${pkgbase}/${BUILDSCRIPT}" - if [ -n "$install" ]; then - if [ -f $install ]; then - msg2 "$(gettext "Adding install script...")" - ln -s "${startdir}/$install" "${srclinks}/${pkgbase}/" - else - error "$(gettext "Install scriptlet (%s) does not exist.")" "$install" + local install_files + install_files=$(grep "install=" "$BUILDSCRIPT") + for pkg in ${pkgname[@]}; do + install_files+=' ' + install_files+=$(echo $install_files |sed "s/\$pkgname/$pkg/"|sed "s/\${pkgname}/$pkg/") + install_files=$(eval echo $install_files |tr '[:blank:]' '\n'|sort |uniq) + done + + for f in $install_files; do + install="${f#"install="}" + if [[ -n "$install" ]]; then + if [[ -f $install ]]; then + msg2 "$(gettext "Adding install script...")" + ln -s "${startdir}/$install" "${srclinks}/${pkgbase}/" + else + error "$(gettext "Install scriptlet (%s) does not exist.")" "$install" + fi fi - fi + done if [ -n "$changelog" ]; then if [ -f "$changelog" ]; then -- 1.6.5.2