%global commit 8acdf9773c022b84b02bfee9f70c486b5572411d %global gittag GIT-TAG %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: lexiserver Version: 1.1.0 Release: 1%{dist} Summary: A webserver written in C that tries to keep it simple License: GPL-3.0-only URL: https://github.com/alexiarstein/simple-webserver Source: https://github.com/alexiarstein/simple-webserver/archive/%{commit}/%{name}-%{shortcommit}.tar.gz Source: lexiserver.service Source: lexiserver.sysusers BuildRequires: annobin-plugin-gcc BuildRequires: cmake BuildRequires: gcc BuildRequires: file BuildRequires: openssl-devel BuildRequires: systemd-rpm-macros %description LexiServer is a webserver written in C that tries to keep it simple. It supports TLS and executing CGI scripts. %pre %sysusers_create_compat %{SOURCE2} %post %systemd_post lexiserver.service %preun %systemd_preun lexiserver.service %postun %systemd_postun lexiserver.service %package devel Summary: Development files for lexiserver %description devel The development files for compiling against lexiserver %prep %autosetup -n simple-webserver-%{commit} #remove precompiled binaries rm lexiserver-arm64{,-ssl} %build %cmake %cmake_build %install %cmake_install install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/lexiserver.service install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/lexiserver.conf pushd redhat-linux-build install -p -D -m 0755 lexiserver %{buildroot}%{_bindir}/lexiserver popd for f in 404.html lexiserver.conf; do install -p -D -m 0644 $f %{buildroot}/opt/lexiserver/$f done pushd src for f in *.c; do install -p -D -m 0644 $f %{buildroot}/%{_includedir}/$f done popd %check %ctest %files %license LICENSE %doc README.md RASPBERRY.md %dir /opt/lexiserver /opt/lexiserver/404.html %config(noreplace) /opt/lexiserver/lexiserver.conf %{_bindir}/lexiserver %{_sysusersdir}/lexiserver.conf %{_unitdir}/lexiserver.service %files devel %{_includedir}/lexiserver*.c %changelog * Thu Mar 28 2024 Neil Hanlon - 1.1.0-1 - initial package