Sorry, forgot the patch.
Here it is.
Vlad
--
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 9f3bbb2..ebc6087 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -961,6 +961,75 @@ write_pkginfo() {
fi
}
+write_srcinfo() {
+# usage: write_srcinfo name
+
+ local packager
+ if [[ -n ${PACKAGER} ]]; then packager="${PACKAGER}"
+ else packager="none"; fi
+ local builddate=$(date -u "+%s")
+
+ msg2 "$(gettext "Generating .SRCINFO file...")"
+ echo "# Generated by makepkg $myver"
+ echo "# $(LC_ALL=C date -u)"
+ # use "global" as tag for vars needed in entire $BUILDFILE
+ if (( SPLITPKG )); then
+ echo "global pkgbase = ${pkgbase}"
+ printf "global pkgname = %s\n" "${pkgna...@]}"
+ else echo "global pkgname = $1"
+ fi
+ echo "global pkgver = ${pkgver}-${pkgrel}"
+ echo "global pkgdesc = ${pkgdesc}"
+ echo "global url = ${url}"
+ echo "global packager = ${packager}"
+ echo "global builddate = $builddate"
+ [[ ${changelog} ]] && echo "global changelog = ${changelog}"
+
+ # arrays
+ [[ ${source} ]] && printf "global source = %s\n"
"${sour...@]}"
+ [[ ${license} ]] && printf "global license = %s\n"
"${licen...@]}"
+ [[ ${groups} ]] && printf "global group = %s\n"
"${grou...@]}"
+ printf "global arch = %s\n" "${ar...@]}"
+ [[ ${backup} ]] && printf "global backup = %s\n"
"${back...@]}"
+ [[ ${depends} ]] && printf "global depends = %s\n"
"${depen...@]}"
+ [[ ${makedepends} ]] && printf "global makedepends = %s\n"
"${makedepen...@]}"
+ [[ ${optdepends} ]] && printf "global optdepends = %s\n"
"${optdepen...@]}"
+ [[ ${conflicts} ]] && printf "global conflict = %s\n"
"${conflic...@]}"
+ [[ ${provides} ]] && printf "global provides = %s\n"
"${provid...@]}"
+ [[ ${replaces} ]] && printf "global replaces = %s\n"
"${replac...@]}"
+
+ if (( SPLITPKG )); then
+ local name vararray override tempvar
+ IFS=$'\n'
+ for name in "${pkgna...@]}"; do
+ # use $name as tag for vars needed only in
package_$name
+ # standardize function formatting: delete
whitespaces/tabs at the beginning and
+ # change trailing character to \n at the end of each
line inside function; grep the variables
+ vararray=( $(declare -f "package_${name}" | /bin/sed -e
"s/^[ \t]*//" -e "s/;$/\n/" | /bin/grep -e "^[[:alpha:]]*=") )
+ for override in "${vararr...@]}"; do
+ tempvar="${override%%=*}"
+ # first check if var is in allowed overrides
(splitpkg_overrides)
+ if [[ ${splitpkg_overrides[*]} =~ " ${tempvar}
" ]]; then
+ declare -a temparray
+ eval temparray="${override#*=}"
+ [[ "${tempvar}" == "pkgrel" ]] &&
printf "${name} pkgver = ${pkgver}-${temparray[0]}\n" && continue
+ printf "${name} ${tempvar} = %s\n"
"${temparr...@]}"
+ unset temparray
+ fi
+ unset tempvar
+ done
+ done
+ unset IFS
+ fi
+
+ # TODO maybe remove this at some point
+ # warn if license array is not present or empty
+ if [[ -z ${license} ]]; then
+ warning "$(gettext "Please add a license line to your %s!")"
"${BUILDSCRIPT}"
+ plain "$(gettext "Example for GPL\'ed software:
license=('GPL').")"
+ fi
+}
+
check_package() {
cd "$pkgdir"
@@ -1091,6 +1160,8 @@ create_srcpackage() {
local srclinks="$(mktemp -d "$startdir"/srclinks.XXXXXXXXX)"
mkdir "${srclinks}"/${pkgbase}
+ write_srcinfo ${pkgbase} > "${srclinks}/${pkgbase}/.SRCINFO"
+
msg2 "$(gettext "Adding %s...")" "$BUILDSCRIPT"
ln -s "${BUILDFILE}" "${srclinks}/${pkgbase}/${BUILDSCRIPT}"