Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3ca4ae449 |
25 changed files with 499 additions and 520 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,2 +1 @@
|
|||
xpilot-ng-4.7.2.tar.gz
|
||||
/xpilot-ng-4.7.3.tar.gz
|
||||
|
|
|
|||
0
logwatch.script.xpilot
Normal file → Executable file
0
logwatch.script.xpilot
Normal file → Executable file
0
logwatch.shared.applyxpilotdate
Normal file → Executable file
0
logwatch.shared.applyxpilotdate
Normal file → Executable file
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
89a360747f7811a33c4821eec5583b7d xpilot-ng-4.7.3.tar.gz
|
||||
b922251ab9c69f87567c9606304ee589 xpilot-ng-4.7.2.tar.gz
|
||||
|
|
|
|||
84
xpilot-ng-4.7.2-getline.patch
Normal file
84
xpilot-ng-4.7.2-getline.patch
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
diff -up xpilot-ng-4.7.2/src/client/textinterface.c~ xpilot-ng-4.7.2/src/client/textinterface.c
|
||||
--- xpilot-ng-4.7.2/src/client/textinterface.c~ 2005-09-02 19:06:20.000000000 +0200
|
||||
+++ xpilot-ng-4.7.2/src/client/textinterface.c 2010-01-15 12:34:07.000000000 +0100
|
||||
@@ -37,7 +37,7 @@ extern int dgram_one_socket; /* from da
|
||||
/*
|
||||
* just like fgets() but strips newlines like gets().
|
||||
*/
|
||||
-static char* getline(char* buf, int len, FILE* stream)
|
||||
+static char* xp_getline(char* buf, int len, FILE* stream)
|
||||
{
|
||||
char *nl;
|
||||
|
||||
@@ -251,7 +251,7 @@ static bool Process_commands(sockbuf_t *
|
||||
else if (!auto_connect) {
|
||||
printf("*** Server on %s. Enter command> ", conpar->server_name);
|
||||
|
||||
- getline(linebuf, MAX_LINE, stdin);
|
||||
+ xp_getline(linebuf, MAX_LINE, stdin);
|
||||
if (feof(stdin)) {
|
||||
puts("");
|
||||
c = 'Q';
|
||||
@@ -338,7 +338,7 @@ static bool Process_commands(sockbuf_t *
|
||||
case 'K':
|
||||
printf("Enter name of victim: ");
|
||||
fflush(stdout);
|
||||
- if (!getline(linebuf, MAX_LINE, stdin)) {
|
||||
+ if (!xp_getline(linebuf, MAX_LINE, stdin)) {
|
||||
printf("Nothing changed.\n");
|
||||
continue;
|
||||
}
|
||||
@@ -349,7 +349,7 @@ static bool Process_commands(sockbuf_t *
|
||||
case 'M': /* Send a message to server. */
|
||||
printf("Enter message: ");
|
||||
fflush(stdout);
|
||||
- if (!getline(linebuf, MAX_LINE, stdin) || !linebuf[0]) {
|
||||
+ if (!xp_getline(linebuf, MAX_LINE, stdin) || !linebuf[0]) {
|
||||
printf("No message sent.\n");
|
||||
continue;
|
||||
}
|
||||
@@ -364,7 +364,7 @@ static bool Process_commands(sockbuf_t *
|
||||
case 'D': /* Shutdown */
|
||||
if (!auto_shutdown) {
|
||||
printf("Enter delay in seconds or return for cancel: ");
|
||||
- getline(linebuf, MAX_LINE, stdin);
|
||||
+ xp_getline(linebuf, MAX_LINE, stdin);
|
||||
/*
|
||||
* No argument = cancel shutdown = arg_int=0
|
||||
*/
|
||||
@@ -375,7 +375,7 @@ static bool Process_commands(sockbuf_t *
|
||||
delay = 1;
|
||||
|
||||
printf("Enter reason: ");
|
||||
- getline(linebuf, MAX_LINE, stdin);
|
||||
+ xp_getline(linebuf, MAX_LINE, stdin);
|
||||
} else {
|
||||
strlcpy(linebuf, shutdown_reason, sizeof(linebuf));
|
||||
delay = 60;
|
||||
@@ -388,7 +388,7 @@ static bool Process_commands(sockbuf_t *
|
||||
case 'O': /* Tune an option. */
|
||||
printf("Enter option: ");
|
||||
fflush(stdout);
|
||||
- if (!getline(linebuf, MAX_LINE, stdin)
|
||||
+ if (!xp_getline(linebuf, MAX_LINE, stdin)
|
||||
|| (len=strlen(linebuf)) == 0) {
|
||||
printf("Nothing changed.\n");
|
||||
continue;
|
||||
@@ -396,7 +396,7 @@ static bool Process_commands(sockbuf_t *
|
||||
printf("Enter new value for %s: ", linebuf);
|
||||
fflush(stdout);
|
||||
strcat(linebuf, ":"); len++;
|
||||
- if (!getline(&linebuf[len], MAX_LINE-len, stdin)
|
||||
+ if (!xp_getline(&linebuf[len], MAX_LINE-len, stdin)
|
||||
|| linebuf[len] == '\0') {
|
||||
printf("Nothing changed.\n");
|
||||
continue;
|
||||
@@ -450,7 +450,7 @@ static bool Process_commands(sockbuf_t *
|
||||
case 'T': /* Set team. */
|
||||
printf("Enter team: ");
|
||||
fflush(stdout);
|
||||
- if (!getline(linebuf, MAX_LINE, stdin)
|
||||
+ if (!xp_getline(linebuf, MAX_LINE, stdin)
|
||||
|| (len = strlen(linebuf)) == 0)
|
||||
printf("Nothing changed.\n");
|
||||
else {
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
--- a/src/server/score.c.orig 2006-10-20 11:38:01.000000000 -0700
|
||||
+++ b/src/server/score.c 2006-10-20 12:44:30.000000000 -0700
|
||||
--- src/server/score.c.orig 2006-10-20 11:38:01.000000000 -0700
|
||||
+++ src/server/score.c 2006-10-20 12:44:30.000000000 -0700
|
||||
@@ -257,9 +257,13 @@
|
||||
sc = Rate(cannon->score, Get_Score(victim))
|
||||
* options.cannonKillScoreMult;
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
--- xpilot-ng-4.7.3/configure.ac~ 2010-03-06 02:20:30.000000000 +0100
|
||||
+++ xpilot-ng-4.7.3/configure.ac 2016-02-01 14:29:21.981049477 +0100
|
||||
@@ -325,7 +325,8 @@ if test x$enable_sound = xyes; then
|
||||
alut,
|
||||
main,
|
||||
[have_alut=yes],
|
||||
- [])
|
||||
+ [],
|
||||
+ -lopenal)
|
||||
if test x$have_openal = xyes; then
|
||||
if test x$have_alut = xyes; then
|
||||
have_sound=yes
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/client/sdl/scrap.c b/src/client/sdl/scrap.c
|
||||
index e86beaff931d66e9..557e33f206f84d12 100644
|
||||
--- a/src/client/sdl/scrap.c
|
||||
+++ b/src/client/sdl/scrap.c
|
||||
@@ -57,6 +57,8 @@ typedef uint32_t scrap_type;
|
||||
#if defined(X11_SCRAP)
|
||||
/* * */
|
||||
static Display *SDL_Display;
|
||||
+/* Avoid conflict with SDL_Window defined in <SDL/SDL_syswm.h>. */
|
||||
+#define SDL_Window SDL_Window_variable
|
||||
static Window SDL_Window;
|
||||
static void (*Lock_Display)(void);
|
||||
static void (*Unlock_Display)(void);
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
diff -up xpilot-ng-4.7.3/src/server/suibotdef.c~ xpilot-ng-4.7.3/src/server/suibotdef.c
|
||||
--- xpilot-ng-4.7.3/src/server/suibotdef.c~ 2026-01-24 18:58:21.000000000 +0100
|
||||
+++ xpilot-ng-4.7.3/src/server/suibotdef.c 2026-01-24 18:59:54.806510851 +0100
|
||||
@@ -378,7 +378,6 @@ typedef struct {
|
||||
} object_proximity_t;
|
||||
|
||||
|
||||
-static bool Get_object_proximity();
|
||||
static bool Get_object_proximity(player_t *pl, object_t *shot, double sqmaxdist,int maxtime, object_proximity_t *object_proximity){
|
||||
/* get square of closest distance between player and object
|
||||
* compare with sqmaxdist and maxtime and return sqdistance and time
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
diff --git a/src/mapedit/proto.h b/src/mapedit/proto.h
|
||||
index b4f19f7d25cfe63d..d6222f5c7aa02e83 100644
|
||||
--- a/src/mapedit/proto.h
|
||||
+++ b/src/mapedit/proto.h
|
||||
@@ -73,15 +73,15 @@ int NewMap(HandlerInfo_t info);
|
||||
int ResizeWidth(HandlerInfo_t info);
|
||||
int ResizeHeight(HandlerInfo_t info);
|
||||
int OpenPreferencesPopup(HandlerInfo_t info);
|
||||
-int OpenMapInfoPopup(void);
|
||||
-int OpenRobotsPopup(void);
|
||||
-int OpenVisibilityPopup(void);
|
||||
-int OpenCannonsPopup(void);
|
||||
-int OpenRoundsPopup(void);
|
||||
-int OpenInitItemsPopup(void);
|
||||
-int OpenMaxItemsPopup(void);
|
||||
-int OpenProbsPopup(void);
|
||||
-int OpenScoringPopup(void);
|
||||
+int OpenMapInfoPopup(HandlerInfo_t info);
|
||||
+int OpenRobotsPopup(HandlerInfo_t info);
|
||||
+int OpenVisibilityPopup(HandlerInfo_t info);
|
||||
+int OpenCannonsPopup(HandlerInfo_t info);
|
||||
+int OpenRoundsPopup(HandlerInfo_t info);
|
||||
+int OpenInitItemsPopup(HandlerInfo_t info);
|
||||
+int OpenMaxItemsPopup(HandlerInfo_t info);
|
||||
+int OpenProbsPopup(HandlerInfo_t info);
|
||||
+int OpenScoringPopup(HandlerInfo_t info);
|
||||
int ValidateCoordHandler(HandlerInfo_t info);
|
||||
int ShowHoles(HandlerInfo_t info);
|
||||
char MapData(int x, int y);
|
||||
diff --git a/src/mapedit/tools.c b/src/mapedit/tools.c
|
||||
index b99840a257dfa6f6..24a3ca0693e7bb02 100644
|
||||
--- a/src/mapedit/tools.c
|
||||
+++ b/src/mapedit/tools.c
|
||||
@@ -747,7 +747,7 @@ int OpenPreferencesPopup(HandlerInfo_t info)
|
||||
/* Arguments : */
|
||||
/* Purpose : */
|
||||
/***************************************************************************/
|
||||
-int OpenMapInfoPopup()
|
||||
+int OpenMapInfoPopup(HandlerInfo_t info)
|
||||
{
|
||||
Window *temp;
|
||||
|
||||
@@ -790,7 +790,7 @@ int OpenMapInfoPopup()
|
||||
/* Arguments : */
|
||||
/* Purpose : */
|
||||
/***************************************************************************/
|
||||
-int OpenRobotsPopup()
|
||||
+int OpenRobotsPopup(HandlerInfo_t info)
|
||||
{
|
||||
XMapWindow(display, robots);
|
||||
return 0;
|
||||
@@ -801,7 +801,7 @@ int OpenRobotsPopup()
|
||||
/* Arguments : */
|
||||
/* Purpose : */
|
||||
/***************************************************************************/
|
||||
-int OpenVisibilityPopup()
|
||||
+int OpenVisibilityPopup(HandlerInfo_t info)
|
||||
{
|
||||
XMapWindow(display, visibility);
|
||||
return 0;
|
||||
@@ -812,7 +812,7 @@ int OpenVisibilityPopup()
|
||||
/* Arguments : */
|
||||
/* Purpose : */
|
||||
/***************************************************************************/
|
||||
-int OpenCannonsPopup()
|
||||
+int OpenCannonsPopup(HandlerInfo_t info)
|
||||
{
|
||||
XMapWindow(display, cannons);
|
||||
return 0;
|
||||
@@ -823,7 +823,7 @@ int OpenCannonsPopup()
|
||||
/* Arguments : */
|
||||
/* Purpose : */
|
||||
/***************************************************************************/
|
||||
-int OpenRoundsPopup()
|
||||
+int OpenRoundsPopup(HandlerInfo_t info)
|
||||
{
|
||||
XMapWindow(display, rounds);
|
||||
return 0;
|
||||
@@ -834,7 +834,7 @@ int OpenRoundsPopup()
|
||||
/* Arguments : */
|
||||
/* Purpose : */
|
||||
/***************************************************************************/
|
||||
-int OpenInitItemsPopup()
|
||||
+int OpenInitItemsPopup(HandlerInfo_t info)
|
||||
{
|
||||
XMapWindow(display, inititems);
|
||||
return 0;
|
||||
@@ -845,7 +845,7 @@ int OpenInitItemsPopup()
|
||||
/* Arguments : */
|
||||
/* Purpose : */
|
||||
/***************************************************************************/
|
||||
-int OpenMaxItemsPopup()
|
||||
+int OpenMaxItemsPopup(HandlerInfo_t info)
|
||||
{
|
||||
XMapWindow(display, maxitems);
|
||||
return 0;
|
||||
@@ -856,7 +856,7 @@ int OpenMaxItemsPopup()
|
||||
/* Arguments : */
|
||||
/* Purpose : */
|
||||
/***************************************************************************/
|
||||
-int OpenProbsPopup()
|
||||
+int OpenProbsPopup(HandlerInfo_t info)
|
||||
{
|
||||
XMapWindow(display, probs);
|
||||
return 0;
|
||||
@@ -867,7 +867,7 @@ int OpenProbsPopup()
|
||||
/* Arguments : */
|
||||
/* Purpose : */
|
||||
/***************************************************************************/
|
||||
-int OpenScoringPopup()
|
||||
+int OpenScoringPopup(HandlerInfo_t info)
|
||||
{
|
||||
XMapWindow(display, scoring);
|
||||
return 0;
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/server/suibotdef.c b/src/server/suibotdef.c
|
||||
index d5202e3c323f0a8f..494f73f531848817 100644
|
||||
--- a/src/server/suibotdef.c
|
||||
+++ b/src/server/suibotdef.c
|
||||
@@ -405,7 +405,7 @@ static bool Get_object_proximity(player_t *pl, object_t *shot, double sqmaxdist,
|
||||
/* ignore if there is enough time to deal with this object later */
|
||||
if((time_until_closest < 0) || (time_until_closest > maxtime))
|
||||
/*option instead of fixed value: options.dodgetime))*/
|
||||
- return;
|
||||
+ return false;
|
||||
|
||||
/* get the square of the distance */
|
||||
sqdistance =
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
Avoid implicit declaration of the Move_point function in
|
||||
Wall_in_between_points in suibotdef.c.
|
||||
|
||||
diff --git a/src/server/server.h b/src/server/server.h
|
||||
index 5c0cdd66de1db008..30b7f7d0a8fb09e4 100644
|
||||
--- a/src/server/server.h
|
||||
+++ b/src/server/server.h
|
||||
@@ -151,6 +151,8 @@ void Groups_init(void);
|
||||
void Walls_init(void);
|
||||
void Treasure_init(void);
|
||||
void Move_init(void);
|
||||
+struct collans;
|
||||
+void Move_point(const move_t *move, struct collans *answer);
|
||||
void Move_object(object_t *obj);
|
||||
void Move_player(player_t *pl);
|
||||
void Turn_player(player_t *pl, bool push);
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component type="desktop">
|
||||
<id>xpilot-ng-sdl.desktop</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-2.0+</project_license>
|
||||
<name>XPilot NG</name>
|
||||
<summary>Multi-player space arcade game</summary>
|
||||
<description>
|
||||
<p>
|
||||
A highly addictive, infinitely configurable multiplayer space
|
||||
arcade game. You pilot a spaceship around space, dodging
|
||||
obstacles, shooting players and bots, collecting power-ups, and
|
||||
causing general mayhem. Some features are borrowed
|
||||
from classics like the Atari coin-ups Asteroids and Gravitar, and the
|
||||
home-computer games Thrust and Gravity Force.
|
||||
</p>
|
||||
<p>
|
||||
XPilot NG is an extended version of the original XPilot. Like in XPilot,
|
||||
the aim of the game is to have fun and to beat your fellow pilots.
|
||||
In a team game, you can humiliate your enemies, blow up your their ships
|
||||
and steal their treasure. There are also other game modes:
|
||||
individual game and a race mode.
|
||||
</p>
|
||||
<p>
|
||||
XPilot NG is a networked multi-player game, you can either start your
|
||||
own server, or join an existing internet game.
|
||||
</p>
|
||||
</description>
|
||||
<url type="homepage">http://xpilot.sourceforge.net/</url>
|
||||
<screenshots>
|
||||
<screenshot type="default">http://xpilot.sourceforge.net/shots/polybloods1.png</screenshot>
|
||||
<screenshot>http://xpilot.sourceforge.net/shots/xpilot_sdl.png</screenshot>
|
||||
<screenshot>http://xpilot.sourceforge.net/shots/fishtank.png</screenshot>
|
||||
<screenshot>http://xpilot.sourceforge.net/shots/dragon.png</screenshot>
|
||||
<screenshot>http://xpilot.sourceforge.net/shots/spaceball.png</screenshot>
|
||||
</screenshots>
|
||||
<updatecontact>jwrdegoede_at_fedoraproject.org</updatecontact>
|
||||
</component>
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
[Desktop Entry]
|
||||
Name=XPilot NG
|
||||
Comment=Multi-player space arcade game
|
||||
Encoding=UTF-8
|
||||
Name=XPilot-ng
|
||||
GenericName=XPilot-ng
|
||||
Comment=XPilot client
|
||||
Exec=xpilot-ng-sdl
|
||||
Icon=xpilot-ng
|
||||
Icon=xpilot-ng.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Application;Game;ArcadeGame;
|
||||
Keywords=game;arcade;spacewar;multi-player;classic;retro;
|
||||
Version=1.0
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
#Type Name ID GECOS Home directory Shell
|
||||
g xpilot - - - -
|
||||
u xpilot - 'xpilot game server' /usr/share/xpilot-ng/ -
|
||||
102
xpilot-ng-server.init
Normal file
102
xpilot-ng-server.init
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# xpilot-ng-server This shell script takes care of starting and stopping
|
||||
# the xpilot-ng game server.
|
||||
#
|
||||
# chkconfig: - 15 85
|
||||
# description: The xpilot-ng server supports playing networked \
|
||||
# multi-player games.
|
||||
# processname: xpilot-ng-server
|
||||
# config: /etc/sysconfig/xpilot-ng-server
|
||||
# pidfile: /var/run/xpilot-ng-server.pid
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
# Source networking configuration.
|
||||
. /etc/sysconfig/network
|
||||
|
||||
# Check that networking is up.
|
||||
[ "$NETWORKING" = "no" ] && exit 0
|
||||
|
||||
exec="/usr/bin/xpilot-ng-server"
|
||||
prog=$(basename $exec)
|
||||
pidfile=/var/run/$prog.pid
|
||||
|
||||
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
|
||||
|
||||
lockfile=/var/lock/subsys/$prog
|
||||
|
||||
start() {
|
||||
echo -n $"Starting Xpilot game server: "
|
||||
if [ -n "`/sbin/pidof $prog`" ]; then
|
||||
echo -n $"$prog already running"
|
||||
failure
|
||||
echo
|
||||
return 1
|
||||
fi
|
||||
if selinuxenabled ; then
|
||||
/usr/sbin/semanage port -a -t xpilotd_port_t -p udp 15345 &>/dev/null || :
|
||||
/usr/sbin/semanage port -a -t xpilotd_port_t -p udp 32200-32299 &>/dev/null || :
|
||||
fi
|
||||
|
||||
# This doesn't properly detect startup failures
|
||||
daemon --user xpilot $exec $XPILOTD_OPTIONS >>/var/log/xpilot.log 2>&1 &
|
||||
retval=$?
|
||||
if [ $retval -eq 0 ]; then
|
||||
success
|
||||
touch $lockfile
|
||||
else
|
||||
failure
|
||||
fi
|
||||
echo
|
||||
return $retval
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping Xpilot game server: "
|
||||
killproc $prog
|
||||
retval=$?
|
||||
echo
|
||||
[ $retval -eq 0 ] && rm -f $lockfile
|
||||
if selinuxenabled ; then
|
||||
/usr/sbin/semanage port -d -t xpilotd_port_t -p udp 15345 &>/dev/null || :
|
||||
/usr/sbin/semanage port -d -t xpilotd_port_t -p udp 32200-32299 &>/dev/null || :
|
||||
fi
|
||||
return $retval
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
reload() {
|
||||
restart
|
||||
}
|
||||
|
||||
force_reload() {
|
||||
restart
|
||||
}
|
||||
|
||||
fdr_status() {
|
||||
status $prog
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start|stop|restart|reload)
|
||||
$1
|
||||
;;
|
||||
force-reload)
|
||||
force_reload
|
||||
;;
|
||||
status)
|
||||
fdr_status
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
[ ! -f $lockfile ] || restart
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}"
|
||||
exit 2
|
||||
esac
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component type="addon">
|
||||
<id>xpilot-ng-server</id>
|
||||
<extends>xpilot-ng-sdl.desktop</extends>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-2.0+</project_license>
|
||||
<name>XPilot NG server</name>
|
||||
<summary>Server for hosting XPilot NG games</summary>
|
||||
<url type="homepage">http://xpilot.sourceforge.net/</url>
|
||||
<updatecontact>jwrdegoede_at_gmail.com</updatecontact>
|
||||
</component>
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
[Unit]
|
||||
Description=xpilot-ng-server supports playing networked multi-player games
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=/etc/xpilot-ng/xpilot-ng-server-cmdline-opts
|
||||
ExecStart=/usr/bin/xpilot-ng-server $XPILOTD_OPTIONS
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
11
xpilot-ng-x11.desktop
Normal file
11
xpilot-ng-x11.desktop
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=XPilot-ng classic
|
||||
GenericName=XPilot-ng classic
|
||||
Comment=XPilot client with old-school graphics
|
||||
Exec=xpilot-ng-x11
|
||||
Icon=xpilot-ng.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Application;Game;ArcadeGame;
|
||||
Version=1.0
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
addFilter("incorrect-fsf-address")
|
||||
addFilter("dangling-symlink")
|
||||
addFilter("no-documentation")
|
||||
addFilter("non-standard-uid")
|
||||
addFilter("non-readable")
|
||||
addFilter("E: no-binary")
|
||||
addFilter("W: no-%check-section")
|
||||
addFilter("E: logrotate-log-dir-not-packaged")
|
||||
# meh, this should be fixed really ...
|
||||
addFilter("W: binary-or-shlib-calls-gethostbyname")
|
||||
436
xpilot-ng.spec
436
xpilot-ng.spec
|
|
@ -1,153 +1,142 @@
|
|||
%global logwatch_root %{_datadir}/logwatch
|
||||
%global logwatch_conf %{logwatch_root}/dist.conf
|
||||
%global logwatch_scripts %{logwatch_root}/scripts
|
||||
%define selinux_variants targeted
|
||||
%define selinux_policyver %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp)
|
||||
|
||||
%define logwatch_root %{_datadir}/logwatch
|
||||
%define logwatch_conf %{logwatch_root}/dist.conf
|
||||
%define logwatch_scripts %{logwatch_root}/scripts
|
||||
|
||||
Name: xpilot-ng
|
||||
Version: 4.7.3
|
||||
Release: 39%{?dist}
|
||||
Summary: Space arcade game for multiple players
|
||||
Version: 4.7.2
|
||||
Release: 22%{?dist}
|
||||
Summary: Multiplayer space arcade game
|
||||
|
||||
# Automatically converted from old format: GPLv2+ - review is highly recommended.
|
||||
License: GPL-2.0-or-later
|
||||
Group: Amusements/Games
|
||||
License: GPLv2+
|
||||
URL: http://xpilot.sourceforge.net
|
||||
Source0: http://downloads.sourceforge.net/sourceforge/xpilot/xpilot-ng-%{version}.tar.gz
|
||||
Source1: xpilot-ng.png
|
||||
Source2: xpilot-ng-sdl.desktop
|
||||
Source3: xpilot-ng-sdl.appdata.xml
|
||||
Source4: xpilot-ng-server.service
|
||||
Source2: xpilot-ng-x11.desktop
|
||||
Source3: xpilot-ng-sdl.desktop
|
||||
Source4: xpilot-ng-server.init
|
||||
Source5: xpilot-ng.sysconfig
|
||||
Source6: xpilot-ng.logrotate
|
||||
Source7: xpilot-ng-server.conf
|
||||
Source7: xpilotd.te
|
||||
Source8: xpilotd.fc
|
||||
Source9: xpilotd.if
|
||||
Source10: logwatch.logconf.xpilot
|
||||
Source11: logwatch.script.xpilot
|
||||
Source12: logwatch.serviceconf.xpilot
|
||||
Source13: logwatch.shared.applyxpilotdate
|
||||
Source14: xpilot-ng-server.metainfo.xml
|
||||
Patch0: xpilot-ng-4.7.2-scoreassert.patch
|
||||
Patch1: xpilot-ng-4.7.2-rhbz830640.patch
|
||||
Patch2: xpilot-ng-4.7.3-fix-alut-detect.patch
|
||||
Patch3: xpilot-ng-c99.patch
|
||||
Patch4: xpilot-ng-SDL_window.patch
|
||||
Patch5: xpilot-ng-c99-return-mismatch.patch
|
||||
Patch6: xpilot-ng-c99-incompatible-pointer-types.patch
|
||||
Patch7: xpilot-ng-c23.patch
|
||||
Patch1: xpilot-ng-4.7.2-getline.patch
|
||||
Patch2: xpilot-ng-4.7.2-rhbz830640.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: gcc make
|
||||
BuildRequires: desktop-file-utils libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: expat-devel SDL_ttf-devel SDL_image-devel zlib-devel
|
||||
BuildRequires: libXt-devel libGLU-devel
|
||||
BuildRequires: openal-soft-devel freealut-devel automake
|
||||
BuildRequires: systemd-rpm-macros
|
||||
Requires: %{name}-data = %{version}-%{release} hicolor-icon-theme
|
||||
Provides: %{name}-engine = %{version}-%{release}
|
||||
BuildRequires: libXt-devel libGLU-devel libXxf86misc-devel
|
||||
BuildRequires: selinux-policy-devel hardlink checkpolicy
|
||||
Requires: dejavu-sans-fonts
|
||||
|
||||
%description
|
||||
A highly addictive, infinitely configurable multi-player space
|
||||
A highly addictive, infinitely configurable multiplayer space
|
||||
arcade game. You pilot a spaceship around space, dodging
|
||||
obstacles, shooting players and bots, collecting power-ups, and
|
||||
causing general mayhem.
|
||||
|
||||
|
||||
%package x11
|
||||
Summary: Xpilot-ng X11 version
|
||||
Requires: %{name}-data = %{version}-%{release}
|
||||
Provides: %{name}-engine = %{version}-%{release}
|
||||
|
||||
%description x11
|
||||
Version of %{name} which uses libX11 rather then SDL.
|
||||
|
||||
|
||||
%package data
|
||||
Summary: Data files for %{name}
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-engine = %{version}-%{release} dejavu-sans-fonts
|
||||
|
||||
%description data
|
||||
Data files for %{name}.
|
||||
|
||||
|
||||
%package server
|
||||
Summary: Server for hosting xpilot games
|
||||
Requires: %{name}-data = %{version}-%{release}
|
||||
Requires: logrotate
|
||||
%{?sysusers_requires_compat}
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
BuildRequires: systemd
|
||||
Provides: %{name}-engine = %{version}-%{release}
|
||||
# Make sure the old no longer supported selinux policy from 4.7.2 gets removed
|
||||
Obsoletes: %{name}-selinux < %{version}-%{release}
|
||||
Provides: %{name}-selinux = %{version}-%{release}
|
||||
|
||||
Summary: Server for hosting xpilot games
|
||||
Group: Amusements/Games
|
||||
Requires(pre): shadow-utils
|
||||
Requires(post): /sbin/chkconfig
|
||||
Requires(post): /sbin/service
|
||||
Requires(preun): /sbin/chkconfig
|
||||
Requires(preun): /sbin/service
|
||||
Requires(postun): /sbin/service
|
||||
%description server
|
||||
The xpilot server. This allows you to host xpilot games on your
|
||||
computer and develop new xpilot maps. This is required if you
|
||||
are playing alone, but not required if you are joining one of the
|
||||
public xpilot games hosted on the internet.
|
||||
|
||||
%package selinux
|
||||
Summary: SELinux policy files for the xpilot-ng game server
|
||||
Group: Amusements/Games
|
||||
Requires: %{name}-server = %{version}-%{release}
|
||||
%if "%{selinux_policyver}" != ""
|
||||
Requires: selinux-policy >= %{selinux_policyver}
|
||||
%endif
|
||||
Requires(post): /usr/sbin/semodule /usr/sbin/semanage /sbin/fixfiles
|
||||
Requires(preun): /sbin/service /usr/sbin/semodule /usr/sbin/semanage /sbin/fixfiles /usr/sbin/setsebool
|
||||
Requires(postun): /usr/sbin/semodule
|
||||
%description selinux
|
||||
SELinux policy files for the xpilot-ng game server
|
||||
|
||||
%package logwatch
|
||||
Summary: Logwatch scripts for the xpilot game server
|
||||
Requires: %{name}-server = %{version}-%{release} logwatch
|
||||
|
||||
Summary: logwatch scripts for the xpilot game server
|
||||
Group: Amusements/Games
|
||||
Requires: %{name}-server = %{version}-%{release} logwatch
|
||||
%description logwatch
|
||||
logwatch scripts for the Xpilot game server
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
# regenerate autofoo files for patch2
|
||||
autoreconf -ivf
|
||||
# fixup textfile encodings
|
||||
%setup -q
|
||||
%patch0
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
pushd doc/man
|
||||
iconv --from=ISO-8859-1 --to=UTF-8 xpilot-ng-server.man > xpilot-ng-server.man.new
|
||||
touch -r xpilot-ng-server.man xpilot-ng-server.man.new
|
||||
mv xpilot-ng-server.man.new xpilot-ng-server.man
|
||||
|
||||
iconv --from=ISO-8859-1 --to=UTF-8 xpilot-ng-x11.man > xpilot-ng-x11.man.new
|
||||
touch -r xpilot-ng-x11.man xpilot-ng-x11.man.new
|
||||
mv xpilot-ng-x11.man.new xpilot-ng-x11.man
|
||||
popd
|
||||
|
||||
iconv --from=ISO-8859-1 --to=UTF-8 AUTHORS > AUTHORS.new
|
||||
touch -r AUTHORS AUTHORS.new
|
||||
mv AUTHORS.new AUTHORS
|
||||
|
||||
mkdir SELinux
|
||||
cp %{SOURCE7} %{SOURCE8} %{SOURCE9} SELinux/
|
||||
|
||||
%build
|
||||
%configure --enable-sound
|
||||
iconv --from=ISO-8859-1 --to=UTF-8 README -o README
|
||||
touch -r README.in README
|
||||
CFLAGS="$RPM_OPT_FLAGS" %configure
|
||||
make %{?_smp_mflags}
|
||||
|
||||
# Build the selinux policy file
|
||||
pushd SELinux
|
||||
for variant in %{selinux_variants}
|
||||
do
|
||||
make NAME=${variant} -f %{_datadir}/selinux/devel/Makefile
|
||||
mv xpilotd.pp xpilotd.pp.${variant}
|
||||
make NAME=${variant} -f %{_datadir}/selinux/devel/Makefile clean
|
||||
done
|
||||
popd
|
||||
|
||||
%install
|
||||
%make_install INSTALL="install -p"
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
# Drop old Python 2 only map conversion script
|
||||
rm $RPM_BUILD_ROOT/%{_datadir}/%{name}/mapconvert.py
|
||||
chmod a+x $RPM_BUILD_ROOT/%{_datadir}/%{name}/mapconvert.py
|
||||
|
||||
desktop-file-install --dir ${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE2}
|
||||
desktop-file-install --vendor fedora \
|
||||
--dir ${RPM_BUILD_ROOT}%{_datadir}/applications \
|
||||
--add-category X-Fedora \
|
||||
%{SOURCE2}
|
||||
desktop-file-install --vendor fedora \
|
||||
--dir ${RPM_BUILD_ROOT}%{_datadir}/applications \
|
||||
--add-category X-Fedora \
|
||||
%{SOURCE3}
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/
|
||||
install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
|
||||
install -p -m 644 %{SOURCE3} %{SOURCE14} $RPM_BUILD_ROOT%{_datadir}/appdata
|
||||
appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_datadir}/appdata/*.xml
|
||||
|
||||
install -p -D -m 644 %{SOURCE4} $RPM_BUILD_ROOT/lib/systemd/system/%{name}-server.service
|
||||
install -p -D -m 755 %{SOURCE4} $RPM_BUILD_ROOT/%{_initrddir}/%{name}-server
|
||||
|
||||
# Copy certain configuration files to /etc so that they can be properly managed
|
||||
# as config files.
|
||||
install -p -D -m 644 %{SOURCE5} $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/%{name}-server-cmdline-opts
|
||||
install -p -D -m 644 lib/defaults.txt $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/defaults.txt
|
||||
install -p -D -m 600 lib/password.txt $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/password.txt
|
||||
install -p -D -m 644 %{SOURCE5} \
|
||||
$RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/%{name}-server
|
||||
|
||||
install -p -D -m 644 %{SOURCE6} \
|
||||
$RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/%{name}-server
|
||||
|
||||
# Install sysusers file
|
||||
install -p -D -m 0644 %{SOURCE7} %{buildroot}%{_sysusersdir}/xpilot-ng-server.conf
|
||||
# Copy certain configuration files to /etc so that they can be properly managed
|
||||
# as config files.
|
||||
install -p -D -m 644 lib/defaults.txt $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/defaults.txt
|
||||
install -p -D -m 600 lib/password.txt $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/password.txt
|
||||
|
||||
# Replace bundled fonts with system fonts
|
||||
|
||||
|
|
@ -159,205 +148,140 @@ ln -s %{_datadir}/fonts/dejavu/DejaVuSansMono-Bold.ttf $RPM_BUILD_ROOT%{_datadir
|
|||
|
||||
# Install logwatch files
|
||||
install -pD -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{logwatch_conf}/logfiles/%{name}.conf
|
||||
install -pD -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{logwatch_scripts}/services/%{name}
|
||||
install -pD -m 0755 %{SOURCE11} $RPM_BUILD_ROOT%{logwatch_scripts}/services/%{name}
|
||||
install -pD -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{logwatch_conf}/services/%{name}.conf
|
||||
install -pD -m 0644 %{SOURCE13} $RPM_BUILD_ROOT%{logwatch_scripts}/shared/applyxpilotdate
|
||||
install -pD -m 0755 %{SOURCE13} $RPM_BUILD_ROOT%{logwatch_scripts}/shared/applyxpilotdate
|
||||
|
||||
# Install selinux policies
|
||||
pushd SELinux
|
||||
for variant in %{selinux_variants}
|
||||
do
|
||||
install -d $RPM_BUILD_ROOT%{_datadir}/selinux/${variant}
|
||||
install -p -m 644 xpilotd.pp.${variant} \
|
||||
$RPM_BUILD_ROOT%{_datadir}/selinux/${variant}/xpilotd.pp
|
||||
done
|
||||
popd
|
||||
# Hardlink identical policy module packages together
|
||||
/usr/sbin/hardlink -cv $RPM_BUILD_ROOT%{_datadir}/selinux
|
||||
|
||||
%post
|
||||
touch --no-create %{_datadir}/icons/hicolor || :
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
|
||||
%postun
|
||||
touch --no-create %{_datadir}/icons/hicolor || :
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
|
||||
%pre server
|
||||
%sysusers_create_compat %{SOURCE7}
|
||||
getent group xpilot >/dev/null || groupadd -r xpilot
|
||||
getent passwd xpilot >/dev/null || \
|
||||
useradd -r -g xpilot -d %{_datadir}/%{name} -s /sbin/nologin \
|
||||
-c "xpilot game server" xpilot
|
||||
exit 0
|
||||
|
||||
%post server
|
||||
%systemd_post xpilot-ng-server.service
|
||||
/sbin/chkconfig --add xpilot-ng-server
|
||||
|
||||
%preun server
|
||||
%systemd_preun xpilot-ng-server.service
|
||||
if [ "$1" -le "0" ]; then
|
||||
/sbin/service xpilot-ng-server stop > /dev/null 2>&1
|
||||
/sbin/chkconfig --del xpilot-ng-server
|
||||
fi
|
||||
|
||||
%postun server
|
||||
%systemd_postun_with_restart xpilot-ng-server.service
|
||||
if [ "$1" -ge "1" ]; then
|
||||
/sbin/service xpilot-ng-server condrestart > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
%post selinux
|
||||
# Install SELinux policy modules
|
||||
for selinuxvariant in %{selinux_variants}
|
||||
do
|
||||
/usr/sbin/semodule -s ${selinuxvariant} -i \
|
||||
%{_datadir}/selinux/${selinuxvariant}/xpilotd.pp &> /dev/null || :
|
||||
done
|
||||
/usr/sbin/semanage port -a -t xpilotd_port_t -p udp 15345 &> /dev/null || :
|
||||
/usr/sbin/semanage port -a -t xpilotd_port_t -p udp 32200-32299 &> /dev/null || :
|
||||
/sbin/fixfiles -R %{name}-server restore || :
|
||||
/sbin/service %{name}-server condrestart > /dev/null 2>&1 || :
|
||||
|
||||
%preun selinux
|
||||
if [ "$1" -lt "1" ] ; then
|
||||
# Disable the policy and restart the daemon
|
||||
/usr/sbin/setsebool xpilotd_disable_trans 1 &> /dev/null || :
|
||||
/sbin/service %{name}-server condrestart > /dev/null 2>&1 || :
|
||||
# Unload the module
|
||||
/usr/sbin/semanage port -d -t xpilotd_port_t -p udp 15345 &> /dev/null || :
|
||||
/usr/sbin/semanage port -d -t xpilotd_port_t -p udp 32200-32299 &> /dev/null || :
|
||||
for variant in %{selinux_variants} ; do
|
||||
/usr/sbin/semodule -s ${variant} -r xpilotd &> /dev/null || :
|
||||
done
|
||||
# Set the context back
|
||||
/sbin/fixfiles -R %{name}-server restore || :
|
||||
fi
|
||||
|
||||
%postun selinux
|
||||
if [ "$1" -ge "1" ] ; then
|
||||
# Replace the module if it is already loaded. semodule -u also
|
||||
# checks the module version
|
||||
for variant in %{selinux_variants} ; do
|
||||
/usr/sbin/semodule -u %{_datadir}/selinux/${variant}/xpilotd.pp || :
|
||||
done
|
||||
fi
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/xpilot-ng-replay
|
||||
%{_bindir}/xpilot-ng-sdl
|
||||
%{_datadir}/appdata/xpilot-ng-sdl.appdata.xml
|
||||
%{_datadir}/applications/xpilot-ng-sdl.desktop
|
||||
%{_datadir}/icons/hicolor/48x48/apps/xpilot-ng.png
|
||||
%{_mandir}/man6/xpilot-ng-replay.6.gz
|
||||
%{_mandir}/man6/xpilot-ng-sdl.6.gz
|
||||
|
||||
%files data
|
||||
%doc AUTHORS BUGS ChangeLog FEATURES README TODO
|
||||
%license COPYING
|
||||
%{_bindir}/xpilot-ng-x11
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/textures
|
||||
%{_datadir}/%{name}/fonts
|
||||
%{_datadir}/%{name}/sound
|
||||
|
||||
%files x11
|
||||
%{_bindir}/xpilot-ng-x11
|
||||
%{_datadir}/applications/*.desktop
|
||||
%{_datadir}/icons/hicolor/48x48/apps/*.png
|
||||
%{_mandir}/man6/xpilot-ng-replay.6.gz
|
||||
%{_mandir}/man6/xpilot-ng-sdl.6.gz
|
||||
%{_mandir}/man6/xpilot-ng-x11.6.gz
|
||||
%doc README COPYING
|
||||
|
||||
%files server
|
||||
%{_sysusersdir}/xpilot-ng-server.conf
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/xpilot-ng-xp-mapedit
|
||||
%{_bindir}/xpilot-ng-server
|
||||
/lib/systemd/system/xpilot-ng-server.service
|
||||
%{_initrddir}/xpilot-ng-server
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}-server
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-server
|
||||
%{_datadir}/%{name}
|
||||
%exclude %{_datadir}/%{name}/textures
|
||||
%exclude %{_datadir}/%{name}/fonts
|
||||
%exclude %{_datadir}/%{name}/sound
|
||||
%{_datadir}/appdata/xpilot-ng-server.metainfo.xml
|
||||
%dir %{_sysconfdir}/%{name}
|
||||
%config(noreplace) %attr(0600,xpilot,root) %{_sysconfdir}/%{name}/password.txt
|
||||
%config(noreplace) %{_sysconfdir}/%{name}/defaults.txt
|
||||
%config(noreplace) %{_sysconfdir}/%{name}/xpilot-ng-server-cmdline-opts
|
||||
%{_mandir}/man6/xpilot-ng-server.6.gz
|
||||
%{_mandir}/man6/xpilot-ng-xp-mapedit.6.gz
|
||||
%doc README COPYING
|
||||
|
||||
%files selinux
|
||||
%defattr(-,root,root,-)
|
||||
%doc SELinux/*.??
|
||||
%{_datadir}/selinux/*/xpilotd.pp
|
||||
|
||||
%files logwatch
|
||||
%defattr(-,root,root,-)
|
||||
%{logwatch_conf}/logfiles/%{name}.conf
|
||||
%{logwatch_conf}/services/%{name}.conf
|
||||
%{logwatch_scripts}/services/%{name}
|
||||
%{logwatch_scripts}/shared/applyxpilotdate
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-39
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
|
||||
* Mon Feb 2 2026 Hans de Goede <johannes.goede@oss.qualcomm.com> - 4.7.3-38
|
||||
- Use sysusers to create xpilot user for xpilot-ng-server (rhbz#2432687)
|
||||
|
||||
* Sat Jan 24 2026 Hans de Goede <johannes.goede@oss.qualcomm.com> - 4.7.3-37
|
||||
- Fix FTBFS (rhbz#2341581, rhbz#2385745)
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-36
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-35
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-34
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 4.7.3-33
|
||||
- convert license to SPDX
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-32
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-31
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Tue Jan 09 2024 Florian Weimer <fweimer@redhat.com> - 4.7.3-30
|
||||
- Additional C compatibility fixes (#2155781)
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-29
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-28
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Dec 22 2022 Florian Weimer <fweimer@redhat.com> - 4.7.3-27
|
||||
- C99 port (#2155781)
|
||||
- Fix build issue due to SDL_Window identifier conflict with newer SDL
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-26
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-25
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-24
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-23
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-22
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-21
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-20
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Aug 10 2019 Hans de Goede <hdegoede@redhat.com> - 4.7.3-19
|
||||
- Drop libXxf86misc-devel BuildRequires, all #if HAVE_XF86MISC code was
|
||||
commented out already, so this does not influence xpilot-ng behavior
|
||||
- Fix FTBFS (rhbz#1736985)
|
||||
- Drop script for converting old format maps, because it is Python 2 only
|
||||
- Fix a bunch of rpmlint warnings, ignore others
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-18
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sat Feb 23 2019 Hans de Goede <hdegoede@redhat.com> - 4.7.3-17
|
||||
- Fix FTBFS (rhbz#1676250)
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-16
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.7.3-13
|
||||
- Remove obsolete scriptlets
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Sun Jan 31 2016 Hans de Goede <hdegoede@redhat.com> - 4.7.3-8
|
||||
- Enable sound support
|
||||
- Use systemd-rpm macros (rhbz#850373)
|
||||
- Split out client data in a -data package, share it between client and server
|
||||
- Split out libX11 client version into a -x11 package, drop .desktop for it
|
||||
- Add appdata
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.7.3-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.7.3-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.7.3-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.7.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Sun Feb 10 2013 Parag Nemade <paragn AT fedoraproject DOT org> - 4.7.3-3
|
||||
- Remove vendor tag from desktop file as per https://fedorahosted.org/fesco/ticket/1077
|
||||
|
||||
* Sun Jul 29 2012 Hans de Goede <hdegoede@redhat.com> - 4.7.3-2
|
||||
- Move server cmdline config file to /etc/xpilot-ng, where all the other
|
||||
config-files are. You can now find it here:
|
||||
/etc/xpilot/xpilot-ng-server-cmdline-opts
|
||||
|
||||
* Sun Jul 29 2012 Hans de Goede <hdegoede@redhat.com> - 4.7.3-1
|
||||
* Sun Jul 27 2012 Hans de Goede <hdegoede@redhat.com> - 4.7.2-22
|
||||
- Fix a crash in the welcome screen (rhbz#830640)
|
||||
- Upgrade to latest upstream 4.7.3
|
||||
- Drop selinux module, it no longer compiles and selinux support belongs
|
||||
in selinux-policy*, not in the apps themselves
|
||||
- Replace sysv init script by a systemd unit file
|
||||
|
||||
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.7.2-22
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.7.2-21
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
|
@ -380,10 +304,10 @@ install -pD -m 0644 %{SOURCE13} $RPM_BUILD_ROOT%{logwatch_scripts}/shared/applyx
|
|||
* Mon Dec 01 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 4.7.2-15
|
||||
- Rebuild for Python 2.6
|
||||
|
||||
* Mon Feb 18 2008 Wart <wart at kobold.org>
|
||||
* Fri Feb 18 2008 Wart <wart at kobold.org>
|
||||
- Better Sourceforge download URL
|
||||
|
||||
* Mon Feb 18 2008 Wart <wart at kobold.org> 4.7.2-14
|
||||
* Fri Feb 18 2008 Wart <wart at kobold.org> 4.7.2-14
|
||||
- Rebuild for gcc 4.3
|
||||
|
||||
* Thu Aug 23 2007 Wart <wart at kobold.org> 4.7.2-13
|
||||
|
|
|
|||
|
|
@ -22,4 +22,7 @@
|
|||
# of defaults.
|
||||
# Also, explicitly disable reporting to the metaserver. Use
|
||||
# -expand PublicSettings or -reportToMetaserver to enable.
|
||||
XPILOTD_OPTIONS="-noQuit +reportToMetaServer -defaultsFileName /etc/xpilot-ng/defaults.txt -passwordFileName /etc/xpilot-ng/password.txt"
|
||||
XPILOTD_OPTIONS="-noQuit \
|
||||
+reportToMetaServer \
|
||||
-defaultsFileName /etc/xpilot-ng/defaults.txt \
|
||||
-passwordFileName /etc/xpilot-ng/password.txt"
|
||||
|
|
|
|||
7
xpilotd.fc
Normal file
7
xpilotd.fc
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# xpilot-ng-server executable will have:
|
||||
# label: system_u:object_r:xpilotd_exec_t
|
||||
# MLS sensitivity: s0
|
||||
# MCS categories: <none>
|
||||
|
||||
/usr/bin/xpilot-ng-server -- gen_context(system_u:object_r:xpilotd_exec_t,s0)
|
||||
/etc/xpilot-ng(/.*)? gen_context(system_u:object_r:xpilotd_private_data_t)
|
||||
24
xpilotd.if
Normal file
24
xpilotd.if
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
## <summary>policy for xpilot-ng</summary>
|
||||
|
||||
########################################
|
||||
## <summary>
|
||||
## Execute a domain transition to run xpilot-ng-server.
|
||||
## </summary>
|
||||
## <param name="domain">
|
||||
## <summary>
|
||||
## Domain allowed to transition.
|
||||
## </summary>
|
||||
## </param>
|
||||
#
|
||||
interface(`xpilotd_domtrans',`
|
||||
gen_require(`
|
||||
type xpilotd_t, xpilotd_exec_t;
|
||||
')
|
||||
|
||||
domain_auto_trans($1,xpilotd_exec_t,xpilotd_t)
|
||||
|
||||
allow $1 xpilotd_t:fd use;
|
||||
allow xpilotd_t $1:fd use;
|
||||
allow xpilotd_t $1:fifo_file rw_file_perms;
|
||||
allow xpilotd_t $1:process sigchld;
|
||||
')
|
||||
75
xpilotd.te
Normal file
75
xpilotd.te
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
policy_module(xpilotd,1.0.0)
|
||||
|
||||
########################################
|
||||
#
|
||||
# Declarations
|
||||
#
|
||||
|
||||
gen_require(`
|
||||
type port_t;
|
||||
attribute port_type;
|
||||
type var_log_t;
|
||||
')
|
||||
|
||||
type xpilotd_port_t, port_type;
|
||||
|
||||
type xpilotd_t;
|
||||
type xpilotd_exec_t;
|
||||
domain_type(xpilotd_t)
|
||||
init_daemon_domain(xpilotd_t, xpilotd_exec_t)
|
||||
|
||||
# pid files
|
||||
type xpilotd_var_run_t;
|
||||
files_pid_file(xpilotd_var_run_t)
|
||||
|
||||
# Game data files
|
||||
type xpilotd_private_data_t;
|
||||
files_type(xpilotd_private_data_t);
|
||||
|
||||
########################################
|
||||
#
|
||||
# xpilot local policy
|
||||
#
|
||||
# Check in /etc/selinux/refpolicy/include for macros to use instead of allow rules.
|
||||
# Note: /usr/share/selinux/devel/include/support/obj_perm_sets.spt contains
|
||||
# the definitions of many permissions, such as 'rw_dir_perms'
|
||||
|
||||
# Some common macros (you might be able to remove some)
|
||||
files_read_usr_files(xpilotd_t)
|
||||
files_read_etc_files(xpilotd_t)
|
||||
libs_use_ld_so(xpilotd_t)
|
||||
libs_use_shared_libs(xpilotd_t)
|
||||
miscfiles_read_localization(xpilotd_t)
|
||||
## internal communication is often done using fifo and unix sockets.
|
||||
allow xpilotd_t self:fifo_file { read write };
|
||||
allow xpilotd_t self:unix_stream_socket create_stream_socket_perms;
|
||||
|
||||
# log files
|
||||
allow xpilotd_t var_log_t:file rw_file_perms ;
|
||||
|
||||
## Networking basics (adjust to your needs!)
|
||||
sysnet_dns_name_resolve(xpilotd_t)
|
||||
corenet_udp_bind_all_nodes(xpilotd_t)
|
||||
corenet_all_recvfrom_unlabeled(xpilotd_t)
|
||||
|
||||
corenet_udp_sendrecv_all_ports(xpilotd_t)
|
||||
|
||||
allow xpilotd_t xpilotd_port_t:udp_socket { name_bind };
|
||||
|
||||
|
||||
|
||||
# Init script handling
|
||||
init_use_fds(xpilotd_t)
|
||||
init_use_script_ptys(xpilotd_t)
|
||||
domain_use_interactive_fds(xpilotd_t)
|
||||
|
||||
# Game private data
|
||||
allow xpilotd_t xpilotd_private_data_t:file { r_file_perms };
|
||||
allow xpilotd_t xpilotd_private_data_t:dir search;
|
||||
|
||||
|
||||
# Misc rules that are needed. I don't understand the meaning of some
|
||||
# of these, and for others I don't yet understand why the game needs
|
||||
# them
|
||||
kernel_read_system_state(xpilotd_t)
|
||||
allow xpilotd_t self:process signal;
|
||||
Loading…
Add table
Add a link
Reference in a new issue