After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 390609 - gda-sharp build system
gda-sharp build system
Status: RESOLVED FIXED
Product: libgda
Classification: Other
Component: general
2.99.x
Other Cygwin
: Normal normal
: ---
Assigned To: Rodrigo Moya
gnome-db Maintainers
: 413791 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-12-29 09:07 UTC by Yaakov Selkowitz
Modified: 2007-03-12 23:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gda-sharp.snk (596 bytes, application/octet-stream)
2007-02-26 02:41 UTC, Yaakov Selkowitz
  Details
gda-sharp-2.99.5 patch (17.22 KB, patch)
2007-02-26 02:46 UTC, Yaakov Selkowitz
none Details | Review
gda-sharp-2.99.5 patch (take 2) (20.25 KB, patch)
2007-02-26 04:49 UTC, Yaakov Selkowitz
committed Details | Review
Patch: API updates, some Makefile.am updates (5.88 KB, patch)
2007-03-05 18:31 UTC, Daniel Espinosa
none Details | Review
API updates and upgrade dependency to 1.2.2 of mono (2.56 KB, patch)
2007-03-05 19:00 UTC, Daniel Espinosa
committed Details | Review

Description Yaakov Selkowitz 2006-12-29 09:07:58 UTC
There are a number of shortcomings in the gda-sharp build system compared to gtk-sharp:

1) Assemblies should be strongname-signed and installed in the GAC.
  - requires a .snk; can we use gtk-sharp's, or should we make our own?
  - minor patches to configure.in, Makefile.am, and AssemblyInfo.cs.in.

2) GAPI files should be installed into the gapidir.
  - minor patch to configure.in and Makefile.am.

3) Monodoc docs should be generated.
  - requires a new directory and more configure.in checks.
  - do we install into classlib-gnome or various?

/me wonders if gda-sharp should be packaged separately from libgda; I guess that depends who's maintaining what.

(BTW A "Mono bindings" bugzilla component should be added for libgda.)

I'm working on patch for these; in the meantime please advise.
Comment 1 Murray Cumming 2007-01-17 15:12:12 UTC
I'm sure that a patch would indeed be welcome.

> /me wonders if gda-sharp should be packaged separately from libgda;

That would be my wish. It wasn't my choice.
Comment 2 Yaakov Selkowitz 2007-01-18 06:12:54 UTC
I would like some guidance wrt my questions 1a and 3b if possible.
Comment 3 Murray Cumming 2007-01-19 12:17:58 UTC
Sorry, I have no idea about the #c++ stuff. You might try asking on the mailing list, because the other maintainers don't seem to read bugzilla much.
Comment 4 Murray Cumming 2007-02-06 15:59:27 UTC
Please do ask on the lista bout the c# stuff.
Comment 5 Yaakov Selkowitz 2007-02-26 02:41:50 UTC
Created attachment 83345 [details]
gda-sharp.snk
Comment 6 Yaakov Selkowitz 2007-02-26 02:46:44 UTC
Created attachment 83346 [details] [review]
gda-sharp-2.99.5 patch

* configure.in
* gda-sharp/Application.cs
* gda-sharp/AssemblyInfo.cs.in
* gda-sharp/Makefile.am
* gda-sharp/doc/Makefile.am
* gda-sharp/doc/gda-sharp-docs.source
* gda-sharp/gda-sharp-3.0.pc.in
* gda-sharp/gda-sharp.dll.config.in:
Correct library name for DllImport calls.
Modify gda-sharp build system to install in the GAC.
Build and install monodoc documentation.

(Requires post-2.99.5 patch to Gda.metadata already in trunk.)
Please test, especially wrt make dist.
Comment 7 Yaakov Selkowitz 2007-02-26 02:49:41 UTC
I forgot: add gda-sharp.snk to EXTRA_DIST in top-level Makefile.am.
Comment 8 Yaakov Selkowitz 2007-02-26 04:49:14 UTC
Created attachment 83354 [details] [review]
gda-sharp-2.99.5 patch (take 2)

Rolling new patch.

* Makefile.am
* configure.in
* gda-sharp/Application.cs
* gda-sharp/AssemblyInfo.cs.in
* gda-sharp/Makefile.am
* gda-sharp/doc/Makefile.am
* gda-sharp/doc/gda-sharp-docs.source
* gda-sharp/gda-sharp-3.0.pc.in
* gda-sharp/gda-sharp.dll.config.in:
Correct library name for DllImport calls.
Depends only on glib-sharp-2.0, not gtk-sharp.
Modify gda-sharp build system to install in the GAC.
Build and install monodoc documentation.
Comment 9 Murray Cumming 2007-02-28 17:36:43 UTC
Thanks. I have committed this.

The patch did not apply perfectly, but the desired changes do seem to be in the file:

murrayc@murrayc-desktop:~/svn/gnome218/FULL/libgda/trunk$ patch -p2 < /home/murrayc/patches/gdasharp.patch 
patching file Makefile.am
patching file configure.in
patching file gda-sharp/Application.cs
patching file gda-sharp/AssemblyInfo.cs.in
patching file gda-sharp/Gda.metadata
Reversed (or previously applied) patch detected!  Assume -R? [n] 
Apply anyway? [n] 
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file gda-sharp/Gda.metadata.rej
patching file gda-sharp/Makefile.am
patching file gda-sharp/doc/Makefile.am
patching file gda-sharp/doc/gda-sharp-docs.source
patching file gda-sharp/gda-sharp-3.0.pc.in
patching file gda-sharp/gda-sharp.dll.config.in

Comment 10 Yaakov Selkowitz 2007-02-28 17:55:55 UTC
The Gda.metadata patch was already in CVS, but I needed it for 2.99.5 to build; I just forgot to remove it from my patch.
Comment 11 Yaakov Selkowitz 2007-02-28 17:57:53 UTC
Did you add gda-sharp.snk to the top level?
Comment 12 Murray Cumming 2007-03-02 10:45:09 UTC
I don't seem to have a gda-sharp.snk file. Could you attach it, please, and any necessary patch.
Comment 13 Murray Cumming 2007-03-02 10:45:21 UTC
*** Bug 413791 has been marked as a duplicate of this bug. ***
Comment 14 Yaakov Selkowitz 2007-03-02 17:21:49 UTC
> I don't seem to have a gda-sharp.snk file. Could you attach it, please, and any
> necessary patch.

It's the first attachment to this bug.  It needs to be placed in the toplevel of libgda and libgnomedb sources.
Comment 15 Murray Cumming 2007-03-03 15:45:03 UTC
OK. I have added that to svn. Now there is this error during make dist, probably because I don't have mono installed:

make[1]: Entering directory `/home/murrayc/svn/gnome218/FULL/libgda/trunk/gda-sharp'
gda-sources.xml
/bin/bash: gda-sources.xml: command not found
make[1]: *** [-api.raw] Error 127
make[1]: Leaving directory `/home/murrayc/svn/gnome218/FULL/libgda/trunk/gda-sharp'
make: *** [distdir] Error 1

I don't like having to install mono just to make distcheck work. I'd much prefer the mono bindings to be separate, like the other bindings. I've posted to the list about this.

But anyway, after installing the gapi stuff, I get these warnings during autogen.sh:

configure.in:52: warning: AC_ARG_PROGRAM invoked multiple times
gda-sharp/Makefile.am:40: addprefix --symbols=$(srcdir: non-POSIX variable name
gda-sharp/Makefile.am:40: (probably a GNU make extension)
gda-sharp/Makefile.am:54: addprefix $(srcdir: non-POSIX variable name
gda-sharp/Makefile.am:54: (probably a GNU make extension)
gda-sharp/Makefile.am:55: addprefix -I:, $(INCLUDE_API: non-POSIX variable name
gda-sharp/Makefile.am:55: (probably a GNU make extension)
gda-sharp/Makefile.am:74: addprefix $(srcdir: non-POSIX variable name
gda-sharp/Makefile.am:74: (probably a GNU make extension)
gda-sharp/Makefile.am:75: addprefix /r:, $(references: non-POSIX variable name
gda-sharp/Makefile.am:75: (probably a GNU make extension)

and these errors:

configure.in:1096: required file `gda-sharp/Makefile.in' not found
configure.in:1096: required file `gda-sharp/gda-sharp.dll.config.in' not found
configure.in:1096: required file `gda-sharp/gda-sharp-3.0.pc.in' not found
configure.in:1096: required file `gda-sharp/AssemblyInfo.cs.in' not found
configure.in:1096: required file `gda-sharp/doc/Makefile.in' not found
configure.in:1096: required file `testing/Makefile.in' not found
configure.in:1096: required file `tests/Makefile.in' not found
configure.in:1096: required file `doc/Makefile.in' not found
configure.in:1096: required file `doc/C/Makefile.in' not found
configure.in:1096: required file `data/Makefile.in' not found
Makefile.am:3: required directory ./tests does not exist
Makefile.am:3: required directory ./testing does not exist
Makefile.am:3: required directory ./data does not exist
Makefile.am:3: required directory ./doc does not exist

Sorry to bother you with this. I guess it's working for you.



Comment 16 Daniel Espinosa 2007-03-05 17:33:33 UTC
I'll see at this errors and I'll try to fix them, becouse you don't need to have installed mono in order to compile libgda in old versions.
Comment 17 Daniel Espinosa 2007-03-05 18:31:57 UTC
Created attachment 83994 [details] [review]
Patch: API updates, some Makefile.am updates
Comment 18 Yaakov Selkowitz 2007-03-05 18:42:22 UTC
gda-sharp.snk should be in EXTRA_DIST of the toplevel Makefile.am, NOT gda-sharp/Makefile.am.
Comment 19 Daniel Espinosa 2007-03-05 18:57:42 UTC
Revision 2854 compiles well. Attached patch id=83994, for API updates and
Makefile.am: adding snk to EXTRA_DIST, and upgrade dependency to mono version
1.2.2 to fix some errors in previous versions about code generation have not
proper semantics for variables captured by anonymous methods (see mono's
release notes)

Theres an error in attachment, dependency is set to 1.2.3, must be 1.2.2; I
have attached a new one with snk moved to EXTRA_DIST in Makefile.am at toplevel.
Comment 20 Daniel Espinosa 2007-03-05 19:00:26 UTC
Created attachment 83996 [details] [review]
API updates and upgrade dependency to 1.2.2 of mono
Comment 21 Murray Cumming 2007-03-08 22:00:26 UTC
I have applied that patch, and made the suggested change to make sure that gda-sharp.snk is disted.

But I'm running out of patience with the gda-sharp bindings which don't even belong in the same tarball as libgda itself, and I am now removing them. People who care about it should revive it and maintain it elsewhere so that we don't have to. This should make life easier for distro packagers too.

Before removing the gda-sharp stuff, I tagged trunk as libgda_3_0_before_removing_gda_sharp


 
Comment 22 Daniel Espinosa 2007-03-09 01:02:43 UTC
Why don't simply disable it by default... then if any one wants to compile or maintain it simple pass a --enable-gda-csharp flag, and don't remove it.

I'm doing this for gnomedb-sharp too...
Comment 23 Murray Cumming 2007-03-09 10:03:22 UTC
Because it needs to be at least distributed, and I'm tired of it breaking our builds. Bindings do not belong in the same tarball as the thing they bind anyway, for many reasons mentioned on the mailing list. Outside of libgda it has a chance to live.
Comment 24 Yaakov Selkowitz 2007-03-11 22:14:04 UTC
Daniel, as you are a GNOME dev working on this, could you make new gda-sharp and 
gnomedb-sharp SVN modules?
Comment 25 Daniel Espinosa 2007-03-12 23:20:47 UTC
I haven't a dev account in gnome, but requested, to contribute to libgda and libgnomedb, but hope any one could help with this, I think is better to have a svn module for Gda# and GnomeDb# bindings.