106 lines
3.2 KiB
RPMSpec
106 lines
3.2 KiB
RPMSpec
Summary: Shelfzilla
|
|
Name: shelfzilla
|
|
Version: %{_gs_version}
|
|
Release: %{_gs_revision}
|
|
BuildRoot: %{_topdir}/BUILD/%{name}
|
|
BuildArch: x86_64
|
|
Provides: shelfzilla
|
|
Requires: python27
|
|
License: Comercial
|
|
Group: FDB
|
|
Distribution: FDB Global Services
|
|
Vendor: FDB
|
|
|
|
%description
|
|
Shelfzilla is a website which save all your Manga
|
|
|
|
%define _app_dir /opt/shelfzilla
|
|
%define _init_path /etc/init.d
|
|
%define _binaries_in_noarch_packages_terminate_build 0
|
|
|
|
# Do not check unpackaged files
|
|
%undefine __check_files
|
|
|
|
# -------------------------------------------------------------------------------------------- #
|
|
# prep section:
|
|
# -------------------------------------------------------------------------------------------- #
|
|
# Remove previous build files
|
|
%prep
|
|
rm -rf $RPM_BUILD_ROOT*
|
|
|
|
# clean up development-only files
|
|
find %{_gitdir} -depth -name .git -exec rm -rf {} \;
|
|
|
|
# -------------------------------------------------------------------------------------------- #
|
|
# install section:
|
|
# -------------------------------------------------------------------------------------------- #
|
|
%install
|
|
# Make structure
|
|
[ -d $RPM_BUILD_ROOT%{_app_dir} ] || mkdir -p $RPM_BUILD_ROOT%{_app_dir}
|
|
[ -d $RPM_BUILD_ROOT%{_app_dir}/config ] || mkdir -p $RPM_BUILD_ROOT%{_app_dir}/config
|
|
[ -d $RPM_BUILD_ROOT%{_app_dir}/init ] || mkdir -p $RPM_BUILD_ROOT%{_app_dir}/init
|
|
|
|
# Copy Source Code
|
|
cp -r %{_gitdir}/shelfzilla $RPM_BUILD_ROOT%{_app_dir}
|
|
cp -r %{_gitdir}/config/production $RPM_BUILD_ROOT%{_app_dir}/config
|
|
cp -r %{_gitdir}/config/requirements.txt $RPM_BUILD_ROOT%{_app_dir}/config
|
|
cp -r %{_gitdir}/*.json $RPM_BUILD_ROOT%{_app_dir}/
|
|
cp -r %{_gitdir}/*.py $RPM_BUILD_ROOT%{_app_dir}/
|
|
cp -r %{_gitdir}/gruntfile.coffee $RPM_BUILD_ROOT%{_app_dir}/
|
|
cp -r %{_gitdir}/rpm/scripts/shelfzilla $RPM_BUILD_ROOT%{_app_dir}/init/
|
|
|
|
# -------------------------------------------------------------------------------------------- #
|
|
# post-install section:
|
|
# -------------------------------------------------------------------------------------------- #
|
|
%post
|
|
## Install init script
|
|
mv %{_app_dir}/init/shelfzilla %{_init_path}/
|
|
chmod 775 %{_init_path}/shelfzilla
|
|
chkconfig --add shelfzilla
|
|
rmdir %{_app_dir}/init/
|
|
|
|
## Npm install
|
|
cd %{_app_dir} && npm install --production
|
|
|
|
## pip install
|
|
pip install -r %{_app_dir}/config/production/requirements.txt
|
|
|
|
## Syncdb dir manage
|
|
python2.7 %{_app_dir}/manage.py syncdb
|
|
|
|
## Migrate
|
|
python2.7 %{_app_dir}/manage.py migrate
|
|
|
|
## Bower
|
|
bower install --allow-root
|
|
|
|
## Collect static
|
|
python2.7 manage.py collectstatic --clear --noinput
|
|
|
|
# -------------------------------------------------------------------------------------------- #
|
|
# pre-uninstall section:
|
|
# -------------------------------------------------------------------------------------------- #
|
|
%preun
|
|
if [ $1 == 0 ]; then
|
|
echo "Cleaning application files"
|
|
[ -e /etc/logrotate.d/shelzilla ] && rm -fv /etc/logrotate.d/shelfzilla
|
|
[ -e %{_init_path}/shelfzilla ] && rm -fv ∞{_init_path}/shelfzilla
|
|
echo "Uninstall finished"
|
|
|
|
fi
|
|
|
|
|
|
# -------------------------------------------------------------------------------------------- #
|
|
# post-uninstall section:
|
|
# -------------------------------------------------------------------------------------------- #
|
|
%postun
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%files
|
|
%{_app_dir}/*
|
|
%{_init_path/shelfzilla
|
|
|
|
|