mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 09:17:29 +02:00
Initial pass renaming athena -> vircadia
This commit is contained in:
parent
72d931688c
commit
ffc1b7ee53
27 changed files with 361 additions and 370 deletions
|
@ -19,25 +19,25 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
|
||||||
apt-get install -y tzdata supervisor ${DEPENDS} && \
|
apt-get install -y tzdata supervisor ${DEPENDS} && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
mkdir -p /var/lib/athena
|
mkdir -p /var/lib/vircadia
|
||||||
RUN groupadd -r athena ; \
|
RUN groupadd -r vircadia ; \
|
||||||
useradd -Nr athena -d /var/lib/athena ; \
|
useradd -Nr vircadia -d /var/lib/vircadia ; \
|
||||||
usermod -aG athena athena ; \
|
usermod -aG vircadia vircadia ; \
|
||||||
chown athena.athena /var/lib/athena ; \
|
chown vircadia.vircadia /var/lib/vircadia ; \
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
VOLUME /var/lib/athena
|
VOLUME /var/lib/vircadia
|
||||||
|
|
||||||
RUN mkdir -p /var/run ; chmod 777 /var/run
|
RUN mkdir -p /var/run ; chmod 777 /var/run
|
||||||
COPY athena.conf /etc/supervisor/conf.d/athena.conf
|
COPY vircadia.conf /etc/supervisor/conf.d/vircadia.conf
|
||||||
|
|
||||||
COPY entrypoint.sh /
|
COPY entrypoint.sh /
|
||||||
COPY opt /opt/athena
|
COPY opt /opt/vircadia
|
||||||
COPY lib /opt/athena/lib
|
COPY lib /opt/vircadia/lib
|
||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/athena.conf"]
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/vircadia.conf"]
|
||||||
LABEL \
|
LABEL \
|
||||||
net.projectathena.gitsrc="${GITSRC}" \
|
net.vircadia.gitsrc="${GITSRC}" \
|
||||||
net.projectathena.gitdate="${GITDATE}" \
|
net.vircadia.gitdate="${GITDATE}" \
|
||||||
net.projectathena.gitcommit="${GITCOMMIT}"
|
net.vircadia.gitcommit="${GITCOMMIT}"
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Assignment client service for Athena server
|
|
||||||
After=network.target
|
|
||||||
PartOf=athena-server.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
WorkingDirectory=/opt/athena
|
|
||||||
Environment="LD_LIBRARY_PATH=/opt/athena/lib"
|
|
||||||
User=athena
|
|
||||||
Group=athena
|
|
||||||
#LimitCORE=infinity
|
|
||||||
#ExecStart=/opt/athena/assignment-client -n 6
|
|
||||||
ExecStart=/opt/athena/assignment-client --min 6 --max 20
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,20 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Assignment client service for Athena server
|
|
||||||
After=network.target
|
|
||||||
PartOf=athena-server@%i.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
WorkingDirectory=/opt/athena
|
|
||||||
EnvironmentFile=/etc/opt/athena/%i.conf
|
|
||||||
Environment="LD_LIBRARY_PATH=/opt/athena/lib" "HOME=/var/lib/athena/%i"
|
|
||||||
PrivateTmp=true
|
|
||||||
User=athena
|
|
||||||
Group=athena
|
|
||||||
#LimitCORE=infinity
|
|
||||||
#ExecStart=/opt/athena/assignment-client -n 6
|
|
||||||
ExecStart=/opt/athena/assignment-client --min 6 --max 20 --server-port $HIFI_DOMAIN_SERVER_PORT
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,18 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Domain Server service for Athena
|
|
||||||
After=network.target
|
|
||||||
PartOf=athena-server.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
WorkingDirectory=/opt/athena
|
|
||||||
Environment="LD_LIBRARY_PATH=/opt/athena/lib"
|
|
||||||
User=athena
|
|
||||||
Group=athena
|
|
||||||
#LimitCORE=infinity
|
|
||||||
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l domain-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/domain-server/domain-server; fi'
|
|
||||||
ExecStart=/opt/athena/domain-server
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,20 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Domain Server service for Athena
|
|
||||||
After=network.target
|
|
||||||
PartOf=athena-server@%i.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
WorkingDirectory=/opt/athena
|
|
||||||
EnvironmentFile=/etc/opt/athena/%i.conf
|
|
||||||
Environment="LD_LIBRARY_PATH=/opt/athena/lib" "HOME=/var/lib/athena/%i"
|
|
||||||
PrivateTmp=true
|
|
||||||
User=athena
|
|
||||||
Group=athena
|
|
||||||
#LimitCORE=infinity
|
|
||||||
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l domain-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/domain-server/domain-server; fi'
|
|
||||||
ExecStart=/opt/athena/domain-server
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,128 +0,0 @@
|
||||||
#ATHENA=~/Athena rpmbuild --target x86_64 -bb athena-server.spec
|
|
||||||
%define version %{lua:print(os.getenv("VERSION"))}
|
|
||||||
%define depends %{lua:print(os.getenv("DEPENDS"))}
|
|
||||||
|
|
||||||
Name: athena-server
|
|
||||||
Version: %{version}
|
|
||||||
Release: 1%{?dist}
|
|
||||||
Summary: Project Athena metaverse platform, based on the High Fidelity Engine.
|
|
||||||
|
|
||||||
License: ASL 2.0
|
|
||||||
URL: https://projectathena.io
|
|
||||||
Source0: https://github.com/daleglass/athena-builder/blob/master/athena_builder
|
|
||||||
|
|
||||||
#BuildRequires: systemd-rpm-macros
|
|
||||||
BuildRequires: chrpath
|
|
||||||
Requires: %{depends}
|
|
||||||
BuildArch: x86_64
|
|
||||||
AutoReq: no
|
|
||||||
AutoProv: no
|
|
||||||
|
|
||||||
%description
|
|
||||||
Project Athena allows creation and sharing of VR experiences.
|
|
||||||
The Project Athena metaverse provides built-in social features, including avatar interactions, spatialized audio and interactive physics. Additionally, you have the ability to import any 3D object into your virtual environment.
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
install -d $RPM_BUILD_ROOT/opt/athena
|
|
||||||
install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/build/assignment-client/assignment-client
|
|
||||||
install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/build/domain-server/domain-server
|
|
||||||
install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/build/tools/oven/oven
|
|
||||||
#install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/build/ice-server/ice-server
|
|
||||||
strip --strip-all $RPM_BUILD_ROOT/opt/athena/*
|
|
||||||
chrpath -d $RPM_BUILD_ROOT/opt/athena/*
|
|
||||||
install -m 0755 -t $RPM_BUILD_ROOT/opt/athena $ATHENA/source/pkg-scripts/new-server
|
|
||||||
install -d $RPM_BUILD_ROOT/opt/athena/lib
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/build/libraries/*/*.so
|
|
||||||
strip --strip-all $RPM_BUILD_ROOT/opt/athena/lib/*
|
|
||||||
chrpath -d $RPM_BUILD_ROOT/opt/athena/lib/*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Network.so.*.*.*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Core.so.*.*.*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Widgets.so.*.*.*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Gui.so.*.*.*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Script.so.*.*.*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Quick.so.*.*.*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5WebSockets.so.*.*.*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5Qml.so.*.*.*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/qt5-install/lib/libQt5ScriptTools.so.*.*.*
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/opt/athena/lib $ATHENA/build/ext/makefiles/quazip/project/lib/libquazip5.so.*.*.*
|
|
||||||
install -d $RPM_BUILD_ROOT/usr/lib/systemd/system
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-assignment-client.service
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-assignment-client@.service
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-domain-server.service
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-domain-server@.service
|
|
||||||
#install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-ice-server.service
|
|
||||||
#install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-ice-server@.service
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-server.target
|
|
||||||
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/athena-server@.target
|
|
||||||
cp -a $ATHENA/source/domain-server/resources $RPM_BUILD_ROOT/opt/athena
|
|
||||||
cp -a $ATHENA/build/assignment-client/plugins $RPM_BUILD_ROOT/opt/athena
|
|
||||||
chrpath -d $RPM_BUILD_ROOT/opt/athena/plugins/*.so
|
|
||||||
chrpath -d $RPM_BUILD_ROOT/opt/athena/plugins/*/*.so
|
|
||||||
strip --strip-all $RPM_BUILD_ROOT/opt/athena/plugins/*.so
|
|
||||||
strip --strip-all $RPM_BUILD_ROOT/opt/athena/plugins/*/*.so
|
|
||||||
find $RPM_BUILD_ROOT/opt/athena/resources -name ".gitignore" -delete
|
|
||||||
|
|
||||||
|
|
||||||
%files
|
|
||||||
%license $ATHENA/source/LICENSE
|
|
||||||
/opt/athena
|
|
||||||
/usr/lib/systemd/system
|
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
|
|
||||||
|
|
||||||
%post
|
|
||||||
# create users
|
|
||||||
getent passwd athena >/dev/numm 2>&1 || useradd -r -c "Project Athena" -d /var/lib/athena -U -M athena
|
|
||||||
#getent group athena >/dev/null 2>&1 || groupadd -r athena
|
|
||||||
|
|
||||||
# create data folder
|
|
||||||
mkdir -p /etc/opt/athena
|
|
||||||
mkdir -p /var/lib/athena && chown athena:athena /var/lib/athena && chmod 775 /var/lib/athena
|
|
||||||
|
|
||||||
ldconfig -n /opt/athena/lib
|
|
||||||
if [ ! -d "/var/lib/athena/default" ]; then
|
|
||||||
/opt/athena/new-server default 40100
|
|
||||||
systemctl enable athena-server@default.target
|
|
||||||
systemctl start athena-server@default.target
|
|
||||||
fi
|
|
||||||
|
|
||||||
%systemd_post athena-assignment-client.service
|
|
||||||
%systemd_post athena-assignment-client@.service
|
|
||||||
%systemd_post athena-domain-server.service
|
|
||||||
%systemd_post athena-domain-server@.service
|
|
||||||
#%systemd_post athena-ice-server.service
|
|
||||||
#%systemd_post athena-ice-server@.service
|
|
||||||
%systemd_post athena-server.target
|
|
||||||
%systemd_post athena-server@.target
|
|
||||||
|
|
||||||
|
|
||||||
%preun
|
|
||||||
%systemd_preun athena-server.target
|
|
||||||
%systemd_preun athena-server@.target
|
|
||||||
%systemd_preun athena-assignment-client.service
|
|
||||||
%systemd_preun athena-assignment-client@.service
|
|
||||||
%systemd_preun athena-domain-server.service
|
|
||||||
%systemd_preun athena-domain-server@.service
|
|
||||||
#%systemd_preun athena-ice-server.service
|
|
||||||
#%systemd_preun athena-ice-server@.service
|
|
||||||
|
|
||||||
|
|
||||||
%postun
|
|
||||||
%systemd_postun_with_restart athena-server.target
|
|
||||||
%systemd_postun_with_restart athena-server@.target
|
|
||||||
%systemd_postun_with_restart athena-assignment-client.service
|
|
||||||
%systemd_postun_with_restart athena-assignment-client@.service
|
|
||||||
%systemd_postun_with_restart athena-domain-server.service
|
|
||||||
%systemd_postun_with_restart athena-domain-server@.service
|
|
||||||
#%systemd_postun_with_restart athena-ice-server.service
|
|
||||||
#%systemd_postun_with_restart athena-ice-server@.service
|
|
|
@ -1,11 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Athena virtual domain
|
|
||||||
Wants=athena-assignment-client.service
|
|
||||||
Wants=athena-domain-server.service
|
|
||||||
#Wants=athena-ice-server.service
|
|
||||||
After=athena-assignment-client.service
|
|
||||||
After=athena-domain-server.service
|
|
||||||
#After=athena-ice-server.service
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,11 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Athena virtual domain
|
|
||||||
Wants=athena-assignment-client@%i.service
|
|
||||||
Wants=athena-domain-server@%i.service
|
|
||||||
#Wants=athena-ice-server@%i.service
|
|
||||||
After=athena-assignment-client@%i.service
|
|
||||||
After=athena-domain-server@%i.service
|
|
||||||
#After=athena-ice-server@%i.service
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -6,23 +6,23 @@ set -x
|
||||||
# allowing the container to be run directly as Jenkins. In Dev, or on unknown
|
# allowing the container to be run directly as Jenkins. In Dev, or on unknown
|
||||||
# environments, run the container as root to automatically correct docker
|
# environments, run the container as root to automatically correct docker
|
||||||
# group in container to match the docker.sock GID mounted from the host.
|
# group in container to match the docker.sock GID mounted from the host.
|
||||||
if [ -f /var/lib/athena/.local -a "$(id -u)" = "0" ]; then
|
if [ -f /var/lib/vircadia/.local -a "$(id -u)" = "0" ]; then
|
||||||
# realign gid
|
# realign gid
|
||||||
THIS_ATHENA_GID=`ls -ngd /var/lib/athena/.local | cut -f3 -d' '`
|
THIS_VIRCADIA_GID=`ls -ngd /var/lib/vircadia/.local | cut -f3 -d' '`
|
||||||
CUR_ATHENA_GID=`getent group athena | cut -f3 -d: || true`
|
CUR_VIRCADIA_GID=`getent group vircadia | cut -f3 -d: || true`
|
||||||
if [ ! -z "$THIS_ATHENA_GID" -a "$THIS_ATHENA_GID" != "$CUR_ATHENA_GID" ]; then
|
if [ ! -z "$THIS_VIRCADIA_GID" -a "$THIS_VIRCADIA_GID" != "$CUR_VIRCADIA_GID" ]; then
|
||||||
groupmod -g ${THIS_ATHENA_GID} -o athena
|
groupmod -g ${THIS_VIRCADIA_GID} -o vircadia
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# realign pid
|
# realign pid
|
||||||
THIS_ATHENA_PID=`ls -nd /var/lib/athena/.local | cut -f3 -d' '`
|
THIS_ATHENA_PID=`ls -nd /var/lib/vircadia/.local | cut -f3 -d' '`
|
||||||
CUR_ATHENA_PID=`getent passwd athena | cut -f3 -d: || true`
|
CUR_ATHENA_PID=`getent passwd vircadia | cut -f3 -d: || true`
|
||||||
if [ ! -z "$THIS_ATHENA_PID" -a "$THIS_ATHENA_PID" != "$CUR_ATHENA_PID" ]; then
|
if [ ! -z "$THIS_VIRCADIA_PID" -a "$THIS_VIRCADIA_PID" != "$CUR_VIRCADIA_PID" ]; then
|
||||||
usermod -u ${THIS_ATHENA_PID} -o athena
|
usermod -u ${THIS_VIRCADIA_PID} -o vircadia
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! groups athena | grep -q athena; then
|
if ! groups vircadia | grep -q vircadia; then
|
||||||
usermod -aG athena athena
|
usermod -aG vircadia vircadia
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -1,74 +1,74 @@
|
||||||
[supervisord]
|
[supervisord]
|
||||||
user=athena
|
user=vircadia
|
||||||
nodaemon=true
|
nodaemon=true
|
||||||
environment=HOME="/var/lib/athena",USER="athena",LD_LIBRARY_PATH="/opt/athena/lib"
|
environment=HOME="/var/lib/vircadia",USER="vircadia",LD_LIBRARY_PATH="/opt/vircadia/lib"
|
||||||
logfile=/dev/stdout
|
logfile=/dev/stdout
|
||||||
logfile_maxbytes=0
|
logfile_maxbytes=0
|
||||||
pidfile=/var/run/supervisord.pid
|
pidfile=/var/run/supervisord.pid
|
||||||
|
|
||||||
[program:domain-server]
|
[program:domain-server]
|
||||||
command=/opt/athena/domain-server
|
command=/opt/vircadia/domain-server
|
||||||
autorestart=unexpected
|
autorestart=unexpected
|
||||||
directory=/opt/athena
|
directory=/opt/vircadia
|
||||||
|
|
||||||
[program:audio-mixer]
|
[program:audio-mixer]
|
||||||
command=/opt/athena/assignment-client -t 0 -a localhost -p 48000
|
command=/opt/vircadia/assignment-client -t 0 -a localhost -p 48000
|
||||||
autorestart=unexpected
|
autorestart=unexpected
|
||||||
directory=/opt/athena
|
directory=/opt/vircadia
|
||||||
stdout_logfile=/dev/stdout
|
stdout_logfile=/dev/stdout
|
||||||
stdout_logfile_maxbytes=0
|
stdout_logfile_maxbytes=0
|
||||||
stderr_logfile=/dev/stderr
|
stderr_logfile=/dev/stderr
|
||||||
stderr_logfile_maxbytes=0
|
stderr_logfile_maxbytes=0
|
||||||
|
|
||||||
[program:avatar-mixer]
|
[program:avatar-mixer]
|
||||||
command=/opt/athena/assignment-client -t 1 -a localhost -p 48001
|
command=/opt/vircadia/assignment-client -t 1 -a localhost -p 48001
|
||||||
autorestart=unexpected
|
autorestart=unexpected
|
||||||
directory=/opt/athena
|
directory=/opt/vircadia
|
||||||
stdout_logfile=/dev/stdout
|
stdout_logfile=/dev/stdout
|
||||||
stdout_logfile_maxbytes=0
|
stdout_logfile_maxbytes=0
|
||||||
stderr_logfile=/dev/stderr
|
stderr_logfile=/dev/stderr
|
||||||
stderr_logfile_maxbytes=0
|
stderr_logfile_maxbytes=0
|
||||||
|
|
||||||
[program:entities-server]
|
[program:entities-server]
|
||||||
command=/opt/athena/assignment-client -t 6 -a localhost -p 48006
|
command=/opt/vircadia/assignment-client -t 6 -a localhost -p 48006
|
||||||
autorestart=unexpected
|
autorestart=unexpected
|
||||||
directory=/opt/athena
|
directory=/opt/vircadia
|
||||||
stdout_logfile=/dev/stdout
|
stdout_logfile=/dev/stdout
|
||||||
stdout_logfile_maxbytes=0
|
stdout_logfile_maxbytes=0
|
||||||
stderr_logfile=/dev/stderr
|
stderr_logfile=/dev/stderr
|
||||||
stderr_logfile_maxbytes=0
|
stderr_logfile_maxbytes=0
|
||||||
|
|
||||||
[program:asset-server]
|
[program:asset-server]
|
||||||
command=/opt/athena/assignment-client -t 3 -a localhost -p 48003
|
command=/opt/vircadia/assignment-client -t 3 -a localhost -p 48003
|
||||||
autorestart=unexpected
|
autorestart=unexpected
|
||||||
directory=/opt/athena
|
directory=/opt/vircadia
|
||||||
stdout_logfile=/dev/stdout
|
stdout_logfile=/dev/stdout
|
||||||
stdout_logfile_maxbytes=0
|
stdout_logfile_maxbytes=0
|
||||||
stderr_logfile=/dev/stderr
|
stderr_logfile=/dev/stderr
|
||||||
stderr_logfile_maxbytes=0
|
stderr_logfile_maxbytes=0
|
||||||
|
|
||||||
[program:entity-script-server]
|
[program:entity-script-server]
|
||||||
command=/opt/athena/assignment-client -t 5 -a localhost -p 48005
|
command=/opt/vircadia/assignment-client -t 5 -a localhost -p 48005
|
||||||
autorestart=unexpected
|
autorestart=unexpected
|
||||||
directory=/opt/athena
|
directory=/opt/vircadia
|
||||||
stdout_logfile=/dev/stdout
|
stdout_logfile=/dev/stdout
|
||||||
stdout_logfile_maxbytes=0
|
stdout_logfile_maxbytes=0
|
||||||
stderr_logfile=/dev/stderr
|
stderr_logfile=/dev/stderr
|
||||||
stderr_logfile_maxbytes=0
|
stderr_logfile_maxbytes=0
|
||||||
|
|
||||||
[program:messages-mixer]
|
[program:messages-mixer]
|
||||||
command=/opt/athena/assignment-client -t 4 -a localhost -p 48004
|
command=/opt/vircadia/assignment-client -t 4 -a localhost -p 48004
|
||||||
autorestart=unexpected
|
autorestart=unexpected
|
||||||
directory=/opt/athena
|
directory=/opt/vircadia
|
||||||
stdout_logfile=/dev/stdout
|
stdout_logfile=/dev/stdout
|
||||||
stdout_logfile_maxbytes=0
|
stdout_logfile_maxbytes=0
|
||||||
stderr_logfile=/dev/stderr
|
stderr_logfile=/dev/stderr
|
||||||
stderr_logfile_maxbytes=0
|
stderr_logfile_maxbytes=0
|
||||||
|
|
||||||
[program:scripted-agent]
|
[program:scripted-agent]
|
||||||
command=/opt/athena/assignment-client -t 2 -a localhost --max 100
|
command=/opt/vircadia/assignment-client -t 2 -a localhost --max 100
|
||||||
autorestart=unexpected
|
autorestart=unexpected
|
||||||
directory=/opt/athena
|
directory=/opt/vircadia
|
||||||
stdout_logfile=/dev/stdout
|
stdout_logfile=/dev/stdout
|
||||||
stdout_logfile_maxbytes=0
|
stdout_logfile_maxbytes=0
|
||||||
stderr_logfile=/dev/stderr
|
stderr_logfile=/dev/stderr
|
|
@ -10,7 +10,7 @@ VERSION=0.86.0-k2-$GITDATE-$GITCOMMIT
|
||||||
|
|
||||||
sudo apt-get install chrpath binutils dh-make
|
sudo apt-get install chrpath binutils dh-make
|
||||||
|
|
||||||
DEB_BUILD_ROOT=temp-make-deb/athena-server-$VERSION-0ubuntu1
|
DEB_BUILD_ROOT=temp-make-deb/vircadia-server-$VERSION-0ubuntu1
|
||||||
rm -r temp-make-deb
|
rm -r temp-make-deb
|
||||||
mkdir -p $DEB_BUILD_ROOT
|
mkdir -p $DEB_BUILD_ROOT
|
||||||
|
|
||||||
|
@ -45,56 +45,47 @@ strip --strip-all $DEB_BUILD_ROOT/plugins/*/*.so
|
||||||
|
|
||||||
#begin the debian package construction
|
#begin the debian package construction
|
||||||
cd $DEB_BUILD_ROOT
|
cd $DEB_BUILD_ROOT
|
||||||
dh_make -p athena-server_$VERSION-0ubuntu1 -c apache -s --createorig -y
|
dh_make -p vircadia-server_$VERSION-0ubuntu1 -c apache -s --createorig -y
|
||||||
|
|
||||||
cp $ATHENA/source/pkg-scripts/athena-assignment-client.service debian
|
cp $ATHENA/source/pkg-scripts/vircadia-assignment-client.service debian
|
||||||
cp $ATHENA/source/pkg-scripts/athena-assignment-client@.service debian
|
cp $ATHENA/source/pkg-scripts/vircadia-assignment-client@.service debian
|
||||||
cp $ATHENA/source/pkg-scripts/athena-domain-server.service debian
|
cp $ATHENA/source/pkg-scripts/vircadia-domain-server.service debian
|
||||||
cp $ATHENA/source/pkg-scripts/athena-domain-server@.service debian
|
cp $ATHENA/source/pkg-scripts/vircadia-domain-server@.service debian
|
||||||
#cp $ATHENA/source/pkg-scripts/athena-ice-server.service debian
|
#cp $ATHENA/source/pkg-scripts/vircadia-ice-server.service debian
|
||||||
#cp $ATHENA/source/pkg-scripts/athena-ice-server@.service debian
|
#cp $ATHENA/source/pkg-scripts/vircadia-ice-server@.service debian
|
||||||
cp $ATHENA/source/pkg-scripts/athena-server.target debian
|
cp $ATHENA/source/pkg-scripts/vircadia-server.target debian
|
||||||
cp $ATHENA/source/pkg-scripts/athena-server@.target debian
|
cp $ATHENA/source/pkg-scripts/vircadia-server@.target debian
|
||||||
|
|
||||||
cp $ATHENA/source/pkg-scripts/server-control debian/control
|
cp $ATHENA/source/pkg-scripts/server-control debian/control
|
||||||
cp $ATHENA/source/pkg-scripts/server-prerm debian/prerm
|
cp $ATHENA/source/pkg-scripts/server-prerm debian/prerm
|
||||||
cp $ATHENA/source/pkg-scripts/server-postinst debian/postinst
|
cp $ATHENA/source/pkg-scripts/server-postinst debian/postinst
|
||||||
cp $ATHENA/source/LICENSE debian/copyright
|
cp $ATHENA/source/LICENSE debian/copyright
|
||||||
|
|
||||||
echo /etc/opt/athena > debian/dirs
|
echo /etc/opt/vircadia > debian/dirs
|
||||||
echo /var/lib/athena >> debian/dirs
|
echo /var/lib/vircadia >> debian/dirs
|
||||||
|
|
||||||
echo README.md > debian/docs
|
echo README.md > debian/docs
|
||||||
echo README_hifi.md >> debian/docs
|
echo README_hifi.md >> debian/docs
|
||||||
|
|
||||||
echo assignment-client opt/athena > debian/install
|
echo assignment-client opt/vircadia > debian/install
|
||||||
echo domain-server opt/athena >> debian/install
|
echo domain-server opt/vircadia >> debian/install
|
||||||
echo oven opt/athena >> debian/install
|
echo oven opt/vircadia >> debian/install
|
||||||
#echo ice-server opt/athena >> debian/install
|
#echo ice-server opt/vircadia >> debian/install
|
||||||
echo new-server opt/athena >> debian/install
|
echo new-server opt/vircadia >> debian/install
|
||||||
for so in *.so.*.*.*; do
|
for so in *.so.*.*.*; do
|
||||||
echo $so opt/athena/lib >> debian/install
|
echo $so opt/vircadia/lib >> debian/install
|
||||||
done
|
done
|
||||||
for so in *.so; do
|
for so in *.so; do
|
||||||
echo $so opt/athena/lib >> debian/install
|
echo $so opt/vircadia/lib >> debian/install
|
||||||
done
|
done
|
||||||
#for service in *.service; do
|
#for service in *.service; do
|
||||||
# echo $service opt/athena/systemd >> debian/install
|
# echo $service opt/vircadia/systemd >> debian/install
|
||||||
#done
|
#done
|
||||||
#for target in *.target; do
|
#for target in *.target; do
|
||||||
# echo $target opt/athena/systemd >> debian/install
|
# echo $target opt/vircadia/systemd >> debian/install
|
||||||
#done
|
#done
|
||||||
find resources -type f -exec sh -c 'echo {} opt/athena/$(dirname "{}") >> debian/install' \;
|
find resources -type f -exec sh -c 'echo {} opt/vircadia/$(dirname "{}") >> debian/install' \;
|
||||||
find plugins -type f -exec sh -c 'echo {} opt/athena/$(dirname "{}") >> debian/install' \;
|
find plugins -type f -exec sh -c 'echo {} opt/vircadia/$(dirname "{}") >> debian/install' \;
|
||||||
|
|
||||||
#echo usr/lib/systemd/system/athena-assignment-client.service opt/athena/systemd/athena-assignment-client.service > debian/athena-server.links
|
|
||||||
#echo usr/lib/systemd/system/athena-assignment-client@.service opt/athena/systemd/athena-assignment-client@.service >> debian/athena-server.links
|
|
||||||
#echo usr/lib/systemd/system/athena-domain-server.service opt/athena/systemd/athena-domain-server.service >> debian/athena-server.links
|
|
||||||
#echo usr/lib/systemd/system/athena-domain-server@.service opt/athena/systemd/athena-domain-server@.service >> debian/athena-server.links
|
|
||||||
##echo usr/lib/systemd/system/athena-ice-server.service opt/athena/systemd/athena-ice-server.service >> debian/athena-server.links
|
|
||||||
##echo usr/lib/systemd/system/athena-ice-server@.service opt/athena/systemd/athena-ice-server@.service >> debian/athena-server.links
|
|
||||||
#echo usr/lib/systemd/system/athena-server.target opt/athena/systemd/athena-server.target >> debian/athena-server.links
|
|
||||||
#echo usr/lib/systemd/system/athena-server@.target opt/athena/systemd/athena-server@.target >> debian/athena-server.links
|
|
||||||
|
|
||||||
SOFILES=`ls *.so *.so.*.*.* | sed 's/\./\\\./g' | paste -d'|' -s`
|
SOFILES=`ls *.so *.so.*.*.* | sed 's/\./\\\./g' | paste -d'|' -s`
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ rm -r temp-make-dock
|
||||||
mkdir -p $DOCK_BUILD_ROOT
|
mkdir -p $DOCK_BUILD_ROOT
|
||||||
cp $ATHENA/source/pkg-scripts/Dockerfile.templ $DOCK_BUILD_ROOT/Dockerfile
|
cp $ATHENA/source/pkg-scripts/Dockerfile.templ $DOCK_BUILD_ROOT/Dockerfile
|
||||||
cp $ATHENA/source/pkg-scripts/docker-entrypoint.sh $DOCK_BUILD_ROOT/entrypoint.sh
|
cp $ATHENA/source/pkg-scripts/docker-entrypoint.sh $DOCK_BUILD_ROOT/entrypoint.sh
|
||||||
cp $ATHENA/source/pkg-scripts/docker-athena-supervisor.conf $DOCK_BUILD_ROOT/athena.conf
|
cp $ATHENA/source/pkg-scripts/docker-vircadia-supervisor.conf $DOCK_BUILD_ROOT/vircadia.conf
|
||||||
|
|
||||||
# copy the files over
|
# copy the files over
|
||||||
mkdir -p $DOCK_BUILD_ROOT/opt
|
mkdir -p $DOCK_BUILD_ROOT/opt
|
||||||
|
@ -57,4 +57,4 @@ SOFILES=`ls $DOCK_BUILD_ROOT/lib | sed 's/\./\\\./g' | paste -d'|' -s`
|
||||||
DEPENDS=`find $DOCK_BUILD_ROOT/opt $DOCK_BUILD_ROOT/lib -type f -executable -exec sh -c 'objdump -p {} | grep NEEDED' \; | awk '{print $2}' | sort | uniq | egrep -v "^($SOFILES)$" | xargs -n 1 -I {} sh -c 'dpkg -S {} | head -n 1' | cut -d ':' -f 1 | sort | uniq | paste -d' ' -s`
|
DEPENDS=`find $DOCK_BUILD_ROOT/opt $DOCK_BUILD_ROOT/lib -type f -executable -exec sh -c 'objdump -p {} | grep NEEDED' \; | awk '{print $2}' | sort | uniq | egrep -v "^($SOFILES)$" | xargs -n 1 -I {} sh -c 'dpkg -S {} | head -n 1' | cut -d ':' -f 1 | sort | uniq | paste -d' ' -s`
|
||||||
|
|
||||||
cd $DOCK_BUILD_ROOT
|
cd $DOCK_BUILD_ROOT
|
||||||
docker build -t odysseus654/athena-server --build-arg "DEPENDS=$DEPENDS" --build-arg "GITSRC=$GITSRC" --build-arg "GITDATE=$GITDATE" --build-arg "GITCOMMIT=$GITCOMMIT" .
|
docker build -t odysseus654/vircadia-server --build-arg "DEPENDS=$DEPENDS" --build-arg "GITSRC=$GITSRC" --build-arg "GITDATE=$GITDATE" --build-arg "GITCOMMIT=$GITCOMMIT" .
|
||||||
|
|
|
@ -52,5 +52,5 @@ DEPENDS=mesa-libGL,`ls \
|
||||||
sudo yum install chrpath
|
sudo yum install chrpath
|
||||||
|
|
||||||
export VERSION DEPENDS ATHENA
|
export VERSION DEPENDS ATHENA
|
||||||
rpmbuild --target x86_64 -bb ./athena-server.spec
|
rpmbuild --target x86_64 -bb ./vircadia-server.spec
|
||||||
mv ~/rpmbuild/RPMS/x86_64/*.rpm .
|
mv ~/rpmbuild/RPMS/x86_64/*.rpm .
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
if [ -z "$1" ] || [ -z "$2" ]; then
|
if [ -z "$1" ] || [ -z "$2" ]; then
|
||||||
echo "new-server {name} {base-port}"
|
echo "new-server {name} {base-port}"
|
||||||
echo
|
echo
|
||||||
echo "Sets up a new athena server with the specified name and base port number"
|
echo "Sets up a new vircadia server with the specified name and base port number"
|
||||||
echo " {name} - a simple name used to identify the server to scripts (not used in the server configuration)"
|
echo " {name} - a simple name used to identify the server to scripts (not used in the server configuration)"
|
||||||
echo " {base-port} - the base port number (default server is 40100). The metaverse port will be {base-port}+2"
|
echo " {base-port} - the base port number (default server is 40100). The metaverse port will be {base-port}+2"
|
||||||
echo " Four contiguous port numbers are allocated, these must not overlap with other running services on this machine"
|
echo " Four contiguous port numbers are allocated, these must not overlap with other running services on this machine"
|
||||||
echo
|
echo
|
||||||
echo "Launching a server created by this script is done with:"
|
echo "Launching a server created by this script is done with:"
|
||||||
echo " sudo systemctl start athena-server@{name}.target"
|
echo " sudo systemctl start vircadia-server@{name}.target"
|
||||||
echo
|
echo
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -20,30 +20,32 @@ if [ "$(id -u)" -ne 0 ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "/var/lib/athena/$1" ]; then
|
if [ -d "/var/lib/vircadia/$1" ]; then
|
||||||
echo "Path /var/lib/athena/$1 already exists"
|
echo "Path /var/lib/vircadia/$1 already exists"
|
||||||
echo
|
echo
|
||||||
echo "Please remove this path first if you wish to recreate this server"
|
echo "Please remove this path first if you wish to recreate this server"
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p /var/lib/athena/$1/.local/share
|
mkdir -p /var/lib/vircadia/$1/.local/share
|
||||||
ln -s ../.. /var/lib/athena/$1/.local/share/Project\ Athena\ -\ dev
|
ln -s ../.. /var/lib/vircadia/$1/.local/share/Project\ Athena\ -\ dev
|
||||||
ln -s ../.. /var/lib/athena/$1/.local/share/Project\ Athena
|
ln -s ../.. /var/lib/vircadia/$1/.local/share/Project\ Athena
|
||||||
mkdir -p /var/lib/athena/$1/domain-server
|
ln -s ../.. /var/lib/vircadia/$1/.local/share/Vircadia\ -\ dev
|
||||||
echo "{\"metaverse\": {\"local_port\": $(($2 + 2))},\"version\": 2.4}" > /var/lib/athena/$1/domain-server/config.json
|
ln -s ../.. /var/lib/vircadia/$1/.local/share/Vircadia
|
||||||
chown -R athena.athena /var/lib/athena/$1
|
mkdir -p /var/lib/vircadia/$1/domain-server
|
||||||
|
echo "{\"metaverse\": {\"local_port\": $(($2 + 2))},\"version\": 2.4}" > /var/lib/vircadia/$1/domain-server/config.json
|
||||||
|
chown -R vircadia.vircadia /var/lib/vircadia/$1
|
||||||
|
|
||||||
echo HIFI_DOMAIN_SERVER_HTTP_PORT=$2 > /etc/opt/athena/$1.conf
|
echo HIFI_DOMAIN_SERVER_HTTP_PORT=$2 > /etc/opt/vircadia/$1.conf
|
||||||
echo HIFI_DOMAIN_SERVER_HTTPS_PORT=$(($2 + 1)) >> /etc/opt/athena/$1.conf
|
echo HIFI_DOMAIN_SERVER_HTTPS_PORT=$(($2 + 1)) >> /etc/opt/vircadia/$1.conf
|
||||||
echo HIFI_DOMAIN_SERVER_PORT=$(($2 + 2)) >> /etc/opt/athena/$1.conf
|
echo HIFI_DOMAIN_SERVER_PORT=$(($2 + 2)) >> /etc/opt/vircadia/$1.conf
|
||||||
echo HIFI_DOMAIN_SERVER_DTLS_PORT=$(($2 + 3)) >> /etc/opt/athena/$1.conf
|
echo HIFI_DOMAIN_SERVER_DTLS_PORT=$(($2 + 3)) >> /etc/opt/vircadia/$1.conf
|
||||||
|
|
||||||
echo "A new athena server has been created with the name of '$1'"
|
echo "A new vircadia server has been created with the name of '$1'"
|
||||||
echo
|
echo
|
||||||
echo "To launch it:"
|
echo "To launch it:"
|
||||||
echo " sudo systemctl start athena-server@$1.target"
|
echo " sudo systemctl start vircadia-server@$1.target"
|
||||||
echo "To have it launch at system start:"
|
echo "To have it launch at system start:"
|
||||||
echo " sudo systemctl enable athena-server@$1.target"
|
echo " sudo systemctl enable vircadia-server@$1.target"
|
||||||
echo "The server configuration console is available at:"
|
echo "The server configuration console is available at:"
|
||||||
echo " http://localhost:$2"
|
echo " http://localhost:$2"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Source: athena-server
|
Source: vircadia-server
|
||||||
Section: comm
|
Section: comm
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Heather Anderson <heath@odysseus.anderson.name>
|
Maintainer: Heather Anderson <heath@odysseus.anderson.name>
|
||||||
|
@ -8,8 +8,8 @@ Homepage: https://www.projectathena.dev
|
||||||
Vcs-Git: https://github.com/kasenvr/project-athena.git
|
Vcs-Git: https://github.com/kasenvr/project-athena.git
|
||||||
Vcs-Browser: https://github.com/kasenvr/project-athena
|
Vcs-Browser: https://github.com/kasenvr/project-athena
|
||||||
|
|
||||||
Package: athena-server
|
Package: vircadia-server
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: adduser, {DEPENDS}
|
Depends: adduser, {DEPENDS}
|
||||||
Description: Project Athena allows creation and sharing of VR experiences.
|
Description: Vircadia allows creation and sharing of VR experiences.
|
||||||
The Project Athena metaverse provides built-in social features, including avatar interactions, spatialized audio and interactive physics. Additionally, you have the ability to import any 3D object into your virtual environment.
|
The Vircadia metaverse provides built-in social features, including avatar interactions, spatialized audio and interactive physics. Additionally, you have the ability to import any 3D object into your virtual environment.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# postinst script for athena-server
|
# postinst script for vircadia-server
|
||||||
#
|
#
|
||||||
# see: dh_installdeb(1)
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
@ -20,20 +20,20 @@ set -e
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
configure)
|
configure)
|
||||||
ldconfig -n /opt/athena/lib
|
ldconfig -n /opt/vircadia/lib
|
||||||
adduser --system --quiet --gecos "Project Athena" --home /var/lib/athena --group --no-create-home athena
|
adduser --system --quiet --gecos "Vircadia" --home /var/lib/vircadia --group --no-create-home vircadia
|
||||||
mkdir -p /var/lib/athena
|
mkdir -p /var/lib/vircadia
|
||||||
chown athena:athena /var/lib/athena
|
chown vircadia:vircadia /var/lib/vircadia
|
||||||
chmod 775 /var/lib/athena
|
chmod 775 /var/lib/vircadia
|
||||||
if [ ! -d "/var/lib/athena/default" ]; then
|
if [ ! -d "/var/lib/vircadia/default" ]; then
|
||||||
/opt/athena/new-server default 40100
|
/opt/vircadia/new-server default 40100
|
||||||
systemctl enable athena-server@default.target
|
systemctl enable vircadia-server@default.target
|
||||||
systemctl start athena-server@default.target
|
systemctl start vircadia-server@default.target
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
abort-remove|abort-deconfigure)
|
abort-remove|abort-deconfigure)
|
||||||
ldconfig -n /opt/athena/lib
|
ldconfig -n /opt/vircadia/lib
|
||||||
;;
|
;;
|
||||||
|
|
||||||
abort-upgrade)
|
abort-upgrade)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# prerm script for athena-server
|
# prerm script for vircadia-server
|
||||||
#
|
#
|
||||||
# see: dh_installdeb(1)
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ set -e
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
remove)
|
remove)
|
||||||
find -P /opt/athena/lib -type l -delete
|
find -P /opt/vircadia/lib -type l -delete
|
||||||
;;
|
;;
|
||||||
|
|
||||||
upgrade|deconfigure)
|
upgrade|deconfigure)
|
||||||
|
|
|
@ -18,26 +18,26 @@
|
||||||
dh $@ --with=systemd
|
dh $@ --with=systemd
|
||||||
|
|
||||||
override_dh_systemd_enable:
|
override_dh_systemd_enable:
|
||||||
dh_systemd_enable --no-enable --name athena-assignment-client athena-assignment-client.service
|
dh_systemd_enable --no-enable --name vircadia-assignment-client vircadia-assignment-client.service
|
||||||
dh_systemd_enable --no-enable --name athena-assignment-client@ athena-assignment-client@.service
|
dh_systemd_enable --no-enable --name vircadia-assignment-client@ vircadia-assignment-client@.service
|
||||||
dh_systemd_enable --no-enable --name athena-domain-server athena-domain-server.service
|
dh_systemd_enable --no-enable --name vircadia-domain-server vircadia-domain-server.service
|
||||||
dh_systemd_enable --no-enable --name athena-domain-server@ athena-domain-server@.service
|
dh_systemd_enable --no-enable --name vircadia-domain-server@ vircadia-domain-server@.service
|
||||||
#dh_systemd_enable --no-enable --name athena-ice-server athena-ice-server.service
|
#dh_systemd_enable --no-enable --name vircadia-ice-server vircadia-ice-server.service
|
||||||
#dh_systemd_enable --no-enable --name athena-ice-server@ athena-ice-server@.service
|
#dh_systemd_enable --no-enable --name vircadia-ice-server@ vircadia-ice-server@.service
|
||||||
dh_systemd_enable --no-enable --name athena-server athena-server.target
|
dh_systemd_enable --no-enable --name vircadia-server vircadia-server.target
|
||||||
dh_systemd_enable --no-enable --name athena-server@ athena-server@.target
|
dh_systemd_enable --no-enable --name vircadia-server@ vircadia-server@.target
|
||||||
#dh_systemd_enable --name athena-server@default athena-server@default.target
|
#dh_systemd_enable --name vircadia-server@default vircadia-server@default.target
|
||||||
|
|
||||||
override_dh_systemd_start:
|
override_dh_systemd_start:
|
||||||
dh_systemd_start --restart-after-upgrade --no-start athena-assignment-client.service
|
dh_systemd_start --restart-after-upgrade --no-start vircadia-assignment-client.service
|
||||||
dh_systemd_start --restart-after-upgrade --no-start athena-assignment-client@.service
|
dh_systemd_start --restart-after-upgrade --no-start vircadia-assignment-client@.service
|
||||||
dh_systemd_start --restart-after-upgrade --no-start athena-domain-server.service
|
dh_systemd_start --restart-after-upgrade --no-start vircadia-domain-server.service
|
||||||
dh_systemd_start --restart-after-upgrade --no-start athena-domain-server@.service
|
dh_systemd_start --restart-after-upgrade --no-start vircadia-domain-server@.service
|
||||||
#dh_systemd_start --restart-after-upgrade --no-start athena-ice-server.service
|
#dh_systemd_start --restart-after-upgrade --no-start vircadia-ice-server.service
|
||||||
#dh_systemd_start --restart-after-upgrade --no-start athena-ice-server@.service
|
#dh_systemd_start --restart-after-upgrade --no-start vircadia-ice-server@.service
|
||||||
dh_systemd_start --restart-after-upgrade --no-start athena-server.target
|
dh_systemd_start --restart-after-upgrade --no-start vircadia-server.target
|
||||||
dh_systemd_start --restart-after-upgrade --no-start athena-server@.target
|
dh_systemd_start --restart-after-upgrade --no-start vircadia-server@.target
|
||||||
#dh_systemd_start --restart-after-upgrade athena-server@default.target
|
#dh_systemd_start --restart-after-upgrade vircadia-server@default.target
|
||||||
|
|
||||||
override_dh_installinit:
|
override_dh_installinit:
|
||||||
dh_installinit --noscripts
|
dh_installinit --noscripts
|
||||||
|
|
18
pkg-scripts/vircadia-assignment-client.service
Normal file
18
pkg-scripts/vircadia-assignment-client.service
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Assignment client service for Vircadia server
|
||||||
|
After=network.target
|
||||||
|
PartOf=vircadia-server.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
WorkingDirectory=/opt/vircadia
|
||||||
|
Environment="LD_LIBRARY_PATH=/opt/vircadia/lib"
|
||||||
|
User=vircadia
|
||||||
|
Group=vircadia
|
||||||
|
#LimitCORE=infinity
|
||||||
|
#ExecStart=/opt/vircadia/assignment-client -n 6
|
||||||
|
ExecStart=/opt/vircadia/assignment-client --min 6 --max 20
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
20
pkg-scripts/vircadia-assignment-client@.service
Normal file
20
pkg-scripts/vircadia-assignment-client@.service
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Assignment client service for Vircadia server
|
||||||
|
After=network.target
|
||||||
|
PartOf=vircadia-server@%i.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
WorkingDirectory=/opt/vircadia
|
||||||
|
EnvironmentFile=/etc/opt/vircadia/%i.conf
|
||||||
|
Environment="LD_LIBRARY_PATH=/opt/vircadia/lib" "HOME=/var/lib/vircadia/%i"
|
||||||
|
PrivateTmp=true
|
||||||
|
User=vircadia
|
||||||
|
Group=vircadia
|
||||||
|
#LimitCORE=infinity
|
||||||
|
#ExecStart=/opt/vircadia/assignment-client -n 6
|
||||||
|
ExecStart=/opt/vircadia/assignment-client --min 6 --max 20 --server-port $HIFI_DOMAIN_SERVER_PORT
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
17
pkg-scripts/vircadia-domain-server.service
Normal file
17
pkg-scripts/vircadia-domain-server.service
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Domain Server service for Vircadia
|
||||||
|
After=network.target
|
||||||
|
PartOf=vircadia-server.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
WorkingDirectory=/opt/vircadia
|
||||||
|
Environment="LD_LIBRARY_PATH=/opt/vircadia/lib"
|
||||||
|
User=vircadia
|
||||||
|
Group=vircadia
|
||||||
|
#LimitCORE=infinity
|
||||||
|
ExecStart=/opt/vircadia/domain-server
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
19
pkg-scripts/vircadia-domain-server@.service
Normal file
19
pkg-scripts/vircadia-domain-server@.service
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Domain Server service for Vircadia
|
||||||
|
After=network.target
|
||||||
|
PartOf=vircadia-server@%i.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
WorkingDirectory=/opt/vircadia
|
||||||
|
EnvironmentFile=/etc/opt/vircadia/%i.conf
|
||||||
|
Environment="LD_LIBRARY_PATH=/opt/vircadia/lib" "HOME=/var/lib/vircadia/%i"
|
||||||
|
PrivateTmp=true
|
||||||
|
User=vircadia
|
||||||
|
Group=vircadia
|
||||||
|
#LimitCORE=infinity
|
||||||
|
ExecStart=/opt/vircadia/domain-server
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
|
@ -1,18 +1,18 @@
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Ice Server service for Athena
|
Description=Ice Server service for Vircadia
|
||||||
After=network.target
|
After=network.target
|
||||||
PartOf=athena-server.target
|
PartOf=vircadia-server.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
||||||
Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/athena/lib"
|
Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/vircadia/lib"
|
||||||
WorkingDirectory=/opt/athena
|
WorkingDirectory=/opt/vircadia
|
||||||
User=athena
|
User=vircadia
|
||||||
Group=athena
|
Group=vircadia
|
||||||
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l ice-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/ice-server/ice-server; fi'
|
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l ice-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/ice-server/ice-server; fi'
|
||||||
#LimitCORE=infinity
|
#LimitCORE=infinity
|
||||||
ExecStart=/opt/athena/ice-server
|
ExecStart=/opt/vircadia/ice-server
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
|
@ -1,20 +1,20 @@
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Ice Server service for Athena
|
Description=Ice Server service for Vircadia
|
||||||
After=network.target
|
After=network.target
|
||||||
PartOf=athena-server@%i.target
|
PartOf=vircadia-server@%i.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
||||||
EnvironmentFile=/etc/opt/athena/%i.conf
|
EnvironmentFile=/etc/opt/vircadia/%i.conf
|
||||||
Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/athena/lib" "HOME=/var/lib/athena/%i"
|
Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/vircadia/lib" "HOME=/var/lib/vircadia/%i"
|
||||||
PrivateTmp=true
|
PrivateTmp=true
|
||||||
WorkingDirectory=/opt/athena
|
WorkingDirectory=/opt/vircadia
|
||||||
User=athena
|
User=vircadia
|
||||||
Group=athena
|
Group=vircadia
|
||||||
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l ice-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/ice-server/ice-server; fi'
|
#ExecStartPre=/bin/bash -c 'if /usr/bin/pgrep -l ice-server; then /usr/bin/pkill -SIGKILL -f /usr/share/hifi/ice-server/ice-server; fi'
|
||||||
#LimitCORE=infinity
|
#LimitCORE=infinity
|
||||||
ExecStart=/opt/athena/ice-server
|
ExecStart=/opt/vircadia/ice-server
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
128
pkg-scripts/vircadia-server.spec
Normal file
128
pkg-scripts/vircadia-server.spec
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
#ATHENA=~/Athena rpmbuild --target x86_64 -bb vircadia-server.spec
|
||||||
|
%define version %{lua:print(os.getenv("VERSION"))}
|
||||||
|
%define depends %{lua:print(os.getenv("DEPENDS"))}
|
||||||
|
|
||||||
|
Name: vircadia-server
|
||||||
|
Version: %{version}
|
||||||
|
Release: 1%{?dist}
|
||||||
|
Summary: Vircadia metaverse platform, based on the High Fidelity Engine.
|
||||||
|
|
||||||
|
License: ASL 2.0
|
||||||
|
URL: https://projectathena.io
|
||||||
|
Source0: https://github.com/daleglass/athena-builder/blob/master/athena_builder
|
||||||
|
|
||||||
|
#BuildRequires: systemd-rpm-macros
|
||||||
|
BuildRequires: chrpath
|
||||||
|
Requires: %{depends}
|
||||||
|
BuildArch: x86_64
|
||||||
|
AutoReq: no
|
||||||
|
AutoProv: no
|
||||||
|
|
||||||
|
%description
|
||||||
|
Vircadia allows creation and sharing of VR experiences.
|
||||||
|
The Vircadia metaverse provides built-in social features, including avatar interactions, spatialized audio and interactive physics. Additionally, you have the ability to import any 3D object into your virtual environment.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
install -d $RPM_BUILD_ROOT/opt/vircadia
|
||||||
|
install -m 0755 -t $RPM_BUILD_ROOT/opt/vircadia $ATHENA/build/assignment-client/assignment-client
|
||||||
|
install -m 0755 -t $RPM_BUILD_ROOT/opt/vircadia $ATHENA/build/domain-server/domain-server
|
||||||
|
install -m 0755 -t $RPM_BUILD_ROOT/opt/vircadia $ATHENA/build/tools/oven/oven
|
||||||
|
#install -m 0755 -t $RPM_BUILD_ROOT/opt/vircadia $ATHENA/build/ice-server/ice-server
|
||||||
|
strip --strip-all $RPM_BUILD_ROOT/opt/vircadia/*
|
||||||
|
chrpath -d $RPM_BUILD_ROOT/opt/vircadia/*
|
||||||
|
install -m 0755 -t $RPM_BUILD_ROOT/opt/vircadia $ATHENA/source/pkg-scripts/new-server
|
||||||
|
install -d $RPM_BUILD_ROOT/opt/vircadia/lib
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/build/libraries/*/*.so
|
||||||
|
strip --strip-all $RPM_BUILD_ROOT/opt/vircadia/lib/*
|
||||||
|
chrpath -d $RPM_BUILD_ROOT/opt/vircadia/lib/*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/qt5-install/lib/libQt5Network.so.*.*.*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/qt5-install/lib/libQt5Core.so.*.*.*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/qt5-install/lib/libQt5Widgets.so.*.*.*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/qt5-install/lib/libQt5Gui.so.*.*.*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/qt5-install/lib/libQt5Script.so.*.*.*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/qt5-install/lib/libQt5Quick.so.*.*.*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/qt5-install/lib/libQt5WebSockets.so.*.*.*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/qt5-install/lib/libQt5Qml.so.*.*.*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/qt5-install/lib/libQt5ScriptTools.so.*.*.*
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/opt/vircadia/lib $ATHENA/build/ext/makefiles/quazip/project/lib/libquazip5.so.*.*.*
|
||||||
|
install -d $RPM_BUILD_ROOT/usr/lib/systemd/system
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/vircadia-assignment-client.service
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/vircadia-assignment-client@.service
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/vircadia-domain-server.service
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/vircadia-domain-server@.service
|
||||||
|
#install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/vircadia-ice-server.service
|
||||||
|
#install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/vircadia-ice-server@.service
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/vircadia-server.target
|
||||||
|
install -m 0644 -t $RPM_BUILD_ROOT/usr/lib/systemd/system $ATHENA/source/pkg-scripts/vircadia-server@.target
|
||||||
|
cp -a $ATHENA/source/domain-server/resources $RPM_BUILD_ROOT/opt/vircadia
|
||||||
|
cp -a $ATHENA/build/assignment-client/plugins $RPM_BUILD_ROOT/opt/vircadia
|
||||||
|
chrpath -d $RPM_BUILD_ROOT/opt/vircadia/plugins/*.so
|
||||||
|
chrpath -d $RPM_BUILD_ROOT/opt/vircadia/plugins/*/*.so
|
||||||
|
strip --strip-all $RPM_BUILD_ROOT/opt/vircadia/plugins/*.so
|
||||||
|
strip --strip-all $RPM_BUILD_ROOT/opt/vircadia/plugins/*/*.so
|
||||||
|
find $RPM_BUILD_ROOT/opt/vircadia/resources -name ".gitignore" -delete
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license $ATHENA/source/LICENSE
|
||||||
|
/opt/vircadia
|
||||||
|
/usr/lib/systemd/system
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
|
||||||
|
|
||||||
|
%post
|
||||||
|
# create users
|
||||||
|
getent passwd vircadia >/dev/null 2>&1 || useradd -r -c "Vircadia" -d /var/lib/vircadia -U -M vircadia
|
||||||
|
#getent group vircadia >/dev/null 2>&1 || groupadd -r vircadia
|
||||||
|
|
||||||
|
# create data folder
|
||||||
|
mkdir -p /etc/opt/vircadia
|
||||||
|
mkdir -p /var/lib/vircadia && chown vircadia:vircadia /var/lib/vircadia && chmod 775 /var/lib/vircadia
|
||||||
|
|
||||||
|
ldconfig -n /opt/vircadia/lib
|
||||||
|
if [ ! -d "/var/lib/vircadia/default" ]; then
|
||||||
|
/opt/vircadia/new-server default 40100
|
||||||
|
systemctl enable vircadia-server@default.target
|
||||||
|
systemctl start vircadia-server@default.target
|
||||||
|
fi
|
||||||
|
|
||||||
|
%systemd_post vircadia-assignment-client.service
|
||||||
|
%systemd_post vircadia-assignment-client@.service
|
||||||
|
%systemd_post vircadia-domain-server.service
|
||||||
|
%systemd_post vircadia-domain-server@.service
|
||||||
|
#%systemd_post vircadia-ice-server.service
|
||||||
|
#%systemd_post vircadia-ice-server@.service
|
||||||
|
%systemd_post vircadia-server.target
|
||||||
|
%systemd_post vircadia-server@.target
|
||||||
|
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%systemd_preun vircadia-server.target
|
||||||
|
%systemd_preun vircadia-server@.target
|
||||||
|
%systemd_preun vircadia-assignment-client.service
|
||||||
|
%systemd_preun vircadia-assignment-client@.service
|
||||||
|
%systemd_preun vircadia-domain-server.service
|
||||||
|
%systemd_preun vircadia-domain-server@.service
|
||||||
|
#%systemd_preun vircadia-ice-server.service
|
||||||
|
#%systemd_preun vircadia-ice-server@.service
|
||||||
|
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%systemd_postun_with_restart vircadia-server.target
|
||||||
|
%systemd_postun_with_restart vircadia-server@.target
|
||||||
|
%systemd_postun_with_restart vircadia-assignment-client.service
|
||||||
|
%systemd_postun_with_restart vircadia-assignment-client@.service
|
||||||
|
%systemd_postun_with_restart vircadia-domain-server.service
|
||||||
|
%systemd_postun_with_restart vircadia-domain-server@.service
|
||||||
|
#%systemd_postun_with_restart vircadia-ice-server.service
|
||||||
|
#%systemd_postun_with_restart vircadia-ice-server@.service
|
11
pkg-scripts/vircadia-server.target
Normal file
11
pkg-scripts/vircadia-server.target
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Vircadia virtual domain
|
||||||
|
Wants=vircadia-assignment-client.service
|
||||||
|
Wants=vircadia-domain-server.service
|
||||||
|
#Wants=vircadia-ice-server.service
|
||||||
|
After=vircadia-assignment-client.service
|
||||||
|
After=vircadia-domain-server.service
|
||||||
|
#After=vircadia-ice-server.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
11
pkg-scripts/vircadia-server@.target
Normal file
11
pkg-scripts/vircadia-server@.target
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Vircadia virtual domain
|
||||||
|
Wants=vircadia-assignment-client@%i.service
|
||||||
|
Wants=vircadia-domain-server@%i.service
|
||||||
|
#Wants=vircadia-ice-server@%i.service
|
||||||
|
After=vircadia-assignment-client@%i.service
|
||||||
|
After=vircadia-domain-server@%i.service
|
||||||
|
#After=vircadia-ice-server@%i.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
Reference in a new issue