mirror of
https://git.proxmox.com/git/fwupd
synced 2025-07-24 19:26:48 +00:00
70 lines
2.1 KiB
Bash
Executable File
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
|