fwupd/contrib/ci/build_freebsd_package.sh
Norbert Kamiński 3fe782cddd build_freebsd_package.sh: Build package with generated pkg-plist
Signed-off-by: Norbert Kamiński <norbert.kaminski@3mdeb.com>
2021-08-18 08:39:11 -05:00

70 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
GITHUB_SHA=
GITHUB_REPOSITORY=
GITHUB_REPOSITORY_OWNER=
GITHUB_TAG=
while [ -n "$1" ]; do
case $1 in
--GITHUB_SHA=*)
GITHUB_SHA=${1#--GITHUB_SHA=}
;;
--GITHUB_REPOSITORY=*)
GITHUB_REPOSITORY=${1#--GITHUB_REPOSITORY=}
;;
--GITHUB_REPOSITORY_OWNER=*)
GITHUB_REPOSITORY_OWNER=${1#--GITHUB_REPOSITORY_OWNER=}
;;
--GITHUB_TAG=*)
GITHUB_TAG=${1#--GITHUB_TAG=}
;;
*)
echo "Command $1 unknown. exiting..."
exit 1
;;
esac
shift
done
if [ -z "$GITHUB_SHA" ] || [ -z "$GITHUB_REPOSITORY" ] || \
[ -z "$GITHUB_REPOSITORY_OWNER" ] || [ -z "$GITHUB_TAG" ]; then
exit 1
fi
# Include-file of libefivar port uses GCC-specific builtin function
export CC=gcc
set -xe
mkdir -p /usr/local/etc/pkg/repos/
# Fix meson flag problem https://www.mail-archive.com/freebsd-ports@freebsd.org/msg86617.html
cp /etc/pkg/FreeBSD.conf /usr/local/etc/pkg/repos/FreeBSD.conf
# Use latest pkg repo instead of quaterly https://wiki.freebsd.org/Ports/QuarterlyBranch
sed -i .old 's|url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly"|url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest"|' \
/usr/local/etc/pkg/repos/FreeBSD.conf
pkg install -y meson efivar
pkg upgrade -y meson
cd /usr
git clone https://github.com/3mdeb/freebsd-ports.git --depth 1 -b fwupd ports
cd /usr/ports/sysutils/fwupd
rm -rf ./*
ls .
cp -r ~/work/fwupd/fwupd/contrib/freebsd/* .
ls .
sed -i .old "s/GH_TAGNAME=.*$/GH_TAGNAME=\t${GITHUB_SHA}/" Makefile
sed -i .old "s/GH_ACCOUNT=.*$/GH_ACCOUNT=\t${GITHUB_REPOSITORY_OWNER}/" Makefile
sed -i .old "s/DISTVERSION=.*$/DISTVERSION=\t${GITHUB_TAG}/" Makefile
make makesum
make clean
make
# Generate current list of files in the pkg-plist
make makeplist > pkg-plist
sed -i "" "1d" pkg-plist
sed -i "" "s/%%PORTDOCS%%%%DOCSDIR%%/%%DOCSDIR%%/g" pkg-plist
# Build artifact
make clean
make package
make install
cp /usr/ports/sysutils/fwupd/work/pkg/fwupd*.pkg \
~/work/fwupd/fwupd/fwupd-freebsd-${GITHUB_TAG}-${GITHUB_SHA}.pkg || exit 1