feat(release): always generate a .SRCINFO file on release

When releasing a package always generate a .SRCINFO file so we can build
tooling based upon these files instead of having to parse bash in a
non-bash language.

Some tests have shown around 30 seconds or generating the metadata on
packages like thunderbird. The implementation in makepkg becomes semi
slow for some split packages that provide a huge number of individual
packages, but it seems reasonably fast so we can instead have a uniform
state of always providing .SRCINFO files.

Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
This commit is contained in:
Jelle van der Waa 2023-07-21 16:04:17 +02:00 committed by Levente Polyak
parent f31ea3a48e
commit 8190a22480
No known key found for this signature in database
GPG Key ID: FC1B547C8D8172C8
1 changed files with 6 additions and 7 deletions

View File

@ -7,6 +7,7 @@ _DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh
source /usr/share/makepkg/util/util.sh
source /usr/share/makepkg/srcinfo.sh
check_pkgbuild_validity() {
@ -177,13 +178,11 @@ done
# check for PKGBUILD standards
check_pkgbuild_validity
# auto generate .SRCINFO if present
if [[ -f .SRCINFO ]]; then
stat_busy 'Generating .SRCINFO'
makepkg --printsrcinfo > .SRCINFO
git add .SRCINFO
stat_done
fi
# auto generate .SRCINFO
stat_busy 'Generating .SRCINFO'
write_srcinfo_content > .SRCINFO
git add --force .SRCINFO
stat_done
if [[ -n $(git status --porcelain --untracked-files=no) ]]; then
stat_busy 'Staging files'