[Bug 226342] Merge Review: python

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

 



Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


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

--- Comment #10 from Dave Malcolm <dmalcolm@xxxxxxxxxx> 2010-01-26 18:53:18 EST ---
(In reply to comment #8)

Thanks for your work on this.

I did a big reworking of the devel/python.spec last night; mostly to eliminate
embedded copies of library sources; to ensure safety doing this I replaced the
"dynfiles" code with an explicit list of the compiled modules in the payload
(as a "safety net" to trap if modules went away).

I'm sorry about my lack of response on the review so far; I'm somewhat doomed
with another issue right now :(

2.6.4-12.fc13 is building as:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1946933
and contains some fixes as follows:

* Tue Jan 26 2010 David Malcolm <dmalcolm@xxxxxxxxxx> - 2.6.4-12
- Address some of the issues identified in package review (bug 226342):
  - update libs requirement on base package to use %%{name} for consistency's
sake
  - convert from backticks to $() syntax throughout
  - wrap value of LD_LIBRARY_PATH in quotes
  - convert "/usr/bin/find" requirement to "findutils"
  - remove trailing periods from summaries of -devel and -tools subpackages
  - fix spelling mistake in description of -test subpackage
  - convert usage of $$RPM_BUILD_ROOT to %%{buildroot} throughout, for
stylistic consistency
  - supply dirmode arguments to defattr directives

Further comments inline:

> * mostly missing state of the patches w.r.t. upstream
> 
> > Patch0: python-2.6-config.patch
> > Patch1: Python-2.2.1-pydocnogui.patch
> 
> https://fedoraproject.org/wiki/Packaging:Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment

Agreed; this is the biggest issue for me with the spec as it stands.  I hope to
address this when other things calm down.


> * inconsistency in sub-packages "Requires" field:
> 
> - python-libs : Requires: %{python} = %{version}-%{release}
> - python-tools: Requires: %{name} = %{version}-%{release}
> 
> in case it's expected to be %{python} -eq %{name} I'd prefer to land on %{name}
> here.
Fixed in 2.6.4-12.fc13


> * inconsistency in patching
> 
> > %patch6 -p1 -b .plural
> > %patch7 -p1

Still TODO, I'm afraid.  My preference is to use -b for C code, and omit it for
.py code (to avoid accidentally shipping the backups in the payload).

> * old-school exec, back-ticks are BASH specific and non-POSIX, even in Python
> are now discouraged
> 
> topdir=`pwd`  ->  topdir=$(pwd)

I've updated these throughout the specfile to use $() in 2.6.4-12.fc13


> * missing _"_ should cover LD_LIBRARY_PATH's value
> 
> - LD_LIBRARY_PATH=$topdir $topdir/python Tools/scripts/pathfix.py -i
> "%{_bindir}/env python%{pybasever}" .
> 
> - LD_LIBRARY_PATH=$topdir PATH=$PATH:$topdir make -s OPT="$CFLAGS"
> %{?_smp_mflags}

I've updated these two so to:
  LD_LIBRARY_PATH="$topdir"
in 2.6.4-12.fc13 - is this correct?


> - make install DESTDIR=$RPM_BUILD_ROOT

What's the issue here?


> * from what is this preventing? Considering that this is the only occurrence.
> 
> [ -d $RPM_BUILD_ROOT ] && rm -fr $RPM_BUILD_ROOT
> ^^^^^^^^^^^^^^^^^^^^^^
Changed to "rm -rf $RPM_BUILD_ROOT" in 2.6.4-12.fc13 as per packaging
guidelines.

> 
> * using path-based BR is discouraged /usr/bin/find, use "findutils" better, but
> note, that are listed in packages not necessary to be pulled to BR's
> https://fedoraproject.org/wiki/Packaging:Guidelines#Exceptions and thus always
> expected to be present.
Changed to "findutils" in 2.6.4-12.fc13

> * BuildRoot is non-standard, use one of this ones:
> https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag
> 
> > BuildRoot: %{_tmppath}/%{name}-%{version}-root

Already changed to be the 2nd one on the list


> * is this hard-coded "/usr" necessary?
> 
> mkdir -p $RPM_BUILD_ROOT/usr $RPM_BUILD_ROOT%{_mandir}
> 
>   -> 
> 
> mkdir -p $RPM_BUILD_ROOT%{_prefix} $RPM_BUILD_ROOT%{_mandir}
Fixed in 2.6.4-12.fc13

> * don't mix variable and macro style (e.g. $RPM_BUILD_ROOT -> %{buildroot})
> 
> https://fedoraproject.org/wiki/Packaging:Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS
Changed $RPM_BUILD_ROOT -> %{buildroot} in 2.6.4-12.fc13


> * old-school defattr
> 
> %defattr(-, root, root) -> %defattr(-,root,root,-)
Fixed in 2.6.4-12.fc13


> * be consistent with
> 
>   %dir %{_libdir}/python%{pybasever}
>   %dir %{_libdir}/python%{pybasever}/site-packages
> 
> where when %{_prefix} is changed then %{_libdir} is changed too:
> 
> """
> %if "%{_lib}" == "lib64"
> %attr(0755,root,root) %dir /usr/lib/python%{pybasever}
> %attr(0755,root,root) %dir /usr/lib/python%{pybasever}/site-packages
> %endif
> """
> 
>   ->
> 
> """
> %if "%{_lib}" == "lib64"
> %dir %{_prefix}/lib/python%{pybasever}
> %dir %{_prefix}/lib/python%{pybasever}/site-packages
> %endif
> """
Already fixed


> * hard-coded includedir
> 
> /usr/include/* -> %{_includedir}/%{name}%{pybasever}
Already fixed


> * %defattr(-,root,root,755) -> %defattr(-,root,root,-)
Which subpackages?

> * RPMLINT:
> 
> - python.x86_64: W: obsolete-not-provided python-elementtree
> 
> python-elementtree still present in F-9 and devel
> 
> - python.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/python
> 2.6/lib-dynload/_sqlite3.so ['/usr/lib64']
> 
> https://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath
> 
> - python.x86_64: E: non-standard-executable-perm /usr/lib64/python2
> .6/lib-dynload/_ssl.so 0555
> 
> [and a lot of others] should be 0755?
> 
> - python.x86_64: E: script-without-shebang /usr/lib64/python2.6/run
> py.py
> 
> Add shebang, or remove exec perm.
I haven't yet looked into the ones above.  RPath issue is possibly already
fixed.


> - python-devel.x86_64: W: summary-ended-with-dot The libraries and 
> header files needed for Python development.
> - python-tools.x86_64: W: summary-ended-with-dot A collection of de
> velopment tools included with Python.
> 
> Fix, please.
Fixed in 2.6.4-12.fc13


> - python-test.x86_64: W: spelling-error-in-description pacakge pack
> age
> 
> ditto
Fixed in 2.6.4-12.fc13

> - python-test.x86_64: W: no-documentation
> 
> Ignore, perhaps...
> 
> - python-test.x86_64: E: non-executable-script /usr/lib64/python2.6
> /test/test_multibytecodec_support.py 0644
> 
> Add 0755 perms, or remove shebang.
> 
> - python-test.x86_64: E: zero-length /usr/lib64/python2.6/test/null
> cert.pem
> 
> Is it necessary for the test?
> 
> - python-test.x86_64: E: wrong-script-interpreter /usr/lib64/python
> 2.6/test/test_pep263.py "-*-"
> 
> rpmlint is confused here because of the leading _!_, which is hardly necessary
> there, MacCVS should be fixed, not that file.
> 
> - python-test.x86_64: E: wrong-script-end-of-line-encoding /usr/lib
> 64/python2.6/test/test_pep263.py
> 
> - python-tools.x86_64: W: devel-file-in-non-devel-package /usr/lib6
> 4/python2.6/Demo/embed/demo.c
> 
> Probably not necessary to create python-tools-devel for two tests/4 .c files.    
I haven't yet looked at the ones above.


Thanks again for your review work; sorry for delay in resolving the issues you
identified.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
package-review mailing list
package-review@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/package-review

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