Bug 254209 - Review Request: g-wrap - A tool for creating Scheme interfaces to C libraries
Summary: Review Request: g-wrap - A tool for creating Scheme interfaces to C libraries
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Chitlesh GOORAH
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 250792 254211
TreeView+ depends on / blocked
 
Reported: 2007-08-24 19:23 UTC by Xavier Lamien
Modified: 2007-11-30 22:12 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-09-04 19:22:18 UTC
Type: ---
Embargoed:
chitlesh: fedora-review+
petersen: fedora-cvs+


Attachments (Terms of Use)

Description Xavier Lamien 2007-08-24 19:23:05 UTC
Spec : http://laxathom.fedorapeople.org/RPMS/g-wrap/g-wrap.spec
SRPM : http://laxathom.fedorapeople.org/RPMS/g-wrap/g-wrap-1.9.9-1.fc8.src.rpm

Description:
This is a tool for specifying types, functions, and constants to
import into a Scheme interpreter, and for generating code (in C) to
interface these to the Guile and RScheme interpreters in particular.


# note 1: 
I took over the maintenance of g-wrap which has been orphaned in order to resolve dependence tree on GspiceUI bug #247402. 

# note 2:
This new release of g-wrap (1.9.9) is shipped with libffi libraries.
Those libraries is essantial in the GspiceUI's dependence tree.

# note 3:
rpmlint ouput on -devel subpackage,
------------------------------------------------------------------------------
W: g-wrap-devel dangling-relative-symlink /usr/lib/g-wrap/modules/libgw-guile-standard.so libgw-guile-standard.so.0.0.0
W: g-wrap-devel dangling-relative-symlink /usr/lib/g-wrap/modules/libgw-guile-gw-glib.so libgw-guile-gw-glib.so.0.0.0
E: g-wrap-devel only-non-binary-in-usr-lib
------------------------------------------------------------------------------
Those ouptut can be ignored.
Those libraries are indeed not broken once installed.

Comment 1 Chitlesh GOORAH 2007-08-24 22:37:34 UTC
#001: Requires should entail %{release} as well
Requires:        %{name} = %{version}-%{release}

#002: Please remove useless comments so as to remove confusions for others.

#003: as for

> #remove .la (kill the build on guile-gnome & gnucash not requires g-wrap 
> anymore)
> %exclude %{_libdir}/*.la

please replace %exclude %{_libdir}/*.la by:
%exclude %{_libdir}/libgwrap-core-runtime.la
%exclude %{_libdir}/libgwrap-guile-runtime.la

This might be very helpful for others reading the spec file.

#004 add the following comment on top of "make":
# Is not parallel-build-safe


Comment 2 Chitlesh GOORAH 2007-08-25 15:34:14 UTC
#005: %setup -q -n %{name}-%{version}

you can remove  -n %{name}-%{version}

#006: The patches (%patch0 -p1)
Take as good example :
%patch0 -p1 -b .REASON

#007: (devel package) same for %{_libdir}/pkgconfig/*
/usr/lib/pkgconfig/ is required by pkgconfig

#008: as well for the (devel package) add the following Requires due to 
directory ownership:
ORBit2-devel, automake

#009 the directory /usr/share/guile/site/ is required by guile
Add guile as Requires:

#010:
You can replace all these
# remove .la files
rm -f %{buildroot}%{_libdir}/{*.a,libffi.la}
[..]
%{_libdir}/%{name}/modules/*.la
[..]
#remove .la (kill the build on guile-gnome & gnucash not requires g-wrap 
anymore)
%exclude %{_libdir}/*.la

 by:

find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'

since both guile-gnome-platform and gwave build successfully with the *.la

(I've lost my comments on guile-gnome-platform during the shift to bugzilla's 
maintenance. I'll catch up later on) 

Comment 3 Chitlesh GOORAH 2007-08-26 23:48:51 UTC
(In reply to comment #2)

> since both guile-gnome-platform and gwave build successfully with the *.la

TYPO: _WITHOUT_ the *.la



Comment 5 Chitlesh GOORAH 2007-08-27 19:23:26 UTC
typo:
- Remoed all libtool archive.
missing "v"

I believe you can fix this before committing to cvs.

===============================

This package is approved by ME.

===============================

Please don't forget to close the bug #250792 once you have built g-wrap on koji.

Comment 6 Xavier Lamien 2007-08-27 22:31:51 UTC
New Package CVS Request
=======================
Package Name: g-wrap
Short Description: A tool for creating Scheme interfaces to C libraries
Owners: lxtnow
Branches: FC-6 F-7 EL-4 EL-5 Devel
InitialCC:

Comment 7 Mamoru TASAKA 2007-08-28 04:35:08 UTC
Well, some comments from me:

* Please check which package owns %{_libdir}/%{name}/modules/
  (currently no package)

* m4 files under %{_datadir}/aclocal/ usually should be in -devel
  package

* I don't know what software calls g-wrap modules, however usually
  modules are dlopen'ed with the name '*.so', not '*.so.X'.
  So I guess libgw-guile-*.so under %{_libdir}/%{name}/modules/
  should be in main package, not in -devel subpackage.

* Well, why should -devel subpackage have "Requires: ORBit2-devel"?

* And -devel package should have "Requires: guile-devel" because
  /usr/include/g-wrap/guile-compatibility.h (and one another header
  file) requires libguile.h

Comment 8 Warren Togami 2007-08-28 18:37:30 UTC
Please resubmit your CVS request with your FAS name instead of e-mail.


Comment 9 Xavier Lamien 2007-08-29 06:42:51 UTC
> * Please check which package owns %{_libdir}/%{name}/modules/
>  (currently no package)

hm...%{_libdir}/%{¬ame} is owned by current main package that imply its
subdirectory which's shipped & provided by main package to be owned to same one.


> * m4 files under %{_datadir}/aclocal/ usually should be in -devel
>  package

right, thanks for notice me this missing point.

> * I don't know what software calls g-wrap modules, however usually
>  modules are dlopen'ed with the name '*.so', not '*.so.X'.
>  So I guess libgw-guile-*.so under %{_libdir}/%{name}/modules/
>  should be in main package, not in -devel subpackage.

do you also check this:
$ file libgw-guile-*.so
libgw-guile-gw-glib.so:  symbolic link to `libgw-guile-gw-glib.so.0.0.0'
libgw-guile-standard.so: symbolic link to `libgw-guile-standard.so.0.0.0'


> * Well, why should -devel subpackage have "Requires: ORBit2-devel"?

it seem that we did some mixed up things between g-wrap & guile-gnome-platform
(which requires ORBit2-devel) cause, only guile-gnome-platform ships ORBit2's
stuffs.


Comment 10 Mamoru TASAKA 2007-08-29 07:41:55 UTC
(In reply to comment #9)
> > * Please check which package owns %{_libdir}/%{name}/modules/
> >  (currently no package)
> 
> hm...%{_libdir}/%{name} is owned by current main package
  Yes

> that imply its
> subdirectory which's shipped & provided by main package to be owned
> to same one.
  It may be that I don't understand correctly what you want to say, however
  if you write "%dir foo/", the subdirectories of foo/ are not _automatically_
  owned by any subpackages.


> > * I don't know what software calls g-wrap modules, however usually
> >  modules are dlopen'ed with the name '*.so', not '*.so.X'.
> >  So I guess libgw-guile-*.so under %{_libdir}/%{name}/modules/
> >  should be in main package, not in -devel subpackage.
> 
> do you also check this:
> $ file libgw-guile-*.so
> libgw-guile-gw-glib.so:  symbolic link to `libgw-guile-gw-glib.so.0.0.0'
> libgw-guile-standard.so: symbolic link to `libgw-guile-standard.so.0.0.0'
 Symlinks themselves are no problem, the problem is how these modules
 are dlopened (with what name).

Comment 11 Xavier Lamien 2007-08-29 15:01:52 UTC
Okay,
after checked the dlname, modules are dlopen'ed with '*.so.X'
dlname='libgw-guile-gw-glib.so.0'
dlname='libgw-guile-standard.so.0'

Comment 12 Mamoru TASAKA 2007-08-29 15:14:45 UTC
(In reply to comment #11)
> Okay,
> after checked the dlname, modules are dlopen'ed with '*.so.X'
> dlname='libgw-guile-gw-glib.so.0'
> dlname='libgw-guile-standard.so.0'

Would you tell me where these modules are dlopen'ed?

Comment 13 Chitlesh GOORAH 2007-08-30 10:05:06 UTC
(In reply to comment #12)
> Would you tell me where these modules are dlopen'ed?

Mamoru, what do you mean? Is there something in your mind that you are trying to
point to us that I can't see ?
Please shed more light on this.


Comment 14 Mamoru TASAKA 2007-08-30 10:27:35 UTC
What I meant in the comment 12 is that I want to check
where Xavier found the actual code noted in comment 11.

Comment 15 Xavier Lamien 2007-08-30 14:03:45 UTC
re,
sorry for the delay on this post.
well, from lib-gw-*.La (where those libtool archives have been removed from the
package as well)
COuld you tell me if there something wrong with this ?


Comment 16 Mamoru TASAKA 2007-08-30 14:13:34 UTC
Well, now I assume that the dlopen'ed name is *.so.0..

Then would you fix the left issues I noted on the comment 7?

Comment 18 Xavier Lamien 2007-08-30 21:34:39 UTC
New Package CVS Request
=======================
Package Name: g-wrap
Short Description: A tool for creating Scheme interfaces to C libraries
Owners: laxathom
Branches: FC-6 F-7 EL-4 EL-5 Devel
InitialCC:



Comment 19 Jens Petersen 2007-08-31 01:38:57 UTC
updated

Comment 20 Mamoru TASAKA 2007-08-31 12:59:14 UTC
(In reply to comment #17)
> okay,
> 
> Spec : http://laxathom.fedorapeople.org/RPMS/g-wrap/g-wrap.spec
> SRPM : http://laxathom.fedorapeople.org/RPMS/g-wrap/g-wrap-1.9.9-3.fc8.src.rpm
> 

looke okay.

Comment 21 Chitlesh GOORAH 2007-09-03 07:47:23 UTC
The reason why guile-gnome-platform's mock is failing at your place is g-wrap 
hasn't yet been built for rawhide.

Please:
1. build g-wrap for rawhide
2. close the bug #250792
3. close this bug as well.

Comment 22 Xavier Lamien 2007-09-04 19:22:18 UTC
Okay, tag dist-F8 has been unblocked.

now, g-wrap has been imported and built (on working branch)


Note You need to log in before you can comment on or make changes to this bug.