Bug 1307271

Summary: Review Request: vswm - Very Simple Wireless Manager
Product: [Fedora] Fedora Reporter: Diogo Melo <dmelo87>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED DEFERRED QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: dacav, package-review, ppisar
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: Trivial
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-02-25 15:36:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 177841    

Description Diogo Melo 2016-02-13 20:35:47 UTC
Spec URL: http://23.21.222.16/vswm.spec
SRPM URL: http://23.21.222.16/vswm-0.2-0.fc22.src.rpm
Description: vswm - Very Simple Wireless Manager - allow simple control over the wireless interface. In contrast with NetworkManager, that automate a great deal of the process, vswm will simply connect your wireless interface to the first network that is both available during scanning and present on the config file.
Fedora Account System Username: dmelo
Koji URL: http://koji.fedoraproject.org/koji/taskinfo?taskID=12964436
GitHub URL: https://github.com/dmelo/vswm

This is my first package. I need a sponsor.

Comment 1 Raphael Groner 2016-07-15 15:11:16 UTC
Interested in doing some comments to other review requests? Well, I'm packaging mono stuff, would that be okay for you?

Comment 2 Raphael Groner 2016-07-15 15:18:54 UTC
+ You can remove those lines cause deprecated/obselete:

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

rm -rf $RPM_BUILD_ROOT

%clean

%defattr(-,root,root,-)

+ Release is wrong, better start with 1 instead of 0 and use %{?_dist}:

Release: 1%{?_dist}

+ Please fill in a description text for %description.

+ Properly use macros where possible. E.g. %{_bindir} instead of /usr/bin.

+ Use "cp -p" to preserve timestamps. Alternatively you can use install:
install -D vswm -t $RPM_BUILD_ROOT/%{_bindir}

+ Make manpages more generic:

%{_mandir}/man8/vswm.8*

+ Changelog has wrong format, mind the dash:

* Tue Sep 08 2015 Diogo Oliveira de Melo <dmelo87(at)gmail.com> - 0.1-0

Comment 3 Giovanni 2016-08-21 13:03:09 UTC
At current date, spec and srpm cannot be retrieved.

Trying to retrieve spec:
> Error 1. Msg: Failed requesting URL https://api.github.com/repos/23/vswm.spec/contents/

Trying to retrieve src.rpm:
> Error 1. Msg: Failed requesting URL https://api.github.com/repos/23/vswm-0.2-0.fc22.src.rpm/contents/

Comment 4 Diogo Melo 2016-08-24 03:25:26 UTC
Hi Raphael and Giovanni,

I'm truly sorry about the delay. For some reason, my emails were going to promotion tab.

Regarding the broken URLs. Here are the new URLs:

Spec URL: http://amuzi.me/vswm.spec
SRPM URL: http://amuzi.me/vswm-0.2-0.fc22.src.rpm

I'm working on the suggested changes. I will submit it ASAP.

Comment 5 Giovanni 2016-08-24 19:31:13 UTC
Hello Diogo

I've been looking at your spec file, and here I've got a couple of comments to add up.

1) The name of the downloaded tarball (or zip) from github can be specified by using this nice trick:

Your URL is: https://github.com/dmelo/vswm/archive/%{version}.zip
You can specify: https://github.com/dmelo/vswm/archive/%{version}.zip#/%{module}-%{version}.zip

2) Hard wired filesystem locations should be avoided as suggested by Raphael. I've found this set of macros which you might find useful:

https://fedoraproject.org/wiki/Packaging:RPMMacros

3) The "install" command is suggested for the creation of directories (`install -d`) and for the insertion of files (`install vswm $RPM_BUILD_ROOT%{_bindir}`)

Cheers :)

Comment 6 Diogo Melo 2016-08-25 02:24:11 UTC
Hi. Thank you for the reviews. I have made various fixes based on the comments. The changed the spec file and the regenerated the SRPM are in the following URLs:

Spec URL: http://amuzi.me/vswm.spec
SRPM URL: http://amuzi.me/vswm-0.4-1.fc23.src.rpm

Comment 7 Giovanni 2016-08-27 12:13:58 UTC
Hi Diogo,

The files seem to be unreachable again.
May I suggest you to use Copr instead? ( https://fedoraproject.org/wiki/Category:Copr ).

Btw, if you want to follow my advice, I suggest to load Copr with your SRPM (I wasn't able to do otherwise for my own projects, then I realized that SRMPs work fine).

Comment 8 Diogo Melo 2016-08-27 18:20:35 UTC
Hi Giovanni. The links are working again.

I also have just uploaded my SRPM into Copr https://copr.fedorainfracloud.org/coprs/dmelo/VSWM/build/446947/

Comment 9 Giovanni 2016-09-01 09:21:24 UTC
Hi Diogo,

Sorry for the delay, I'm quite busy those days.
Anyway, I've got some comments for you:

1) The license of your package is AGPL3+, while the SPEC file claims
GPLv3. This is probably useful:

    https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing

Also the configuration file upstream seems to be licensed with GPL3.

Out of curiosity, any particular reason why you decided for Affero? This
is not a web application…

2) Python has some specific guidelines which you should follow:
https://fedoraproject.org/wiki/Packaging:Python

- The %build section is missing (rpmlint is giving you a warning for
  this).

- Your script should use a she-bang without env, e.g. #!/usr/bin/python2

- "BuildRequires: python2-devel" is needed. I was wondering if this also
holds here, since you don't have a setup.py. I've verified it does by
asking in #fedora-python.

- You shouldn't "Requires: python" directly

- Would it be possible to use python3 instead of python2?

I've still to go through the whole document, so there could be more details to care about.

3) According to what I see in the following link, the changelog entries
apparently separate the email from the version with a dash. I'm not really
sure this is a problem (rpmlint is not complaining about this), so this is
probably not important.

    https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Changelogs


A non-packager related point: the code is not doing any error
checking. I suggest you to run subcommands with the `subprocess` module so
you can conveniently check the outcome of the subprocess execution.


Cheers

Comment 10 Diogo Melo 2016-09-03 15:15:18 UTC
Hi Giovanni. Thank you for the review. I'm looking into it. I will get back as soon as possible.

Comment 11 Diogo Melo 2016-09-18 02:51:42 UTC
Hi.

About the license, it was my mistake. The intended license was GPLv3.

Regarding building it for python2 and/or python3, I've seen that from fc22
forward, for python executables, it is advisable to build it for python3
and, if possible, python2 too. I've decided to build it only for python3. I've
replaced '#!/usr/bin/env python2' with '#!/usr/bin/python3'.

The spec file is now on GitHub https://github.com/dmelo/vswm/blob/master/distros/fedora/vswm.spec

Here is the Copr URL for the new version
https://copr.fedorainfracloud.org/coprs/dmelo/VSWM/build/454419/

I will now work on error handling, as you suggested.

Comment 12 Raphael Groner 2016-10-08 16:06:16 UTC
You must provide proper links to the SPEC file in raw format and the source rpm. For the SPEC file on GitHub, you can do so with:
https://raw.githubusercontent.com/dmelo/vswm/master/distros/fedora/vswm.spec

As said, please also provide a link to a source rpm, otherwise our fedora-review tool fails.

Comment 13 Carl George 2019-02-25 15:36:40 UTC
This appears to have stalled out.  I'm going to close this to get it off the tracker [0], but feel free to re-open it if/when you're able to pick it back up.

[0]: https://fedoraproject.org/PackageReviewStatus/