Bug 254209 - Review Request: g-wrap - A tool for creating Scheme interfaces to C libraries
Review Request: g-wrap - A tool for creating Scheme interfaces to C libraries
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Chitlesh GOORAH
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 250792 254211
  Show dependency treegraph
 
Reported: 2007-08-24 15:23 EDT by Xavier Lamien
Modified: 2007-11-30 17:12 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-09-04 15:22:18 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
chitlesh: fedora‑review+
petersen: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Xavier Lamien 2007-08-24 15:23:05 EDT
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 18:37:34 EDT
#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 11:34:14 EDT
#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 19:48:51 EDT
(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 15:23:26 EDT
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 18:31:51 EDT
New Package CVS Request
=======================
Package Name: g-wrap
Short Description: A tool for creating Scheme interfaces to C libraries
Owners: lxtnow@gmail.com
Branches: FC-6 F-7 EL-4 EL-5 Devel
InitialCC:
Comment 7 Mamoru TASAKA 2007-08-28 00:35:08 EDT
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 14:37:30 EDT
Please resubmit your CVS request with your FAS name instead of e-mail.
Comment 9 Xavier Lamien 2007-08-29 02:42:51 EDT
> * 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 03:41:55 EDT
(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 11:01:52 EDT
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 11:14:45 EDT
(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 06:05:06 EDT
(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 06:27:35 EDT
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 10:03:45 EDT
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 10:13:34 EDT
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 17:34:39 EDT
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-30 21:38:57 EDT
updated
Comment 20 Mamoru TASAKA 2007-08-31 08:59:14 EDT
(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 03:47:23 EDT
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 15:22:18 EDT
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.