Bug 1497349 - Review Request: alignak - Alignak python Monitoring tool
Summary: Review Request: alignak - Alignak python Monitoring tool
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Robert-André Mauchin 🐧
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-09-29 21:13 UTC by David Hannequin
Modified: 2017-11-11 02:53 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-10-25 23:11:03 UTC
Type: ---
Embargoed:
eclipseo: fedora-review+


Attachments (Terms of Use)

Description David Hannequin 2017-09-29 21:13:07 UTC
Spec URL: https://hvad.fedorapeople.org/fedora/alignak/alignak.spec

SRPM URL: https://hvad.fedorapeople.org/fedora/alignak/alignak-1.0.0-1.fc26.src.rpm

Description: Alignak is a new monitoring tool written in Python. 
The main goal of Alignak is to allow users to have a fully flexible 
architecture for their monitoring system that can easily scale to large 
environments.

Fedora Account System Username: hvad

Comment 1 Robert-André Mauchin 🐧 2017-09-30 12:46:58 UTC
Hello,

 - BuildRoot: should not be used in Fedora. See https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections

 - The whole systemd handling is wrong, we have macros for this that you should use. See https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:ScriptletSnippets#Systemd

   First, instead of:

Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
BuildRequires:  systemd-units

  Use:

%{?systemd_requires}
BuildRequires: systemd

 For all the daemons like this:

%post arbiter
if [ $1 -eq 1 ] ; then 
  /bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi

%preun arbiter 
if [ $1 -eq 0 ] ; then
  /bin/systemctl --no-reload disable %{name}-arbiter.service > /dev/null 2>&1 || :
  /bin/systemctl stop %{name}-arbiter.service > /dev/null 2>&1 || :
fi

%postun arbiter
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
  /bin/systemctl try-restart %{name}-arbiter.service >/dev/null 2>&1 || :
fi

  Use instead:

%post arbiter
%systemd_post %{name}-arbiter.service

%preun arbiter
%systemd_preun %{name}-arbiter.service

%postun arbiter
%systemd_postun_with_restart %{name}-arbiter.service


 - The license is wrongly installed. It must be in the %license tag' not in %doc, like this:

%files common
%{python_sitelib}/%{name}
%{python_sitelib}/alignak*.egg-info
%license LICENSE
%doc AUTHORS CONTRIBUTING.rst Changelog README.rst

 - Could you add a descriptive comment for the user that you are creating? With the -c switch. See https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Dynamic_allocation

 - You could use %{py2_dist macros to handle your Python dependencies. See https://fedoraproject.org/wiki/Packaging:Python#Requires_and_BuildRequires_with_standardized_names

Comment 2 David Hannequin 2017-10-08 20:36:34 UTC
Hi,

New version with fix :

Spec URL: https://hvad.fedorapeople.org/fedora/alignak/alignak.spec

SRPM URL: https://hvad.fedorapeople.org/fedora/alignak/alignak-1.0.0-1.fc26.src.rpm

I must work on EPEL 7 compatibilities.

Best regard

Comment 3 Robert-André Mauchin 🐧 2017-10-08 21:18:34 UTC
I'm not familiar with EPEL 7 specificities, though I know %{py2_dist macros won't work.

 - You didn't remove BuildRoot:

 - systemd thingies are still wrong, you should not include 

if [ $1 -eq 1 ] ; then 
  ...
fi

   it's already included within the systemd macros.
   See for example how the %systemd_post is resolved by rpm:

$ rpm --eval "%systemd_post"

if [ $1 -eq 1 ] ; then 
        # Initial installation 
        systemctl --no-reload preset  >/dev/null 2>&1 || : 
fi

Comment 4 David Hannequin 2017-10-09 19:34:06 UTC
Hi,

New version with fix :

Spec URL: https://hvad.fedorapeople.org/fedora/alignak/alignak.spec

SRPM URL: https://hvad.fedorapeople.org/fedora/alignak/alignak-1.0.0-1.fc26.src.rpm

It's Ok for you ? 

Best regard

Comment 5 Robert-André Mauchin 🐧 2017-10-09 20:41:07 UTC
 - Use a more meaningful name for your archive, with:

Source0:        https://github.com/Alignak-monitoring/%{name}/archive/%{version}/%{name}-%{version}.tar.gz

 - There's a typo here:

Buildarch:      noarch

   It should be "BuildArch".

 - Your ini and cfg configuration files are marked as executable:

alignak-arbiter.noarch: E: executable-marked-as-config-file /etc/alignak/alignak.cfg
alignak-arbiter.noarch: E: script-without-shebang /etc/alignak/alignak.cfg
alignak-arbiter.noarch: E: executable-marked-as-config-file /etc/alignak/alignak.ini
alignak-arbiter.noarch: E: script-without-shebang /etc/alignak/alignak.ini
alignak-arbiter.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/arbiterd.ini
alignak-arbiter.noarch: E: script-without-shebang /etc/alignak/daemons/arbiterd.ini
alignak-arbiter.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/brokerd.ini
alignak-arbiter.noarch: E: script-without-shebang /etc/alignak/daemons/brokerd.ini
alignak-arbiter.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/pollerd.ini
alignak-arbiter.noarch: E: script-without-shebang /etc/alignak/daemons/pollerd.ini
alignak-arbiter.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/reactionnerd.ini
alignak-arbiter.noarch: E: script-without-shebang /etc/alignak/daemons/reactionnerd.ini
alignak-arbiter.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/receiverd.ini
alignak-arbiter.noarch: E: script-without-shebang /etc/alignak/daemons/receiverd.ini
alignak-arbiter.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/schedulerd.ini
alignak-arbiter.noarch: E: script-without-shebang /etc/alignak/daemons/schedulerd.ini
alignak-reactionner.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/reactionnerd.ini
alignak-reactionner.noarch: E: script-without-shebang /etc/alignak/daemons/reactionnerd.in
alignak-scheduler.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/schedulerd.ini
alignak-scheduler.noarch: E: script-without-shebang /etc/alignak/daemons/schedulerd.ini
alignak-poller.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/pollerd.ini
alignak-poller.noarch: E: script-without-shebang /etc/alignak/daemons/pollerd.ini
alignak-broker.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/brokerd.ini
alignak-broker.noarch: E: script-without-shebang /etc/alignak/daemons/brokerd.ini
alignak-receiver.noarch: E: executable-marked-as-config-file /etc/alignak/daemons/receiverd.ini
alignak-receiver.noarch: E: script-without-shebang /etc/alignak/daemons/receiverd.ini

  Remove the executable bits (i.e. chmod 0644) and notify upstream about this.

 - Remove the shebangs from your Python scripts:

alignak-common.noarch: E: wrong-script-interpreter /usr/lib/python2.7/site-packages/alignak/bin/alignak_arbiter.py /usr/bin/env python
alignak-common.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/alignak/bin/alignak_arbiter.py 644 /usr/bin/env python
alignak-common.noarch: E: wrong-script-interpreter /usr/lib/python2.7/site-packages/alignak/bin/alignak_broker.py /usr/bin/env python
alignak-common.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/alignak/bin/alignak_broker.py 644 /usr/bin/env python
alignak-common.noarch: E: wrong-script-interpreter /usr/lib/python2.7/site-packages/alignak/bin/alignak_environment.py /usr/bin/env python
alignak-common.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/alignak/bin/alignak_environment.py 644 /usr/bin/env python
alignak-common.noarch: E: wrong-script-interpreter /usr/lib/python2.7/site-packages/alignak/bin/alignak_poller.py /usr/bin/env python
alignak-common.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/alignak/bin/alignak_poller.py 644 /usr/bin/env python
alignak-common.noarch: E: wrong-script-interpreter /usr/lib/python2.7/site-packages/alignak/bin/alignak_reactionner.py /usr/bin/env python
alignak-common.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/alignak/bin/alignak_reactionner.py 644 /usr/bin/env python
alignak-common.noarch: E: wrong-script-interpreter /usr/lib/python2.7/site-packages/alignak/bin/alignak_receiver.py /usr/bin/env python
alignak-common.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/alignak/bin/alignak_receiver.py 644 /usr/bin/env python
alignak-common.noarch: E: wrong-script-interpreter /usr/lib/python2.7/site-packages/alignak/bin/alignak_scheduler.py /usr/bin/env python
alignak-common.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/alignak/bin/alignak_scheduler.py 644 /usr/bin/env python

   See https://fedoraproject.org/wiki/Packaging_tricks#Remove_shebang_from_Python_libraries

  - Mark file in run as ghost:

alignak-common.noarch: W: non-ghost-in-run /run/alignak

A file or directory in the package is located in /run. Files installed in this
directory should be marked as %ghost and created at runtime to work properly
in tmpfs /run setups.

i.e.

%ghost %{_rundir}/%{name}

Comment 6 David Hannequin 2017-10-10 20:47:46 UTC
Hi,

New version with fix :

Spec URL: https://hvad.fedorapeople.org/fedora/alignak/alignak.spec

SRPM URL: https://hvad.fedorapeople.org/fedora/alignak/alignak-1.0.0-1.fc26.src.rpm

Sorry but the first remark is not of my own. Archive name is create by upstream. 

I open an issue for third remark.

It's OK ?

Best regard

Comment 7 Robert-André Mauchin 🐧 2017-10-11 08:37:29 UTC
> Sorry but the first remark is not of my own. Archive name is create by upstream. 

Github *does* support naming the archive like this:

Source0:        https://github.com/Alignak-monitoring/%{name}/archive/%{version}/%{name}-%{version}.tar.gz

Make the change in your SPEC, then run spectool -g on it: you will get the archive with a proper name.

Comment 8 David Hannequin 2017-10-11 16:30:43 UTC
Hi,

New version with last fix :

Spec URL: https://hvad.fedorapeople.org/fedora/alignak/alignak.spec

SRPM URL: https://hvad.fedorapeople.org/fedora/alignak/alignak-1.0.0-1.fc26.src.rpm

I didn't know "spectool -g".

Best regard

Comment 9 Robert-André Mauchin 🐧 2017-10-11 17:06:24 UTC
Ok, package accepted.

Comment 10 Gwyn Ciesla 2017-10-11 21:16:33 UTC
(fedrepo-req-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/alignak

Comment 11 Fedora Update System 2017-10-14 11:41:11 UTC
alignak-1.0.0-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-b865f26dd9

Comment 12 Fedora Update System 2017-10-14 11:41:45 UTC
alignak-1.0.0-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-5757f70cc9

Comment 13 Fedora Update System 2017-10-15 04:21:07 UTC
alignak-1.0.0-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-b865f26dd9

Comment 14 Fedora Update System 2017-10-15 05:53:22 UTC
alignak-1.0.0-1.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-5757f70cc9

Comment 15 Fedora Update System 2017-10-25 23:11:03 UTC
alignak-1.0.0-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2017-11-11 02:53:21 UTC
alignak-1.0.0-1.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.