Bug 848108

Summary: Review Request: stud - The Scalable TLS Unwrapping Daemon
Product: [Fedora] Fedora Reporter: Ryan O'Hara <rohara>
Component: Package ReviewAssignee: Michael S. <misc>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: misc, notting, package-review, rohara
Target Milestone: ---Flags: misc: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-10 17:04:13 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:

Description Ryan O'Hara 2012-08-14 16:04:52 UTC
Spec URL: http://rohara.fedorapeople.org/stud/stud.spec
SRPM URL: http://rohara.fedorapeople.org/stud/stud-0.3-1.20120814git.fc16.src.rpm

Description: stud is a network proxy that terminates TLS/SSL connections and
forwards the unencrypted traffic to some backend. It is designed to handle tens of thousands of connections efficiently on multicore machines. stud has very few features -- it is designed to be paired with an intelligent backend like haproxy or nginx.

Fedora Account System Username: rohara

Comment 2 Michael S. 2012-08-17 11:07:40 UTC
Hi,

a few note :
- the patch should be commented and sent upstream
- there is now macros for systemd usage ( https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd ), taking care of preset.

%defattr(-,root,root,-) 


%clean
rm -rf %{buildroot}

rm -rf %{buildroot}

are uneedeed on moderne distribution, and can be removed for cleanliness.

Comment 3 Michael S. 2012-08-17 11:25:49 UTC
Additional note :
- tarball generation should also be documented ( just how you downloaded would be enough )

here is the review, I will approve once the above point are fixed :

Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



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

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.

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]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: %config files are marked noreplace or the reason is justified.
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Permissions on files are set properly.
[x]: Package does not contain duplicates in %files.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[!]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
[x]: Large documentation files are in a -doc subpackage, if required.
[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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (2 clause)" For detailed output of licensecheck see file:
     /home/misc/checkout/git/FedoraReview/848108-stud/licensecheck.txt
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: No %config files under /usr.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.

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

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
     Note: Unless packager wants to package for EPEL5 this is fine
[!]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL5
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: Package functions as described.
[-]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: Scriptlets must be sane, if used.
[!]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (bumptech-stud-0.3-51-g0b88039.tar.gz)
[x]: SourceX is a working URL.
[x]: 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.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== 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.

Issues:
=======
[!]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
See: None
[!]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[!]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
[!]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL5

Rpmlint
-------
Checking: stud-0.3-1.20120814git.fc17.src.rpm
          stud-debuginfo-0.3-1.20120814git.fc17.x86_64.rpm
          stud-0.3-1.20120814git.fc17.x86_64.rpm
stud.src: W: spelling-error %description -l en_US unencrypted -> encrypted
stud.src: W: spelling-error %description -l en_US backend -> backed, back end, back-end
stud.src: W: spelling-error %description -l en_US multicore -> multicolored
stud.src: W: spelling-error %description -l en_US haproxy -> ha proxy, ha-proxy, proxy
stud.src: W: spelling-error %description -l en_US nginx -> ginning, gigging
stud.src: W: invalid-url Source0: bumptech-stud-0.3-51-g0b88039.tar.gz
stud.x86_64: W: spelling-error %description -l en_US unencrypted -> encrypted
stud.x86_64: W: spelling-error %description -l en_US backend -> backed, back end, back-end
stud.x86_64: W: spelling-error %description -l en_US multicore -> multicolored
stud.x86_64: W: spelling-error %description -l en_US haproxy -> ha proxy, ha-proxy, proxy
stud.x86_64: W: spelling-error %description -l en_US nginx -> ginning, gigging
stud.x86_64: W: only-non-binary-in-usr-lib
stud.x86_64: W: non-standard-uid /var/lib/stud stud
stud.x86_64: W: non-standard-gid /var/lib/stud stud
0 2589503 /var/lib/stud
3 packages and 0 specfiles checked; 0 errors, 14 warnings.


Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:
Requires
--------
stud-debuginfo-0.3-1.20120814git.fc17.x86_64.rpm (rpmlib, GLIBC filtered):
    

stud-0.3-1.20120814git.fc17.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /bin/sh  
    config(stud) = 0.3-1.20120814git.fc17
    libc.so.6()(64bit)  
    libcrypto.so.10()(64bit)  
    libev.so.4()(64bit)  
    libssl.so.10()(64bit)  
    rtld(GNU_HASH)  
    systemd-units  

Provides
--------
stud-debuginfo-0.3-1.20120814git.fc17.x86_64.rpm:
    
    stud-debuginfo = 0.3-1.20120814git.fc17
    stud-debuginfo(x86-64) = 0.3-1.20120814git.fc17

stud-0.3-1.20120814git.fc17.x86_64.rpm:
    
    config(stud) = 0.3-1.20120814git.fc17
    stud = 0.3-1.20120814git.fc17
    stud(x86-64) = 0.3-1.20120814git.fc17

MD5-sum check
-------------


Generated by fedora-review 0.2.0 (a5c4ced) last change: 2012-07-22
Command line :./try-fedora-review -b 848108
External plugins:

Comment 4 Ryan O'Hara 2012-08-17 16:36:18 UTC
I've made the following changes to the spec file:

- Completely remove te %clean section.
- Replace post, preun, and postun scriptlets with macros.
- Remove %defattr(-,root,root,-).
- Added comment about how to get snapshot tarball of master branch. from github.

You can find the updated spec file here:

http://rohara.fedorapeople.org/stud/stud.spec

Comment 5 Ryan O'Hara 2012-08-17 16:37:31 UTC
(In reply to comment #2)

> - the patch should be commented and sent upstream

The patch is distribution specific.

Comment 6 Michael S. 2012-08-17 21:05:59 UTC
Yup, I have read the patch. I think a patch for proper autodetection would be a good idea to send it upstream, but that's outside of the scope of the review.. 

Anyway, I guess the package is good to be approved now the remark have been addressed.

Comment 7 Michael S. 2012-08-22 19:05:34 UTC
Ryan, since the package is approved, you can ask for a git repository to store it ( in case you missed the approval notice )

Comment 8 Ryan O'Hara 2012-08-23 15:21:24 UTC
New Package SCM Request
=======================
Package Name: stud
Short Description: Scalable TLS Unwrapping Daemon
Owners: rohara
Branches: f18 el6
InitialCC:

Comment 9 Gwyn Ciesla 2012-08-23 15:26:22 UTC
Git done (by process-git-requests).

Comment 10 Ryan O'Hara 2012-12-10 15:37:13 UTC
Can we close this? The stud package has been approved for F18.

Comment 11 Michael S. 2012-12-10 17:04:13 UTC
It should have been done automatically, but I think this requires to give the bug number to bodhi. But if the package is there, let's close the bug.