commit
9c34ff4d79
|
|
@ -0,0 +1,19 @@
|
|||
[Unit]
|
||||
Description=multiparty-meeting is a audio / video meeting service running in the browser and powered by webRTC
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=-/etc/sysconfig/multiparty-meeting
|
||||
ExecStart=/opt/multiparty-meeting/server/server.js
|
||||
Restart=always
|
||||
User=mm
|
||||
Group=mm
|
||||
WorkingDirectory=/opt/multiparty-meeting/server
|
||||
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||
ProtectSystem=full
|
||||
ProtectHome=true
|
||||
NoNewPrivileges=true
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
# Disables debug package
|
||||
%global debug_package %{nil}
|
||||
|
||||
%global __brp_mangle_shebangs /bin/true
|
||||
|
||||
%define commit effdd3005b9641d1d503d70af064eab0a9c550a8
|
||||
%define shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%define _date %(date +'%%Y%%m%%dT%%H%%M%%S')
|
||||
%define _release 1
|
||||
|
||||
Name: multiparty-meeting
|
||||
Version: 3.2.1
|
||||
License: MIT
|
||||
Summary: Multiparty web-meetings using mediasoup and WebRTC
|
||||
URL: https://github.com/havfo/multiparty-meeting
|
||||
%if 0%{?commit:1}
|
||||
Release: %{_release}.git%{shortcommit}.%{_date}%{?dist}
|
||||
Source0: %{url}/archive/%{commit}.tar.gz
|
||||
%else
|
||||
Release: %{_release}%{?dist}
|
||||
Source0: %{url}/archive/%{version}.tar.gz
|
||||
%endif
|
||||
Source1: %{name}.service
|
||||
Source2: %{name}.sysconfig
|
||||
|
||||
ExclusiveArch: %{nodejs_arches} noarch
|
||||
|
||||
BuildRequires: systemd
|
||||
BuildRequires: nodejs-packaging
|
||||
BuildRequires: nodejs >= 10
|
||||
BuildRequires: npm
|
||||
BuildRequires: yarn
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: redis-devel
|
||||
Requires: nodejs >= 10
|
||||
Requires: redis
|
||||
|
||||
Requires(post): policycoreutils
|
||||
Requires(post): policycoreutils-python-utils
|
||||
Requires(postun): policycoreutils
|
||||
|
||||
%global appdir /opt/%{name}
|
||||
|
||||
%description
|
||||
%summary
|
||||
|
||||
%prep
|
||||
%if 0%{?commit:1}
|
||||
%autosetup -p1 -n %{name}-%{commit}
|
||||
cd ..
|
||||
# Rename the directory to just the name, adding the commit hash makes make error out due
|
||||
# to too long path names.
|
||||
mv "%{name}-%{commit}" ./"%{name}"
|
||||
ln -snf %{name} %{name}-%{commit}
|
||||
%else
|
||||
%autosetup -p1 -n %{name}-%{version}
|
||||
%endif
|
||||
|
||||
%build
|
||||
export CXXFLAGS="%{optflags}"
|
||||
export PYTHON=%{__python3}
|
||||
export PYTHON3=%{__python3}
|
||||
export NODE_ENV=production
|
||||
|
||||
cd app
|
||||
npm install
|
||||
npm install classnames
|
||||
npm run build
|
||||
cd -
|
||||
mkdir -p server/public
|
||||
cd server
|
||||
npm install
|
||||
cd -
|
||||
|
||||
rm -rf server/node_modules/clang-tools-prebuilt
|
||||
|
||||
find server/node_modules/mediasoup \
|
||||
\( \
|
||||
-name samples -or \
|
||||
-name src -or \
|
||||
-name test -or \
|
||||
-name deps -or \
|
||||
-name '*.a' -or \
|
||||
-name .deps -or \
|
||||
-name include -or \
|
||||
-name obj.target \
|
||||
\) -a -print0 \
|
||||
| xargs -0 rm -rf
|
||||
|
||||
for i in $(find -iname '*.py')
|
||||
do
|
||||
sed -i -r \
|
||||
-e 's:(/usr)?/bin/(env )?python([0-9]+([.][0-9]+)?)?:%{__python3}:g' \
|
||||
${i}
|
||||
done
|
||||
|
||||
%install
|
||||
install -d %{buildroot}%{appdir}
|
||||
install -d %{buildroot}%{_docdir}/%{name}
|
||||
install -d %{buildroot}%{_sysconfdir}/%{name}
|
||||
|
||||
install -Dpm 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
|
||||
install -Dpm 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
|
||||
|
||||
cp -R . %{buildroot}%{appdir}/
|
||||
cp -R LTI munin %{buildroot}%{_docdir}/%{name}
|
||||
rm -f \
|
||||
%{buildroot}%{appdir}%{name}.service \
|
||||
%{buildroot}%{appdir}/*.md \
|
||||
%{buildroot}%{appdir}/.gitignore
|
||||
rm -rf \
|
||||
%{buildroot}%{appdir}/app \
|
||||
%{buildroot}%{appdir}/LTI \
|
||||
%{buildroot}%{appdir}/munin
|
||||
mv %{buildroot}%{appdir}/server/config/config.example.js %{buildroot}%{_sysconfdir}/%{name}/config.js
|
||||
mv %{buildroot}%{appdir}/server/public/config/config.example.js %{buildroot}%{_sysconfdir}/%{name}/app-config.js
|
||||
ln -snf %{_sysconfdir}/%{name}/config.js %{buildroot}%{appdir}/server/config/config.js
|
||||
ln -snf %{_sysconfdir}/%{name}/app-config.js %{buildroot}%{appdir}/server/public/config/config.js
|
||||
|
||||
%pre
|
||||
getent group mm > /dev/null || groupadd -r mm
|
||||
getent passwd mm > /dev/null || \
|
||||
useradd -r -d %{_sharedstatedir}/mm -g mm \
|
||||
-s /sbin/nologin -c "%{name} service user" mm
|
||||
exit 0
|
||||
|
||||
%post
|
||||
%systemd_post %{name}.service
|
||||
|
||||
%preun
|
||||
%systemd_preun %{name}.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart %{name}.service
|
||||
|
||||
%files
|
||||
%doc CHANGELOG.md README.md HAproxy.md server/config/config.example.js
|
||||
%{appdir}
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/%{name}/config.js
|
||||
%config(noreplace) %{_sysconfdir}/%{name}/app-config.js
|
||||
%{_unitdir}/%{name}.service
|
||||
%{_docdir}/%{name}/LTI
|
||||
%{_docdir}/%{name}/munin
|
||||
|
||||
%changelog
|
||||
* Mon Apr 20 2020 fuero - 3.2.1-1
|
||||
- initial package
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
DEBUG=
|
||||
NODE_ENV=production
|
||||
Loading…
Reference in New Issue