Bug 1484164 - Review Request: libsocketpp - C++ Standard I/O TCP sockets
Summary: Review Request: libsocketpp - C++ Standard I/O TCP sockets
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR
TreeView+ depends on / blocked
 
Reported: 2017-08-22 23:00 UTC by Charlie Sale
Modified: 2017-09-13 15:33 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-09-13 14:39:22 UTC
Type: ---
Embargoed:
ngompa13: fedora-review?


Attachments (Terms of Use)

Description Charlie Sale 2017-08-22 23:00:47 UTC
Spec URL: https://raw.githubusercontent.com/softwaresale/libsocketpp_rpm_build_files/master/libsocketpp-devel.spec

SRPM URL: https://raw.githubusercontent.com/softwaresale/libsocketpp_rpm_build_files/master/libsocketpp-devel-1.0.0-1.fc26.src.rpm

Description: Libsocketpp is a C++ development library for creating TCP sockets with the standard C++ I/O interface. This means that socket objects will behave like C++'s cout and cin. This project integrates well with existing C TCP socket code.

Note: This is my first package submission to the Fedora Project, so I will need a sponsor. I am the creator and packager for libsocketpp, so I am extra dedicated to the project and spend quite a lot of time on it. 

Also, the package is submitted is technically called libsocketpp-devel because it is a development library and not a standalone package. Please let me know what I need to do to fix this. Thanks!

Fedora Account System Username: softwaresale

Comment 1 Artur Frenszek-Iwicki 2017-08-23 22:48:28 UTC
>Group:		Development/Tools
The "Group:" tag should not be used.
https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections

>License:	GPL+
"GPL+" should only be used when upstream doesn't specify the licence version. You're using GPL v3 or later, so the tag should be "GPLv3+".
https://fedoraproject.org/wiki/Licensing:Main#Good_Licenses

Comment 2 Charlie Sale 2017-08-24 01:38:40 UTC
Thanks. I'll get that fixed up. Quick question: because this is a development library, should I add the suffix "-devel" to my package or not?

Comment 3 Rex Dieter 2017-08-24 21:59:24 UTC
don't rename it, it's fine as-is

Comment 4 Charlie Sale 2017-08-24 22:13:54 UTC
Ok. Thanks!

Comment 5 Neal Gompa 2017-08-24 23:00:43 UTC
Well, actually, the package spec needs to be reorganized and the package does need to be slightly renamed...

Here's a relatively simple example of how a library package looks: https://src.fedoraproject.org/rpms/libbluray/blob/master/f/libbluray.spec

Comment 6 Charlie Sale 2017-08-25 01:59:28 UTC
Thanks. I'll get that fixed and uploaded very soon. Are any of you able to formally review my package or sponsor me? That would be really helpful...

Comment 8 Neal Gompa 2017-08-25 04:32:10 UTC
I can sponsor, and I'll take the review.

Comment 9 Charlie Sale 2017-08-25 10:48:14 UTC
Thanks a ton Neal. Let me know if you have 
any questions for me regarding sponsorship. My email is <chucks.8090>

Comment 10 Charlie Sale 2017-09-01 21:17:27 UTC
Hey Neal. Can I have an update on the review process of my package? Is there anything I can fix for you?

Comment 11 Neal Gompa 2017-09-13 09:42:21 UTC
> %autosetup -n %{name}-%{version}

This is redundant, just use "%autosetup", as "-n %{name}-%{version}" is the default

> make %{?_smp_mflags}

Use %make_build

> rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
> rm -f $RPM_BUILD_ROOT/%{_libdir}/libsocketpp.la

Use %{buildroot} instead of $RPM_BUILD_ROOT

> ldconfig

Use "/sbin/ldconfig"

> %postun
> ldconfig

Use "%postun -p /sbin/ldconfig"

Comment 12 Neal Gompa 2017-09-13 09:47:25 UTC
> %global gittag0 v1.0.0

This is unnecessary, as %{version} is already defined at 1.0.0

> Source0:        https://github.com/softwaresale/%{name}/archive/%{gittag0}/%{name}-%{version}.tar.gz

Change usage of "%{gittag0}" to "v%{version}". This lets you control the version bump from a single location.

Comment 13 Charlie Sale 2017-09-13 14:38:40 UTC
Hey Neal

I am actually retracting my submission due to C++20 releasing a networking library, which makes libsocketpp redundant and therefore unnecessary. Thanks for your time anyways!

Comment 14 Jonathan Wakely 2017-09-13 15:33:14 UTC
This code leaks memory and doesn't close sockets.

Fedora already has a number of mature C++ libraries providing similar functionality (boost-asio, asio, poco-net, ...) so I don't see why we would want this anyway.


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