Description: django-jsonfield is a reusable Django field that allows you to store validated JSON in your model. It silently takes care of serialization. To use, simply add the field to one of your models. spec file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield.spec srpm file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield-1.0.1-1.fc24.src.rpm FAS name: germano
*** This bug has been marked as a duplicate of bug 1370533 ***
Oops, sorry. wrong bug.
> %if 0%{?fedora} || 0%{?rhel} > 7 > %global with_python3 1 > %endif %if 0%{?rhel} && 0%{?rhel} <= 7 %bcond_with python3 %else %bcond_without python3 %endif > # tests disabled because DB_ENGINE should be configured > # but during installation process this is not posssible it is possible. you can configure some sqlite in memory > %{python3_sitelib}/* it's too generic.
(In reply to Igor Gnatenko from comment #3) > > # tests disabled because DB_ENGINE should be configured > > # but during installation process this is not posssible > it is possible. you can configure some sqlite in memory > Fixed spec file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield.spec srpm file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield-1.0.1-1.fc24.src.rpm > > %if 0%{?fedora} || 0%{?rhel} > 7 > > %global with_python3 1 > > %endif > %if 0%{?rhel} && 0%{?rhel} <= 7 > %bcond_with python3 > %else > %bcond_without python3 > %endif There is no packaging guideline that forces bcond use > > %{python3_sitelib}/* > it's too generic. There is no packaging guideline that forbids to use it, instead the Python guidelines's mention it in the template model
As soon as possible I will integrate patch [1] that solves test problems in 1.0.3 [1]: https://github.com/bradjasper/django-jsonfield/commit/d2d2c58815501b13d8bc7988c06594135afae39f
All problems fixed spec file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield.spec srpm file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield-1.0.3-1.fc24.src.rpm
Just a note: You are doing Python 3 conditionals, but still use python2- prefix for Python 2 subpackage, that's not being used in (RH|EP)EL. Is there a rationale?
(In reply to Miro Hrončok from comment #7) > Just a note: You are doing Python 3 conditionals, but still use python2- > prefix for Python 2 subpackage, that's not being used in (RH|EP)EL. > > Is there a rationale? Do you mean %package -n python2-django-%{pypi_name} ? By reading your comment, I have just found out that the package would not compile on EPEL7 because the python2 prefix of some of its dependencies. I will edit as soon as possible the spec file like I have already done in past for package python-django-model-utils http://pkgs.fedoraproject.org/cgit/rpms/python-django-model-utils.git/tree/python-django-model-utils.spec Thank you
*** Bug 1386760 has been marked as a duplicate of this bug. ***
(In reply to Miro Hrončok from comment #7) > Just a note: You are doing Python 3 conditionals, but still use python2- > prefix for Python 2 subpackage, that's not being used in (RH|EP)EL. I am sorry but I have not found any packaging rule that concerns python2 prefix not being used on EPEL7 https://fedoraproject.org/wiki/Packaging:Python https://fedoraproject.org/wiki/EPEL:Packaging I will make a new package in 48 hours
spec file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield.spec srpm file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield-1.0.3-1.fc24.src.rpm
Doesn't build on rhel7 at the moment. The python2-django-formtools also need to go into the if else conditional. Here's the scratch build I tried: http://koji.fedoraproject.org/koji/taskinfo?taskID=16136061 Looking at the general spec now.
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.
1) I confirm that EL = 7 only; 2) unfortunately I have just found out that python-django-formtools has not yet a build in EPEL7 stable repository
Ah, we'll have to wait for the maintainer there to fix it then. No worries. Let's hope it's done quickly.
Removed all EPEL referencies due Django 1.8 not yet planned to be released into such repository spec file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield.spec srpm file: https://germano.fedorapeople.org/package_reviews/python-django-jsonfield/python-django-jsonfield-1.0.3-1.fc24.src.rpm
Looking at this now. In the future, can you please update the changelog when you update the spec? It's hard to figure out what's changed by just looking at the spec. You don't need to bump the release if you don't want to, but a new change log entry is still helpful. (Changelog is supposed to document spec changes - at the moment, it says "first commit to fedora git" which isn't exactly true - that fits better in the SCM git commit log instead)
- rpmlint issue fixed - builds on rawhide and f25 - file list more detailed Looks good! XXX APPROVED XXX /me just realised he forgot to set the fedora-review ? flag. Oh well, setting it to + directly :)
Ankur, thank you very much for your work.
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/python-django-jsonfield
Can this be closed?
*** Bug 1370533 has been marked as a duplicate of this bug. ***
python-django-jsonfield-1.0.3-1.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-b313ece71e
python-django-jsonfield-1.0.3-1.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.