[Bug 1670656] Review Request: grafana - an open source, feature rich metrics dashboard and graph editor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1670656



--- Comment #27 from Mark Goodwin <mgoodwin@xxxxxxxxxx> ---
(In reply to Elliott Sales de Andrade from comment #25)
> (In reply to Mark Goodwin from comment #24)
> > In addition to Xavier's notes and questions in Comment #23, rpmlint issues
> > warnings that Provides: bundled(foo) should be versioned.
> > 
> > # rpmlint RPMS/x86_64/grafana-5.4.3-10.fc28.x86_64.rpm
> > grafana.x86_64: W: unstripped-binary-or-object /usr/sbin/grafana-cli
> > grafana.x86_64: W: unstripped-binary-or-object /usr/sbin/grafana-server
> 
> This should be done somehow (automatically, I'd have thought), since debug
> information is in the -debuginfo subpackage. It seems like it might be
> because you've disabled debug packages; why is that?

The build failed as follows :

Empty %files file
/home/mgoodwin/rpmbuild/BUILD/grafana-5.4.3/debugsourcefiles.list

I've investigated some more and managed to get the debuginfo package building
again (but omitting the debugsource package since it's empty) - it seems there
are some issues with debuginfo for golang binaries. WHat I have now allows gdb
backtraces, which is better than we had before. And the
unstripped-binary-or-object complaints have gone away now (since we now have
the *.debug versions too)

> > grafana.x86_64: W: non-standard-gid /etc/grafana/grafana.ini grafana
> > grafana.x86_64: E: non-readable /etc/grafana/grafana.ini 640
> > grafana.x86_64: W: non-standard-gid /etc/grafana/ldap.toml grafana
> > grafana.x86_64: E: non-readable /etc/grafana/ldap.toml 640
> > grafana.x86_64: E: non-readable /etc/sysconfig/grafana-server 640
> > grafana.x86_64: W: non-standard-gid /usr/share/grafana/conf/defaults.ini grafana
> > grafana.x86_64: E: non-readable /usr/share/grafana/conf/defaults.ini 640
> > grafana.x86_64: W: non-standard-gid /usr/share/grafana/conf/distro-defaults.ini grafana
> > grafana.x86_64: W: non-standard-gid /usr/share/grafana/conf/ldap.toml grafana
> > grafana.x86_64: W: non-standard-gid /usr/share/grafana/conf/provisioning grafana
> > grafana.x86_64: W: non-standard-gid /usr/share/grafana/conf/provisioning/dashboards grafana
> > grafana.x86_64: W: non-standard-gid /usr/share/grafana/conf/provisioning/dashboards/sample.yaml grafana
> > grafana.x86_64: W: non-standard-gid /usr/share/grafana/conf/provisioning/datasources grafana
> > grafana.x86_64: W: non-standard-gid /usr/share/grafana/conf/provisioning/datasources/sample.yaml grafana
> > grafana.x86_64: W: non-standard-gid /usr/share/grafana/conf/sample.ini grafana
> > grafana.x86_64: W: non-standard-uid /var/lib/grafana/data grafana
> > grafana.x86_64: W: non-standard-gid /var/lib/grafana/data grafana
> > grafana.x86_64: E: non-standard-dir-perm /var/lib/grafana/data 750
> > grafana.x86_64: W: non-standard-uid /var/lib/grafana/data/plugins grafana
> > grafana.x86_64: W: non-standard-gid /var/lib/grafana/data/plugins grafana
> > grafana.x86_64: E: non-standard-dir-perm /var/lib/grafana/data/plugins 750
> > grafana.x86_64: W: non-standard-uid /var/log/grafana grafana
> > grafana.x86_64: W: non-standard-gid /var/log/grafana grafana
> 
> I assume you've followed the instructions on
> https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/ ?

yes I have followed that doc - using the 'dynamic allocation' method, as
described in that document.
It would seem rpmlint is complaining when it shouldn't. To resolve that, I
would have to manually chmod/chgrp in the %post scriptlets. Install/testing the
%pre stuff that's there now in the spec on systems with/without grafana
user/group all seems to work correctly.

> > grafana.x86_64: E: script-without-shebang /usr/share/grafana/public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg
> > grafana.x86_64: E: script-without-shebang /usr/share/grafana/public/fonts/grafana-icons.svg
> 
> These should not be executable.

Will add to Patch0 (000-grafana-fedora.patch). This is broken upstream but no
big deal, svg files are not even scripts obviously.

> > grafana.x86_64: W: hidden-file-or-dir /usr/share/grafana/public/sass/.sass-lint.yml
> > grafana.x86_64: W: hidden-file-or-dir /usr/share/grafana/public/test/.jshintrc
> 
> Delete these development files.

now deleted via spec %build but might put that in the patch too since it's
broken upstream.

> > grafana.x86_64: W: log-files-without-logrotate ['/var/log/grafana']
> 
> See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_log_files

Grafana has it's own log rotation and management, so we do not ship or
rely on the logrotate config mechanism documented in the guidelines.

> > # rpmlint SRPMS/grafana-5.4.3-10.fc28.src.rpm 
> > grafana.src:98: W: unversioned-explicit-provides ...
> 
> It seems like you have bundled provides for things you've removed from the
> source. You don't need to add those (though yes, technically, it's
> statically bundled, the macros should do that sort of thing for you.)

I need to audit some of the Provides - obviously all the stuff removed
from the vendor source needs BuildRequires to replace it, and should not
have Provides because it's no longer bundled ... if the macros can do
that then even better, I only hve to get he BuildRequires stuff in shape
and the rest is automatic. Is anyone actually working on those macros?
They'd be similar to the nodejs stuff I guess.

> 
> > grafana.src:503: W: macro-in-%changelog %doc
> 
> Remove macro from changelog.

done

> 
> Some other things:
> * No, I don't think you need to do `Provides:
> bundled(golang(github.com/repo/package))` instead of `Provides:
> bundled(golang-github-repo-package-devel)`.
> * From what I've read, nodejs macros will automatically add bundled provides
> for you; we should do this in the Go macros.

yep, as above

> * Fedora 27 is EOL; there's no need to support it.

OK. when I started this, it wasn't ;)

> * golang(github.com/hashicorp/go-version) is available; you can unbundle it.

ok (and yes I saw your earlier update about that)

> * The %if 0%{?fedora} || 0%{?rhel} check seems redundant.

yes redundant for RH platforms, but not SuSE etc., if they were to use this
spec too.

> make_webpack.sh can be a simplified a little bit as you don't really need to use go to build it: 
> https://qulogic.fedorapeople.org/make_webpack.sh

thanks - the go building in that script is left over from some earlier attempts
at this

> Also, are you interested in maintaining golang-github-go-stack-stack (bug 1377227)
> and golang-github-Unknwon-com (bug 1376387), since you need them for grafana?

I'm interested in maintaining Grafana since we need it for PCP (as do many
other groups);
if that also involves maintaiing some golang in order to get there, then so be
it!

Regarding go packaging, this site seems up-to-date, whereas apparently gofed is
falling behind.
https://fedoraproject.org/wiki/More_Go_packaging

I'll post new spec URLs when ready

Cheers and thanks for the feedback
-- Mark

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux