From e6407986535c5f17fff79315e7b541d8258d64e0 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 23 Jun 2017 15:43:39 +0200 Subject: bin/common-functions: bin/mksrcinfo new and used via systemd-nspawn with overlayfs to generate .SRCINFO --- bin/common-functions | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) (limited to 'bin/common-functions') diff --git a/bin/common-functions b/bin/common-functions index b07e75d..714a05a 100755 --- a/bin/common-functions +++ b/bin/common-functions @@ -194,15 +194,36 @@ generate_package_metadata() { exit 1 fi + overlays_dir="$(mktemp -d)" + + sudo mount -t tmpfs none "${overlays_dir}" + + mkdir \ + "${overlays_dir}/upper" \ + "${overlays_dir}/work" \ + "${overlays_dir}/merged" + + sudo mount -t overlay overlay -o lowerdir="${PKGBUILD%/*}":"/",upperdir="${overlays_dir}/upper",workdir="${overlays_dir}/work" "${overlays_dir}/merged" + ( - cd "${PKGBUILD%/*}" + cd "${overlays_dir}/merged" apply_package_customizations - grep -q '\$CARCH' 'PKGBUILD' && \ - CARCH=i686 makepkg --printsrcinfo > \ - "${file_prefix}.SRCINFO" || \ - mksrcinfo -o "${file_prefix}.SRCINFO" ) + sudo systemd-nspawn -q \ + -D "${overlays_dir}/merged" \ + --register=no \ + ${base_dir}/bin/mksrcinfo + + sudo umount -f "${overlays_dir}/merged" + + mv \ + "${overlays_dir}/upper/.SRCINFO" \ + "${file_prefix}.SRCINFO" + + sudo umount -f "${overlays_dir}" + rmdir "${overlays_dir}" + # otherwise this just calls for trouble sed -i '/=\s*$/d' "${file_prefix}.SRCINFO" -- cgit v1.2.3-54-g00ecf