[Bug 165686] Review Request: Syck - YAML for Ruby, Python, PHP and OCaml
bugzilla at redhat.com
bugzilla at redhat.com
Wed Aug 24 22:33:25 UTC 2005
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.
Summary: Review Request: Syck - YAML for Ruby, Python, PHP and OCaml
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=165686
------- Additional Comments From toshio at tiki-lounge.com 2005-08-24 18:33 EST -------
Note: Re Comment #4
Ruby on FC4:
[badger at katahdin syck-0.55-3]$ rpm -ql ruby-libs |grep syck
/usr/lib64/ruby/1.8/x86_64-linux/syck.so
/usr/lib64/ruby/1.8/yaml/syck.rb
Good:
- Naming matches upstream and folows the naming guidelines
- spec file named appropriately
- License is BSD
- License included in package
- Spec is in American English
- Spec is comprehensible
- Source matches upstream
- No locale so no %find_lang
- No Prefix
Needswork:
- License in spec should read BSD rather than GPL
- Remove BR: /usr/bin/install (it comes from coreutils)
- Remove BR: python (python-devel pulls it in)
- For the python subpackage we need::
Requires: python-abi = %(%{__python} -c "import sys; print sys.version[:3]")
- Leave out OCaml from the Summary as there's no OCaml extension. Also leave
out Syck from the summary as it's redundant.
- Leave out README.BYTECODE as you're not building that extension (or build
and include it. Reading the docs seems to impy it's an extension to the
syck library that will preparse a YAML document into bytecode that can then
be re-loaded by the library. Could be reading that wrong, though.)
- Shared libraries need to be left executable or they won't be stripped for
debuginfo packages.
- Static libraries and headers go in a -devel package. See below about creating
a dynamic library for the extensions:
- When making the library and loadable mdules, needs to supply RPM_OPT_FLAGS
to the build process.
- We can't BR: php-devel = ... [something that expands to the php-config
command] because the comand isn't present until after the BR is fulfilled.
If there's a specific version that's needed, use that, otherwise just use
BR: php-devel.
- Doesn't build the python or php extensions due to not having a libsyc compiled
with -fPIC. (ie: we have a libsyck.a which was build without -fPIC. We need a
libsyck.so that was built with -fPIC.)
This problem has to go upstream to be fixed because with shared libraries
comes stricter versioning requirements. However, hacking together some libtool
based scripts is not incredibly hard. As long as upstream is amenable we could
do the actual work here.
- The php doesn't build due to the build process not finding either the syck
library or header. Something like this should work:
CFLAGS="$RPM_OPT_FLAGS -I../../lib" %configure --with-syck=../../
Minor:
- Since the %post/%postun scripts contain just /sbin/ldconfig it would be
possible to use %post -p /sbin/ldconfig and %postun -p /sbin/ldconfig. My
understanding is this format allows rpm to do some optimizations (not
loading a shell to invoke ldconfig and running ldconfig only once when a
group of libraries are installed as one transaction.)
- There's a slew of 64bit related warnings. However, I don't see anything
that's obviously causing problems (such as the failure of the check on x86_64.)
Summary
=======
If you want to work with upstream about the failure of the regression test and
whether libtool-based dynamic libraries are desirable I can get started on
creating some libtool infrastructure.
TODO
====
Since I couldn't get a completed package, these things have not been
checked:
- rpmlint
- Check against complete PackagingGuidelines
- Recheck BR in mock
--
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the fedora-extras-list
mailing list