Bug 1257178

Summary: Review Request: python-yaql - Yet Another Query Language
Product: [Fedora] Fedora Reporter: Marcos <lobo>
Component: Package ReviewAssignee: Haïkel Guémar <karlthered>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: apevec, hguemar, karlthered, lobo, package-review, steve.traylen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-27 18:22:20 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:
Bug Depends On:    
Bug Blocks: 1243533    

Description Marcos 2015-08-26 12:23:08 UTC
Spec URL: http://mferminl.web.cern.ch/mferminl/fedorapkg/python-yaql/python-yaql.spec
SRPM URL: http://mferminl.web.cern.ch/mferminl/fedorapkg/python-yaql/python-yaql-0.2.7-1.fc23.src.rpm
Description: YAQL library is a query language library. YAQL library has a out of the box large set of commonly used functions. But they are not built-in. All the functions and operators (which are also function: `a + b = operator_+(a, b)` etc) are user-supplied. User is free to add other functions that could be used in expressions and to remove standard ones.
Fedora Account System Username: mflobo

This library is part of the OpenStack project and it's a requirement for other components not yet available in Fedora/EPEL, as python-muranoclient or openstack-murano.

This is my first package, and I am looking for a sponsor.

I have some experience reviewing, developing and deploying OpenStack components. See https://launchpad.net/~marcos-fermin-lobo

Successful koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=10836848

Comment 1 Haïkel Guémar 2015-09-01 15:34:30 UTC
Hi Marcos, I'll be sponsoring you.
Please do two informal reviews and link them back here (you can take two from the RDO LIBERTY REVIEWS tracker)

Quick review:
* Group tags are not required anymore
* use python versioned macros
* packaging guidelines have recently changed:
https://fedoraproject.org/wiki/Packaging:Python#Guidelines
=> ensure that python2-yaql provides python-yaql
* python3 subpackage is now mandatory
* noarch package, so the CFLAGS are not needed

Comment 2 Marcos 2015-09-02 13:15:32 UTC
Thank you for your sponsorship Haïkel Guémar and for your quick review, I'll fix it following your comments.

This is my first informal review: https://bugzilla.redhat.com/show_bug.cgi?id=1252784#c1

I'll back soon with the second one.

Comment 3 Marcos 2015-09-04 08:50:17 UTC
Here is my second informal review https://bugzilla.redhat.com/show_bug.cgi?id=1259919

I'll back with the changes that you pointed about my package

Comment 4 Marcos 2015-09-04 09:30:21 UTC
Hi Haïkel,

I'm back with the changes

SPEC URL: http://mferminl.web.cern.ch/mferminl/fedorapkg/python-yaql/python-yaql.spec
SRPM URL: http://mferminl.web.cern.ch/mferminl/fedorapkg/python-yaql/python-yaql-0.2.7-1.fc23.src.rpm

I think I addressed all your comments.

Thank you for your review.

Comment 5 Marcos 2015-09-30 06:45:30 UTC
Hi Haitkel,

Do I need to make more changes?. Please, let me know if any change is necessary or if I should review more packages. After this package, I will able to send openstack-murano package (python-yaql is a dependency).

Thank you for your time.

Comment 6 Haïkel Guémar 2015-10-07 08:00:52 UTC
Missing definition of with_python3, so it fails to build.
Please drop max version in requirements,

%python_siteXXX definitions are not needed and should be dropped too.
Needinfo me when it's done.

Comment 7 Marcos 2015-10-07 12:03:04 UTC
Hi Haikel,

I've achieved your comments. Please, check again here:

SPEC URL: http://mferminl.web.cern.ch/mferminl/fedorapkg/python-yaql/python-yaql.spec
SRPM URL: http://mferminl.web.cern.ch/mferminl/fedorapkg/python-yaql/python-yaql-0.2.7-1.fc23.src.rpm

Thank you for your review.

Comment 8 Upstream Release Monitoring 2015-10-09 12:13:27 UTC
hguemar's scratch build of python-yaql-0.2.7-1.fc23.src.rpm for rawhide failed http://koji.fedoraproject.org/koji/taskinfo?taskID=11385645

Comment 9 Upstream Release Monitoring 2015-10-09 13:47:53 UTC
mflobo's scratch build of python-yaql-0.2.7-1.fc23.src.rpm for f23-candidate failed http://koji.fedoraproject.org/koji/taskinfo?taskID=11386482

Comment 10 Upstream Release Monitoring 2015-10-13 09:22:41 UTC
mflobo's scratch build of python-yaql-0.2.7-1.fc23.src.rpm for f23-candidate failed http://koji.fedoraproject.org/koji/taskinfo?taskID=11425270

Comment 11 Marcos 2015-10-13 09:29:03 UTC
Hi Haikel,

I'm trying to figure out what is happening with the scratch buildings but as far I understand, the problem is related with Python 3.4 and PBR library https://kojipkgs.fedoraproject.org//work/tasks/5271/11425271/build.log, so not related with my RPM...

I don't understand how can I fix this. Could you have any clue for me?

Thank you.

Comment 12 Upstream Release Monitoring 2015-10-13 12:40:18 UTC
mflobo's scratch build of python-yaql-0.2.7-1.fc23.src.rpm for f23-candidate completed http://koji.fedoraproject.org/koji/taskinfo?taskID=11428044

Comment 13 Marcos 2015-10-13 12:45:17 UTC
Hi Haikel,

I've added the missed for python3. Please, check again here:

SPEC URL: http://mferminl.web.cern.ch/mferminl/fedorapkg/python-yaql/python-yaql.spec
SRPM URL: http://mferminl.web.cern.ch/mferminl/fedorapkg/python-yaql/python-yaql-0.2.7-1.fc23.src.rpm

As you can see, there is a successful scratch build for f23-candidate

Thank you for your review.

Comment 14 Haïkel Guémar 2015-10-14 15:29:49 UTC
Hi Marcos, I now sponsored into the Fedora Packagers Group, so feel free to reach me out as your sponsor whenever you need help.

I hereby approve this package into Fedora Packages Collection, please submit a request in PKGDB to create the new component.



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.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Apache (v2.0)", "Unknown or generated". 2 files have unknown
     license. Detailed output of licensecheck in /home/haikel/1257178
     -python-yaql/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[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 20480 bytes in 4 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 %license.
[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]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[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]: Package does not use a name that already exists.
[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

Python:
[x]: Python eggs must not download any dependencies during the build
     process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

===== 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).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     python2-yaql , python3-yaql , python-yaql-doc
[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.
[-]: %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]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[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: python2-yaql-0.2.7-1.fc24.noarch.rpm
          python3-yaql-0.2.7-1.fc24.noarch.rpm
          python-yaql-doc-0.2.7-1.fc24.noarch.rpm
          python-yaql-0.2.7-1.fc24.src.rpm
python2-yaql.noarch: W: summary-ended-with-dot C YAQL library has a out of the box large set of commonly used functions.
python2-yaql.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/yaql/cli/run.py 644 /usr/bin/env
python2-yaql.noarch: W: dangling-relative-symlink /usr/bin/yaql-3 python3-yaql
python2-yaql.noarch: W: dangling-relative-symlink /usr/bin/yaql-3.4 python3-yaql
python2-yaql.noarch: W: no-manual-page-for-binary yaql-3.4
python2-yaql.noarch: W: no-manual-page-for-binary yaql-2.7
python2-yaql.noarch: W: no-manual-page-for-binary yaql-3
python2-yaql.noarch: W: no-manual-page-for-binary yaql-2
python2-yaql.noarch: W: no-manual-page-for-binary yaql
python3-yaql.noarch: W: summary-ended-with-dot C YAQL library has a out of the box large set of commonly used functions.
python3-yaql.noarch: E: non-executable-script /usr/lib/python3.4/site-packages/yaql/cli/run.py 644 /usr/bin/env
python3-yaql.noarch: W: no-manual-page-for-binary python3-yaql
python3-yaql.noarch: W: no-manual-page-for-binary yaql-3
python3-yaql.noarch: W: no-manual-page-for-binary yaql-3.4
python3-yaql.noarch: W: no-manual-page-for-binary yaql
python3-yaql.noarch: W: no-manual-page-for-binary yaql-2
python3-yaql.noarch: W: no-manual-page-for-binary yaql-2.7
4 packages and 0 specfiles checked; 2 errors, 15 warnings.




Rpmlint (installed packages)
----------------------------
python2-yaql.noarch: W: summary-ended-with-dot C YAQL library has a out of the box large set of commonly used functions.
python2-yaql.noarch: W: dangling-relative-symlink /usr/bin/yaql-3 python3-yaql
python2-yaql.noarch: W: dangling-relative-symlink /usr/bin/yaql-3.4 python3-yaql
python2-yaql.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/yaql/cli/run.py 644 /usr/bin/env
python2-yaql.noarch: W: no-manual-page-for-binary yaql-2
python2-yaql.noarch: W: no-manual-page-for-binary yaql-3
python2-yaql.noarch: W: no-manual-page-for-binary yaql-3.4
python2-yaql.noarch: W: no-manual-page-for-binary yaql
python2-yaql.noarch: W: no-manual-page-for-binary yaql-2.7
python3-yaql.noarch: W: summary-ended-with-dot C YAQL library has a out of the box large set of commonly used functions.
python3-yaql.noarch: E: non-executable-script /usr/lib/python3.4/site-packages/yaql/cli/run.py 644 /usr/bin/env
python3-yaql.noarch: W: no-manual-page-for-binary python3-yaql
python3-yaql.noarch: W: no-manual-page-for-binary yaql-3
python3-yaql.noarch: W: no-manual-page-for-binary yaql
python3-yaql.noarch: W: no-manual-page-for-binary yaql-2
python3-yaql.noarch: W: no-manual-page-for-binary yaql-3.4
python3-yaql.noarch: W: no-manual-page-for-binary yaql-2.7
3 packages and 0 specfiles checked; 2 errors, 15 warnings.



Requires
--------
python2-yaql (rpmlib, GLIBC filtered):
    /usr/bin/python2
    python(abi)

python-yaql-doc (rpmlib, GLIBC filtered):

python3-yaql (rpmlib, GLIBC filtered):
    /usr/bin/python2
    /usr/bin/python3
    python(abi)
    python3-babel
    python3-pbr
    python3-ply
    python3-six



Provides
--------
python2-yaql:
    python-yaql
    python2-yaql

python-yaql-doc:
    python-yaql-doc

python3-yaql:
    python3-yaql



Source checksums
----------------
http://pypi.python.org/packages/source/y/yaql/yaql-0.2.7.tar.gz :
  CHECKSUM(SHA256) this package     : 06d91bd79ec324e7b6998256920a5b61f8946d729d5f999b5119b03e84ac1ed2
  CHECKSUM(SHA256) upstream package : 06d91bd79ec324e7b6998256920a5b61f8946d729d5f999b5119b03e84ac1ed2


Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20
Command line :/usr/bin/fedora-review -b 1257178 -m fedora-rawhide-x86_64
Buildroot used: fedora-rawhide-x86_64
Active plugins: Python, Generic, Shell-api
Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 15 Alan Pevec (Fedora) 2015-10-30 14:43:38 UTC
Package has been created in pkgdb
https://admin.fedoraproject.org/pkgdb/package/python-yaql/
but there are no builds yet
http://koji.fedoraproject.org/koji/packageinfo?packageID=21190
?

Comment 16 Marcos 2015-11-03 14:53:54 UTC
Sorry, my bad. Now there is the build. 

Question: This package is new, I mean, is not an update, so is mandatory to put it in Bodhi?

Please, let me know if more actions are required.

Comment 17 hguemar 2015-11-13 16:58:46 UTC
Marcos: yes, you have to import it in dist-git, build it and submit an update through bodhi (or use fedpkg update).

Comment 18 Marcos 2015-11-16 08:52:05 UTC
$ fedpkg update

############## bodhi template
[ python-yaql-0.2.7-1.fc24 ]

# bugfix, security, enhancement, newpackage (required)
type=newpackage

# testing, stable
request=testing

# Bug numbers: 1234,9876
bugs=1257178


# Here is where you give an explanation of your update.
notes=First RPM for FC23

# Enable request automation based on the stable/unstable karma thresholds
autokarma=True
stable_karma=3
unstable_karma=-3

# Automatically close bugs when this marked as stable
close_bugs=True

# Suggest that users restart after update
suggest_reboot=False

It raises this bodhi error:

fedora.client.bodhi.BodhiClientException: Invalid tag: python-yaql-0.2.7-1.fc24 tagged with [u'epel7-testing-candidate', u'dist-6E-epel-testing-candidate', u'dist-5E-epel-testing-candidate', u'f22-updates-candidate', u'f21-updates-candidate', u'f23-updates-candidate']
Unable to determine release from build: python-yaql-0.2.7-1.fc24

I don't know how to set te correct tag for this build.

Thanks in advance.

Comment 19 Alan Pevec 2015-11-18 08:54:28 UTC
No Bodhi updates are needed for f24/Rawhide
you need them to push to the f23, f22 or epel7 i.e. current releases.

BTW please update to the latest release!
1.0.0 was release on Aug 20 and 1.0.2 on Sep 16 so it should've been included in the review already i.e. this was not correct!
[x]: Latest version is packaged.

Comment 20 Marcos 2015-11-18 10:15:19 UTC
$ fedpkg switch-branch epel7
Switched to branch 'epel7'
$ git merge master
... OK
$ git push
Total 0 (delta 0), reused 0 (delta 0)
remote: Emitting a message to the fedmsg bus.
remote: * Publishing information for 1 commits
To ssh://mflobo.org/python-yaql
   fcb303f..2207ae7  epel7 -> epel7
$ fedpkg build
FAILED http://koji.fedoraproject.org/koji/taskinfo?taskID=11891084 

The build.log:

...
writing manifest file 'yaql.egg-info/SOURCES.txt'
+ sphinx-build doc/source html
Making output directory...
Running Sphinx v1.1.3
Extension error:
Could not import extension oslosphinx (exception: No module named oslosphinx)
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.4Yx7eC (%build)
    Bad exit status from /var/tmp/rpm-tmp.4Yx7eC (%build)
Child return code was: 1
EXCEPTION: Command failed. See logs for output.


I tried:
$ fedpkg switch-branch f23
Could not execute switch_branch: Unknown remote branch origin/f23

And other fedora versions like f23 and I can not change the branch in order to push to other branch

Comment 21 Alan Pevec 2015-11-18 10:45:01 UTC
ok, so epel7 is no go, since it requires latest OpenStack deps which do not plan to push there, we'll keep EL7 builds in RDO.

For f23, please request branch in pkgdb: https://fedoraproject.org/wiki/PackageDB_admin_requests

Comment 22 Fedora Update System 2015-11-18 11:03:12 UTC
python-yaql-0.2.7-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-c22d266f42

Comment 23 Marcos 2015-11-18 11:06:42 UTC
Hi Alan,

The new branch f23 for python-yaql was requested, the build was successful and the package was pushed to bodhi for testing https://bodhi.fedoraproject.org/updates/FEDORA-2015-c22d266f42.

Is there any other step that I need to accomplish in order to finish with this first version of python-yaql?

Thank you.

Comment 25 Alan Pevec 2015-11-18 11:33:11 UTC
Why push obsolete 0.2.7 version?
Re. 1.0.2 no need for re-review, just push it to distgit and build in Koji!

Comment 26 Fedora Update System 2015-11-19 15:26:59 UTC
python-yaql-0.2.7-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update python-yaql'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-c22d266f42

Comment 27 Fedora Update System 2015-11-19 16:55:34 UTC
python-yaql-0.2.7-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update python-yaql'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-c22d266f42

Comment 28 Fedora Update System 2015-11-27 18:22:17 UTC
python-yaql-0.2.7-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 29 Marcos 2015-11-30 12:41:57 UTC
Version 1.0.2 was already pushed http://koji.fedoraproject.org/koji/buildinfo?buildID=700045