head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.120 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.118 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.116 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.114 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.112 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.110 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.108 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.106 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.104 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.102 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.100 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.98 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.96 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.94 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.92 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.90 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.88 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.86 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.84 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.82 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.80 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.78 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.76 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.72 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.52 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.74 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.70 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.68 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.66 pkgsrc-2019Q1-base:1.1 pkgsrc-2018Q4:1.1.0.64 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.62 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.60 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.58 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.56 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.54 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.50 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.48 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.46 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.44 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.42 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.40 pkgsrc-2016Q1-base:1.1 pkgsrc-2015Q4:1.1.0.38 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.36 pkgsrc-2015Q3-base:1.1 pkgsrc-2015Q2:1.1.0.34 pkgsrc-2015Q2-base:1.1 pkgsrc-2015Q1:1.1.0.32 pkgsrc-2015Q1-base:1.1 pkgsrc-2014Q4:1.1.0.30 pkgsrc-2014Q4-base:1.1 pkgsrc-2014Q3:1.1.0.28 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.26 pkgsrc-2014Q2-base:1.1 pkgsrc-2014Q1:1.1.0.24 pkgsrc-2014Q1-base:1.1 pkgsrc-2013Q4:1.1.0.22 pkgsrc-2013Q4-base:1.1 pkgsrc-2013Q3:1.1.0.20 pkgsrc-2013Q3-base:1.1 pkgsrc-2013Q2:1.1.0.18 pkgsrc-2013Q2-base:1.1 pkgsrc-2013Q1:1.1.0.16 pkgsrc-2013Q1-base:1.1 pkgsrc-2012Q4:1.1.0.14 pkgsrc-2012Q4-base:1.1 pkgsrc-2012Q3:1.1.0.12 pkgsrc-2012Q3-base:1.1 pkgsrc-2012Q2:1.1.0.10 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.8 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.6 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.4 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.2 pkgsrc-2011Q2-base:1.1; locks; strict; comment @// @; 1.1 date 2011.05.06.05.28.39; author dholland; state Exp; branches; next ; desc @@ 1.1 log @Put the scorefile in ${VARBASE}/games instead of under ${PREFIX}/share. It is still mode 666, which is wrong (XXX), but this way: - the package will actually install again; - the score file is not overwritten every time you recompile/reinstall. There's also an .if 0 block in the makefile that can be turned on to install the game setgid so the score file can be mode 664. I'm not comfortable turning this on without doing at least a basic audit, and I don't have energy for that at the moment; but it's there and it works if anyone feels inclined to make that tradeoff locally. An alternative approach would be to write and install a setgid scorefile helper program, but that's not really any improvement over making the scores world writeable PKGREVISION -> 8. @ text @$NetBSD$ Support running setgid instead of installing the scores file mode 666. Put the scores file in VARBASE instead of /usr/pkg/share. --- scores.cpp~ 2000-09-24 17:55:39.000000000 +0000 +++ scores.cpp @@@@ -18,8 +18,13 @@@@ #define MAELSTROM_SCORES "Maelstrom-Scores" #define NUM_SCORES 10 // Do not change this! +#ifndef MAELSTROM_SETGID /* Everyone can write to scores file if defined to 0 */ #define SCORES_PERMMASK 0 +#else +#define SCORES_PERMMASK 022 +extern gid_t gamesgid; +#endif #define CLR_DIALOG_WIDTH 281 #define CLR_DIALOG_HEIGHT 111 @@@@ -29,10 +34,19 @@@@ Scores hScores[NUM_SCORES]; void LoadScores(void) { +#ifndef MAELSTROM_SCOREDIR LibPath path; +#endif + const char *pathstr; SDL_RWops *scores_src; int i; +#ifndef MAELSTROM_SCOREDIR + pathstr = path.Path(MAELSTROM_SCORES); +#else + pathstr = MAELSTROM_SCOREDIR "/" MAELSTROM_SCORES; +#endif + /* Try to load network scores, if we can */ if ( gNetScores ) { if ( NetLoadScores() == 0 ) @@@@ -44,7 +58,7 @@@@ void LoadScores(void) } memset(&hScores, 0, sizeof(hScores)); - scores_src = SDL_RWFromFile(path.Path(MAELSTROM_SCORES), "rb"); + scores_src = SDL_RWFromFile(pathstr, "rb"); if ( scores_src != NULL ) { for ( i=0; i