From ffc1b7ee53e570b8416eeaffac5b05a343ddbf1f Mon Sep 17 00:00:00 2001 From: Heather Anderson Date: Sat, 21 Mar 2020 21:50:05 +0000 Subject: [PATCH] Initial pass renaming athena -> vircadia --- pkg-scripts/Dockerfile.templ | 26 ++-- pkg-scripts/athena-assignment-client.service | 18 --- pkg-scripts/athena-assignment-client@.service | 20 --- pkg-scripts/athena-domain-server.service | 18 --- pkg-scripts/athena-domain-server@.service | 20 --- pkg-scripts/athena-server.spec | 128 ------------------ pkg-scripts/athena-server.target | 11 -- pkg-scripts/athena-server@.target | 11 -- pkg-scripts/docker-entrypoint.sh | 22 +-- ...r.conf => docker-vircadia-supervisor.conf} | 36 ++--- pkg-scripts/make-deb-server | 55 ++++---- pkg-scripts/make-docker-server | 4 +- pkg-scripts/make-rpm-server | 2 +- pkg-scripts/new-server | 36 ++--- pkg-scripts/server-control | 8 +- pkg-scripts/server-postinst | 22 +-- pkg-scripts/server-prerm | 4 +- pkg-scripts/server-rules | 36 ++--- .../vircadia-assignment-client.service | 18 +++ .../vircadia-assignment-client@.service | 20 +++ pkg-scripts/vircadia-domain-server.service | 17 +++ pkg-scripts/vircadia-domain-server@.service | 19 +++ ...er.service => vircadia-ice-server.service} | 14 +- ...@.service => vircadia-ice-server@.service} | 16 +-- pkg-scripts/vircadia-server.spec | 128 ++++++++++++++++++ pkg-scripts/vircadia-server.target | 11 ++ pkg-scripts/vircadia-server@.target | 11 ++ 27 files changed, 361 insertions(+), 370 deletions(-) delete mode 100644 pkg-scripts/athena-assignment-client.service delete mode 100644 pkg-scripts/athena-assignment-client@.service delete mode 100644 pkg-scripts/athena-domain-server.service delete mode 100644 pkg-scripts/athena-domain-server@.service delete mode 100644 pkg-scripts/athena-server.spec delete mode 100644 pkg-scripts/athena-server.target delete mode 100644 pkg-scripts/athena-server@.target rename pkg-scripts/{docker-athena-supervisor.conf => docker-vircadia-supervisor.conf} (60%) create mode 100644 pkg-scripts/vircadia-assignment-client.service create mode 100644 pkg-scripts/vircadia-assignment-client@.service create mode 100644 pkg-scripts/vircadia-domain-server.service create mode 100644 pkg-scripts/vircadia-domain-server@.service rename pkg-scripts/{athena-ice-server.service => vircadia-ice-server.service} (63%) rename pkg-scripts/{athena-ice-server@.service => vircadia-ice-server@.service} (56%) create mode 100644 pkg-scripts/vircadia-server.spec create mode 100644 pkg-scripts/vircadia-server.target create mode 100644 pkg-scripts/vircadia-server@.target diff --git a/pkg-scripts/Dockerfile.templ b/pkg-scripts/Dockerfile.templ index 76d27e8c78..e340024bce 100644 --- a/pkg-scripts/Dockerfile.templ +++ b/pkg-scripts/Dockerfile.templ @@ -19,25 +19,25 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ apt-get install -y tzdata supervisor ${DEPENDS} && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ - mkdir -p /var/lib/athena -RUN groupadd -r athena ; \ - useradd -Nr athena -d /var/lib/athena ; \ - usermod -aG athena athena ; \ - chown athena.athena /var/lib/athena ; \ + mkdir -p /var/lib/vircadia +RUN groupadd -r vircadia ; \ + useradd -Nr vircadia -d /var/lib/vircadia ; \ + usermod -aG vircadia vircadia ; \ + chown vircadia.vircadia /var/lib/vircadia ; \ exit 0 -VOLUME /var/lib/athena +VOLUME /var/lib/vircadia 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 opt /opt/athena -COPY lib /opt/athena/lib +COPY opt /opt/vircadia +COPY lib /opt/vircadia/lib 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 \ - net.projectathena.gitsrc="${GITSRC}" \ - net.projectathena.gitdate="${GITDATE}" \ - net.projectathena.gitcommit="${GITCOMMIT}" + net.vircadia.gitsrc="${GITSRC}" \ + net.vircadia.gitdate="${GITDATE}" \ + net.vircadia.gitcommit="${GITCOMMIT}" diff --git a/pkg-scripts/athena-assignment-client.service b/pkg-scripts/athena-assignment-client.service deleted file mode 100644 index a6407294dc..0000000000 --- a/pkg-scripts/athena-assignment-client.service +++ /dev/null @@ -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 diff --git a/pkg-scripts/athena-assignment-client@.service b/pkg-scripts/athena-assignment-client@.service deleted file mode 100644 index 7f60ed4d28..0000000000 --- a/pkg-scripts/athena-assignment-client@.service +++ /dev/null @@ -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 diff --git a/pkg-scripts/athena-domain-server.service b/pkg-scripts/athena-domain-server.service deleted file mode 100644 index a5db9dc269..0000000000 --- a/pkg-scripts/athena-domain-server.service +++ /dev/null @@ -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 diff --git a/pkg-scripts/athena-domain-server@.service b/pkg-scripts/athena-domain-server@.service deleted file mode 100644 index 330d8ac81d..0000000000 --- a/pkg-scripts/athena-domain-server@.service +++ /dev/null @@ -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 diff --git a/pkg-scripts/athena-server.spec b/pkg-scripts/athena-server.spec deleted file mode 100644 index 7910c8114b..0000000000 --- a/pkg-scripts/athena-server.spec +++ /dev/null @@ -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 diff --git a/pkg-scripts/athena-server.target b/pkg-scripts/athena-server.target deleted file mode 100644 index e3929b401b..0000000000 --- a/pkg-scripts/athena-server.target +++ /dev/null @@ -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 diff --git a/pkg-scripts/athena-server@.target b/pkg-scripts/athena-server@.target deleted file mode 100644 index 8ac451ca80..0000000000 --- a/pkg-scripts/athena-server@.target +++ /dev/null @@ -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 diff --git a/pkg-scripts/docker-entrypoint.sh b/pkg-scripts/docker-entrypoint.sh index 4a4a7506dc..9248152f32 100755 --- a/pkg-scripts/docker-entrypoint.sh +++ b/pkg-scripts/docker-entrypoint.sh @@ -6,23 +6,23 @@ set -x # allowing the container to be run directly as Jenkins. In Dev, or on unknown # environments, run the container as root to automatically correct docker # 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 - THIS_ATHENA_GID=`ls -ngd /var/lib/athena/.local | cut -f3 -d' '` - CUR_ATHENA_GID=`getent group athena | cut -f3 -d: || true` - if [ ! -z "$THIS_ATHENA_GID" -a "$THIS_ATHENA_GID" != "$CUR_ATHENA_GID" ]; then - groupmod -g ${THIS_ATHENA_GID} -o athena + THIS_VIRCADIA_GID=`ls -ngd /var/lib/vircadia/.local | cut -f3 -d' '` + CUR_VIRCADIA_GID=`getent group vircadia | cut -f3 -d: || true` + if [ ! -z "$THIS_VIRCADIA_GID" -a "$THIS_VIRCADIA_GID" != "$CUR_VIRCADIA_GID" ]; then + groupmod -g ${THIS_VIRCADIA_GID} -o vircadia fi # realign pid - THIS_ATHENA_PID=`ls -nd /var/lib/athena/.local | cut -f3 -d' '` - CUR_ATHENA_PID=`getent passwd athena | cut -f3 -d: || true` - if [ ! -z "$THIS_ATHENA_PID" -a "$THIS_ATHENA_PID" != "$CUR_ATHENA_PID" ]; then - usermod -u ${THIS_ATHENA_PID} -o athena + THIS_ATHENA_PID=`ls -nd /var/lib/vircadia/.local | cut -f3 -d' '` + CUR_ATHENA_PID=`getent passwd vircadia | cut -f3 -d: || true` + if [ ! -z "$THIS_VIRCADIA_PID" -a "$THIS_VIRCADIA_PID" != "$CUR_VIRCADIA_PID" ]; then + usermod -u ${THIS_VIRCADIA_PID} -o vircadia fi - if ! groups athena | grep -q athena; then - usermod -aG athena athena + if ! groups vircadia | grep -q vircadia; then + usermod -aG vircadia vircadia fi fi diff --git a/pkg-scripts/docker-athena-supervisor.conf b/pkg-scripts/docker-vircadia-supervisor.conf similarity index 60% rename from pkg-scripts/docker-athena-supervisor.conf rename to pkg-scripts/docker-vircadia-supervisor.conf index d6e53996b6..3ee1961c80 100644 --- a/pkg-scripts/docker-athena-supervisor.conf +++ b/pkg-scripts/docker-vircadia-supervisor.conf @@ -1,74 +1,74 @@ [supervisord] -user=athena +user=vircadia 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_maxbytes=0 pidfile=/var/run/supervisord.pid [program:domain-server] -command=/opt/athena/domain-server +command=/opt/vircadia/domain-server autorestart=unexpected -directory=/opt/athena +directory=/opt/vircadia [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 -directory=/opt/athena +directory=/opt/vircadia stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [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 -directory=/opt/athena +directory=/opt/vircadia stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [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 -directory=/opt/athena +directory=/opt/vircadia stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [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 -directory=/opt/athena +directory=/opt/vircadia stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [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 -directory=/opt/athena +directory=/opt/vircadia stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [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 -directory=/opt/athena +directory=/opt/vircadia stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [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 -directory=/opt/athena +directory=/opt/vircadia stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr diff --git a/pkg-scripts/make-deb-server b/pkg-scripts/make-deb-server index 72304ae414..70eda96411 100755 --- a/pkg-scripts/make-deb-server +++ b/pkg-scripts/make-deb-server @@ -10,7 +10,7 @@ VERSION=0.86.0-k2-$GITDATE-$GITCOMMIT 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 mkdir -p $DEB_BUILD_ROOT @@ -45,56 +45,47 @@ strip --strip-all $DEB_BUILD_ROOT/plugins/*/*.so #begin the debian package construction 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/athena-assignment-client@.service debian -cp $ATHENA/source/pkg-scripts/athena-domain-server.service debian -cp $ATHENA/source/pkg-scripts/athena-domain-server@.service debian -#cp $ATHENA/source/pkg-scripts/athena-ice-server.service debian -#cp $ATHENA/source/pkg-scripts/athena-ice-server@.service debian -cp $ATHENA/source/pkg-scripts/athena-server.target debian -cp $ATHENA/source/pkg-scripts/athena-server@.target debian +cp $ATHENA/source/pkg-scripts/vircadia-assignment-client.service debian +cp $ATHENA/source/pkg-scripts/vircadia-assignment-client@.service debian +cp $ATHENA/source/pkg-scripts/vircadia-domain-server.service debian +cp $ATHENA/source/pkg-scripts/vircadia-domain-server@.service debian +#cp $ATHENA/source/pkg-scripts/vircadia-ice-server.service debian +#cp $ATHENA/source/pkg-scripts/vircadia-ice-server@.service debian +cp $ATHENA/source/pkg-scripts/vircadia-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-prerm debian/prerm cp $ATHENA/source/pkg-scripts/server-postinst debian/postinst cp $ATHENA/source/LICENSE debian/copyright -echo /etc/opt/athena > debian/dirs -echo /var/lib/athena >> debian/dirs +echo /etc/opt/vircadia > debian/dirs +echo /var/lib/vircadia >> debian/dirs echo README.md > debian/docs echo README_hifi.md >> debian/docs -echo assignment-client opt/athena > debian/install -echo domain-server opt/athena >> debian/install -echo oven opt/athena >> debian/install -#echo ice-server opt/athena >> debian/install -echo new-server opt/athena >> debian/install +echo assignment-client opt/vircadia > debian/install +echo domain-server opt/vircadia >> debian/install +echo oven opt/vircadia >> debian/install +#echo ice-server opt/vircadia >> debian/install +echo new-server opt/vircadia >> debian/install for so in *.so.*.*.*; do - echo $so opt/athena/lib >> debian/install + echo $so opt/vircadia/lib >> debian/install done for so in *.so; do - echo $so opt/athena/lib >> debian/install + echo $so opt/vircadia/lib >> debian/install done #for service in *.service; do -# echo $service opt/athena/systemd >> debian/install +# echo $service opt/vircadia/systemd >> debian/install #done #for target in *.target; do -# echo $target opt/athena/systemd >> debian/install +# echo $target opt/vircadia/systemd >> debian/install #done -find resources -type f -exec sh -c 'echo {} opt/athena/$(dirname "{}") >> debian/install' \; -find plugins -type f -exec sh -c 'echo {} opt/athena/$(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 +find resources -type f -exec sh -c 'echo {} opt/vircadia/$(dirname "{}") >> debian/install' \; +find plugins -type f -exec sh -c 'echo {} opt/vircadia/$(dirname "{}") >> debian/install' \; SOFILES=`ls *.so *.so.*.*.* | sed 's/\./\\\./g' | paste -d'|' -s` diff --git a/pkg-scripts/make-docker-server b/pkg-scripts/make-docker-server index 3ad37bb0e2..90d4434a03 100755 --- a/pkg-scripts/make-docker-server +++ b/pkg-scripts/make-docker-server @@ -15,7 +15,7 @@ rm -r temp-make-dock mkdir -p $DOCK_BUILD_ROOT 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-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 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` 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" . diff --git a/pkg-scripts/make-rpm-server b/pkg-scripts/make-rpm-server index 9863faa0ab..6b6ebd6ae2 100755 --- a/pkg-scripts/make-rpm-server +++ b/pkg-scripts/make-rpm-server @@ -52,5 +52,5 @@ DEPENDS=mesa-libGL,`ls \ sudo yum install chrpath 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 . diff --git a/pkg-scripts/new-server b/pkg-scripts/new-server index fd9ba95761..22d6c0c9e8 100755 --- a/pkg-scripts/new-server +++ b/pkg-scripts/new-server @@ -2,13 +2,13 @@ if [ -z "$1" ] || [ -z "$2" ]; then echo "new-server {name} {base-port}" 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 " {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 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 exit 1 fi @@ -20,30 +20,32 @@ if [ "$(id -u)" -ne 0 ]; then exit 1 fi -if [ -d "/var/lib/athena/$1" ]; then - echo "Path /var/lib/athena/$1 already exists" +if [ -d "/var/lib/vircadia/$1" ]; then + echo "Path /var/lib/vircadia/$1 already exists" echo echo "Please remove this path first if you wish to recreate this server" exit 2 fi -mkdir -p /var/lib/athena/$1/.local/share -ln -s ../.. /var/lib/athena/$1/.local/share/Project\ Athena\ -\ dev -ln -s ../.. /var/lib/athena/$1/.local/share/Project\ Athena -mkdir -p /var/lib/athena/$1/domain-server -echo "{\"metaverse\": {\"local_port\": $(($2 + 2))},\"version\": 2.4}" > /var/lib/athena/$1/domain-server/config.json -chown -R athena.athena /var/lib/athena/$1 +mkdir -p /var/lib/vircadia/$1/.local/share +ln -s ../.. /var/lib/vircadia/$1/.local/share/Project\ Athena\ -\ dev +ln -s ../.. /var/lib/vircadia/$1/.local/share/Project\ Athena +ln -s ../.. /var/lib/vircadia/$1/.local/share/Vircadia\ -\ dev +ln -s ../.. /var/lib/vircadia/$1/.local/share/Vircadia +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_HTTPS_PORT=$(($2 + 1)) >> /etc/opt/athena/$1.conf -echo HIFI_DOMAIN_SERVER_PORT=$(($2 + 2)) >> /etc/opt/athena/$1.conf -echo HIFI_DOMAIN_SERVER_DTLS_PORT=$(($2 + 3)) >> /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/vircadia/$1.conf +echo HIFI_DOMAIN_SERVER_PORT=$(($2 + 2)) >> /etc/opt/vircadia/$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 "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 " sudo systemctl enable athena-server@$1.target" +echo " sudo systemctl enable vircadia-server@$1.target" echo "The server configuration console is available at:" echo " http://localhost:$2" diff --git a/pkg-scripts/server-control b/pkg-scripts/server-control index 70383891bd..2c37da268a 100644 --- a/pkg-scripts/server-control +++ b/pkg-scripts/server-control @@ -1,4 +1,4 @@ -Source: athena-server +Source: vircadia-server Section: comm Priority: optional Maintainer: Heather Anderson @@ -8,8 +8,8 @@ Homepage: https://www.projectathena.dev Vcs-Git: https://github.com/kasenvr/project-athena.git Vcs-Browser: https://github.com/kasenvr/project-athena -Package: athena-server +Package: vircadia-server Architecture: any Depends: adduser, {DEPENDS} -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. +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. diff --git a/pkg-scripts/server-postinst b/pkg-scripts/server-postinst index fa14e8175f..b115e7a778 100755 --- a/pkg-scripts/server-postinst +++ b/pkg-scripts/server-postinst @@ -1,5 +1,5 @@ #!/bin/sh -# postinst script for athena-server +# postinst script for vircadia-server # # see: dh_installdeb(1) @@ -20,20 +20,20 @@ set -e case "$1" in configure) - ldconfig -n /opt/athena/lib - adduser --system --quiet --gecos "Project Athena" --home /var/lib/athena --group --no-create-home athena - mkdir -p /var/lib/athena - chown athena:athena /var/lib/athena - chmod 775 /var/lib/athena - 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 + ldconfig -n /opt/vircadia/lib + adduser --system --quiet --gecos "Vircadia" --home /var/lib/vircadia --group --no-create-home vircadia + mkdir -p /var/lib/vircadia + chown vircadia:vircadia /var/lib/vircadia + chmod 775 /var/lib/vircadia + 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 ;; abort-remove|abort-deconfigure) - ldconfig -n /opt/athena/lib + ldconfig -n /opt/vircadia/lib ;; abort-upgrade) diff --git a/pkg-scripts/server-prerm b/pkg-scripts/server-prerm index cdeddd308e..7a6538284b 100755 --- a/pkg-scripts/server-prerm +++ b/pkg-scripts/server-prerm @@ -1,5 +1,5 @@ #!/bin/sh -# prerm script for athena-server +# prerm script for vircadia-server # # see: dh_installdeb(1) @@ -19,7 +19,7 @@ set -e case "$1" in remove) - find -P /opt/athena/lib -type l -delete + find -P /opt/vircadia/lib -type l -delete ;; upgrade|deconfigure) diff --git a/pkg-scripts/server-rules b/pkg-scripts/server-rules index 4585591b15..24f557159b 100755 --- a/pkg-scripts/server-rules +++ b/pkg-scripts/server-rules @@ -18,26 +18,26 @@ dh $@ --with=systemd override_dh_systemd_enable: - dh_systemd_enable --no-enable --name athena-assignment-client athena-assignment-client.service - dh_systemd_enable --no-enable --name athena-assignment-client@ athena-assignment-client@.service - dh_systemd_enable --no-enable --name athena-domain-server athena-domain-server.service - dh_systemd_enable --no-enable --name athena-domain-server@ athena-domain-server@.service - #dh_systemd_enable --no-enable --name athena-ice-server athena-ice-server.service - #dh_systemd_enable --no-enable --name athena-ice-server@ athena-ice-server@.service - dh_systemd_enable --no-enable --name athena-server athena-server.target - dh_systemd_enable --no-enable --name athena-server@ athena-server@.target - #dh_systemd_enable --name athena-server@default athena-server@default.target + dh_systemd_enable --no-enable --name vircadia-assignment-client vircadia-assignment-client.service + dh_systemd_enable --no-enable --name vircadia-assignment-client@ vircadia-assignment-client@.service + dh_systemd_enable --no-enable --name vircadia-domain-server vircadia-domain-server.service + dh_systemd_enable --no-enable --name vircadia-domain-server@ vircadia-domain-server@.service + #dh_systemd_enable --no-enable --name vircadia-ice-server vircadia-ice-server.service + #dh_systemd_enable --no-enable --name vircadia-ice-server@ vircadia-ice-server@.service + dh_systemd_enable --no-enable --name vircadia-server vircadia-server.target + dh_systemd_enable --no-enable --name vircadia-server@ vircadia-server@.target + #dh_systemd_enable --name vircadia-server@default vircadia-server@default.target override_dh_systemd_start: - dh_systemd_start --restart-after-upgrade --no-start athena-assignment-client.service - dh_systemd_start --restart-after-upgrade --no-start athena-assignment-client@.service - dh_systemd_start --restart-after-upgrade --no-start athena-domain-server.service - dh_systemd_start --restart-after-upgrade --no-start athena-domain-server@.service - #dh_systemd_start --restart-after-upgrade --no-start athena-ice-server.service - #dh_systemd_start --restart-after-upgrade --no-start athena-ice-server@.service - dh_systemd_start --restart-after-upgrade --no-start athena-server.target - dh_systemd_start --restart-after-upgrade --no-start athena-server@.target - #dh_systemd_start --restart-after-upgrade athena-server@default.target + dh_systemd_start --restart-after-upgrade --no-start vircadia-assignment-client.service + dh_systemd_start --restart-after-upgrade --no-start vircadia-assignment-client@.service + dh_systemd_start --restart-after-upgrade --no-start vircadia-domain-server.service + dh_systemd_start --restart-after-upgrade --no-start vircadia-domain-server@.service + #dh_systemd_start --restart-after-upgrade --no-start vircadia-ice-server.service + #dh_systemd_start --restart-after-upgrade --no-start vircadia-ice-server@.service + dh_systemd_start --restart-after-upgrade --no-start vircadia-server.target + dh_systemd_start --restart-after-upgrade --no-start vircadia-server@.target + #dh_systemd_start --restart-after-upgrade vircadia-server@default.target override_dh_installinit: dh_installinit --noscripts diff --git a/pkg-scripts/vircadia-assignment-client.service b/pkg-scripts/vircadia-assignment-client.service new file mode 100644 index 0000000000..9c86e4e874 --- /dev/null +++ b/pkg-scripts/vircadia-assignment-client.service @@ -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 diff --git a/pkg-scripts/vircadia-assignment-client@.service b/pkg-scripts/vircadia-assignment-client@.service new file mode 100644 index 0000000000..4684947426 --- /dev/null +++ b/pkg-scripts/vircadia-assignment-client@.service @@ -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 diff --git a/pkg-scripts/vircadia-domain-server.service b/pkg-scripts/vircadia-domain-server.service new file mode 100644 index 0000000000..8c261bc72f --- /dev/null +++ b/pkg-scripts/vircadia-domain-server.service @@ -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 diff --git a/pkg-scripts/vircadia-domain-server@.service b/pkg-scripts/vircadia-domain-server@.service new file mode 100644 index 0000000000..7ae84dc6f3 --- /dev/null +++ b/pkg-scripts/vircadia-domain-server@.service @@ -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 diff --git a/pkg-scripts/athena-ice-server.service b/pkg-scripts/vircadia-ice-server.service similarity index 63% rename from pkg-scripts/athena-ice-server.service rename to pkg-scripts/vircadia-ice-server.service index 57db8581b3..d966ffe0c0 100644 --- a/pkg-scripts/athena-ice-server.service +++ b/pkg-scripts/vircadia-ice-server.service @@ -1,18 +1,18 @@ [Unit] -Description=Ice Server service for Athena +Description=Ice Server service for Vircadia After=network.target -PartOf=athena-server.target +PartOf=vircadia-server.target [Service] Restart=on-failure -Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/athena/lib" -WorkingDirectory=/opt/athena -User=athena -Group=athena +Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/vircadia/lib" +WorkingDirectory=/opt/vircadia +User=vircadia +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' #LimitCORE=infinity -ExecStart=/opt/athena/ice-server +ExecStart=/opt/vircadia/ice-server [Install] WantedBy=multi-user.target diff --git a/pkg-scripts/athena-ice-server@.service b/pkg-scripts/vircadia-ice-server@.service similarity index 56% rename from pkg-scripts/athena-ice-server@.service rename to pkg-scripts/vircadia-ice-server@.service index e4993f5436..fc5ab4615d 100644 --- a/pkg-scripts/athena-ice-server@.service +++ b/pkg-scripts/vircadia-ice-server@.service @@ -1,20 +1,20 @@ [Unit] -Description=Ice Server service for Athena +Description=Ice Server service for Vircadia After=network.target -PartOf=athena-server@%i.target +PartOf=vircadia-server@%i.target [Service] Restart=on-failure -EnvironmentFile=/etc/opt/athena/%i.conf -Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/athena/lib" "HOME=/var/lib/athena/%i" +EnvironmentFile=/etc/opt/vircadia/%i.conf +Environment="HIFI_ENVIRONMENT=production" "LD_LIBRARY_PATH=/opt/vircadia/lib" "HOME=/var/lib/vircadia/%i" PrivateTmp=true -WorkingDirectory=/opt/athena -User=athena -Group=athena +WorkingDirectory=/opt/vircadia +User=vircadia +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' #LimitCORE=infinity -ExecStart=/opt/athena/ice-server +ExecStart=/opt/vircadia/ice-server [Install] WantedBy=multi-user.target diff --git a/pkg-scripts/vircadia-server.spec b/pkg-scripts/vircadia-server.spec new file mode 100644 index 0000000000..82126f493f --- /dev/null +++ b/pkg-scripts/vircadia-server.spec @@ -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 diff --git a/pkg-scripts/vircadia-server.target b/pkg-scripts/vircadia-server.target new file mode 100644 index 0000000000..27225aade3 --- /dev/null +++ b/pkg-scripts/vircadia-server.target @@ -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 diff --git a/pkg-scripts/vircadia-server@.target b/pkg-scripts/vircadia-server@.target new file mode 100644 index 0000000000..158a48bedc --- /dev/null +++ b/pkg-scripts/vircadia-server@.target @@ -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