You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.4 KiB
95 lines
2.4 KiB
%define name hastic-server |
|
%define version %{getenv:HASTIC_RELEASE_VERSION}_node%{getenv:RPM_NODE_VERSION} |
|
%define release 0 |
|
%define buildroot /root/rpmbuild/BUILDROOT |
|
%define builddir /root/rpmbuild/BUILD |
|
|
|
Name: %{name} |
|
Version: %{version} |
|
Release: %{release} |
|
Summary: hastic-server |
|
|
|
Group: Installation Script |
|
License: Apache-2.0 |
|
URL: hastic.io |
|
BuildRoot: %{buildroot} |
|
AutoReqProv: no |
|
AutoReq: no |
|
BuildArch: noarch |
|
|
|
%description |
|
REST server for managing data for analytics |
|
|
|
%prep |
|
rm -rf %{builddir}/* |
|
mkdir -p %{builddir} |
|
mkdir -p %{builddir}/.git/refs/heads |
|
cp -r %{builddir}/../.git/HEAD %{builddir}/.git |
|
cp -r %{builddir}/../.git/refs/heads %{builddir}/.git/refs |
|
cp -r %{builddir}/../server %{builddir}/ |
|
cp -r %{builddir}/../analytics %{builddir}/ |
|
set +x |
|
export NVM_DIR="$HOME/.nvm" |
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" |
|
nvm install %{getenv:NODE_VERSION} |
|
set -x |
|
|
|
%build |
|
pushd analytics |
|
mkdir -p dist/server |
|
touch dist/server/server |
|
|
|
save=$RPM_BUILD_ROOT |
|
unset RPM_BUILD_ROOT |
|
|
|
pip3 install pyinstaller==3.4 |
|
pip3 install -r requirements.txt |
|
pyinstaller -y --additional-hooks-dir=pyinstaller_hooks --paths=analytics/ bin/server |
|
|
|
export RPM_BUILD_ROOT=$save |
|
popd |
|
|
|
pushd server |
|
set +x |
|
export NVM_DIR="$HOME/.nvm" |
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" |
|
nvm use %{getenv:NODE_VERSION} |
|
set -x |
|
npm install |
|
npm run build |
|
popd |
|
|
|
%install |
|
mkdir -p %{buildroot}/usr/lib/hastic-server/server/dist |
|
mkdir -p %{buildroot}/usr/lib/hastic-server/.git/refs/heads |
|
mkdir -p %{buildroot}/usr/lib/hastic-server/analytics/dist/server |
|
cp -r server/dist %{buildroot}/usr/lib/hastic-server/server/ |
|
cp -r server/package.json %{buildroot}/usr/lib/hastic-server/server/ |
|
cp -r .git/HEAD %{buildroot}/usr/lib/hastic-server/.git |
|
cp -r .git/refs/heads/ %{buildroot}/usr/lib/hastic-server/.git/refs/ |
|
cp -r analytics/dist/server %{buildroot}/usr/lib/hastic-server/analytics/dist/ |
|
|
|
%post |
|
mkdir -p /etc/hastic-server/ |
|
if [ ! -f /etc/hastic-server/config.json ]; then |
|
echo '{}' > /etc/hastic-server/config.json |
|
fi |
|
ln -s /etc/hastic-server/config.json /usr/lib/hastic-server/config.json |
|
|
|
mkdir -p /var/hastic-server/ |
|
ln -s /usr/lib/hastic-server/data /var/hastic-server/data |
|
|
|
echo 'node /usr/lib/hastic-server/server/dist/server' > /usr/bin/hastic-server |
|
chmod +x /usr/bin/hastic-server |
|
|
|
|
|
%clean |
|
rm -rf %{buildroot} |
|
|
|
%files |
|
%attr(755, root, root) /usr/lib/hastic-server/analytics/dist/server/server |
|
%defattr(644, root, root, 755) |
|
/usr/lib/hastic-server |
|
|
|
%preun |
|
rm /usr/bin/hastic-server
|
|
|