Bug 255346

Summary: [NEW PORT] games/nbsdgames: 17 text-based modern games
Product: Ports & Packages Reporter: Robert Clausecker <fuz>
Component: Individual Port(s)Assignee: Li-Wen Hsu <lwhsu>
Status: Closed FIXED    
Severity: Affects Only Me CC: lwhsu
Priority: --- Keywords: feature
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://github.com/abakh/nbsdgames
Attachments:
Description Flags
games/nbsdgames: 17 text-based modern games
none
Poudriere log (on arm64 FreeBSD 13.0-RELEASE)
none
Poudriere log (on arm FreeBSD 13.0-RELEASE)
none
games/nbsdgames: 17 text-based modern games
none
games/nbsdgames: 17 text-based modern games none

Description Robert Clausecker freebsd_committer freebsd_triage 2021-04-23 15:02:13 UTC
Created attachment 224377 [details]
games/nbsdgames: 17 text-based modern games

A collection of terminal games including, Jewels, Sudoku, Mines,
Reversi, Checkers, Battleship, SOS,  Rabbithole, Pipes, Fifteen,
Memoblocks, Fisher, Muncher, Miketron, Redsquare, Darrt, and Snakeduel.

The difficulty and/or dimensions are adjustable through simple command
line options, you can play a minesweeper game that take hours to
complete, or exprience hexadecimal sudoku and 8x8 fifteen-like puzzles!

Play on xterm for best experience.

WWW: https://github.com/abakh/nbsdgames
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2021-04-24 01:37:26 UTC
Thank you for submitting a new port Robert

Please confirm this change passes QA (portlint, poudriere at least)

For details and instructions, see: 

https://docs.freebsd.org/en/books/porters-handbook/#testing
Comment 2 Robert Clausecker freebsd_committer freebsd_triage 2021-04-24 09:20:31 UTC
(In reply to Kubilay Kocak from comment #1)

When I add the # $FreeBSD$ header, the port passes portlint.  However, this header was recently removed from all ports with the transition to git, so I decided to not add it to this port either.  It appears that portlint has not yet been updated to be aware of this change.

Is there any other issue with the port?  I've tried all the other QA steps given in the porter's handbook and could not find a problem.
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2021-04-24 09:52:30 UTC
(In reply to Robert Clausecker from comment #2)

You can ignore that. If you've run through QA, just explicitly mention that. Many issues can be and are picked up before a second review by developers. Thanks :)
Comment 4 Robert Clausecker freebsd_committer freebsd_triage 2021-04-24 10:37:56 UTC
(In reply to Kubilay Kocak from comment #3)

Thanks, will do so next time!  Please let me know if there is anything else I need to do to move this forwards.
Comment 5 Robert Clausecker freebsd_committer freebsd_triage 2021-04-26 15:34:03 UTC
Created attachment 224449 [details]
Poudriere log (on arm64 FreeBSD 13.0-RELEASE)
Comment 6 Robert Clausecker freebsd_committer freebsd_triage 2021-04-26 15:34:30 UTC
Created attachment 224450 [details]
Poudriere log (on arm FreeBSD 13.0-RELEASE)
Comment 7 Robert Clausecker freebsd_committer freebsd_triage 2021-04-26 15:35:38 UTC
I've performed test Poudriere builds of the port.  They pass without errors.  See attached logs.
Comment 8 Robert Clausecker freebsd_committer freebsd_triage 2021-05-06 23:19:11 UTC
Created attachment 224738 [details]
games/nbsdgames: 17 text-based modern games

A version 4.1 was released in the meanwhile.  An updated port is provided.
Comment 9 Robert Clausecker freebsd_committer freebsd_triage 2021-05-17 11:30:03 UTC
Created attachment 225025 [details]
games/nbsdgames: 17 text-based modern games

Version 4.1.1 has been released in the meanwhile.  An updated port is provided.
Comment 10 Li-Wen Hsu freebsd_committer freebsd_triage 2021-05-17 17:10:52 UTC
(In reply to Robert Clausecker from comment #9)
Test fine and Makefile looks fine to me (with some minor modifications)
Wanted to check more: there are files installed with SGID, is that necessary?
Comment 11 Robert Clausecker freebsd_committer freebsd_triage 2021-05-17 20:41:32 UTC
(In reply to Li-Wen Hsu from comment #10)

Hi Li-Wen,

These files are score files.  Giving them to the group games and having the game binaries themselves be setgid games is the standard pattern to have system-wide score files that are protected against tampering by individual users.  This is in fact the entire raison d'ĂȘtre of the games group.  You can check games/bsdgames for another port using the same design pattern.

It would be possible to remove this functionality, but then there either wouldn't be system-wide score files or alternatively, the score files would be subject to tampering by the users.

Please let me know what minor modifications are needed so I can incorporate them into the patch.
Comment 12 commit-hook freebsd_committer freebsd_triage 2021-05-24 00:09:06 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cd4b02d068b203b0eeed5d7477c9ca54705e2c3b

commit cd4b02d068b203b0eeed5d7477c9ca54705e2c3b
Author:     Robert Clausecker <fuz@fuz.su>
AuthorDate: 2021-04-23 14:18:46 +0000
Commit:     Li-Wen Hsu <lwhsu@FreeBSD.org>
CommitDate: 2021-05-24 00:07:45 +0000

    games/nbsdgames: (new port) 17 text-based modern games

    A collection of terminal games including, Jewels, Sudoku, Mines,
    Reversi, Checkers, Battleship, SOS,  Rabbithole, Pipes, Fifteen,
    Memoblocks, Fisher, Muncher, Miketron, Redsquare, Darrt, and Snakeduel.

    The difficulty and/or dimensions are adjustable through simple command
    line options, you can play a minesweeper game that take hours to
    complete, or exprience hexadecimal sudoku and 8x8 fifteen-like puzzles!

    Play on xterm for best experience.

    WWW: https://github.com/abakh/nbsdgames

    PR:     255346

 games/Makefile                             |  1 +
 games/nbsdgames/Makefile (new)             | 45 ++++++++++++++++++++++++++++++
 games/nbsdgames/distinfo (new)             |  3 ++
 games/nbsdgames/files/patch-Makefile (new) | 35 +++++++++++++++++++++++
 games/nbsdgames/pkg-descr (new)            | 11 ++++++++
 games/nbsdgames/pkg-plist (new)            | 41 +++++++++++++++++++++++++++
 6 files changed, 136 insertions(+)