%global _hardened_build 1
%define debug_package %{nil}

Name         : authelia
Version      : 4.37.4
Release      : 1%{dist}
License      : MIT
URL          : https://www.authelia.com/
Summary      : Single Sign-On Multi-Factor portal for web apps
Source0      : authelia.service
Patch0       : authelia-sqlite-disable.patch
BuildRequires: golang
BuildRequires: git
BuildRequires: npm


%description
Protect your applications with Single Sign-On and 2 Factor.
Authelia is an open-source full-featured authentication server.


%prep
%setup -T -q -c %{name}-%{version}
export GOPATH=`pwd`
mkdir -p go/src/github.com/authelia/
cd go/src/github.com/authelia/
git clone https://github.com/authelia/authelia


%build
export GOPATH=`pwd`
export GO111MODULE=on
pushd go/src/github.com/authelia/authelia/
git checkout v%{version}
export GITCOMMIT=$(git rev-parse --short HEAD)
export BUILDDATE=$(date +%Y%m%d)
pushd web
sed 's|href="https://github.com/authelia/authelia"|href="https://www.powerel.org"|g' -i src/layouts/LoginLayout.tsx
sed 's|Powered by Authelia|Built by PowerEL - powered by Authelia|g' -i src/layouts/LoginLayout.tsx
npm install --force
npm run lint
npm run build
popd
#rm -rf internal/server/public_html
#cp -rv web/build internal/server/public_html
cp -rv api internal/server/public_html/api
%ifarch ppc64le ppc64
#rm -rf internal/storage/sqlite_provider.go
#patch  -p0 -i %{SOURCE0}
%endif
if [ -f cmd/authelia/constants.go ]; then
  sed "s/__BUILD_TAG__/"%{version}"/" -i cmd/authelia/constants.go
  sed "s/__BUILD_COMMIT__/"%{release}"/" -i cmd/authelia/constants.go
fi
#sed 's|h1:RbATFBbKYkVdqmSFtx13Bb/tVhR0lgOBXunWTZKeL4w=|h1:rdFxbxq4QXVZWj0F+e9jqjDkc7dbp97vkRixKo2JR60=|' -i go.sum
CGO_CPPFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-strong" CGO_LDFLAGS="-Wl,-z,relro,-z,now" go build -v -tags netgo -trimpath -ldflags "-extldflags -s -w -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -buildid "%{version}" -X 'github.com/authelia/authelia/internal/utils.BuildTag="%{version}"' -X 'github.com/authelia/authelia/internal/utils.BuildState=\"tagged clean\"' -X 'github.com/authelia/authelia/internal/utils.BuildExtra="%{dist}"' -X 'github.com/authelia/authelia/internal/utils.BuildDate="${BUILDATE}"' -X 'github.com/authelia/authelia/internal/utils.BuildCommit="${GITCOMMIT}"' -X 'github.com/authelia/authelia/internal/utils.BuildBranch=\"master\"' -X 'github.com/authelia/authelia/internal/utils.BuildNumber="%{release}"'" -o authelia ./cmd/authelia/


%install
install -p -D -m 0644 %{SOURCE0} %{buildroot}%{_unitdir}/authelia@.service
mkdir -p %{buildroot}/%{_sysconfdir}/%{name}/
install -p -D -m 0644 go/src/github.com/authelia/authelia/config.template.yml %{buildroot}%{_sysconfdir}/%{name}/configuration.yml
mkdir -p %{buildroot}%{_bindir}/
install -p -D -m 0555 go/src/github.com/authelia/authelia/authelia %{buildroot}%{_bindir}/authelia



%post
%systemd_post authelia@.service


%preun
%systemd_preun authelia@.service


%postun
%systemd_postun authelia@.service


%files
%config(noreplace) %{_sysconfdir}/%{name}/configuration.yml
%{_bindir}/authelia
%{_unitdir}/authelia@.service


%changelog
