aboutsummaryrefslogtreecommitdiff
path: root/weblogin.spec.in
diff options
context:
space:
mode:
Diffstat (limited to 'weblogin.spec.in')
-rw-r--r--weblogin.spec.in54
1 files changed, 54 insertions, 0 deletions
diff --git a/weblogin.spec.in b/weblogin.spec.in
new file mode 100644
index 0000000..ac63130
--- /dev/null
+++ b/weblogin.spec.in
@@ -0,0 +1,54 @@
+Summary: A login page for websites that provides a JSON Web Token
+Name: weblogin
+Version: VERSION
+Release: RELEASE
+License: MIT
+URL: https://git.hrhr.dev/weblogin/about
+Distribution: Fedora 38
+Vendor: Holden Rohrer
+Packager: Holden Rohrer <hr@hrhr.dev>
+BuildArch: noarch
+Requires: python3
+Requires: python3-flask
+Requires: python3-passlib
+Requires: python3-jwt+crypto
+
+Source: weblogin.tar.gz
+
+%define username weblogin
+%define installdir /usr/lib/%{username}
+%define sharedir /usr/share/%{username}
+%define vardir /var/lib/%{username}
+
+%description
+This is a small flask webserver that returns a JSON web token for form
+requests at /auth, submitted by a user of the /login.html page.
+A GET request to /logout will remove the JSON web token cookie (the
+cookie auth is used for storage).
+
+%global debug_package %{nil}
+
+%pre
+getent group %{username} >/dev/null || groupadd -r %{username}
+getent passwd %{username} >/dev/null || useradd -r -s /sbin/nologin\
+ -g %{username} -c "weblogin server" -d %{installdir} -M %{username}
+
+%prep
+%autosetup
+
+%install
+mkdir -p %{buildroot}%{installdir} %{buildroot}%{sharedir} %{buildroot}%{vardir}
+ls
+cp -t %{buildroot}%{installdir} login.py
+cp -t %{buildroot}%{sharedir} login.html
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%doc README
+%license LICENSE
+%defattr(644, %{username}, %{username}, 755)
+%attr(755, weblogin, weblogin) %{installdir}/login.py
+%{sharedir}/login.html
+%attr(600, weblogin, weblogin) %{vardir}