diff --git a/.gitignore b/.gitignore index 75e4646..4e04d62 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ liquidwar-5.6.4.tar.gz -/liquidwar-5.6.5.tar.gz diff --git a/liquidwar-5.6.5-python3.patch b/liquidwar-5.6.5-python3.patch deleted file mode 100644 index e4324c6..0000000 --- a/liquidwar-5.6.5-python3.patch +++ /dev/null @@ -1,232 +0,0 @@ ---- doc/makedoc.py~ 2018-12-23 13:04:36.000000000 -0600 -+++ doc/makedoc.py 2019-08-01 09:55:36.138861280 -0500 -@@ -366,7 +366,7 @@ - self.write("\n\\end{verbatim}\n") - def translate(self,data,tag): - result=data -- result=format_email_and_url(result) -+ result=format_email_and_url(result) - if (tag!="code"): - result=format_tex(result) - return result ---- doc/makedoc.py~ 2019-08-01 09:57:30.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 10:01:16.624513293 -0500 -@@ -405,7 +405,7 @@ - self.write("\n") - def translate(self,data,tag): - result=data -- result=format_email_and_url(result) -+ result=format_email_and_url(result) - result=string.replace(result,"\\","\\\\") - result=string.replace(result,".","\.") - result=string.replace(result,"-","\-") ---- doc/makedoc.py~ 2019-08-01 10:05:15.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 10:16:35.106574773 -0500 -@@ -460,7 +460,7 @@ - self.write("\n") - def translate(self,data,tag): - result=data -- result=format_email_and_url(result) -+ result=format_email_and_url(result) - if (tag=="code"): - result=" "*self.indent+\ - string.replace(result,"\n","\n"+" "*self.indent) ---- doc/makedoc.py~ 2019-08-01 10:16:46.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 10:21:42.795258329 -0500 -@@ -505,7 +505,7 @@ - self.write("\n@end example\n") - def translate(self,data,tag): - result=data -- result=format_email_and_url(result) -+ result=format_email_and_url(result) - - if (tag!="code"): - result=remove_duplicate_blanks(result) ---- doc/makedoc.py~ 2019-08-01 10:22:09.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 10:27:51.419879128 -0500 -@@ -548,7 +548,7 @@ - self.write("\n") - def translate(self,data,tag): - result=data -- result=format_email_and_url(result) -+ result=format_email_and_url(result) - - if (tag=="code"): - result=format_uwc_code(result) ---- doc/makedoc.py~ 2019-08-01 10:28:32.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 10:34:09.146489785 -0500 -@@ -208,7 +208,7 @@ - if tag=="code": - self.start_code() - def endElement(self,tag): -- data=string.strip(self.charbuf) -+ data=self.charbuf.strip - if (data!=""): - self.write(self.translate(data,self.stack[-1])) - self.charbuf="" ---- doc/makedoc.py~ 2019-08-01 10:34:27.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 10:39:02.739184332 -0500 -@@ -61,7 +61,7 @@ - return result - - def format_email_and_url(text): -- result=text -+ result=str(text) - - email=re.compile('"([\w\-\.]+@[\w\-\.]+)"') - result=email.sub(r'\1',result); ---- doc/makedoc.py~ 2019-08-01 10:54:49.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 11:05:05.757487736 -0500 -@@ -16,14 +16,14 @@ - def remove_duplicate_blanks(text): - result=text - -- result=string.replace(result,"\t"," ") -- result=string.replace(result,"\n"," ") -+ result=result.replace("\t"," ") -+ result=result.replace("\n"," ") - - if (result!=""): - temp="" - while temp!=result: - temp=result -- result=string.replace(result," "," ") -+ result=result.replace(" "," ") - - return result - -@@ -74,11 +74,11 @@ - def format_html(text): - result=text - -- result=string.replace(result,"<","ufoot_html_lt") -- result=string.replace(result,">","ufoot_html_gt") -- result=string.replace(result,"&","&") -- result=string.replace(result,"ufoot_html_lt","<") -- result=string.replace(result,"ufoot_html_gt",">") -+ result=result.replace("<","ufoot_html_lt") -+ result=result.replace(">","ufoot_html_gt") -+ result=result.replace("&","&") -+ result=result.replace("ufoot_html_lt","<") -+ result=result.replace("ufoot_html_gt",">") - - # Uncomment this to make mailing list adresses look like "xxx at xxx" - # instead of "xxx@xxx". This can prevent spammers from harvesting -@@ -97,31 +97,31 @@ - def format_tex(text): - result=text - -- result=string.replace(result,"\\","$\\backslash$") -- result=string.replace(result,"_","\\_") -- result=string.replace(result,"#","\\#") -- result=string.replace(result,"%","\\%") -- result=string.replace(result,"}","\\}") -- result=string.replace(result,"<","$<$") -- result=string.replace(result,">","$>$") -- result=string.replace(result,"~","$\\tilde{}$") -+ result=result.replace("\\","$\\backslash$") -+ result=result.replace("_","\\_") -+ result=result.replace("#","\\#") -+ result=result.replace("%","\\%") -+ result=result.replace("}","\\}") -+ result=result.replace("<","$<$") -+ result=result.replace(">","$>$") -+ result=result.replace("~","$\\tilde{}$") - - return result - - def format_texi(text): - result=text - -- result=string.replace(result,"@","@@") -- result=string.replace(result,"}","@}") -- result=string.replace(result,"{","@{") -+ result=result.replace("@","@@") -+ result=result.replace("}","@}") -+ result=result.replace("{","@{") - - return result - - def format_uwc(text): - result=text - -- result=string.replace(result,"]","]") -- result=string.replace(result,"[","[[") -+ result=result.replace("]","]") -+ result=result.replace("[","[[") - - return result - -@@ -139,8 +139,8 @@ - result=text - - result=format_uwc(result) -- result=string.replace(result,"\n"," ") -- result=string.replace(result,"\r"," ") -+ result=result.replace("\n"," ") -+ result=result.replace("\r"," ") - result=remove_duplicate_blanks(result) - - return result ---- doc/makedoc.py~ 2019-08-01 11:05:37.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 11:10:12.624131362 -0500 -@@ -567,7 +567,7 @@ - parser.setContentHandler(handler) - parser.parse(src_file) - dst_code=handler.translated -- dst_file.write(dst_code.encode("iso-8859-1")) -+ dst_file.write(str(dst_code.encode("iso-8859-1"))) - src_file.close() - dst_file.close() - ---- doc/makedoc.py~ 2019-08-01 11:15:25.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 11:20:48.654373076 -0500 -@@ -463,7 +463,7 @@ - result=format_email_and_url(result) - if (tag=="code"): - result=" "*self.indent+\ -- string.replace(result,"\n","\n"+" "*self.indent) -+ result.replace("\n","\n"+" "*self.indent) - else: - result=format_text(result,self.indent,80) - if (tag=="elem"): ---- doc/makedoc.py~ 2019-08-01 11:21:07.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 11:25:15.772051577 -0500 -@@ -406,11 +406,11 @@ - def translate(self,data,tag): - result=data - result=format_email_and_url(result) -- result=string.replace(result,"\\","\\\\") -- result=string.replace(result,".","\.") -- result=string.replace(result,"-","\-") -+ result=result.replace("\\","\\\\") -+ result=result.replace(".","\.") -+ result=result.replace("-","\-") - if (tag=="code"): -- result=string.replace(result,"\n","\n.br\n") -+ result=result.replace("\n","\n.br\n") - else: - result=remove_duplicate_blanks(result) - return result -@@ -602,8 +602,8 @@ - run_parser(handler,txt_file,xml_file) - - def make_texi(texi_file,xml_file): -- node=string.replace(xml_file,".xml","") -- node=string.replace(node,"xml/","") -+ node=xml_file.replace(".xml","") -+ node=node.replace("xml/","") - parser=xml.sax.make_parser() - handler=XMLToTexi(node) - run_parser(handler,texi_file,xml_file) ---- doc/makedoc.py~ 2019-08-01 11:25:43.000000000 -0500 -+++ doc/makedoc.py 2019-08-01 11:28:49.603782321 -0500 -@@ -72,7 +72,7 @@ - return result - - def format_html(text): -- result=text -+ result=str(text) - - result=result.replace("<","ufoot_html_lt") - result=result.replace(">","ufoot_html_gt") diff --git a/liquidwar.spec b/liquidwar.spec index 7d55e8b..2c18f5e 100644 --- a/liquidwar.spec +++ b/liquidwar.spec @@ -1,20 +1,24 @@ +%define _hardened_build 1 Name: liquidwar -Version: 5.6.5 -Release: 21%{?dist} +Version: 5.6.4 +Release: 26%{?dist} Summary: Multiplayer wargame with liquid armies -License: GPL-2.0-or-later +Group: Amusements/Games +License: GPLv2+ URL: http://www.ufoot.org/liquidwar/v5 Source0: http://download.savannah.nongnu.org/releases/%{name}/%{name}-%{version}.tar.gz Source2: liquidwar.sysconfig Source3: liquidwar.logrotate Source4: liquidwar-server.service -Patch0: liquidwar-5.6.5-python3.patch -BuildRequires: gcc -BuildRequires: allegro-devel allegro-tools python3-devel +Patch0: liquidwar-5.6.4-srv-overflow.patch +Patch1: liquidwar-printf.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: allegro-devel allegro-tools tetex-latex python texinfo BuildRequires: systemd BuildRequires: desktop-file-utils -BuildRequires: make Requires: hicolor-icon-theme +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info %description Liquid War is a unique multiplayer wargame. You control an army of liquid @@ -25,6 +29,7 @@ support. %package doc Summary: Documentation for the LiquidWar game in additional formats +Group: Documentation Requires: %{name} = %{version}-%{release} %description doc @@ -34,7 +39,9 @@ format. %package server Summary: Network game server for the LiquidWar game +Group: Amusements/Games Requires: %{name} = %{version}-%{release} +Requires(pre): /usr/sbin/useradd %description server This package contains the server for hosting network LiquidWar games. @@ -43,7 +50,8 @@ This package contains the server for hosting network LiquidWar games. %prep %setup -q -%patch -P0 -p0 +%patch0 -p0 -b .overflow +%patch1 -p0 -b .printf # don't strip the binaries please sed -i 's/install\(\s\+-c\)\?\s\+-s/install/g' Makefile.in @@ -53,24 +61,15 @@ for i in de dk fr; do mv $i README.$i done -# Create a sysusers.d config file -cat >liquidwar.sysusers.conf </dev/null` +if [ x"$user_uid" = x ] ; then + /usr/sbin/useradd -r -s /sbin/nologin -d %{_datadir}/%{name} -M \ + -c 'LiquidWar Server' \ + %{name} >/dev/null || : +fi %post server %systemd_post liquidwar-server.service @@ -122,8 +152,8 @@ install -m0644 -D liquidwar.sysusers.conf %{buildroot}%{_sysusersdir}/liquidwar. %systemd_postun_with_restart liquidwar-server.service %files -%license COPYING -%doc README* +%defattr(-,root,root,-) +%doc COPYING README %{_bindir}/%{name} %{_bindir}/%{name}-mapgen %{_datadir}/%{name} @@ -134,6 +164,7 @@ install -m0644 -D liquidwar.sysusers.conf %{buildroot}%{_sysusersdir}/liquidwar. %{_datadir}/icons/hicolor/*/apps/%{name}.xpm %files doc +%defattr(-,root,root,-) %doc liquidwardocs/* %files server @@ -142,86 +173,9 @@ install -m0644 -D liquidwar.sysusers.conf %{buildroot}%{_sysusersdir}/liquidwar. %{_unitdir}/liquidwar-server.service %config(noreplace) %{_sysconfdir}/sysconfig/%{name}-server %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-server -%{_sysusersdir}/liquidwar.conf %changelog -* Thu Jul 24 2025 Fedora Release Engineering - 5.6.5-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Mar 19 2025 Gwyn Ciesla - 5.6.5-20 -- Fix FTI - -* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 5.6.5-19 -- Add sysusers.d config file to allow rpm to create users/groups automatically - -* Fri Jan 17 2025 Fedora Release Engineering - 5.6.5-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jul 18 2024 Fedora Release Engineering - 5.6.5-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu Jan 25 2024 Fedora Release Engineering - 5.6.5-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 5.6.5-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jul 20 2023 Fedora Release Engineering - 5.6.5-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Mar 01 2023 Gwyn Ciesla - 5.6.5-13 -- migrated to SPDX license - -* Thu Jan 19 2023 Fedora Release Engineering - 5.6.5-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jul 21 2022 Fedora Release Engineering - 5.6.5-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jan 20 2022 Fedora Release Engineering - 5.6.5-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Jul 22 2021 Fedora Release Engineering - 5.6.5-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 5.6.5-8 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Tue Jan 26 2021 Fedora Release Engineering - 5.6.5-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 5.6.5-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Feb 06 2020 Gwyn Ciesla - 5.6.5-5 -- Fix FTBFS. - -* Wed Jan 29 2020 Fedora Release Engineering - 5.6.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Aug 01 2019 Gwyn Ciesla - 5.6.5-3 -- Fix FTBTS. - -* Thu Jul 25 2019 Fedora Release Engineering - 5.6.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 22 2019 Gwyn Ciesla - 5.6.5-1 -- 5.6.5 - -* Fri Feb 01 2019 Fedora Release Engineering - 5.6.4-30 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering - 5.6.4-29 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Feb 07 2018 Fedora Release Engineering - 5.6.4-28 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Jan 11 2018 Igor Gnatenko - 5.6.4-27 -- Remove obsolete scriptlets - * Thu Aug 03 2017 Fedora Release Engineering - 5.6.4-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index 79c25f5..e98542f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (liquidwar-5.6.5.tar.gz) = 15dc2cacd1f3b00f8dcac4318cbaf5c713f2d0e111392d14dd56eec7ae97a64af1487a11038dc108743baf3c995e9136100d56331fadc4cf19dc5702d5051a25 +6917dd1026e6685404ffbd086f8ba374 liquidwar-5.6.4.tar.gz