Spec URL: http://cicku.me/pygit2.spec SRPM URL: http://cicku.me/pygit2-0.19.0-1.fc20.src.rpm Description: pygit2 is a set of Python bindings to the libgit2 library, which implements the core of Git. Pygit2 works with Python 2.6, 2.7, 3.1, 3.2 and 3.3. Fedora Account System Username: cicku
python-flask-restless-0.11-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/python-flask-restless-0.11-1.fc18
I sorry for the error in the last comment... Well, I see issues in your spec... 1 - The file name should has not the same name than the package... In this case is python-pygit2.spec not pygit2.spec. [0] 2 - You need add a BR than is necessary for the test. (unittest - python-nose) 3 - Build the doc and add in %doc macro. 4 - The SRPM file should be the same than you built with the last SPEC file version. There differences between the spec and the spec on SRPM. [0] http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Spec_file_name
Spec URL: http://cicku.me/python-pygit2.spec SRPM URL: http://cicku.me/python-pygit2-0.19.0-2.fc20.src.rpm
Great job Christopher, but there is an error in the permissions. > python-pygit2.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/_pygit2.so 0775L > python3-pygit2.x86_64: E: non-standard-executable-perm /usr/lib64/python3.3/site-packages/_pygit2.cpython-33m.so 0775L Another observation, can you delete the .buildinfo file? > python-pygit2.x86_64: W: hidden-file-or-dir /usr/share/doc/python-pygit2-0.19.0/html/.buildinfo
> find %{buildroot} -name '.buildinfo' -delete Remember than the doc is not there!
permissions problem is not a big problem, I think maybe upstream want to set it to 755 but left the typo there. Or they really want to set it to 775 for some special cases. Question sent to upstream: https://github.com/libgit2/pygit2/issues/259 (In reply to Yohan Graterol from comment #5) > > find %{buildroot} -name '.buildinfo' -delete > > Remember than the doc is not there! Yes, thanks! I always paste the above line and didn't notice the doc was generated in builddir, change it to %{_builddir} Spec URL: http://cicku.me/python-pygit2.spec SRPM URL: http://cicku.me/python-pygit2-0.19.0-3.fc20.src.rpm
Can you change the permissions? find -name '*.so' | xargs chmod 644 Try and re-upload the spec file and SRPM, please. If with that not work fine, we wait the answer from upstream.
(In reply to Yohan Graterol from comment #7) > Can you change the permissions? find -name '*.so' | xargs chmod 644 > > Try and re-upload the spec file and SRPM, please. > > If with that not work fine, we wait the answer from upstream. No, I will wait upstream's explanation.
Yohan, can you clean your mock environment and try again fedora-review to see if still has this bug? If so I will add xargs to the spec.(But I've met the same issue like this)
* The shared libs MUST be executable, or else the automated -debuginfo package generation and stripping of the files would not work. It's a packaging mistake to make them mode 0644. * Run rpmlint (or rpmlint -i for more helpful output) on the src.rpm and all built rpms. Feel free to ignore obvious false positives in the report, but fix anything else. Preferably add a comment here about whether/when you think what rpmlint reports is correct or incorrect. * "BuildRequires: python-sphinx" is missing.
(In reply to Michael Schwendt from comment #10) > * The shared libs MUST be executable, or else the automated -debuginfo [cut] Replied in mailing list, thanks! > * "BuildRequires: python-sphinx" is missing. This has been fixed in my local spec, I haven't uploaded it. Thanks again!(Nice help!)
Spec URL: http://cicku.me/python-pygit2.spec SRPM URL: http://cicku.me/python-pygit2-0.19.0-4.fc21.src.rpm
Please update to the last version.
Spec URL: http://cicku.me/python-pygit2.spec SRPM URL: http://cicku.me/python-pygit2-0.19.1-1.fc21.src.rpm
Please fix the permission for the files. And create a sub-package for the doc.
(In reply to Yohan Graterol from comment #15) > Please fix the permission for the files. > And create a sub-package for the doc. 775 --> 755, right? Sorry I nearly forget the details now...
Ok. All fixed at the same URLs in comment 14.
You need sum one to release, moreover the spec don't built!
still remain permissions issues python-pygit2.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/_pygit2.so 0775L python3-pygit2.x86_64: E: non-standard-executable-perm /usr/lib64/python3.3/site-packages/_pygit2.cpython-33m.so 0775L - the spec of the srpm differs to the review - Missing group value tag of the doc package - I know that isn't mandatory bumping the release number, but I think that is more easy see the changes of that way.
SSH connection was broken yesterday again. I will fix and upload it soon.
Spec URL: http://cicku.me/python-pygit2.spec SRPM URL: http://cicku.me/python-pygit2-0.19.1-2.fc21.src.rpm Note I don't add group tag of any specs of mine.
Please check it: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions
Is there a current SRPM I can grab to test? (the previous links seem to be broken) R.
(In reply to Robin Bowes from comment #23) > Is there a current SRPM I can grab to test? (the previous links seem to be > broken) > > R. I will update this bug soon.
(In reply to Yohan Graterol from comment #22) > Please check it: > http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions I don't understand, I've changed the so files to 755 perms and I just checked built RPM, they are 755 indeed. URLs are the same of comment 21.
Please cleanup your mock cache and run te review program again. Thanks!
Well, the problem continue. Please resolve the problem or wait the next version and if you can communicate that problem to upstream :) ONLY if you can't resolve the same.
THEN WHAT'S THIS? [rpmaker@fab site-packages]$ pwd & stat -c "%a %n" * /home/rpmaker/rpmbuild/RPMS/i686/usr/lib/python2.7/site-packages 755 pygit2 644 pygit2-0.19.1-py2.7.egg-info 755 _pygit2.so [rpmaker@fab site-packages]$ pwd & stat -c "%a %n" * /home/rpmaker/rpmbuild/RPMS/i686/usr/lib/python3.3/site-packages 755 pygit2 644 pygit2-0.19.1-py3.3.egg-info 755 _pygit2.cpython-33m.so Auh? I'm puzzled.
Christopher, Yohan, take the built RPMs and do a rpm -qvlp packagename and verify file permissions there. rpm -qlvp python-pygit2-0.19.1-2.fc20.x86_64.rpm drwxr-xr-x 2 root root 0 Nov 28 09:24 /usr/lib64/python2.7/site-packages/pygit2 .... -rwxr-xr-x 1 root root 151184 Nov 28 09:24 /usr/lib64/python2.7/site-packages/_pygit2.so etc.
Thanks, Matthias!
Particularly for packagers, there's also "rpmls", $ rpm -qf $(which rpmls) rpmdevtools-8.4-2.fc20.noarch which makes listing package contents much more convenient. By default (i.e. without passing any options to it) it accepts .rpm file paths as well as installed package names. To take a look at user/group ownership, only option -l is needed.
Christopher Meng, you're right, I check the permission installing the both packages rpm. So, fedora-review display me the errors. Rpmlint (installed packages) ---------------------------- 3-pygit2t python-pygit2-doc python-pygit2 python python-pygit2.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/_pygit2.so 0775L python3-pygit2.x86_64: E: non-standard-executable-perm /usr/lib64/python3.3/site-packages/_pygit2.cpython-33m.so 0775L 3 packages and 0 specfiles checked; 2 errors, 0 warnings. # echo 'rpmlint-done:' Michael Schwendt, I can skip that error?, because the files have correct permission.
If you don't trust what you get from the reality, I have nothing to say now. :(
Yohan, don't stick at fedora-review too much. Please do mock builds or koji scratch-builds, get the rpm, do rpmls or rpm -qlvp foo and compare. Take care, Christopher doesn't do any chmod or any other nonsense, modifying installed files aside from %files-list in %post. That's it. I suspect, you have an issue in your local build environment. That's separate from this review.
(In reply to Matthias Runge from comment #34) > Yohan, don't stick at fedora-review too much. > > Please do mock builds or koji scratch-builds, get the rpm, do rpmls or rpm > -qlvp foo and compare. Take care, Christopher doesn't do any chmod or any > other nonsense, modifying installed files aside from %files-list in %post. > > That's it. I suspect, you have an issue in your local build environment. > That's separate from this review. Yes, I've met this weird bug before, but the crux of the matter is that mock sometimes has cache stored after a review process, so I have to manually mock --clean and if unsuccessful I will use root to delete /var/lib/mock followed by mock --init. Be coolheaded. ;)
Sounds like https://fedorahosted.org/FedoraReview/ticket/230 -- some people know about it, but apparently nobody has reported it before.
There's been a new 0.20.0 release, could you update the package to it?
I guess you may ask this. I've already seen you at somewhere... As you can see in the recent issues on github of libxdiff and libgit2, we can't build libgit2 0.20 on Fedora. Therefore we can't build this python binding coherently, the reason is pretty clear here, pygit2 needs corresponding major version of libgit2. e.g pygit2 0.20 needs libgit2 0.20. 0.19.1 is the latest version can be built. 0.20 has API changes and new defined types in the header which the latter one caused FTBFS with libgit2 0.19 in the repo, I just tried it yesterday. I was given access to commit of libgit2 also in the yesterday, but I don't think it's easy to update that package, because libxdiff in Fedora comes from Spot version, although Spot has integrated the upstream and patches from Git, the libxdiff shipped in the libgit2 bundled has different member name, I don't know how to cope with that, and libgit2 author seems not likely to change.
(In reply to Christopher Meng from comment #38) > As you can see in the recent issues on github of libxdiff and libgit2, we > can't build libgit2 0.20 on Fedora. Therefore we can't build this python > binding coherently, the reason is pretty clear here, pygit2 needs > corresponding major version of libgit2. e.g pygit2 0.20 needs libgit2 0.20. That's what I suspected, thanks for confirming. > I was given access to commit of libgit2 also in the yesterday, but I don't > think it's easy to update that package, because libxdiff in Fedora comes > from Spot version, although Spot has integrated the upstream and patches > from Git, the libxdiff shipped in the libgit2 bundled has different member > name, I don't know how to cope with that, and libgit2 author seems not > likely to change. libgit2 author actually said he'll port to the latest xdiff from Git: https://github.com/spotrh/libxdiff/issues/2#issuecomment-29669991 Unfortunately it is not quite the same as spot's libxdiff, but that will also be solved when spot merges: https://github.com/spotrh/libxdiff/pull/3 Once these two things are done, we can update libgit2 in Fedora, which means we'll then be able to update python-pygit2. :) I hope none of this will block the review of python-pygit2, though.
Thanks, I solved the problem with my review environment. Here is the review. SKip warning Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [-]: Provides: bundled(gnulib) in place as required. [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [-]: Development (unversioned) .so files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [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]: License field in the package spec file matches the actual license. [-]: License file installed when any subpackage combination is installed. [x]: %build honors applicable compiler flags or justifies otherwise. [-]: 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. [-]: 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. [-]: Useful -debuginfo package or justification otherwise. [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 61440 bytes in 6 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]: Each %files section contains %defattr if rpm < 4.4 [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]: 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 Python: [x]: Python eggs must not download any dependencies during the build process. [-]: 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). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in python3-pygit2 , python-pygit2-doc [x]: Package functions as described. [x]: Latest version is packaged. [-]: Package does not include license text files separate from upstream. [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]: 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]: SourceX tarball generation or download is documented. [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]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: python-pygit2-0.19.1-2.fc19.x86_64.rpm python3-pygit2-0.19.1-2.fc19.x86_64.rpm python-pygit2-doc-0.19.1-2.fc19.noarch.rpm python-pygit2-0.19.1-2.fc19.src.rpm python-pygit2.x86_64: W: invalid-url URL: http://www.pygit2.org <urlopen error [Errno -2] Name or service not known> python-pygit2.x86_64: W: private-shared-object-provides /usr/lib64/python2.7/site-packages/_pygit2.so _pygit2.so()(64bit) python3-pygit2.x86_64: W: invalid-url URL: http://www.pygit2.org <urlopen error [Errno -2] Name or service not known> python-pygit2-doc.noarch: W: invalid-url URL: http://www.pygit2.org <urlopen error [Errno -2] Name or service not known> python-pygit2.src: W: invalid-url URL: http://www.pygit2.org <urlopen error [Errno -2] Name or service not known> 4 packages and 0 specfiles checked; 0 errors, 5 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint python-pygit2-doc python-pygit2 python3-pygit2 python-pygit2-doc.noarch: W: invalid-url URL: http://www.pygit2.org <urlopen error [Errno -2] Name or service not known> python-pygit2.x86_64: W: invalid-url URL: http://www.pygit2.org <urlopen error [Errno -2] Name or service not known> python-pygit2.x86_64: W: private-shared-object-provides /usr/lib64/python2.7/site-packages/_pygit2.so _pygit2.so()(64bit) python3-pygit2.x86_64: W: invalid-url URL: http://www.pygit2.org <urlopen error [Errno -2] Name or service not known> 3 packages and 0 specfiles checked; 0 errors, 4 warnings. # echo 'rpmlint-done:' Requires -------- python-pygit2-doc (rpmlib, GLIBC filtered): python-pygit2 (rpmlib, GLIBC filtered): libc.so.6()(64bit) libgit2.so.0()(64bit) libpthread.so.0()(64bit) libpython2.7.so.1.0()(64bit) python(abi) rtld(GNU_HASH) python3-pygit2 (rpmlib, GLIBC filtered): libc.so.6()(64bit) libgit2.so.0()(64bit) libpthread.so.0()(64bit) libpython3.3m.so.1.0()(64bit) python(abi) rtld(GNU_HASH) Provides -------- python-pygit2-doc: python-pygit2-doc python-pygit2: _pygit2.so()(64bit) python-pygit2 python-pygit2(x86-64) python3-pygit2: python3-pygit2 python3-pygit2(x86-64) Unversioned so-files -------------------- python-pygit2: /usr/lib64/python2.7/site-packages/_pygit2.so python3-pygit2: /usr/lib64/python3.3/site-packages/_pygit2.cpython-33m.so Source checksums ---------------- http://pypi.python.org/packages/source/p/pygit2/pygit2-0.19.1.tar.gz : CHECKSUM(SHA256) this package : 7a7f60c73981803739e4c65e2bb7cf69a0a01ff18764a15a9c971463aa491396 CHECKSUM(SHA256) upstream package : 7a7f60c73981803739e4c65e2bb7cf69a0a01ff18764a15a9c971463aa491396 PACKAGE APPROVED
New Package SCM Request ======================= Package Name: python-pygit2 Short Description: Python bindings for libgit2 Owners: cicku Branches: f20
Git done (by process-git-requests).
Hi Pat! Excited that you've followed this one for a long time! I will push the latest version of pygit2 when libgit2 0.20 is avilable in Rawhide.
Christopher being a bit too busy at the moment, he asked me to import his last package into Fedora. This is now done, and built in Rawhide, so I'm closing this ticket. Thanks everybody involved in this review!
Package Change Request ====================== Package Name: python-pygit2 New Branches: epel7 Owners: cicku bochecha
Agreed. Package Change Request ====================== Package Name: python-pygit2 New Branches: el5 el6 f19 Owners: terminalmage
*** Bug 1113788 has been marked as a duplicate of this bug. ***
Comments from primary maintainer?
(In reply to Jon Ciesla from comment #49) > Comments from primary maintainer? Have you read carefully in comment 47?
Git done (by process-git-requests). It wasn't completely clear.