Bug 1487966 - Review Request: libcloudproviders - Library for desktop integration for cloud storage providers
Summary: Review Request: libcloudproviders - Library for desktop integration for cloud...
Keywords:
Status: CLOSED CURRENTRELEASE
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-03 22:40 UTC by Carlos Soriano
Modified: 2021-06-07 12:58 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-06-07 12:58:38 UTC
Type: ---
Embargoed:
eclipseo: fedora-review+


Attachments (Terms of Use)

Description Carlos Soriano 2017-09-03 22:40:46 UTC
Spec URL: https://gitlab.gnome.org/snippets/16/raw
SRPM URL: https://koji.fedoraproject.org/koji/taskinfo?taskID=21643657
Description: Cross desktop library for desktop integration of cloud storage providers and sync tools.
Fedora Account System Username: csoriano

This is a draft, I will need to change the upstream URL when I'm sure the upstream rules for installing are correct, depending on the spec review here.

Comment 1 Robert-André Mauchin 🐧 2017-09-04 09:50:19 UTC
Hello,


There are several issues:

 - You install a *.so in libdir: you must run ldconfig in %post and %postun
   See https://fedoraproject.org/wiki/Packaging:Guidelines#Shared_Libraries

%post
/sbin/ldconfig

%postun
/sbin/ldconfig

 - You install a systemd user unit dir: these must be handled by systemd scriplets too. See https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:ScriptletSnippets#Systemd

  First you need to modify your systemd BR by adding a macro before it:

%{?systemd_requires}
BuildRequires: systemd

  Then you add the scriplets in %post, %preun, %postun:

%post
%systemd_post libcloudproviders.service

%preun
%systemd_preun libcloudproviders.service

%postun
%systemd_postun_with_restart libcloudproviders.service

 - The Release tag should starts at 1, not 0 (0.1 if it's a development snapshot).

 - Why do you split %files? Just reunite the two sections:

%files
%doc CHANGELOG README.md
%license LICENSE
%{_libdir}/libcloudproviders.so.*
%{_libexecdir}/cloudproviderd
%{_datadir}/cloud-providers/org.freedesktop.CloudProviderServerExample.ini
%{_datadir}/dbus-1/services/org.freedesktop.CloudProviderServerExample.service
%{_userunitdir}/libcloudproviders.service

 - Your changelog is empty! It must contain the date, name, version and so on:

* Sun Sep  3 2017 Carlos Soriano <csoriano> - 0.1.1-1
- Initial RPM release


Once all of this is fixed, I'll continue the review.

Comment 2 Robert-André Mauchin 🐧 2017-09-04 09:53:53 UTC
Rpmlint complains about other things:

 - Your description line is too long, split it to stay below 80 characters per line.

 - libcloudproviders.x86_64: W: shared-lib-calls-exit /usr/lib64/libcloudproviders.so.0.1.1 exit.5

This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.

Since you're on the upstream team, you probably could fix that.

Comment 3 Carlos Soriano 2017-09-04 21:34:35 UTC
Thanks Robert for the review, it's my first package so a little noobie here. I'll fix the spec and the upstream stuff tomorrow.

Comment 4 Carlos Soriano 2017-09-05 14:24:29 UTC
Here is the updated spec. It was basically what you mentioned in the comment, except for changing .1 to 0.1 since it's a preview version.
https://gitlab.gnome.org/snippets/17

Comment 5 Robert-André Mauchin 🐧 2017-09-05 14:31:28 UTC
The link you provided ask me to login, don't you have a direct link for it please?

Comment 6 Robert-André Mauchin 🐧 2017-09-05 14:33:18 UTC
If I do login, the file is 404ing.

Comment 7 Carlos Soriano 2017-09-06 07:52:06 UTC
Sorry about that, must be our new spam countermeasures in GNOME GitLab (I'll look into it). I was aware one rightful rule for spec review is to not require logins, so thanks for trying anyway.

I put it now in a fpaste: https://paste.fedoraproject.org/paste/7d7QkODJgPWql14nWzGX1A

Comment 8 Robert-André Mauchin 🐧 2017-09-06 08:16:31 UTC
All okay, package accepted.

Comment 9 Carlos Soriano 2017-09-06 08:53:55 UTC
Thanks Robert!

Not sure how package process works, but don't take it to production yet. We still need to fix upstream exit() call and in the final spec we will have 0.2.0 version for the library. I wanted to make sure is buildable by Fedora before bumping to that version upstream

Comment 10 Robert-André Mauchin 🐧 2017-09-06 11:49:39 UTC
Well it just works. Import it into Fedora when you're ready. Be aware that a Review request validity is 60 days, if you try to create your repo with fedrepo-req after 60 days, it will throw you an error.

Comment 11 Carlos Soriano 2017-09-07 09:57:42 UTC
Ah I see.
Just to be in the same page, that means the review is fine, I can change few details and it's still fine, and I can import the package to Fedora as long as it is under 60 days?

Comment 12 Robert-André Mauchin 🐧 2017-09-07 10:26:30 UTC
Yes the review is fine. You just need to *create the repo* with fedrepo-req within 60 days. You can import your SRPM any time later.

Comment 13 Carlos Soriano 2017-09-07 15:12:58 UTC
(In reply to Robert-André Mauchin (afk until Mon 11) from comment #12)
> Yes the review is fine. You just need to *create the repo* with fedrepo-req
> within 60 days. You can import your SRPM any time later.

Perfect, thanks!

Comment 14 Gwyn Ciesla 2017-11-01 01:38:12 UTC
(fedrepo-req-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/libcloudproviders

Comment 15 Mattia Verga 2021-06-07 12:58:38 UTC
Package has been imported, closing ticket.


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