#91 [WIP] Packaging fixes
Merged 3 years ago by frantisekz. Opened 3 years ago by frantisekz.

file modified
+1 -1
@@ -3,4 +3,4 @@ 

  After=network.target

  

  [Service]

- ExecStart=gunicorn --workers 2 --daemon --bind 0.0.0.0:5001 oraculum 

\ No newline at end of file

+ ExecStart=gunicorn --workers 2 --bind 0.0.0.0:5001 oraculum

@@ -0,0 +1,12 @@ 

+ [Unit]

+ Description=Oraculum worker for backend git interaction

+ After=redis.target

+ Documentation=https://pagure.io/fedora-qa/oraculum

+ 

+ [Service]

+ ExecStart=/usr/bin/celery -A oraculum.celery_app beat --loglevel=INFO

+ Type=simple

+ Restart=on-failure

+ 

+ [Install]

+ WantedBy=multi-user.target 

\ No newline at end of file

@@ -0,0 +1,12 @@ 

+ [Unit]

+ Description=Oraculum worker for backend git interaction

+ After=redis.target

+ Documentation=https://pagure.io/fedora-qa/oraculum

+ 

+ [Service]

+ ExecStart=/usr/bin/celery -A oraculum.celery_app worker --loglevel=INFO

+ Type=simple

+ Restart=on-failure

+ 

+ [Install]

+ WantedBy=multi-user.target 

\ No newline at end of file

file modified
+37 -2
@@ -10,6 +10,9 @@ 

  

  BuildArch:      noarch

  

+ 

+ BuildRequires:  systemd-devel

+ BuildRequires:  systemd

  BuildRequires:  python3-devel

  BuildRequires:  python3-setuptools

  
@@ -31,25 +34,57 @@ 

  

  # service file and nginx settings

  mkdir -p %{buildroot}%{_datadir}/oraculum

- 

  mkdir -p %{buildroot}%{_sysconfdir}/oraculum

+ 

+ # Fix client_secrets.json location

+ sed -i 's,./conf/client_secrets.json.example,/etc/oraculum/client_secrets.json,' conf/settings.py.example

+ 

+ # alembic config and data

+ cp -r alembic %{buildroot}%{_datadir}/oraculum/.

+ install alembic.ini %{buildroot}%{_datadir}/oraculum/.

+ 

  install conf/settings.py.example %{buildroot}%{_sysconfdir}/oraculum/settings.py

+ install conf/client_secrets.json.example %{buildroot}%{_sysconfdir}/oraculum/client_secrets.json

  

  install -d -m 755 %{buildroot}/etc/nginx/conf.d/

  install -p -m 644 conf/oraculum.conf.nginx %{buildroot}/etc/nginx/conf.d/oraculum.conf

  

- install -Dpm 644 conf/oraculum.service %{buildroot}%{_unitdir}/oraculum.service

+ mkdir -p %{buildroot}/%{_unitdir}

+ install -p -m 644 conf/oraculum.service %{buildroot}/%{_unitdir}/oraculum.service

+ install -p -m 644 conf/oraculum_worker.service %{buildroot}/%{_unitdir}/oraculum_worker.service

+ install -p -m 644 conf/oraculum_beat.service %{buildroot}/%{_unitdir}/oraculum_beat.service

+ 

+ %post

+ %systemd_post oraculum.service

+ %systemd_post oraculum_worker.service

+ %systemd_post oraculum_beat.service

+ 

+ %preun

+ %systemd_preun oraculum.service

+ %systemd_preun oraculum_worker.service

+ %systemd_preun oraculum_beat.service

+ 

+ %postun

+ %systemd_postun_with_restart oraculum.service

+ %systemd_postun_with_restart oraculum_worker.service

+ %systemd_postun_with_restart oraculum_beat.service

  

  %files

  %doc README.md conf/*

  %{python3_sitelib}/oraculum/

  %{python3_sitelib}/*.egg-info/

  

+ %{_unitdir}/oraculum.service

+ %{_unitdir}/oraculum_worker.service

+ %{_unitdir}/oraculum_beat.service

+ 

  %{_bindir}/oraculum

  %dir %{_sysconfdir}/oraculum

  %dir %{_datadir}/oraculum

+ %{_datadir}/oraculum/*

  

  %config(noreplace) %{_sysconfdir}/oraculum/settings.py

+ %config(noreplace) %{_sysconfdir}/oraculum/client_secrets.json

  %config(noreplace) %{_sysconfdir}/nginx/conf.d/oraculum.conf

  

  %changelog

file modified
+1
@@ -20,3 +20,4 @@ 

  requests

  celery

  redis

+ PyYAML

Tested just the build for now.

It is a prerequisite for oraculum inclusion in Fedora Infrastructure ( https://fedora-infra-docs.readthedocs.io/en/latest/sysadmin-guide/sops/requestforresources.html ) .

as if I understood packaging at all :)

1 new commit added

  • More fixing
3 years ago

2 new commits added

  • More fixing
  • [WIP] Packaging fixes
3 years ago

2 new commits added

  • More fixing
  • [WIP] Packaging fixes
3 years ago

2 new commits added

  • More fixing
  • [WIP] Packaging fixes
3 years ago

2 new commits added

  • More fixing
  • [WIP] Packaging fixes
3 years ago

I could see the Environment="ORACULUM_CONFIG=/etc/oraculum/settings.py" removed, since this is the default location anyway, but I guess it does no harm.

Apart of the specfile changes (/me is no expert on specfiles, so I'm not even trying here, TBH) LGTM

rebased onto d5718fd

3 years ago

Redundant Environment specification removed, squashed, thanks.

Pull-Request has been merged by frantisekz

3 years ago