Bug 314670 (MONO58332) - spec file to rebuild rpms fails on Fedora FC1
Summary: spec file to rebuild rpms fails on Fedora FC1
Status: RESOLVED FIXED
Alias: MONO58332
Product: Mono: Runtime
Classification: Mono
Component: packaging (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Critical
Target Milestone: ---
Assignee: Duncan Mak
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords: build
Depends on:
Blocks:
 
Reported: 2004-05-11 19:09 UTC by David Brownlee
Modified: 2007-09-15 21:24 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Wiest 2007-09-15 18:37:23 UTC


---- Reported by david.brownlee@comcast.net 2004-05-11 12:09:18 MST ----

Please fill in this template when reporting a bug, unless you know what 
you are doing. 
Description of Problem: 
Can not rebuild binary rpms from source tarball and spec file.  This is 
necessary since the binary rpms don't work on FC1 (with updates).  The 
provided binaries fail to load libmono with the error "cannot handle TLS 
data" (see 
http://www.gotmono.com/cgi-bin/yabb/YaBB.pl?board=PROJECT;action=display;num=1080600514 
for a similar discussion regarding rh9).  It would also be nice if a 
mono*.src.rpm file was available from the download page. 
 
Steps to reproduce the problem: 
1. Download http://www.go-mono.com/packagers/mono/mono.spec 
into /usr/src/redhat/SPEC 
2. Download http://www.go-mono.com/archive/beta1/mono-0.91.tar.gz 
into /usr/src/redhat/SOURCE 
3. cd /usr/src/redhat/SPEC && rpmbuild -ba mono.spec (of course, you 
shouldn't build packages as root but...) 
 
Actual Results: 
Fails to create packages since %files section of spec file is missing some 
files and the man pages should end in .gz since they are compressed. 
 
Expected Results: 
shiny new binary rpms 
 
How often does this happen?  
only when I try to build rpms from the source and spec file. :) 
 
Additional Information: 
Not sure if I added the missing files to the right package but, the 
following patch to mono.spec allowed me to build rpms that seem to work 
(at least mcs can compile a helloworld.cs and mono can run the result). 
 
--- mono.spec.orig      2004-05-11 08:46:27.000000000 -0700 
+++ mono.spec   2004-05-11 07:34:50.000000000 -0700 
@@ -23,13 +23,13 @@ 
 BuildRequires: glib2-devel 
 BuildRequires: pkgconfig 
 BuildRequires: rsync 
-BuildRequires: libicu-devel = 2.6.1-1.ximian.6.5 
+BuildRequires: libicu-devel = 2.6.1-1.ximian.7.5 
 BuildRequires: j2sdk 
 Summary:       The Mono CIL runtime, suitable for running .NET code 
 Group:         Development/Tools 
 Requires:      glib2 
-Requires:      icu = 2.6.1-1.ximian.6.5 
-Requires:      libicu26 = 2.6.1-1.ximian.6.5 
+Requires:      icu = 2.6.1-1.ximian.7.5 
+Requires:      libicu26 = 2.6.1-1.ximian.7.5 
 Requires:      mono-posix == 0.91-0.ximian.6.3 
 Provides:      ximian-mono-core = %{?epoch:
%{epoch}:}%{version}-%{?ximrev:%{ximrev}}%{!?ximrev:%{release}} 
 Obsoletes:     mono 
@@ -48,28 +48,28 @@ 
 %doc AUTHORS COPYING.LIB ChangeLog NEWS README 
 /usr/bin/mono 
 /usr/lib/libmono.so* 
-/usr/share/man/man1/mono.1 
+/usr/share/man/man1/mono.1.gz 
 /usr/bin/mint 
 /usr/lib/libmint.so* 
-/usr/share/man/man1/mint.1 
+/usr/share/man/man1/mint.1.gz 
 /usr/bin/mcs 
 /usr/lib/mono/1.0/mcs.exe 
-/usr/share/man/man1/mcs.1 
+/usr/share/man/man1/mcs.1.gz 
 /usr/bin/certmgr 
 /usr/bin/certmgr.exe 
-/usr/share/man/man1/certmgr.1 
+/usr/share/man/man1/certmgr.1.gz 
 /usr/bin/chktrust.exe 
 /usr/bin/chktrust 
-/usr/share/man/man1/chktrust.1 
+/usr/share/man/man1/chktrust.1.gz 
 /usr/bin/setreg 
 /usr/bin/setreg.exe 
-/usr/share/man/man1/setreg.1 
+/usr/share/man/man1/setreg.1.gz 
 /usr/bin/gacutil 
 /usr/bin/gacutil.exe 
-/usr/share/man/man1/gacutil.1 
+/usr/share/man/man1/gacutil.1.gz 
 /usr/bin/sn 
 /usr/bin/sn.exe 
-/usr/share/man/man1/sn.1 
+/usr/share/man/man1/sn.1.gz 
 /usr/lib/mono/gac/Cscompmgd/7.0.5000.0*/* 
 /usr/lib/mono/1.0/Cscompmgd.dll 
 /usr/lib/mono/gac/I18N.West/1.0.5000.0*/* 
@@ -91,7 +91,19 @@ 
 /usr/lib/mscorlib.dll 
 /etc/mono/config 
 /etc/mono/machine.config 
-/usr/share/man/man5/mono-config.5 
+/usr/share/man/man5/mono-config.5.gz 
+/usr/bin/cilc 
+/usr/bin/cilc.exe 
+/usr/bin/monosn 
+/usr/lib/libMonoPosixHelper.a 
+/usr/lib/libMonoPosixHelper.la 
+/usr/lib/libmono-ikvm-jni.a 
+/usr/lib/libmono-ikvm-jni.la 
+/usr/lib/mono/gac/Mono.Security.Win32/1.0.5000.0__0738eb9f132ed756/Mono.Security.Win32.dll 
+/usr/lib/mono/gac/Mono.Security.Win32/1.0.5000.0__0738eb9f132ed756/__AssemblyInfo__ 
+/usr/share/man/man1/cilc.1.gz 
+/usr/share/man/man1/monostyle.1.gz 
+/usr/share/man/man1/oldmono.1.gz 
 
 
 %package -n mono-basic 
@@ -282,13 +294,13 @@ 
 /usr/lib/mono/1.0/System.Web.Services.dll 
 /usr/bin/disco 
 /usr/bin/disco.exe 
-/usr/share/man/man1/disco.1 
+/usr/share/man/man1/disco.1.gz 
 /usr/bin/wsdl 
 /usr/bin/wsdl.exe 
-/usr/share/man/man1/wsdl.1 
+/usr/share/man/man1/wsdl.1.gz 
 /usr/bin/xsd 
 /usr/bin/xsd.exe 
-/usr/share/man/man1/xsd.1 
+/usr/share/man/man1/xsd.1.gz 
 /etc/mono/DefaultWsdlHelpGenerator.aspx 
 
 
@@ -390,7 +402,7 @@ 
 %defattr(-, root, root) 
 /usr/bin/sqlsharp 
 /usr/bin/sqlsharp.exe 
-/usr/share/man/man1/sqlsharp.1 
+/usr/share/man/man1/sqlsharp.1.gz 
 /usr/lib/mono/gac/System.Data/1.0.5000.0*/* 
 /usr/lib/mono/1.0/System.Data.dll 
 /usr/lib/mono/gac/Mono.Data.Tds/1.0.5000.0*/* 
@@ -581,7 +593,7 @@ 
 /usr/lib/mono/1.0/System.Runtime.Serialization.Formatters.Soap.dll 
 /usr/bin/soapsuds.exe 
 /usr/bin/soapsuds 
-/usr/share/man/man1/soapsuds.1 
+/usr/share/man/man1/soapsuds.1.gz 
 
 
 %package -n mono-posix 
@@ -615,30 +627,30 @@ 
 %files -n mono-core-devel 
 %defattr(-, root, root) 
 /usr/bin/monodis 
-/usr/share/man/man1/monodis.1 
+/usr/share/man/man1/monodis.1.gz 
 /usr/bin/ilasm 
 /usr/bin/ilasm.exe 
-/usr/share/man/man1/ilasm.1 
+/usr/share/man/man1/ilasm.1.gz 
 /usr/bin/genxs 
 /usr/bin/genxs.exe 
-/usr/share/man/man1/genxs.1 
+/usr/share/man/man1/genxs.1.gz 
 /usr/bin/al 
 /usr/bin/al.exe 
 /usr/bin/makecert 
 /usr/bin/MakeCert.exe 
-/usr/share/man/man1/makecert.1 
+/usr/share/man/man1/makecert.1.gz 
 /usr/bin/monop 
 /usr/bin/monop.exe 
-/usr/share/man/man1/monop.1 
+/usr/share/man/man1/monop.1.gz 
 /usr/bin/cert2spc 
 /usr/bin/cert2spc.exe 
-/usr/share/man/man1/cert2spc.1 
+/usr/share/man/man1/cert2spc.1.gz 
 /usr/bin/signcode.exe 
 /usr/bin/signcode 
-/usr/share/man/man1/signcode.1 
+/usr/share/man/man1/signcode.1.gz 
 /usr/bin/secutil 
 /usr/bin/secutil.exe 
-/usr/share/man/man1/secutil.1 
+/usr/share/man/man1/secutil.1.gz 
 /usr/bin/pedump 
 /usr/bin/monoresgen 
 /usr/bin/monoresgen.exe



---- Additional Comments From duncan@ximian.com 2004-05-12 16:03:02 MST ----

First, I have 2 questions:

a) Why are the binary RPM packages not working on FC1 with updates?
What are the conflicts?

b) About the TLS error, what kernel are you running? Is it NPTL
enabled? It is assumed that RH9, FC1 and SuSE 9.1 are NPTL-enabled
distributions.

Now, about the SPEC file:

The changes you made were necessary because the SPEC file I uploaded
came from my RH 9 build environment.

The files you added, cilc, monosn, the various .la files and
Mono.Security.Win32 are part of the tarball, but they do not need to
be released. That's why there are not in the original SPEC file I
published.

I'll look into gzipping our man pages in the next revision of our
packages.



---- Additional Comments From david.brownlee@comcast.net 2004-05-27 23:02:00 MST ----

a) They install fine without conflicts but produce a runtime error 
(see b) 
 
b) 2.4.22-1.2188.nptl.  That kernel was current (FC1 + updates) at 
the time I reported the bug. 
 
> The files you added, cilc, monosn, the various .la files and 
> Mono.Security.Win32 are part of the tarball, but they do not need  
> to be released. That's why there are not in the original SPEC file  
> I published. 
 
I added the files to the spec file so that rpmbuild would create the 
package file instead of complaining about files installed but not in 
the spec file.  If they don't need to be included, then the spec 
file's install section could be changed to make sure they don't get 
copied into the buildroot. 
 
Thanks for looking at these issues.  I'm completely new to C#/.Net 
but I'm looking forward to using mono as a learning tool. 



---- Additional Comments From duncan@ximian.com 2004-06-23 15:52:58 MST ----

I don't think we're gonna support the spec files. They are provided as
hints for people who are interested in building their own packages.


Unknown bug field "cf_op_sys_details" encountered while moving bug
   <cf_op_sys_details>Fedora FC1 with updates as of 5/11</cf_op_sys_details>
Unknown operating system unknown. Setting to default OS "Other".