Bug 1115049 - Review Request: freight - A modern take on the Debian archive
Summary: Review Request: freight - A modern take on the Debian archive
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Florian "der-flo" Lehner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-01 13:19 UTC by Dominic Cleal
Modified: 2014-07-26 02:34 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-07-24 06:50:06 UTC
Type: ---
Embargoed:
dev: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Dominic Cleal 2014-07-01 13:19:13 UTC
Spec URL: http://domcleal.fedorapeople.org/reviews/freight/freight.spec
SRPM URL: http://domcleal.fedorapeople.org/reviews/freight/freight-0.3.5-1.fc20.src.rpm

Description:
freight programs create the files needed to serve a Debian archive. The actual serving is done via your favorite HTTP server.

Fedora Account System Username: domcleal

One rpmlint warning exists on the RPM regarding a missing freight-clear-cache man page, which I've submitted upstream for a future release: https://github.com/rcrowley/freight/pull/55

Comment 1 Florian "der-flo" Lehner 2014-07-06 11:50:52 UTC
hi!

Just a few minor stuff:

[ ] Please use macros if possible and replace
Source0: https://github.com/rcrowley/freight/archive/%{commit}/freight-%{commit}.tar.gz
with
Source0: https://github.com/rcrowley/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz

[ ] Please add (#1115049) to the inital comment in the spec-file

[ ] Please add LICENSE, NOTES and README.md to the files-section

[ ] The Group-fiel is only needed for compatibility with EPEL, so it's optional

Comment 2 Dominic Cleal 2014-07-07 08:00:12 UTC
(In reply to Florian "der-flo" Lehner from comment #1)
> [ ] Please use macros if possible and replace
> Source0:
> https://github.com/rcrowley/freight/archive/%{commit}/freight-%{commit}.tar.
> gz
> with
> Source0:
> https://github.com/rcrowley/%{name}/archive/%{commit}/%{name}-%{commit}.tar.
> gz

Updated.

> [ ] Please add (#1115049) to the inital comment in the spec-file

Done, wasn't exactly sure what style this should have, let me know if it should be different.

> [ ] Please add LICENSE, NOTES and README.md to the files-section

Good catch, updated.

> [ ] The Group-fiel is only needed for compatibility with EPEL, so it's
> optional

I intend to include this in EPEL so have left it in, if that's OK.

Thanks very much for the review, the existing URLs have been updated:
Spec URL: http://domcleal.fedorapeople.org/reviews/freight/freight.spec
SRPM URL: http://domcleal.fedorapeople.org/reviews/freight/freight-0.3.5-1.fc20.src.rpm

Comment 3 Florian "der-flo" Lehner 2014-07-07 18:04:11 UTC
(In reply to Dominic Cleal from comment #2)
> > [ ] Please add (#1115049) to the inital comment in the spec-file
> 
> Done, wasn't exactly sure what style this should have, let me know if it
> should be different.

[ ] Instead of 
- Initial version
It should be
- Initial version (#1115049)
There is no written rule to do so. But it makes it much easier to go back and find the inital ticket later.

[ ] Now you missed to increment the release field for the changes to and write a short comment about what have changed. Some kind of:

* Tue Jul 08 2014 Dominic Cleal <dcleal> 0.3.5-2
- Added LICENSE, NOTES and README.md to files-section
- Added initial tickernumber to initial comment

* Tue Jul 01 2014 Dominic Cleal <dcleal> 0.3.5-1
- Initial version (#1115049)

[ ] Instead of
mkdir -p %{buildroot}%{_pkgdocdir}
cp -a LICENSE NOTES README.md %{buildroot}%{_pkgdocdir}
It should be
%doc LICENSE NOTES README.md
After %files

[ ] I'm not quite happy about:
mv %{buildroot}%{_sysconfdir}/%{name}.conf{.example,}
I miss the whitespace between the source and the destination. Or am I wrong?
Using install -p would be better, too.

Comment 4 Dominic Cleal 2014-07-08 16:17:42 UTC
(In reply to Florian "der-flo" Lehner from comment #3)
> (In reply to Dominic Cleal from comment #2)
> > > [ ] Please add (#1115049) to the inital comment in the spec-file
> > 
> > Done, wasn't exactly sure what style this should have, let me know if it
> > should be different.
> 
> [ ] Instead of 
> - Initial version
> It should be
> - Initial version (#1115049)
> There is no written rule to do so. But it makes it much easier to go back
> and find the inital ticket later.

Ah sorry, I misunderstood.  Fixed.

> [ ] Now you missed to increment the release field for the changes to and
> write a short comment about what have changed. Some kind of:
> 
> * Tue Jul 08 2014 Dominic Cleal <dcleal> 0.3.5-2
> - Added LICENSE, NOTES and README.md to files-section
> - Added initial tickernumber to initial comment
> 
> * Tue Jul 01 2014 Dominic Cleal <dcleal> 0.3.5-1
> - Initial version (#1115049)

Fixed, incremented to -3.

Is it good practice to import this -3 into Fedora git, or reset it to -1?  (If/when we get there.)

> [ ] Instead of
> mkdir -p %{buildroot}%{_pkgdocdir}
> cp -a LICENSE NOTES README.md %{buildroot}%{_pkgdocdir}
> It should be
> %doc LICENSE NOTES README.md
> After %files

Fixed.

> [ ] I'm not quite happy about:
> mv %{buildroot}%{_sysconfdir}/%{name}.conf{.example,}
> I miss the whitespace between the source and the destination. Or am I wrong?

It's a shell shortcut, it expands to two arguments, i.e.
mv %{buildroot}%{_sysconfdir}/%{name}.conf.example %{buildroot}%{_sysconfdir}/%{name}.conf

> Using install -p would be better, too.

The .example config file has already been installed in the buildroot by the Makefile, rather than copying it from the source.  Since I'll manage this via %config in the RPM, I want to remove the .example extension.

Good hint about install -p though, I've replaced "cp -a" for the documentation with "install".

Spec URL: http://domcleal.fedorapeople.org/reviews/freight/freight.spec
SRPM URL: http://domcleal.fedorapeople.org/reviews/freight/freight-0.3.5-3.fc20.src.rpm

Thanks Florian.

Comment 5 Florian "der-flo" Lehner 2014-07-08 17:17:34 UTC
(In reply to Dominic Cleal from comment #4)
> > [ ] Now you missed to increment the release field for the changes to and
> > write a short comment about what have changed. Some kind of:
> > 
> > * Tue Jul 08 2014 Dominic Cleal <dcleal> 0.3.5-2
> > - Added LICENSE, NOTES and README.md to files-section
> > - Added initial tickernumber to initial comment
> > 
> > * Tue Jul 01 2014 Dominic Cleal <dcleal> 0.3.5-1
> > - Initial version (#1115049)
> 
> Fixed, incremented to -3.

You missed, to upload the updated spec-File to http://domcleal.fedorapeople.org/reviews/freight/freight.spec

> Is it good practice to import this -3 into Fedora git, or reset it to -1? 
> (If/when we get there.)

It's fine to import -3 into Fedora git. There is no rule to reset it.
 
[ ] You don't need these two lines:
mkdir -p %{buildroot}%{_pkgdocdir}
install -p -m0644 LICENSE NOTES README.md %{buildroot}%{_pkgdocdir}

The 
%doc LICENSE NOTES README.md
in %files is enough.

Comment 6 Dominic Cleal 2014-07-08 17:47:27 UTC
(In reply to Florian "der-flo" Lehner from comment #5)
> (In reply to Dominic Cleal from comment #4)
> > > [ ] Now you missed to increment the release field for the changes to and
> > > write a short comment about what have changed. Some kind of:
> > > 
> > > * Tue Jul 08 2014 Dominic Cleal <dcleal> 0.3.5-2
> > > - Added LICENSE, NOTES and README.md to files-section
> > > - Added initial tickernumber to initial comment
> > > 
> > > * Tue Jul 01 2014 Dominic Cleal <dcleal> 0.3.5-1
> > > - Initial version (#1115049)
> > 
> > Fixed, incremented to -3.
> 
> You missed, to upload the updated spec-File to
> http://domcleal.fedorapeople.org/reviews/freight/freight.spec

It should be up to date, now -4, please give it a hard refresh.

> [ ] You don't need these two lines:
> mkdir -p %{buildroot}%{_pkgdocdir}
> install -p -m0644 LICENSE NOTES README.md %{buildroot}%{_pkgdocdir}
> 
> The 
> %doc LICENSE NOTES README.md
> in %files is enough.

Ah yes, neat.  Removed and updated.

Spec URL: http://domcleal.fedorapeople.org/reviews/freight/freight.spec
SRPM URL: http://domcleal.fedorapeople.org/reviews/freight/freight-0.3.5-4.fc20.src.rpm

Comment 7 Florian "der-flo" Lehner 2014-07-08 18:13:32 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 3 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: %config files are marked noreplace or the reason is justified.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: No %config files under /usr.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
   ---> http://koji.fedoraproject.org/koji/taskinfo?taskID=7118159
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: freight-0.3.5-4.fc21.noarch.rpm
          freight-0.3.5-4.fc21.src.rpm
freight.noarch: W: no-manual-page-for-binary freight-clear-cache
2 packages and 0 specfiles checked; 0 errors, 1 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint freight
freight.noarch: W: no-manual-page-for-binary freight-clear-cache
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'



Requires
--------
freight (rpmlib, GLIBC filtered):
    /bin/sh
    config(freight)
    coreutils
    dpkg
    gnupg



Provides
--------
freight:
    config(freight)
    freight



Source checksums
----------------
https://github.com/rcrowley/freight/archive/f0421d5ab0978bc0e293d2f9a09017aef2d23434/freight-f0421d5ab0978bc0e293d2f9a09017aef2d23434.tar.gz :
  CHECKSUM(SHA256) this package     : fefecb624db3900e34f17f73b6c200586e49aeb7b8478ec4843b34fce38c462f
  CHECKSUM(SHA256) upstream package : fefecb624db3900e34f17f73b6c200586e49aeb7b8478ec4843b34fce38c462f


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1115049
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

===== Solution =====
APPROVED

Comment 8 Dominic Cleal 2014-07-08 18:17:35 UTC
New Package SCM Request
=======================
Package Name: freight
Short Description: A modern take on the Debian archive
Upstream URL: https://github.com/rcrowley/freight/
Owners: domcleal
Branches: f20 el6 epel7
InitialCC:

Comment 9 Gwyn Ciesla 2014-07-08 20:06:11 UTC
Git done (by process-git-requests).

Comment 10 Dominic Cleal 2014-07-09 07:50:24 UTC
Package Change Request
======================
Package Name: freight
New Branches: f21
Owners: dcleal

Comment 11 Fedora Update System 2014-07-09 08:15:54 UTC
freight-0.3.5-4.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/freight-0.3.5-4.fc20

Comment 12 Fedora Update System 2014-07-09 08:16:52 UTC
freight-0.3.5-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/freight-0.3.5-4.el6

Comment 13 Gwyn Ciesla 2014-07-09 10:33:37 UTC
Git done (by process-git-requests).

Comment 14 Dominic Cleal 2014-07-24 06:50:06 UTC
Released to stable for F20, F21, EL6 and EL7.  Thanks for the reviews.

Comment 15 Fedora Update System 2014-07-25 10:09:04 UTC
freight-0.3.5-4.fc20 has been pushed to the Fedora 20 stable repository.

Comment 16 Fedora Update System 2014-07-26 02:34:48 UTC
freight-0.3.5-4.el6 has been pushed to the Fedora EPEL 6 stable repository.


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