diff --git a/.gitignore b/.gitignore index 1ef9d35..a7ef512 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /bsd-games-2.17.tar.gz -/wtf-20170505.tar.gz /wtf-20170512.tar.gz +/wtf-20200829.tar.gz +/wtf-20230906.tar.gz diff --git a/atc.patch b/atc.patch new file mode 100644 index 0000000..dcfb0af --- /dev/null +++ b/atc.patch @@ -0,0 +1,37 @@ +--- bsd-games-2.17/atc/input.c- 2023-10-17 20:06:14.984621967 -0700 ++++ bsd-games-2.17/atc/input.c 2023-10-17 20:08:04.310531159 -0700 +@@ -57,6 +57,7 @@ + #define MAXDEPTH 15 + + #define RETTOKEN '\n' ++#define SPTOKEN ' ' + #define REDRAWTOKEN '\014' /* CTRL(L) */ + #define SHELLTOKEN '!' + #define HELPTOKEN '?' +@@ -96,6 +97,7 @@ + + RULE state0[] = { { ALPHATOKEN, 1, "%c:", setplane}, + { RETTOKEN, -1, "", NULL }, ++ { SPTOKEN, -1, "", NULL }, + { HELPTOKEN, 12, " [a-z]", NULL }}, + state1[] = { { 't', 2, " turn", turn }, + { 'a', 3, " altitude:", NULL }, +@@ -127,6 +129,7 @@ + state4[] = { { '@', 9, " at", NULL }, + { 'a', 9, " at", NULL }, + { RETTOKEN, -1, "", NULL }, ++ { SPTOKEN, -1, "", NULL }, + { HELPTOKEN, 12, " @a", NULL }}, + state5[] = { { NUMTOKEN, 7, "%c", delayb }, + { HELPTOKEN, 12, " [0-9]", NULL }}, +@@ -141,8 +144,10 @@ + { 'a', 4, " 270", rel_dir }, + { 'q', 4, " 315", rel_dir }, + { RETTOKEN, -1, "", NULL }, ++ { SPTOKEN, -1, "", NULL }, + { HELPTOKEN, 12, " @a",NULL }}, + state7[] = { { RETTOKEN, -1, "", NULL }, ++ { SPTOKEN, -1, "", NULL }, + { HELPTOKEN, 12, " ", NULL }}, + state8[] = { { NUMTOKEN, 4, "%c", benum }, + { HELPTOKEN, 12, " [0-9]", NULL }}, diff --git a/boggle_fread_chk.patch b/boggle_fread_chk.patch new file mode 100644 index 0000000..60a7ee8 --- /dev/null +++ b/boggle_fread_chk.patch @@ -0,0 +1,11 @@ +--- bsd-games-2.17/boggle/boggle/word.c.orig 2024-11-27 23:17:50.170707535 +0000 ++++ bsd-games-2.17/boggle/boggle/word.c 2024-11-27 23:22:28.601210911 +0000 +@@ -165,7 +165,7 @@ loaddict(fp) + + p = dictspace; + st = -1; +- while (n > 0 && (st = fread(p, 1, BUFSIZ, fp)) > 0) { ++ while (n > 0 && (st = fread(p, 1, n > st ? BUFSIZ : n, fp)) > 0) { + p += st; + n -= st; + } diff --git a/bsd-games-2.17-printw.patch b/bsd-games-2.17-printw.patch new file mode 100644 index 0000000..b73b166 --- /dev/null +++ b/bsd-games-2.17-printw.patch @@ -0,0 +1,20 @@ +--- bsd-games-2.17/canfield/canfield/canfield.c.orig 2004-12-07 05:34:21.000000000 -0800 ++++ bsd-games-2.17/canfield/canfield/canfield.c 2022-11-27 10:08:16.000000000 -0800 +@@ -1647,7 +1647,7 @@ + return; + clear(); + for (cp = basicinstructions; *cp != 0; cp++) +- printw(*cp); ++ printw("%s", *cp); + refresh(); + getch(); + clear(); +@@ -1660,7 +1660,7 @@ + return; + clear(); + for (cp = bettinginstructions; *cp != 0; cp++) +- printw(*cp); ++ printw("%s", *cp); + refresh(); + getch(); + } diff --git a/bsd-games-c99.patch b/bsd-games-c99.patch new file mode 100644 index 0000000..77d0f49 --- /dev/null +++ b/bsd-games-c99.patch @@ -0,0 +1,18 @@ +The sigpause function in glibc is the XPG version, not the BSD +version. But the signal mask is set by the immediately following +sigsetmask function anyway, so remove the sigpause function call. + +This avoids an implicit function declaration and build failures with +future compilers. + +diff -ur bsd-games-2.17.orig/hunt/hunt/otto.c bsd-games-2.17/hunt/hunt/otto.c +--- bsd-games-2.17.orig/hunt/hunt/otto.c 2004-12-07 14:34:21.000000000 +0100 ++++ bsd-games-2.17/hunt/hunt/otto.c 2023-02-05 17:58:11.266200099 +0100 +@@ -178,7 +178,6 @@ + (void) signal(SIGALRM, nothing); + old_mask = sigblock(sigmask(SIGALRM)); + setitimer(ITIMER_REAL, &pause_time, NULL); +- sigpause(old_mask); + sigsetmask(old_mask); + + /* save away parameters so other functions may use/update info */ diff --git a/bsd-games.rpmlintrc b/bsd-games.rpmlintrc new file mode 100644 index 0000000..fe8cc39 --- /dev/null +++ b/bsd-games.rpmlintrc @@ -0,0 +1,3 @@ +# The bsd-games configure script wasn't generated by +# autoconf and doesn't accept the --libdir parameter. +addFilter('configure-without-libdir-spec') diff --git a/bsd-games.spec b/bsd-games.spec index 922bf86..df28236 100644 --- a/bsd-games.spec +++ b/bsd-games.spec @@ -1,14 +1,14 @@ # Ick! This is only a temporary hack until I have more time # to rebase the affected patches (#4, and possibly more) -%global wtf_ver 20170512 +%global wtf_ver 20230906 Summary: Collection of text-based games Name: bsd-games Version: 2.17 -Release: 55%{?dist} -License: BSD and BSD with advertising -Group: Amusements/Games +Release: 82%{?dist} +# Automatically converted from old format: BSD and BSD with advertising - review is highly recommended. +License: LicenseRef-Callaway-BSD AND LicenseRef-Callaway-BSD-with-advertising URL: ftp://metalab.unc.edu/pub/Linux/games/ Source0: ftp://metalab.unc.edu/pub/Linux/games/bsd-games-%{version}.tar.gz Source1: config.params @@ -41,9 +41,22 @@ Patch20: bsd-games-2.17-backgammonrecursion.patch Patch21: bsd-games-2.17-huntversion.patch Patch22: bsd-games-2.17-getrandom.patch Patch23: bsd-games-2.17-printf.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: ncurses-devel words flex flex-static bison -Requires(pre): shadow-utils +Patch24: bsd-games-2.17-printw.patch +Patch25: bsd-games-c99.patch +Patch26: atc.patch +Patch27: boggle_fread_chk.patch + +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: ncurses-devel +BuildRequires: words +BuildRequires: flex +%if 0%{?fedora} > 33 +BuildRequires: libfl-static +%else +BuildRequires: flex-devel +%endif +BuildRequires: bison %description Bsd-games includes adventure, arithmetic, atc, backgammon, battlestar, @@ -55,31 +68,42 @@ bsd-fbg, trek, worm, worms and wump. %prep %setup -q -a2 install -p -m 755 %{SOURCE1} . -%patch0 -p1 -b .debian -%patch1 -p1 -b .ospeed -%patch2 -p1 -b .getline -%patch3 -p1 -b .utmpstruct -%patch4 -p1 -b .setresgid -%patch5 -p1 -b .tetrisgid -%patch6 -p1 -b .hackgid -%patch7 -p1 -b .phantasiagid -%patch8 -p1 -b .monop.rename -%patch9 -p0 -b .banner.rename -%patch10 -p0 -b .cplusplus -%patch11 -p0 -b .nolibtermcap -%patch12 -p0 -b .tetris.rename -%patch13 -p1 -b .gcc43 -%patch14 -p0 -b .wordlimit -%patch16 -p0 -b .backgammonsize -%patch17 -p0 -b .adventurecrc +%patch -P0 -p1 -b .debian +%patch -P1 -p1 -b .ospeed +%patch -P2 -p1 -b .getline +%patch -P3 -p1 -b .utmpstruct +%patch -P4 -p1 -b .setresgid +%patch -P5 -p1 -b .tetrisgid +%patch -P6 -p1 -b .hackgid +%patch -P7 -p1 -b .phantasiagid +%patch -P8 -p1 -b .monop.rename +%patch -P9 -p0 -b .banner.rename +%patch -P10 -p0 -b .cplusplus +%patch -P11 -p0 -b .nolibtermcap +%patch -P12 -p0 -b .tetris.rename +%patch -P13 -p1 -b .gcc43 +%patch -P14 -p0 -b .wordlimit +%patch -P16 -p0 -b .backgammonsize +%patch -P17 -p0 -b .adventurecrc pushd wtf-%{wtf_ver} -%patch18 -p1 -b .wtfrpm +%patch -P18 -p1 -b .wtfrpm popd -%patch19 -p0 -b .adventureinit -%patch20 -p1 -b .backgammonrecursion -%patch21 -p1 -b .huntversion -%patch22 -p1 -b .getrandom -%patch23 -p1 -b .printf +%patch -P19 -p0 -b .adventureinit +%patch -P20 -p1 -b .backgammonrecursion +%patch -P21 -p1 -b .huntversion +%patch -P22 -p1 -b .getrandom +%patch -P23 -p1 -b .printf +%patch -P24 -p1 -b .printw +%patch -P25 -p1 -b .c99 +%patch -P26 -p1 -b .atc +%patch -P27 -p1 -b .fread_chk + +# Create a sysusers.d config file +cat >bsd-games.sysusers.conf </dev/null || groupadd -r $group -done -exit 0 +install -m0644 -D bsd-games.sysusers.conf %{buildroot}%{_sysusersdir}/bsd-games.conf %files -%defattr(-,root,root) %{_bindir}/adventure %{_bindir}/arithmetic %attr(2755,root,games) %{_bindir}/atc @@ -189,7 +206,7 @@ exit 0 %{_bindir}/wump %{_datadir}/%{name} %{_datadir}/misc/acronyms -%{_datadir}/misc/acronyms-o.real +%{_datadir}/misc/acronyms-o %{_datadir}/misc/acronyms.comp %{_datadir}/misc/acronyms-o.fake %{_mandir}/man6/* @@ -209,8 +226,93 @@ exit 0 %config(noreplace) %attr(664,root,games) %{_var}/games/snakerawscores %config(noreplace) %attr(664,root,games) %{_var}/games/bsd-fbg.scores %doc AUTHORS COPYING ChangeLog ChangeLog.0 THANKS YEAR2000 README.hunt trek/USD.doc/trek.me +%{_sysusersdir}/bsd-games.conf %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 2.17-82 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek - 2.17-81 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Thu Jan 16 2025 Fedora Release Engineering - 2.17-80 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Nov 27 2024 Sérgio Basto - 2.17-79 +- Add boggle_fread_chk.patch + +* Tue Sep 24 2024 Sérgio Basto - 2.17-78 +- Only show offensive acronyms with usage: wtf [-o] [-f dbfile] [is] term ... + +* Mon Sep 23 2024 Sérgio Basto - 2.17-77 +- (#2254221) add atc.patch +- Update wtf to wtf-20230906 + +* Wed Aug 28 2024 Miroslav Suchý - 2.17-76 +- convert license to SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 2.17-75 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jan 23 2024 Fedora Release Engineering - 2.17-74 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.17-73 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 2.17-72 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Feb 05 2023 Florian Weimer - 2.17-71 +- Fix C99 compatibility issue in hunt (#2152550) + +* Wed Jan 18 2023 Fedora Release Engineering - 2.17-70 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Nov 27 2022 Jeff Makey - 2.17-69 +- Add rpmlintrc file to suppress spurious warning. +- Use printw() format string where needed to satisfy -Werror=format-security. + +* Wed Jul 20 2022 Fedora Release Engineering - 2.17-68 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 2.17-67 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 2.17-66 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 2.17-65 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Sep 14 2020 Sérgio Basto - 2.17-64 +- (#1871089) use libfl-static instead flex-devel on F34 +- Update wtf to wtf-20200829.tar.gz + +* Mon Jul 27 2020 Fedora Release Engineering - 2.17-63 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 2.17-62 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 2.17-61 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 2.17-60 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 2.17-59 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Mar 08 2018 Jeff Makey - 2.17-58 +- Add gcc-c++ to BuildRequires to compile dab. + +* Mon Feb 19 2018 Jeff Makey - 2.17-57 +- Add gcc to BuildRequires and change flex-static to flex-devel. + +* Wed Feb 07 2018 Fedora Release Engineering - 2.17-56 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Wed Aug 02 2017 Fedora Release Engineering - 2.17-55 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index 3fb282b..d9e70d1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (bsd-games-2.17.tar.gz) = cb2ee60474f164d42e3d47700270bbeeda3c8279d64da409c9cc05e36437ef95b92d0a85543298e97604635fcf3e068f3a5cc812e90b5c61fb8d146cf35bc38f -SHA512 (wtf-20170512.tar.gz) = 7e02f4b1a44e3a4f815604f80d2cd7cfacfea3128293df025b2b85d1ed7cd6db27431023f3a4c76bdce0dc7d311992e82b4bbcddde5fbc098af93138d87e28e1 +SHA512 (wtf-20230906.tar.gz) = 7cb6cfc9c0c111b8f9ecff4e893910bc630cb9bb8862ac43ecb55d76c6f34c26fa48a26dd9354abde15900f8c9a042f3583988e07f60c0607268dbb9bd61970e