Bug 1307271 - Review Request: vswm - Very Simple Wireless Manager
Review Request: vswm - Very Simple Wireless Manager
Status: NEW
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
Trivial
:
Depends On:
Blocks: FE-NEEDSPONSOR
  Show dependency treegraph
 
Reported: 2016-02-13 15:35 EST by Diogo Melo
Modified: 2016-10-17 16:13 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Diogo Melo 2016-02-13 15:35:47 EST
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 11:11:16 EDT
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 11:18:54 EDT
+ 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 09:03:09 EDT
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-23 23:25:26 EDT
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 15:31:13 EDT
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-24 22:24:11 EDT
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 08:13:58 EDT
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 14:20:35 EDT
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 05:21:24 EDT
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 11:15:18 EDT
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-17 22:51:42 EDT
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 12:06:16 EDT
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.

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