[scripts] Add support for seccomp
build for Linux.
This commit is contained in:
parent
03279d99c4
commit
a46e821411
2 changed files with 70 additions and 29 deletions
|
@ -9,6 +9,7 @@
|
|||
|
||||
|
||||
--:: deploy / rsync / * / linux / x86_64 :: exec -- "${ZRUN[@]}" ':: deploy / rsync / *' linux--x86_64 "${@}"
|
||||
--:: deploy / rsync / * / linux / x86_64 / seccomp :: exec -- "${ZRUN[@]}" ':: deploy / rsync / *' linux--x86_64--seccomp "${@}"
|
||||
--:: deploy / rsync / * / darwin / x86_64 :: exec -- "${ZRUN[@]}" ':: deploy / rsync / *' darwin--x86_64 "${@}"
|
||||
--:: deploy / rsync / * / darwin / aarch64 :: exec -- "${ZRUN[@]}" ':: deploy / rsync / *' darwin--aarch64 "${@}"
|
||||
--:: deploy / rsync / * / freebsd / x86_64 :: exec -- "${ZRUN[@]}" ':: deploy / rsync / *' freebsd--x86_64 "${@}"
|
||||
|
@ -78,7 +79,11 @@
|
|||
if test "${_main_0}" != all -a "${_main_0}" != "${_main}" ; then
|
||||
continue
|
||||
fi
|
||||
for _os in linux--x86_64 darwin--x86_64 darwin--aarch64 freebsd--x86_64 openbsd--x86_64 android--aarch64 ; do
|
||||
for _os in linux--x86_64 linux--x86_64--seccomp darwin--x86_64 darwin--aarch64 freebsd--x86_64 openbsd--x86_64 android--aarch64 ; do
|
||||
case "${_main}::${_os}" in
|
||||
( kawipiko-server::linux--x86_64--seccomp ) ;;
|
||||
( *::linux--x86_64--seccomp ) continue ;;
|
||||
esac
|
||||
if test -e "./.publish/${_os}/${_main}--${_os}--v${_build_version}${_build_suffix}" ; then
|
||||
printf -- '[ee] release already exists for `%s` for `%s`!\n' "${_main}" "${_os}" >&2
|
||||
exit -- 1
|
||||
|
@ -133,13 +138,18 @@
|
|||
|
||||
printf -- '[ii] publishing all for `%s`...\n' "${_build_version}${_build_suffix}" >&2
|
||||
|
||||
for _os in linux--x86_64 darwin--x86_64 darwin--aarch64 freebsd--x86_64 openbsd--x86_64 android--aarch64 ; do
|
||||
for _os in linux--x86_64 linux--x86_64--seccomp darwin--x86_64 darwin--aarch64 freebsd--x86_64 openbsd--x86_64 android--aarch64 ; do
|
||||
for _main in kawipiko-wrapper kawipiko-archiver kawipiko-server kawipiko-server-dummy ; do
|
||||
|
||||
if test "${_main_0}" != all -a "${_main_0}" != "${_main}" ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
case "${_main}::${_os}" in
|
||||
( kawipiko-server::linux--x86_64--seccomp ) ;;
|
||||
( *::linux--x86_64--seccomp ) continue ;;
|
||||
esac
|
||||
|
||||
printf -- '[ii] publishing `%s` for `%s` for `%s`...\n' "${_main}" "${_os}" "${_build_version}${_build_suffix}" >&2
|
||||
printf -- '[--]\n' >&2
|
||||
|
||||
|
@ -185,13 +195,18 @@
|
|||
|
||||
printf -- '[ii] publishing all for `%s` (on GitHub)...\n' "${_build_version}${_build_suffix}" >&2
|
||||
|
||||
for _os in linux--x86_64 darwin--x86_64 darwin--aarch64 freebsd--x86_64 openbsd--x86_64 android--aarch64 ; do
|
||||
for _os in linux--x86_64 linux--x86_64--seccomp darwin--x86_64 darwin--aarch64 freebsd--x86_64 openbsd--x86_64 android--aarch64 ; do
|
||||
for _main in kawipiko-wrapper kawipiko-archiver kawipiko-server kawipiko-server-dummy ; do
|
||||
|
||||
if test "${_main_0}" != all -a "${_main_0}" != "${_main}" ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
case "${_main}::${_os}" in
|
||||
( kawipiko-server::linux--x86_64--seccomp ) ;;
|
||||
( *::linux--x86_64--seccomp ) continue ;;
|
||||
esac
|
||||
|
||||
printf -- '[ii] publishing `%s` for `%s` for `%s` (on GitHub)...\n' "${_main}" "${_os}" "${_build_version}${_build_suffix}" >&2
|
||||
|
||||
if test "${_build_release}" == true ; then
|
||||
|
@ -235,10 +250,14 @@
|
|||
if test "${_main_0}" != all -a "${_main_0}" != "${_main}" ; then
|
||||
continue
|
||||
fi
|
||||
for _os in linux--x86_64 darwin--x86_64 darwin--aarch64 freebsd--x86_64 openbsd--x86_64 android--aarch64 ; do
|
||||
for _os in linux--x86_64 linux--x86_64--seccomp darwin--x86_64 darwin--aarch64 freebsd--x86_64 openbsd--x86_64 android--aarch64 ; do
|
||||
if test "${_os_0}" != all -a "${_os_0}" != "${_os}" ; then
|
||||
continue
|
||||
fi
|
||||
case "${_main}::${_os}" in
|
||||
( kawipiko-server::linux--x86_64--seccomp ) ;;
|
||||
( *::linux--x86_64--seccomp ) continue ;;
|
||||
esac
|
||||
"${ZRUN[@]}" ':: go / build / all / publish' "${_os}" "${_main#kawipiko-}"
|
||||
done
|
||||
done
|
||||
|
|
|
@ -334,30 +334,8 @@
|
|||
fi
|
||||
test "${#}" -eq 0
|
||||
"${ZRUN[@]}" ':: sources / embedded / bundle'
|
||||
_tags=(
|
||||
netgo
|
||||
)
|
||||
_flags=(
|
||||
#? -buildmode exe
|
||||
)
|
||||
_gcflags=()
|
||||
_ldflags=()
|
||||
if test "${__BUILD_QUICK:-false}" != true ; then
|
||||
_flags+=( -trimpath -a )
|
||||
_gcflags+=( 'all=-l=4' )
|
||||
_ldflags+=( 'all=-s' )
|
||||
fi
|
||||
_ldflags+=(
|
||||
-X "github.com/volution/kawipiko/embedded.BUILD_TARGET=release"
|
||||
-X "github.com/volution/kawipiko/embedded.BUILD_GIT_HASH=$( exec -- cat -- ./.outputs/markers/build-git-hash.txt )"
|
||||
)
|
||||
_flags+=(
|
||||
-tags "$( printf -- '%s,' "${_tags[@]}" )"
|
||||
-gcflags "$( printf -- '%s ' "${_gcflags[@]}" )"
|
||||
-ldflags "$( printf -- '%s ' "${_ldflags[@]}" )"
|
||||
)
|
||||
_outputs="$( exec -- readlink -e -- ./.outputs )"
|
||||
for _platform in linux--x86_64 darwin--x86_64 darwin--aarch64 openbsd--x86_64 freebsd--x86_64 android--aarch64 ; do
|
||||
for _platform in linux--x86_64 linux--x86_64--seccomp darwin--x86_64 darwin--aarch64 openbsd--x86_64 freebsd--x86_64 android--aarch64 ; do
|
||||
if test "${_platform_0}" != all -a "${_platform_0}" != "${_platform}" ; then
|
||||
continue
|
||||
fi
|
||||
|
@ -365,12 +343,16 @@
|
|||
if test "${_component_0}" != all -a "${_component_0}" != "${_component}" ; then
|
||||
continue
|
||||
fi
|
||||
case "${_component}::${_platform}" in
|
||||
( server::linux--x86_64--seccomp ) ;;
|
||||
( *::linux--x86_64--seccomp ) continue ;;
|
||||
esac
|
||||
if test -e "${_outputs}/binaries/publish/kawipiko-${_component}--${_platform}" ; then
|
||||
rm -f -- "${_outputs}/binaries/publish/kawipiko-${_component}--${_platform}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
for _platform in linux--x86_64 darwin--x86_64 darwin--aarch64 openbsd--x86_64 freebsd--x86_64 android--aarch64 ; do
|
||||
for _platform in linux--x86_64 linux--x86_64--seccomp darwin--x86_64 darwin--aarch64 openbsd--x86_64 freebsd--x86_64 android--aarch64 ; do
|
||||
if test "${_platform_0}" != all -a "${_platform_0}" != "${_platform}" ; then
|
||||
continue
|
||||
fi
|
||||
|
@ -378,10 +360,14 @@
|
|||
if test "${_component_0}" != all -a "${_component_0}" != "${_component}" ; then
|
||||
continue
|
||||
fi
|
||||
case "${_component}::${_platform}" in
|
||||
( server::linux--x86_64--seccomp ) ;;
|
||||
( *::linux--x86_64--seccomp ) continue ;;
|
||||
esac
|
||||
test ! -e "${_outputs}/binaries/publish/kawipiko-${_component}--${_platform}"
|
||||
printf -- '[ii] building `%s` for `%s`...\n' "${_component}" "${_platform}" >&2
|
||||
case "${_platform}" in
|
||||
( linux--x86_64 )
|
||||
( linux--x86_64 | linux--x86_64--seccomp )
|
||||
export -- GOOS=linux
|
||||
export -- GOARCH=amd64
|
||||
;;
|
||||
|
@ -409,6 +395,42 @@
|
|||
exit -- 1
|
||||
;;
|
||||
esac
|
||||
if test "${_platform}" == linux--x86_64--seccomp ; then
|
||||
_seccomp=true
|
||||
else
|
||||
_seccomp=false
|
||||
fi
|
||||
_tags=(
|
||||
netgo
|
||||
)
|
||||
_flags=(
|
||||
#? -buildmode exe
|
||||
)
|
||||
_gcflags=()
|
||||
_ldflags=()
|
||||
if test "${__BUILD_QUICK:-false}" != true ; then
|
||||
_flags+=( -trimpath -a )
|
||||
_gcflags+=( 'all=-l=4' )
|
||||
_ldflags+=( 'all=-s' )
|
||||
fi
|
||||
_ldflags+=(
|
||||
-X "github.com/volution/kawipiko/embedded.BUILD_TARGET=release"
|
||||
-X "github.com/volution/kawipiko/embedded.BUILD_GIT_HASH=$( exec -- cat -- ./.outputs/markers/build-git-hash.txt )"
|
||||
)
|
||||
if test "${_seccomp}" == true ; then
|
||||
_tags+=(
|
||||
seccomp
|
||||
)
|
||||
_ldflags+=(
|
||||
-linkmode external
|
||||
-extldflags -static
|
||||
)
|
||||
fi
|
||||
_flags+=(
|
||||
-tags "$( printf -- '%s,' "${_tags[@]}" )"
|
||||
-gcflags "$( printf -- '%s ' "${_gcflags[@]}" )"
|
||||
-ldflags "$( printf -- '%s ' "${_ldflags[@]}" )"
|
||||
)
|
||||
nodaemon \
|
||||
nice -n 19 -- \
|
||||
"${ZRUN[@]}" ':: go / tool' \
|
||||
|
|
Loading…
Reference in a new issue