webbuilder_pel7ppc64lebuilder0
2 years ago
1 changed files with 92 additions and 0 deletions
@ -0,0 +1,92 @@ |
|||||||
|
%global _hardened_build 1 |
||||||
|
%define user listmonk |
||||||
|
%define group listmonk |
||||||
|
%define homedir /var/lib/listmonk/ |
||||||
|
%define logdir /var/log/listmonk/ |
||||||
|
|
||||||
|
Name : listmonk |
||||||
|
Version : 2.3.0 |
||||||
|
Release : 1%{dist} |
||||||
|
License : AGPLv3 |
||||||
|
Summary : High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. |
||||||
|
URL : https://listmonk.app |
||||||
|
Source0 : listmonk.service |
||||||
|
BuildRequires: golang |
||||||
|
BuildRequires: git |
||||||
|
|
||||||
|
|
||||||
|
%description |
||||||
|
listmonk is a standalone, self-hosted, newsletter and mailing list manager. |
||||||
|
It is fast, feature-rich, and packed into a single binary. |
||||||
|
It uses a PostgreSQL database as its data store. |
||||||
|
|
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -T -q -c %{name}-%{version} |
||||||
|
export GOPATH=`pwd` |
||||||
|
mkdir -p go/src/github.com/knadh/ |
||||||
|
cd go/src/github.com/knadh/ |
||||||
|
git clone https://github.com/knadh/listmonk |
||||||
|
|
||||||
|
|
||||||
|
%build |
||||||
|
export GOPATH=`pwd` |
||||||
|
cd go/src/github.com/knadh/listmonk/ |
||||||
|
git checkout tags/v%{version} |
||||||
|
export SHORTCOMMIT=$(git rev-parse --short HEAD) |
||||||
|
export GO111MODULE=on |
||||||
|
export CGO_ENABLED=0 |
||||||
|
# frontend |
||||||
|
export VUE_APP_VERSION="v%{version}" |
||||||
|
pushd frontend |
||||||
|
yarnpkg install |
||||||
|
touch --no-create frontend/node_modules |
||||||
|
yarnpkg build |
||||||
|
popd |
||||||
|
# backend |
||||||
|
go build -v -trimpath -ldflags="-extldflags -s -w -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -X 'main.buildString="%{version}" - "${BUILDSTR}"' -X 'main.versionString="%{version}"' -X 'main.frontendDir=/usr/share/listmonk/theme/'" -o listmonk cmd/*.go |
||||||
|
|
||||||
|
|
||||||
|
%install |
||||||
|
install -p -D -m 0644 %{SOURCE0} %{buildroot}%{_unitdir}/%{name}.service |
||||||
|
mkdir -p %{buildroot}/%{homedir}/ |
||||||
|
install -p -D -m 0555 go/src/github.com/knadh/listmonk/listmonk %{buildroot}%{homedir}/listmonk |
||||||
|
install -p -D -m 0644 go/src/github.com/knadh/listmonk/config.toml.sample %{buildroot}%{homedir}/config.toml |
||||||
|
install -p -D -m 0644 go/src/github.com/knadh/listmonk/config.toml.sample %{buildroot}%{homedir}/config.toml.sample |
||||||
|
cp -r go/src/github.com/knadh/listmonk/*.sql %{buildroot}%{homedir}/ |
||||||
|
cp -r go/src/github.com/knadh/listmonk/static/ %{buildroot}%{homedir}/ |
||||||
|
mkdir -p %{buildroot}%{_datadir}/%{name}/ |
||||||
|
cp -r go/src/github.com/knadh/listmonk/frontend/dist/ %{buildroot}%{_datadir}/%{name}/theme/ |
||||||
|
cp -r go/src/github.com/knadh/listmonk/i18n/ %{buildroot}%{_datadir}/%{name}/ |
||||||
|
|
||||||
|
|
||||||
|
%pre |
||||||
|
getent group %{group} > /dev/null || groupadd -r %{group} |
||||||
|
getent passwd %{user} > /dev/null || useradd -r -d %{homedir} -g %{group} -s /bin/bash -c "%{name} user" %{user} |
||||||
|
exit 0 |
||||||
|
|
||||||
|
|
||||||
|
%post |
||||||
|
%systemd_post %{name}.service |
||||||
|
|
||||||
|
|
||||||
|
%preun |
||||||
|
%systemd_preun %{name}.service |
||||||
|
|
||||||
|
|
||||||
|
%postun |
||||||
|
%systemd_postun %{name}.service |
||||||
|
|
||||||
|
|
||||||
|
%files |
||||||
|
%config(noreplace) %{homedir}/config.toml |
||||||
|
%{homedir}/listmonk |
||||||
|
%{homedir}/*.sql |
||||||
|
%{homedir}/config.toml.sample |
||||||
|
%{homedir}/static/ |
||||||
|
%{_unitdir}/listmonk.service |
||||||
|
%{_datadir}/%{name}/theme/ |
||||||
|
%{_datadir}/%{name}/i18n/ |
||||||
|
|
||||||
|
|
||||||
|
%changelog |
Loading…
Reference in new issue