aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitea/workflows/release.yml16
-rw-r--r--.gitignore5
-rw-r--r--dist/fsurc.default1
-rwxr-xr-xdist/install.sh10
-rwxr-xr-xdist/release.sh19
5 files changed, 38 insertions, 13 deletions
diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml
index f92a0eae..545274db 100644
--- a/.gitea/workflows/release.yml
+++ b/.gitea/workflows/release.yml
@@ -1,4 +1,4 @@
-name: Release
+name: Create distribution
on:
push:
@@ -41,21 +41,13 @@ jobs:
run: >-
go generate ./...
- - name: Build for Linux
- run: >-
- go build -v -ldflags '-s -w
- -X git.ophivana.moe/security/fortify/internal.Version=${{ github.ref_name }}
- -X git.ophivana.moe/security/fortify/internal.Fsu=/usr/bin/fsu
- -X git.ophivana.moe/security/fortify/internal.Finit=/usr/libexec/fortify/finit
- -X main.Fmain=/usr/bin/fortify
- -X main.Fshim=/usr/libexec/fortify/fshim'
- -o bin/ ./... &&
- (cd bin && sha512sum --tag -b * > sha512sums)
+ - name: Build for release
+ run: FORTIFY_VERSION='${{ github.ref_name }}' ./dist/release.sh
- name: Release
id: use-go-action
uses: https://gitea.com/actions/release-action@main
with:
files: |-
- bin/**
+ dist/fortify-**
api_key: '${{secrets.RELEASE_TOKEN}}'
diff --git a/.gitignore b/.gitignore
index d374fc7e..307f9878 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,4 +25,7 @@ go.work.sum
.vscode
# go generate
-security-context-v1-protocol.* \ No newline at end of file
+security-context-v1-protocol.*
+
+# release
+/dist/fortify-* \ No newline at end of file
diff --git a/dist/fsurc.default b/dist/fsurc.default
new file mode 100644
index 00000000..f770d5ef
--- /dev/null
+++ b/dist/fsurc.default
@@ -0,0 +1 @@
+1000 0 \ No newline at end of file
diff --git a/dist/install.sh b/dist/install.sh
new file mode 100755
index 00000000..71b00d07
--- /dev/null
+++ b/dist/install.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+cd "$(dirname -- "$0")" || exit 1
+
+install -vDm0755 "bin/fortify" "${FORTIFY_INSTALL_PREFIX}/usr/bin/fortify"
+install -vDm0755 "bin/fshim" "${FORTIFY_INSTALL_PREFIX}/usr/libexec/fortify/fshim"
+install -vDm0755 "bin/finit" "${FORTIFY_INSTALL_PREFIX}/usr/libexec/fortify/finit"
+install -vDm0755 "bin/fuserdb" "${FORTIFY_INSTALL_PREFIX}/usr/libexec/fortify/fuserdb"
+
+install -vDm6511 "bin/fsu" "${FORTIFY_INSTALL_PREFIX}/usr/bin/fsu"
+install -vDm0400 "fsurc.default" "${FORTIFY_INSTALL_PREFIX}/etc/fsurc"
diff --git a/dist/release.sh b/dist/release.sh
new file mode 100755
index 00000000..85052777
--- /dev/null
+++ b/dist/release.sh
@@ -0,0 +1,19 @@
+#!/bin/sh -e
+cd "$(dirname -- "$0")/.."
+VERSION="${FORTIFY_VERSION:-untagged}"
+pname="fortify-${VERSION}"
+out="dist/${pname}"
+
+mkdir -p "${out}"
+cp "README.md" "dist/fsurc.default" "dist/install.sh" "${out}"
+
+go build -v -o "${out}/bin/" -ldflags "-s -w
+ -X git.ophivana.moe/security/fortify/internal.Version=${VERSION}
+ -X git.ophivana.moe/security/fortify/internal.Fsu=/usr/bin/fsu
+ -X git.ophivana.moe/security/fortify/internal.Finit=/usr/libexec/fortify/finit
+ -X main.Fmain=/usr/bin/fortify
+ -X main.Fshim=/usr/libexec/fortify/fshim" ./...
+
+rm -f "./${out}.tar.gz" && tar -C dist -czf "${out}.tar.gz" "${pname}"
+rm -rf "./${out}"
+sha512sum "${out}.tar.gz" > "${out}.tar.gz.sha512" \ No newline at end of file