Bug 1454925 - Review Request: rtags - A indexer for the c language
Summary: Review Request: rtags - A indexer for the c language
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-05-23 19:00 UTC by Christian Kellner
Modified: 2017-09-30 06:39 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-09-28 19:57:48 UTC
Type: ---
Embargoed:
zebob.m: fedora-review+


Attachments (Terms of Use)

Description Christian Kellner 2017-05-23 19:00:11 UTC
Spec URL: hhttps://github.com/gicmo/spec/blob/master/rtags/rtags.spec
SRPM URL: https://copr-be.cloud.fedoraproject.org/results/gicmo/devel/fedora-26-x86_64/00555828-rtags/rtags-2.9-2.src.rpm

Description:
RTags is a client/server application that indexes C/C++ code and keeps
a persistent file-based database of references, declarations,
definitions, symbolnames etc. There’s also limited support for
ObjC/ObjC++. It allows you to find symbols by name (including nested
class and namespace scope). Most importantly we give you proper
follow-symbol and find-references support.

Fedora Account System Username: gicmo

Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=19707318

Two things:
The project's home is on github and releases are done there (via tags), but the project also uses git submodules and these are then not included in the source tarball. I submitted a patch so we can create source tarballs via cmake that include all the sources and that went upstream and is included in the latest stable (2.9). But this means the source url in the spec file is just the filename. 

rpmlint warns about "missing-call-to-chdir-with-chroot", which I think gets pulled in via the general purpose rct library[1] that can perform an chroot (and then an chdir) if the program that uses the library requests it. But from a grep in the actual rtags source I dont think it is acutally used:

--- 8< ---
λ ~/C/p/r/rtags-2.9 → ag chroot
src/rct/rct/Process.cpp
448:        if (!mChRoot.isEmpty() && ::chroot(mChRoot.constData())) {
856:void Process::setChRoot(const Path &path)
859:    mChRoot = path;

src/rct/rct/Process.h
42:    void setChRoot(const Path &path);
201:    Path mCwd, mChRoot;
λ ~/C/p/r/rtags-2.9 → 
--- >8 ---

Happy for comments. ;)

[1] https://github.com/Andersbakken/rct/blob/c7bd743c3ef784c27e57a710203a7321a4175078/rct/Process.cpp#L448

Comment 1 Robert-André Mauchin 🐧 2017-09-13 13:04:05 UTC
Hello,


 - Group: is not used in Fedora. See: https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections

 - Release is missing its dist tag:

Release:	3%{?dist}


 - Latest version is no 2.14. Please bump your SPEC accordingly:

Version:	2.14
Release:	1%{?dist}

> The project's home is on github and releases are done there (via tags), but the project also uses git submodules and these are then not included in the source tarball. 

  You should detail the steps you've made to get to the final archive, or include a script to achieve this. I used git-archive-all to generate the tar.gz, since your SRPM is 404ing.

 - You're including a user unit file, you thus must run the systemd scripplets in %post, %preun, %postun. See: https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:ScriptletSnippets#Systemd

   First add the special BR/macro for systemd:

%{?systemd_requires}
BuildRequires:	systemd

  Then add the scriplets:

%post
%systemd_post %{name}.service

%preun
%systemd_preun %{name}.service

%postun
%systemd_postun_with_restart %{name}.service


Anyhow, I'd like an updated SPEC and SRPM to continue the review.

Comment 2 Christian Kellner 2017-09-14 12:57:29 UTC
Thanks for the review.

Updated spec: https://github.com/gicmo/spec/blob/master/rtags/rtags.spec
Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=21859678

Comment 3 Robert-André Mauchin 🐧 2017-09-14 15:49:47 UTC
You forgot to include:

%postun
%systemd_postun_with_restart %{name}.service

Comment 4 Christian Kellner 2017-09-14 16:29:57 UTC
(In reply to Robert-André Mauchin from comment #3)
> You forgot to include:
> 
> %postun
> %systemd_postun_with_restart %{name}.service

Are you sure? I am using user unit files and this seems to be for non-user unit files. I followed the "user unit" sections ion the guide you linked about.

Comment 5 Robert-André Mauchin 🐧 2017-09-14 16:40:31 UTC
Huh sorry it's late, you're right. I'll finish the review ASAP.

Comment 6 Robert-André Mauchin 🐧 2017-09-14 17:28:16 UTC
Everything checks out, package is accepted.

Comment 7 Gwyn Ciesla 2017-09-15 13:36:18 UTC
(fedrepo-req-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/rtags

Comment 8 Fedora Update System 2017-09-18 15:07:41 UTC
rtags-2.14-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-6e4255c54a

Comment 9 Fedora Update System 2017-09-18 22:23:59 UTC
rtags-2.14-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-6e4255c54a

Comment 10 Fedora Update System 2017-09-19 07:30:06 UTC
rtags-2.14-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-0869182c22

Comment 11 Fedora Update System 2017-09-20 00:23:36 UTC
rtags-2.14-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-0869182c22

Comment 12 Fedora Update System 2017-09-28 19:57:48 UTC
rtags-2.14-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 13 Fedora Update System 2017-09-30 06:39:34 UTC
rtags-2.14-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.