[Bug 835432] Review Request: python-pycxx - Write Python extensions in C++

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

 



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

--- Comment #19 from John Morris <john@xxxxxxxxxxx> ---
Hi fellas,

New package:
http://www.zultron.com/static/2012/06/freecad/python-pycxx.spec
http://www.zultron.com/static/2012/06/freecad/python-pycxx-6.2.4-1.fc16.src.rpm

Bunch of changes:

- Python 3 package, 'python3-pycxx-devel', builds if '--with=python3'
  specified

- Header files installed into /usr/include/CXX.
  - Dedupes haders shared by python 2 and 3; but more important,
  - One python-version-independent pkg-config .pc file:
    'pkg-config --variable=includedir PyCXX' instead of '... Py3CXX' or 
    similar.
  - A precedent is numpy
  - If this is unacceptable, they can be moved back to 
    /usr/include/python<version>/CXX, and the pkg-config files split into
    'Py2CXX.pc' and 'Py3CXX.pc' or something equivalent

- Source files installed into /usr/src/CXX
  - Complies with FHS, though not much written about it
  - A precedent is dwm-user, which does very nearly the same thing
  - If this is unacceptable, they can be moved into the headers directory

- Lots of changes to setup.py; I hope these can be accepted upstream:
  - New patch merges old patch that converts tabs to spaces and fixes
    indentation
  - Headers and sources previously omitted are now installed by setup.py
    instead of through hackage in specfile (install_headers extended to
    handle subdirs)
  - Install only python2 or python3 code, as appropriate

I'll address some of the comments here.

(In reply to comment #16)
> - imho, there's no need for obsoletes, there's no version to obsolete.

'Obsoletes' tags removed.  I changed the package name from the old version in
the Zultron repo, but I now see this is unnecessary.  BTW, I added the version
to Obsoletes to silence a fedora-review warning.

> - buildrequires: python-devel should be python2-devel, or something like:
> BuildRequires:  python2-devel
> %if 0%{?with_python3}
> BuildRequires:  python3-devel
> %endif # if with_python3 
> 
>   https://fedoraproject.org/wiki/Packaging:Python#BuildRequires

Done.

> - you should link your patches to tickets upstream, esp. you should put a
> comment to those patches, what they do or why they are required.

Done.

> - your package python-%{modname} doesn't have %files:, it contains
> [mrunge@mrungexp result]$ rpm -qlp python-pycxx-6.2.4-0.fc18.src.rpm 
> pycxx-6.2.4.tar.gz
> python-pycxx-6.2.4-change-include-paths.patch
> python-pycxx-6.2.4-fix-indentation.patch
> python-pycxx.spec

Correct.  There's no regular package, only a -devel package.  Other packages
linking this code don't require any extra library files or config files.

> - there's python3 support built in, so you should package that too.

Done.  'rpmbuild -ba python-pycxx.spec --with=python3' builds a
python3-pycxx-devel package.

> - compiler flags are not required for noarch packages, so either noarch, or
> compiler flags...

Whoops, an artifact of the specfile I stole.  Removed.



(In reply to comment #17)
> [...]
> (In reply to comment #15)
> > - Own /usr/share/python2.7/
> 
> I'm concerned about this one. I'm not sure anything but python should own a
> directly like that. Perhaps /usr/src was a good idea?

Fixed, see above.  Agreed, /usr/src seems best, and /usr/share/python2.7 is
abominal.

Whew!  Y'all are tough!  :)

-- 
You are receiving this mail because:
You are on the CC list 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]