Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 205300
Summary: | Review Request: gtk-sharp - a set of mono bindings for gtk1.2 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Paul F. Johnson <paul> | ||||||||
Component: | Package Review | Assignee: | Kevin Fenzi <kevin> | ||||||||
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Package Reviews List <fedora-package-review> | ||||||||
Severity: | medium | Docs Contact: | |||||||||
Priority: | medium | ||||||||||
Version: | rawhide | CC: | dominik, wtogami | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | All | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2006-09-25 21:10:08 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Bug Depends On: | |||||||||||
Bug Blocks: | 163779 | ||||||||||
Attachments: |
|
Description
Paul F. Johnson
2006-09-05 21:26:14 UTC
This review has been assigned, but is still in FE-NEW. Do you intend to review it? If not I would be happy to do so... FYI, this package fails to build in mock. I get: Patch #0 (gtksharp-libdir.patch): + patch -p1 -b --suffix .libdir -s + autoreconf configure.in:50: error: possibly undefined macro: PKG_PATH If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /usr/bin/autoconf failed with exit status: 1 error: Bad exit status from /var/tmp/rpm-tmp.38992 (%prep) #2, are you using FC5 or 6? mock under fc6/devel. Happy to provide any further information... Spec URL: http://www.knox.net.nz/~nodoid/gtk-sharp.spec SRPM URL: http://www.knox.net.nz/~nodoid/gtk-sharp-1.0.10-7.src.rpm Fixes galore! Now builds in mock Good. Looks much better now. Please trim down the description for the gapi subpackage though. It is a bit excessivly long. Spec URL: http://www.knox.net.nz/~nodoid/gtk-sharp.spec Shortened the gapi subpackage description Kevin : Andreas is on holiday for a while. Do you want to finish the review? According to Andreas, it's about fit to go Per the conversation on IRC, I'll go ahead and move this review forward... OK - Package name OK - Spec file matches base package name. OK - Meets Packaging Guidelines. OK - License (LGPL) OK - License field in spec matches OK - License file included in package OK - Spec in American English OK - Spec is legible. See below - Sources match upstream md5sum: Pending - Package compiles and builds on at least one arch. Pending - BuildRequires correct Pending - Package owns all the directories it creates. OK - Package has no duplicate files in %files. OK - Package has %defattr and permissions on files is good. OK - Package has a correct %clean section. OK - Spec has consistant macro usage. OK - Package is code or permissible content. OK - Packages %doc files don't affect runtime. OK - .pc files in -devel subpackage. OK - -devel package Requires: %{name} = %{version}-%{release} Pending - Package doesn't own any directories other packages own. Pending - No rpmlint output. SHOULD Items: OK - Should include License or ask upstream to include it. See below - Should build in mock. OK - Should have subpackages require base package with fully versioned depend. Issues: 1. I can't seem to find the source download for this version. http://sourceforge.net/project/showfiles.php?group_id=40240 has 1.0.8 as the latest stable version. Where can this source be found? 2. Might include AUTHORS and HACKING and README.generator files? 3. Still doesn't seem to build for me in mock/devel: Patch #0 (gtksharp-libdir.patch): + patch -p1 -b --suffix .libdir -s + autoreconf configure.in:50: error: possibly undefined macro: PKG_PATH If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /usr/bin/autoconf failed with exit status: 1 error: Bad exit status from /var/tmp/rpm-tmp.14789 (%prep) Are you sure you have the most recent spec up (-7?) Redundant BuildRequires: gtk2-devel libart_lgpl-devel gnome-vfs2-devel libgnomecanvas-devel libglade2-devel (required by libgnomeui-devel) libgnomeprintui22-devel (required by gtkhtml3-devel) (In reply to comment #9) > 3. Still doesn't seem to build for me in mock/devel: > > Patch #0 (gtksharp-libdir.patch): > + patch -p1 -b --suffix .libdir -s > + autoreconf > configure.in:50: error: possibly undefined macro: PKG_PATH > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > autoreconf: /usr/bin/autoconf failed with exit status: 1 > error: Bad exit status from /var/tmp/rpm-tmp.14789 (%prep) > > Are you sure you have the most recent spec up (-7?) That's because the patch and autoreconf call are invoked only on fc5: %if "%{?fedora}" > "5" %patch0 -p1 -b .libdir autoreconf %endif FYI: builds fine outside mock on FC5/x86_64 Another nitpick: use %setup -q .... OK, I lied. It doesn't build fine: RPM build errors: File not found by glob: /home/dominik/build/tmp/gtk-sharp-1.0.10-7-root-dominik/usr/lib/*.so File not found: /home/dominik/build/tmp/gtk-sharp-1.0.10-7-root-dominik/usr/lib/pkgconfig/gapi.pc File not found by glob: /home/dominik/build/tmp/gtk-sharp-1.0.10-7-root-dominik/usr/lib/pkgconfig/*-sharp.pc I think these are due to: %if "%{?fedora}" == "5" %define monodir %{_prefix}/lib %else %define monodir %{_libdir} %endif #12 - if you're using rawhide, the version of mono shipped is architecture agnostic so on a 64 bit box, things go into /usr/lib64. Under FC5, everything is under /usr/lib I'll need to check on the errors you're seeing as I can't reproduce them here. #11 - it's done that way so I can see what's going on (needed for the time being, I'll switch to -q on the next release). The patch is invoked on anything above FC5 #10 - thanks #9 - always get the source from www.go-mono.com/source-latest (IIRC). I'll fix that. Thanks for the comments. I'll get -8 out sometime today (In reply to comment #13) > #12 - if you're using rawhide, the version of mono shipped is architecture > agnostic so on a 64 bit box, things go into /usr/lib64. Under FC5, everything > is under /usr/lib I'm using FC5 and it's not, apparently. > I'll need to check on the errors you're seeing as I can't reproduce them here. Build log attached. > #11 - it's done that way so I can see what's going on (needed for the time > being, I'll switch to -q on the next release). The patch is invoked on > anything above FC5 Apparently that's what you meant, but that's not what happens. I.e. it gets called on fc5, too. Ah, I see the problem. Change all %if "%{?fedora}" to %if "%{fedora}" i.e. without the question mark. Still, some files get installed in %{_libdir} nonetheless: File not found by glob: /home/dominik/build/tmp/gtk-sharp-1.0.10-7-root-dominik/usr/lib/*.so File not found: /home/dominik/build/tmp/gtk-sharp-1.0.10-7-root-dominik/usr/lib/pkgconfig/gapi.pc Full build.log attached (built with my fix %{?fedora} -> %{fedora}). Created attachment 136479 [details]
Build log on FC5/x86_64
If you're using FC-5's mono (1.1.13), then nothing has changed. Everything is under /usr/lib. This has caused me no end of problems ensuring that the likes of monodevelop et al work properly under both FC-5 and rawhide. The correct way of doing the %fedora bit is "%{?fedora}" - it's the same as using "%{?dist}" and gives the version in use as the return value. Just having "%{fedora}" is wrong. Have a look at the monodevelop, gtksourceview-sharp etc spec files for further examples. Spec URL: http://www.knox.net.nz/~nodoid/gtk-sharp.spec SRPM URL: http://www.knox.net.nz/~nodoid/gtk-sharp-1.0.10-8.src.rpm The srpm has been verified as building in mock Created attachment 136482 [details]
my mock config log
Created attachment 136483 [details]
root log
RPM build errors: File not found by glob: /home/dominik/build/tmp/gtk-sharp-1.0.10-8-root-dominik/usr/lib/*.so File not found: /home/dominik/build/tmp/gtk-sharp-1.0.10-8-root-dominik/usr/lib/pkgconfig/gapi.pc File not found by glob: /home/dominik/build/tmp/gtk-sharp-1.0.10-8-root-dominik/usr/lib/pkgconfig/*-sharp.pc Obviously not in 64bit mock. This is very very annoying! I'm using exactly the same hack for monodevelop etc and the fedora buildsys allows it through for all platforms. I'm at a loss as to why your box should fail! Spec URL: http://www.knox.net.nz/~nodoid/gtk-sharp.spec SRPM URL: http://www.knox.net.nz/~nodoid/gtk-sharp-1.0.10-9.src.rpm Fixes the problems you've had! Builds fine here. 1. Your Source0 still isn't quite right. I was able to get the source via: http://go-mono.com/sources/gtk-sharp/gtk-sharp-1.0.10.tar.gz That md5sum matches: e21fb3c5a39374f86ba70b926311a6d0 gtk-sharp-1.0.10.tar.gz e21fb3c5a39374f86ba70b926311a6d0 gtk-sharp-1.0.10.tar.gz.1 2. looks good. 3. At first I was getting the: mono: mono-codeman.c:257: new_codechunk: Assertion `!err' failed. make[2]: *** [gapi_codegen.exe] Aborted make[2]: Leaving directory `/builddir/build/BUILD/gtk-sharp-1.0.10/generator' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/builddir/build/BUILD/gtk-sharp-1.0.10' make: *** [all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.14252 (%build) But then I realized the cause. I hadn't disabled selinux on my new build machine. Mono apparently tries to do something odd to the stack when compiling, and selinux blocks it. Sep 18 22:09:31 thulsadoom kernel: audit(1158638970.725:4300): avc: denied { execmem } for pid=25215 comm="mono" scontext=user_u:system_r:unconfined_t:s0 tcontext=user_u:system_r:unconfined_t:s0 tclass=process Disabling selinux gets it compiling on both i386 and x86_64... rpmlint says: E: gtk-sharp invalid-soname /usr/lib/libgladesharpglue.so libgladesharpglue.so E: gtk-sharp invalid-soname /usr/lib/libglibsharpglue.so libglibsharpglue.so E: gtk-sharp invalid-soname /usr/lib/libgtksharpglue.so libgtksharpglue.so E: gtk-sharp invalid-soname /usr/lib/libgnomesharpglue.so libgnomesharpglue.so E: gtk-sharp invalid-soname /usr/lib/libgdksharpglue.so libgdksharpglue.so E: gtk-sharp invalid-soname /usr/lib/libpangosharpglue.so libpangosharpglue.so From looking at other mono packages I think this is normal for them. W: gtk-sharp non-executable-in-bin /usr/bin/gconfsharp-schemagen.exe 0644 Should this be 755? W: gtk-sharp strange-permission gtksharp-libdir.patch 0666 The patch should probibly be 644. E: gtk-sharp hardcoded-library-path in %{_prefix}/lib Is this normal for mono packages? W: gtk-sharp mixed-use-of-spaces-and-tabs Not a blocker, but would be nice to fix. E: gtk-sharp-debuginfo script-without-shellbang /usr/src/debug/gtk-sharp-1.0.10/ glib/glue/error.c Probibly that source file should be 644. W: gtk-sharp-devel summary-not-capitalized pkgconfig file for gtk-sharp Can be ignored. E: gtk-sharp-devel script-without-shellbang /usr/share/doc/gtk-sharp-devel- 1.0.10/HACKING Should be 644. E: gtk-sharp-gapi summary-too-long Glib and GObject C source parser and C generator for the creation and maintenance of managed bindings for Mono and .NET Could boil that down some? W: gtk-sharp-gapi spelling-error-in-description maintainance maintenance Should be fixed. W: gtk-sharp-gapi no-documentation Can be ignored. W: gtk-sharp-gapi non-executable-in-bin /usr/bin/gapi-fixup.exe 0644 W: gtk-sharp-gapi non-executable-in-bin /usr/bin/gapi_codegen.exe 0644 755? W: gtk-sharp-gapi-devel summary-not-capitalized pkgconfig for gapi-sharp W: gtk-sharp-gapi-devel no-documentation Can be ignored. (In reply to comment #24) > 3. At first I was getting the: > mono: mono-codeman.c:257: new_codechunk: Assertion `!err' failed. > make[2]: *** [gapi_codegen.exe] Aborted > make[2]: Leaving directory `/builddir/build/BUILD/gtk-sharp-1.0.10/generator' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/builddir/build/BUILD/gtk-sharp-1.0.10' > make: *** [all] Error 2 > error: Bad exit status from /var/tmp/rpm-tmp.14252 (%build) > > But then I realized the cause. I hadn't disabled selinux on my new build > machine. Mono apparently tries to do something odd to the stack when compiling, > and selinux blocks it. > > Sep 18 22:09:31 thulsadoom kernel: audit(1158638970.725:4300): avc: denied { > execmem } for pid=25215 comm="mono" scontext=user_u:system_r:unconfined_t:s0 > tcontext=user_u:system_r:unconfined_t:s0 tclass=process > > Disabling selinux gets it compiling on both i386 and x86_64... See the Extras/MockTricks wiki page for how to install a local policy module that allows mono to run under mock with SELInux enabled. "W: gtk-sharp non-executable-in-bin /usr/bin/gconfsharp-schemagen.exe 0644 Should this be 755?" Yes and fixed. "W: gtk-sharp strange-permission gtksharp-libdir.patch 0666 The patch should probibly be 644. " Done Spec URL: http://www.knox.net.nz/~nodoid/gtk-sharp.spec SRPM URL: http://www.knox.net.nz/~nodoid/gtk-sharp-1.0.10-10.src.rpm "E: gtk-sharp hardcoded-library-path in %{_prefix}/lib Is this normal for mono packages? " It is for the moment. The problem is that the current FC5 release of mono still depends on everything being in /usr/lib irrespective of the processor used. The version in rawhide/FC6 has this problem corrected. When FC5's version is upgraded to the current version (1.1.17), the hack goes. All the other problems have been fixed. Ping! ok, all those changes look pretty good. I'll go ahead and APPROVE this package. Thanks for all your hard work on it. Please remember to close this NEXTRELEASE once it's been imported and built. Thanks Why do you want a FE5 branch when this is already in FC5? gtk-sharp has been moved from core to extras as there is nothing in core which uses it anymore. FC5 has gtk-sharp. Why did you request a branch for FE5? There isn't anything in FC-5 or rawhide which uses gtk-sharp anymore. Have a word with caillon and alexl. The removal of gtk-sharp-1.0.10 was taken about a month back and before it was placed on the orphan list, I snapped it up. It is now an FE package, so by default only has a rawhide entry. gtk-sharp *IS* in Fedora Core 5. Thus it makes no sense to branch it there and rebuild it in Extras for Fedora Core 5. It does make sense to do this for FC6. Do you concur? Hey Paul. I don't see gtk-sharp in the owners.list. Can you please add it? http://fedoraproject.org/wiki/Extras/Contributors#head-f6f080b4c48fe519c98a29364a740953f90179e7 I have added it to owners.list. |