[Bug 1375222] Review Request: python-django-jsonfield - A reusable Django field that allows you to store validated JSON in your model

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1375222



--- Comment #13 from Ankur Sinha (FranciscoD) <sanjay.ankur@xxxxxxxxx> ---
Review:

[+] OK
[-] NA
[?] Issue

** Mandatory review guidelines: **
 [?] rpmlint output:
[asinha@cs-as14aho-2-herts-ac-uk  django-jsonfield]$ rpmlint
~/rpmbuild/SPECS/python-django-jsonfield.spec ./*.rpm
python2-django-jsonfield.noarch: E: description-line-too-long C
django-jsonfield is a reusable Django field that allows you to store validated
JSON in your model.
python2-django-jsonfield.noarch: E: description-line-too-long C It silently
takes care of serialization. To use, simply add the field to one of your
models.
python3-django-jsonfield.noarch: E: description-line-too-long C
django-jsonfield is a reusable Django field that allows you to store validated
JSON in your model.
python3-django-jsonfield.noarch: E: description-line-too-long C It silently
takes care of serialization. To use, simply add the field to one of your
models.
python-django-jsonfield.src: E: description-line-too-long C django-jsonfield is
a reusable Django field that allows you to store validated JSON in your model.
python-django-jsonfield.src: E: description-line-too-long C It silently takes
care of serialization. To use, simply add the field to one of your models.
3 packages and 1 specfiles checked; 6 errors, 0 warnings.

^^^^^
Not a blocker, but it'll be nice to keep rpmlint less vocal ;)

 [+] License is acceptable (...)
 [+] License field in spec is correct
 [+] License files included in package %docs if included in source package
 [+] License files installed when any subpackage combination is installed
 [+] Spec written in American English
 [+] Spec is legible
 [+] Sources match upstream unless altered to fix permissibility issues
Getting
https://files.pythonhosted.org/packages/source/j/jsonfield/jsonfield-1.0.3.tar.gz
to /tmp/review/jsonfield-1.0.3.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  7950  100  7950    0     0  33896      0 --:--:-- --:--:-- --:--:-- 33896
Getting
https://raw.githubusercontent.com/bradjasper/django-jsonfield/master/LICENSE to
/tmp/review/LICENSE
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1054  100  1054    0     0  11172      0 --:--:-- --:--:-- --:--:-- 11212
a7c7df31627069a97c9ba91b599c0845  /tmp/review/jsonfield-1.0.3.tar.gz
a7c7df31627069a97c9ba91b599c0845 
/home/asinha/rpmbuild/SOURCES/jsonfield-1.0.3.tar.gz
36efd2db6f0b18098392657e783bf223  /tmp/review/LICENSE
36efd2db6f0b18098392657e783bf223  /home/asinha/rpmbuild/SOURCES/LICENSE

 [+] Build succeeds on at least one primary arch
 [+] Build succeeds on all primary arches or has ExcludeArch + bugs filed
 [+] BuildRequires correct, justified where necessary
 [-] Locales handled with %find_lang, not %_datadir/locale/*
 [-] %post, %postun call ldconfig if package contains shared .so files
 [+] No bundled libs
 [-] Relocatability is justified
 [+] Package owns all directories it creates
 [-] Package requires others for directories it uses but does not own
 [+] No duplication in %files unless necessary for license files
 [+] File permissions are sane
 [+] Package contains permissible code or content
 [-] Large docs go in -doc subpackage
 [+] %doc files not required at runtime
 [-] Static libs go in -static package/virtual Provides
 [-] Development files go in -devel package
 [-] -devel packages Require base with fully-versioned dependency, %_isa
 [-] No .la files
 [-] GUI app uses .desktop file, installs it with desktop-file-install
 [-] File list does not conflict with other packages' without justification
 [+] File names are valid UTF-8

** Optional review guidelines: **
 [+] Query upstream about including license files
 [-] Translations of description, summary
 [+] Builds in mock
 [+] Builds on all arches
 [?] Functions as described (e.g. no crashes)
^^^^
I haven't verified this. Please do so before you push to Fedora SCM just to be
sure.

 [-] Scriptlets are sane
 [-] Subpackages require base with fully-versioned dependency if sensible
 [-] .pc file subpackage placement is sensible
 [-] No file deps outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin
 [-] Include man pages if available

Naming guidelines:
 [+] Package names use only a-zA-Z0-9-._+ subject to restrictions on -._+
 [+] Package names are sane
 [+] No naming conflicts
 [+] Spec file name matches base package name
 [+] Version is sane
 [+] Version does not contain ~
 [+] Release is sane
 [+] %dist tag
 [-] Case used only when necessary
 [-] Renaming handled correctly

Packaging guidelines:
 [-] Useful without external bits
 [-] No kmods
 [-] Pre-built binaries, libs removed in %prep
 [+] Sources contain only redistributable code or content
 [+] Spec format is sane
 [+] Package obeys FHS, except libexecdir, /run, /usr/target
 [+] No files in /bin, /sbin, /lib* on >= F17
 [-] Programs run before FS mounting use /run instead of /var/run
 [-] Binaries in /bin, /sbin do not depend on files in /usr on < F17
 [-] No files under /srv, /opt, /usr/local
 [+] Changelog in prescribed format
 [+] No Packager, Vendor, Copyright, PreReq tags
 [+] Summary does not end in a period
 [+] Requires correct, justified where necessary
 [+] Summary, description do not use trademarks incorrectly
 [+] All relevant documentation is packaged, appropriately marked with %doc
 [+] Doc files do not drag in extra dependencies (e.g. due to +x)
 [-] Code compilable with gcc is compiled with gcc
 [+] Build honors applicable compiler flags or justifies otherwise
 [-] PIE used for long-running/root daemons, setuid/filecap programs
 [-] Useful -debuginfo package or disabled and justified
 [-] Package with .pc files Requires pkgconfig on < EL6
 [-] No static executables
 [-] Rpath absent or only used for internal libs
 [-] Config files marked with %config(noreplace) or justified %config
 [-] No config files under /usr
 [-] Third party package manager configs acceptable, in %_docdir
 [-] .desktop files are sane
 [+] Spec uses macros consistently
 [+] Spec uses macros instead of hard-coded names where appropriate
 [-] Spec uses macros for executables only when configurability is needed
 [-] %makeinstall used only when alternatives don't work
 [+] Macros in Summary, description are expandable at srpm build time
 [+] Spec uses %{SOURCE#} instead of $RPM_SOURCE_DIR and %sourcedir
 [+] No software collections (scl)
 [-] Macro files named /etc/rpm/macros.%name
 [+] Build uses only python/perl/shell+coreutils/lua/BuildRequired langs
 [+] %global, not %define
 [-] Package translating with gettext BuildRequires it
 [-] Package translating with Linguist BuildRequires qt-devel
 [+] File ops preserve timestamps
 [-] Parallel make
 [-] No Requires(pre,post) notation
 [-] User, group creation handled correctly (See Packaging:UsersAndGroups)
 [-] Web apps go in /usr/share/%name, not /var/www
 [-] Conflicts are justified
 [+] One project per package
 [-] No bundled fonts
 [+] Patches have appropriate commentary
 [+] Available test suites executed in %check
 [-] tmpfiles.d used for /run, /run/lock on >= F15

 ** Python guidelines: **
 [+] Runtime Requires correct

== python2-django-jsonfield-1.0.3-1.fc26.noarch.rpm ==
Provides:
python-jsonfield = 1.0.3-1.fc26
python2-django-jsonfield = 1.0.3-1.fc26
python2.7dist(jsonfield) = 1.0.3
python2dist(jsonfield) = 1.0.3

Requires:
python(abi) = 2.7
python2-django
python2-django-formtools

== python3-django-jsonfield-1.0.3-1.fc26.noarch.rpm ==
Provides:
python3-django-jsonfield = 1.0.3-1.fc26
python3.5dist(jsonfield) = 1.0.3
python3dist(jsonfield) = 1.0.3

Requires:
python(abi) = 3.5
python3-django
python3-django-formtools

== python-django-jsonfield-1.0.3-1.fc26.src.rpm ==
Provides:

Requires:
python2-devel
python2-django
python2-django-formtools
python2-setuptools
python3-devel
python3-django
python3-django-formtools
python3-setuptools
sqlite


 [?] Python macros declared on < EL6
^^^^^^
Not building for EL6, are we?

 [+] All .py files packaged with .pyc, .pyo counterparts
 [+] Includes .egg-info files/directories when generated
 [+] Provides/Requires properly filtered
 [-] Code that invokes gtk.gdk.get_pixels_array() Requires numpy

Looks good overall. A few tidbits:

- see if you can shorten the summary to keep rpmlint quiet
- the formtools need to be in the conditional too to fix the el7 build
http://koji.fedoraproject.org/koji/taskinfo?taskID=16136061
- if you're building for el6, python macros will need to be defined
https://fedoraproject.org/wiki/EPEL:Packaging#Python
- you can make the file list more detailed, but this is not a blocker. You
correctly own the files the build generates.
- the changelog commit is a bit misleading - something on the lines of "initial
build for review" would be better, and then a new entry for each updated
iteration - that way the changes made during review are tracked too.


I'll approve it once you've fixed the EL7 build and confirmed that you're not
planning to add this to EL6 etc. Nothing major here.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]