KF2-SRV/SPECS/kf2-srv.spec
2020-07-19 07:58:23 +03:00

228 lines
7.9 KiB
RPMSpec

%global steamuser steam
Name: kf2-srv
Version: 0.13.0
Release: 1%{dist}
Summary: Killing Floor 2 server
Group: Amusements/Games
License: GNU GPLv3
BuildArch: noarch
Source1: %{name}
Source2: %{name}-beta
Source3: %{name}.xml
Source4: %{name}@.service
Source5: %{name}-update.service
Source6: %{name}-update.timer
Source7: instance.conf.template
Source8: %{name}-beta@.service
Source9: %{name}-beta-update.service
Source10: %{name}-beta-update.timer
Source11: %{name}.conf
Source12: COPYING
Source13: rsyslog-%{name}.conf
Source14: logrotate-%{name}
Source15: bot.conf
Source16: %{name}-force-attr
Source17: %{name}-force-attr.service
Requires: systemd >= 219
Requires: steamcmd
Requires: libxml2
Requires: dos2unix
Requires: curl
Requires: grep
Requires: coreutils
Requires: sed
Requires: util-linux
Requires: sudo
Requires: psmisc
Requires: gawk
Requires: multini >= 0.2.3
Requires: rsyslog >= 8.25.0
Requires: logrotate
Requires: inotify-tools
Provides: %{name}
%description
Command line tool for managing a set of Killing Floor 2 servers.
%prep
%build
%install
rm -rf $RPM_BUILD_ROOT
install -d %{buildroot}/%{_bindir}
install -d %{buildroot}/%{_sbindir}
install -d %{buildroot}/%{_prefix}/lib/systemd/system
install -d %{buildroot}/%{_prefix}/lib/firewalld/services
install -d %{buildroot}/%{_sysconfdir}/%{name}/instances
install -d %{buildroot}/%{_sysconfdir}/%{name}/instances-beta
install -d %{buildroot}/%{_sysconfdir}/%{name}/mapcycles
install -d %{buildroot}/%{_sysconfdir}/rsyslog.d
install -d %{buildroot}/%{_sysconfdir}/logrotate.d
install -d %{buildroot}/%{_prefix}/games/%{name}
install -d %{buildroot}/%{_prefix}/games/%{name}-beta
install -d %{buildroot}/%{_datadir}/licenses/%{name}
install -d %{buildroot}/%{_localstatedir}/log/%{name}
install -d %{buildroot}/%{_localstatedir}/log/%{name}-beta
install -d %{buildroot}/%{_localstatedir}/cache/kf2-srv
# access rights are used here to prevent warnings when building the package
install -m 755 %{SOURCE1} %{buildroot}/%{_bindir}
install -m 755 %{SOURCE2} %{buildroot}/%{_bindir}
install -m 644 %{SOURCE3} %{buildroot}/%{_prefix}/lib/firewalld/services
install -m 644 %{SOURCE4} %{buildroot}/%{_prefix}/lib/systemd/system
install -m 644 %{SOURCE5} %{buildroot}/%{_prefix}/lib/systemd/system
install -m 644 %{SOURCE6} %{buildroot}/%{_prefix}/lib/systemd/system
install -m 644 %{SOURCE7} %{buildroot}/%{_sysconfdir}/%{name}
install -m 644 %{SOURCE8} %{buildroot}/%{_prefix}/lib/systemd/system
install -m 644 %{SOURCE9} %{buildroot}/%{_prefix}/lib/systemd/system
install -m 644 %{SOURCE10} %{buildroot}/%{_prefix}/lib/systemd/system
install -m 644 %{SOURCE11} %{buildroot}/%{_sysconfdir}/%{name}
install -m 644 %{SOURCE12} %{buildroot}/%{_datadir}/licenses/%{name}
install -m 644 %{SOURCE13} %{buildroot}/%{_sysconfdir}/rsyslog.d/%{name}.conf
install -m 644 %{SOURCE14} %{buildroot}/%{_sysconfdir}/logrotate.d/%{name}
install -m 644 %{SOURCE15} %{buildroot}/%{_sysconfdir}/%{name}
install -m 755 %{SOURCE16} %{buildroot}/%{_sbindir}
install -m 644 %{SOURCE17} %{buildroot}/%{_prefix}/lib/systemd/system
%check
bash -n %{buildroot}/%{_bindir}/%{name}
bash -n %{buildroot}/%{_bindir}/%{name}-beta
%clean
rm -rf $RPM_BUILD_ROOT
%files
%attr(0775,root,%{steamuser}) %dir %{_prefix}/games/%{name}
%attr(0775,root,%{steamuser}) %dir %{_prefix}/games/%{name}-beta
%attr(0775,root,%{steamuser}) %dir %{_sysconfdir}/%{name}
%attr(0775,root,%{steamuser}) %dir %{_sysconfdir}/%{name}/instances
%attr(0775,root,%{steamuser}) %dir %{_sysconfdir}/%{name}/instances-beta
%attr(0775,root,%{steamuser}) %dir %{_sysconfdir}/%{name}/mapcycles
%attr(0770,root,%{steamuser}) %dir %{_localstatedir}/log/%{name}
%attr(0770,root,%{steamuser}) %dir %{_localstatedir}/log/%{name}-beta
%attr(0775,root,%{steamuser}) %dir %{_localstatedir}/cache/kf2-srv
%attr(0664,root,%{steamuser}) %config(noreplace) %{_sysconfdir}/%{name}/instance.conf.template
%attr(0664,root,%{steamuser}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
%attr(0640,root,%{steamuser}) %config(noreplace) %{_sysconfdir}/%{name}/bot.conf
%attr(0644,root,root) %config(noreplace) %{_prefix}/lib/firewalld/services/%{name}.xml
%attr(0755,root,root) %{_bindir}/%{name}
%attr(0755,root,root) %{_bindir}/%{name}-beta
%attr(0755,root,root) %{_sbindir}/%{name}-force-attr
%attr(0644,root,root) %{_prefix}/lib/systemd/system/*
%attr(0644,root,root) %doc %{_datadir}/licenses/%{name}/*
%attr(0644,root,root) %{_sysconfdir}/rsyslog.d/%{name}.conf
%attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}
%preun
if [[ $1 -eq 0 ]] ; then # Uninstall
%{_bindir}/%{name} --stop
%{_bindir}/%{name} --disable
rm -rf %{_prefix}/games/%{name}/*
rm -rf %{_prefix}/games/%{name}-beta/*
rm -rf %{_sysconfdir}/%{name}/instances/default
rm -rf %{_sysconfdir}/%{name}/instances-beta/default
rm -rf %{_localstatedir}/cache/kf2-srv/*
fi
%post
if [[ $1 == 1 ]]; then # Install
systemctl daemon-reload
systemctl try-restart rsyslog.service
fi
%changelog
* Sun Jul 19 2020 GenZmeY <genzmey@gmail.com> - 0.13.0-1
- /var/cache to store the workshop cache;
- fixed endless downloading of workshop items that tripware gave us in PC Build 1099 patch;
- using ForcePermissions when creating instances;
- add %check section to specfile.
* Mon Jul 13 2020 GenZmeY <genzmey@gmail.com> - 0.12.1-1
- rename main.conf to instance.conf.
* Mon Jul 13 2020 GenZmeY <genzmey@gmail.com> - 0.12.0-1
- chat logs without timestamp;
- update rsyslog config - now logs will be create with steam group and 640 permissions;
- update logrotate config (fixed that logrotate does nothing);
- bot password in separate file without read permission to others;
- feat: force attr for log/ini files.
* Thu Jul 9 2020 GenZmeY <genzmey@gmail.com> - 0.11.1-1
- fix syntax error in firewalld service.
* Wed Jul 8 2020 GenZmeY <genzmey@gmail.com> - 0.11.0-1
- logging (rsyslog + logrotate).
* Wed Jul 8 2020 GenZmeY <genzmey@gmail.com> - 0.10.1-1
- add COPYING to distributive;
- add license info to kf2-srv-beta;
- spec fixes;
* Mon Jun 22 2020 GenZmeY <genzmey@gmail.com> - 0.10.0-1
- separate mutators setting;
- mutator column in server list;
- chat notifications on restart for updates;
- unban on working servers;
- refactoring.
* Sun May 31 2020 GenZmeY <genzmey@gmail.com> - 0.9.1-1
- fix realtime -mrl with spaces;
- mapcycles directory.
* Wed May 27 2020 GenZmeY <genzmey@gmail.com> - 0.9.0-1
- new main.conf format;
- multiple WebAdmin and http auth by default;
- online actions;
- chat-bot;
- set password;
- refactoring.
* Mon Apr 27 2020 GenZmeY <genzmey@gmail.com> - 0.8.0-1
- use multini for ini edit;
- add mutators support;
- refactoring;
- returned "reboot-updates".
* Sat Mar 7 2020 GenZmeY <genzmey@gmail.com> - 0.7.0-1
- dual versions support;
- check updates;
- bugfixes.
* Sat Jan 18 2020 GenZmeY <genzmey@gmail.com> - 0.6.0-1
- versions;
- instance conf tweaks;
- extended map list;
- clear cache on delete map;
- removed useless messages.
* Sun Jan 12 2020 GenZmeY <genzmey@gmail.com> - 0.5.0-1
- ban admin;
- map admin;
- multiple args support.
* Sun Sep 29 2019 GenZmeY <genzmey@gmail.com> - 0.4.0-1
- Reworked main.template and kf2-srv@.service;
- Add --restart option;
- --status option shows more info;
- --list option removed.
* Fri Sep 20 2019 GenZmeY <genzmey@gmail.com> - 0.3.0-1
- validate option;
- auto validate on change active branch;
- port info on --status.
* Mon Sep 16 2019 GenZmeY <genzmey@gmail.com> - 0.2.1-1
- --map-sync bugfixes.
* Mon Sep 16 2019 GenZmeY <genzmey@gmail.com> - 0.2.0-1
- Add --map-sync implementation to kf2-srv.
* Sat Sep 14 2019 GenZmeY <genzmey@gmail.com> - 0.1.0-1
- First version of spec.