Author: wade Date: 2005-11-09 19:04:38 -0500 (Wed, 09 Nov 2005) New Revision: 52808
Added: trunk/release/linux-installer/projects/Readme.txt Removed: trunk/release/linux-installer/projects/mono/Readme-1.1.7.txt trunk/release/linux-installer/thirdparty/ Modified: trunk/release/linux-installer/ trunk/release/linux-installer/buildlinux-installer trunk/release/linux-installer/projects/mono.xml Log: Linux installer updates: -use bitrock 3.0.1 -Undo all the wrapper script, environment var setting relocation stuff (Takes advantage of mono being relocatable) -Add file for release specific readme notes -Fix www links for redhat rpms Property changes on: trunk/release/linux-installer ___________________________________________________________________ Name: svn:ignore - novell.xml output + novell.xml output external_rpms Modified: trunk/release/linux-installer/buildlinux-installer =================================================================== --- trunk/release/linux-installer/buildlinux-installer 2005-11-09 23:34:39 UTC (rev 52807) +++ trunk/release/linux-installer/buildlinux-installer 2005-11-10 00:04:38 UTC (rev 52808) @@ -10,31 +10,29 @@ use File::Slurp; -# TODO: Go through each of the binaries and make sure you can execute them! (For example, boo doesn't work either...) - # BOO Syntax highlighting is going to take some more porting... look at this file: opt/gnome/share/gtksourceview-1.0/language-specs/boo.lang for steps on how to do this my $DOWNLOAD_URL = "http://primates.ximian.com/~wberrier/linux-installer"; -my $IB_VER = "2.4.1"; +my $IB_VER = "3.0.1"; my $RPMVERCMP = abs_path(cwd() . "/../rpmvercmp/rpmvercmp"); my $prefix = cwd(); my $buildroot = "$prefix/build"; -my $external_rpms = "$prefix/thirdparty/external_rpms"; +my $external_rpms = "$prefix/external_rpms"; my $mono_rpms = "$prefix/../packaging/packages"; # the readline package is for the debugger (Probably won't need this for the next release of the debugger) # libtiff and libungif are for libgdiplus my @external_rpms_list = qw( - http://fr2.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/libstdc++-3.2.2-5.i386.rpm - http://fr2.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/linc-1.0.1-1.i386.rpm - http://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/pkgconfig-0.14.0-3.i386.rpm - http://fr2.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/readline-4.3-5.i386.rpm + ftp://linux.nssl.noaa.gov/redhat/linux/9/en/os/i386/RedHat/RPMS/libstdc++-3.2.2-5.i386.rpm + ftp://linux.nssl.noaa.gov/redhat/linux/9/en/os/i386/RedHat/RPMS/linc-1.0.1-1.i386.rpm + ftp://linux.nssl.noaa.gov/redhat/linux/9/en/os/i386/RedHat/RPMS/pkgconfig-0.14.0-3.i386.rpm + ftp://linux.nssl.noaa.gov/redhat/linux/9/en/os/i386/RedHat/RPMS/readline-4.3-5.i386.rpm - ftp://ftp.redhat.com/pub/redhat/linux/9/en/os/i386/RedHat/RPMS/libtiff-3.5.7-11.i386.rpm - ftp://ftp.redhat.com/pub/redhat/linux/9/en/os/i386/RedHat/RPMS/libungif-4.1.0-15.i386.rpm + ftp://linux.nssl.noaa.gov/redhat/linux/9/en/os/i386/RedHat/RPMS/libtiff-3.5.7-11.i386.rpm + ftp://linux.nssl.noaa.gov/redhat/linux/9/en/os/i386/RedHat/RPMS/libungif-4.1.0-15.i386.rpm ); @@ -45,7 +43,7 @@ ftp://ftp.ximian.com/pub/ximian-evolution/redhat-9-i386/libgal2.0_6-1.99.11-0.ximian.6.1.i386.rpm ); -# Hash of base pathes mapping to an array of rpms +# rpm locations we build locally my @local_rpms = ( "$mono_rpms/x86/mono-1.1", "$mono_rpms/x86/mono-debugger", @@ -97,7 +95,7 @@ # check for installer and install if it isn't there if ( ! -e "$ENV{HOME}/installbuilder-$IB_VER/bin/builder" ) { - my $installer = "installbuilder-multiplatform-$IB_VER-linux-installer.bin"; + my $installer = "installbuilder-enterprise-$IB_VER-linux-installer.bin"; # Doesn't redownload if not needed print "Downloading the Bitrock installer...\n"; @@ -132,6 +130,10 @@ # Download the stock and custom rpms if they don't exist already and then extract them my $cwd = cwd(); +if( ! -e $external_rpms) { + mkdir $external_rpms; +} + chdir ($external_rpms); foreach my $url (@external_rpms_list, @custom_rpms_list) { @@ -155,7 +157,6 @@ extract(abs_path($file)); } - foreach my $base (@local_rpms) { my $latest_version = getLatestVersion($base); @@ -169,66 +170,12 @@ mkpath($output); write_file("$output/packages_used.txt", $packages_used_text); - # The tcl version of the this script got the "normalized" full path to the file... this should work my $p = $buildroot; -# Native binaries that need a wrapper in order to run in a different location -my @wrapped_elf_binaries = qw( mono monodiet monodis monograph ); - -foreach my $file (@wrapped_elf_binaries) { - rename("$buildroot/usr/bin/$file", "$buildroot/usr/bin/$file.bin"); - copy("$p/../wrapper.template", "$buildroot/usr/bin/$file"); - # For some reason, the copy doesn't preserve the permissions... - chmod(0755, "$buildroot/usr/bin/$file"); - - substituteParametersInFile("$buildroot/usr/bin/$file", 'wrapper.bin' => "$file.bin"); -} - - # Other permissions that do not get set... gapi_codegen.exe, gapi-fixup.exe, #does this matter? Probably... because there's that one feature which will invoke mono on certain types of binaries... this should probably happen in the rpm though so it gets fixed in both places... -# Relativize the symbolic links -foreach my $d (qw(1.0 2.0 gtk-sharp gecko-sharp)) { - - if(! -e "$p/usr/lib/mono/$d") { - print "Skipping $d\n"; - } else { - - chdir "$p/usr/lib/mono/$d"; - - foreach my $f (glob "*.dll") { - - # If it's not a symbolic link, skip it - if(! -l $f) { - print "Skipping $f\n"; - } else { - - my $target = readlink $f; - - print "Start target: $target\n" if ($debug); - - # Match from "gac" on to the rest of the string - $target =~ /(gac.*)/; - - $target = "../$1"; - - print "End target: $target\n" if ($debug); - - unlink($f); - - print "$f $target\n"; - - # Create the link - symlink($target, $f); - - } - } - } -} - - chdir $p; # Don't need the opt gnome file @@ -245,51 +192,13 @@ print "Substituting $f\n"; } -# TODO: This list needs to be dynamic (it's a pain to update it for all the new shell wrappers) -my @executable_wrappers = qw( - al - monodoc mod webshot mcs asp-state dbsessmgr - mod-mono-server mod-mono-server2 - xsp xsp2 - resgen makecert mbas monodocer monodocs2html monodocs2slashdoc - gconfsharp2-schemagen gapi-codegen gapi2-codegen gapi2-fixup gapi2-parser - monodevelop - - mdassembler mdcs2ecma mdnormalizer mdvalidater +my @executable_wrappers; +foreach my $f (glob "$p/usr/bin/*") { + my $text = read_file($f); - sn + if ($text =~ /#! ?\/bin\/sh/) { + push @executable_wrappers, File::Basename::basename($f); - xsd - booc booi booish - ikvm ikvmc ikvmstub -); - - -# This only works for the executables match the wrappers (some don't: mdassembler -> assembler.exe) -# Get list .net executables, check if there's a wrapper, and if so, add it to the list to get substituted -foreach my $file ((glob "$p/usr/bin/*.exe"), (glob "$p/usr/lib/mono/*/*.exe")) { - - my $name; - my $path; - my $suffix; - - ($name, $path, $suffix) = &File::Basename::fileparse($file, '\..*$'); - - my $num_found; - - # if the wrapper exists... add it to the list... - if(-e "$p/usr/bin/$name") { - # Add it to the list if it's not there already - unless($num_found = grep(/$name/, @executable_wrappers)) { - print "Adding $name to list of executables!\n"; - push @executable_wrappers, $name; - } - - # If it's in /lib/mono/2.0, add extra env info - if($file =~ /lib\/mono\/2\.0/) { - print "Adding lib/mono/2.0 env info: $file\n"; - substituteParametersInFile("$p/usr/bin/$name", 'exec' => 'MONO_PATH=$MONO_PATH:/usr/lib/mono/2.0 exec'); - } } } @@ -302,24 +211,14 @@ 'mono --debug' => 'exec @@BITROCK_MONO_ROOTDIR@@/bin/mono --debug'); print "Substituting $f\n"; } else { - print "***Not found $f***\n"; + print "***Not found $p/usr/bin/$f***\n"; } } -# Add some extra settings for specific scripts... -# (What other scripts need something like this?) -substituteParametersInFile("$p/usr/bin/gacutil", - 'gacutil.exe' => 'gacutil.exe -gacdir @@BITROCK_MONO_ROOTDIR@@'); - -#substituteParametersInFile("$p/usr/lib/mono/gac/monodoc/1.0.0.0__0738eb9f132ed756/monodoc.dll.config", # This glob should only return one file... substituteParametersInFile( (glob "$p/usr/lib/mono/gac/monodoc/1.0*/monodoc.dll.config"), '/usr' => '@@BITROCK_MONO_ROOTDIR@@'); -# This was commented out in the original script... -#maui::util::substituteParametersInFile $p/usr/lib/mono/gac/gtkhtml-sharp/1.0.0.0__35e10195dab3c99f/gtkhtml-sharp.dll.config [list .4 .2] -#maui::file::write $p/usr/bin/setenv.sh "export PATH=\$PATH:$p/bin/ export LD_LIBRARY_PATH=$p/lib:$p/lib/monodoc" - # Add some sections for gtksourceview to integrate boo my %boo_config_file_additions = ( @@ -351,39 +250,31 @@ copy("$p/../projects/mono/monourl.gif", "$p/usr/share/pixmaps"); copy("$p/../projects/mono/monotm48x48.png", "$p/usr/share/pixmaps"); copy("$p/../projects/mono/License.txt", "$p/usr/share/doc"); -# Need to figure out another way to get this version specific file... -#file copy -force $p/../projects/mono/Readme-1.1.7.txt $p/usr/share/doc/Readme.txt -# Get the readme for this version if it's there, otherwise don't worry about it -#system("wget http://go-mono.com/archive/$mono_version -O $p/usr/share/doc/Readme.txt"); -if(!-e "$p/usr/share/doc/Readme.txt") { - # If there was an error, zero out the Readme file - #$readme_text = "No release notes for this build..."; - $readme_text .= "\nVisit http://go-mono.com/archive/${mono_version} for release details\n\n$packages_used_text.\n"; - write_file("$p/usr/share/doc/Readme.txt", $readme_text); +# Take care of the Readme file +$readme_text .= read_file("$p/../projects/Readme.txt") . "\n\n"; +$readme_text .= "$packages_used_text\n"; +write_file("$p/usr/share/doc/Readme.txt", $readme_text); +substituteParametersInFile("$p/usr/share/doc/Readme.txt", '@@VERSION@@' => $mono_version); - # Just so some of the Readme makes sense... - substituteParametersInFile("$p/usr/share/doc/Readme.txt", - '/usr' => '@@BITROCK_MONO_ROOTDIR@@'); -} - mkdir "$p/html"; # TODO: Here's another file that changes with each release... need to update it manually for now copy("$p/../projects/mono/html/index.html", "$p/html"); + copy("$p/../projects/mono/html/mono.css", "$p/html"); copy("$p/../projects/mono/html/bitrock.png", "$p/html"); # Generate some stuff in mono.xml my $result; -# Get a list of files to put in the package... -foreach my $item (@executable_wrappers, @wrapped_elf_binaries) { +# Get a list of files to substitute +#foreach my $item (@executable_wrappers, @wrapped_elf_binaries) { +foreach my $item (@executable_wrappers) { $result .= "*/bin/$item;"; } $result .= "*/monodoc.dll.config;*/*.pc"; -$result .= ";*share/doc/Readme.txt"; substituteParametersInFile("$p/mono.xml", '@@SUBST_FILES@@' => $result); Added: trunk/release/linux-installer/projects/Readme.txt =================================================================== --- trunk/release/linux-installer/projects/Readme.txt 2005-11-09 23:34:39 UTC (rev 52807) +++ trunk/release/linux-installer/projects/Readme.txt 2005-11-10 00:04:38 UTC (rev 52808) @@ -0,0 +1,14 @@ +Visit http://go-mono.com/archive/@@VERSION@@ for release details. + +Please file any bugs or issues at http://bugzilla.ximian.com + +Installer changes: + +- Install Software has been updated to Bitrock 3.0.1 +- Since Mono is relocatable, the wrapper scripts + are not needed anymore + +Warning: gtk-sharp apps (Monodoc, MonoDevelop, etc...) + may not work on all distros. This is due to differing + gtk+ versions. + Deleted: trunk/release/linux-installer/projects/mono/Readme-1.1.7.txt =================================================================== --- trunk/release/linux-installer/projects/mono/Readme-1.1.7.txt 2005-11-09 23:34:39 UTC (rev 52807) +++ trunk/release/linux-installer/projects/mono/Readme-1.1.7.txt 2005-11-10 00:04:38 UTC (rev 52808) @@ -1,264 +0,0 @@ - - Mono 1.1.7 Development Release - - Mono 1.1.7 is the seventh release on the development series of Mono. - The Mono 1.1.x series will eventually lead to the next stable - milestone: Mono 1.2. - - We consider Mono 1.1.7 stable enough to recommend it for all users. - Those upgrading from the 1.0.x series should note that these notes - only contain the differences between 1.1.6 and 1.1.7. All of the - changes since 1.0 are documented in the following release notes: - [1]1.1.1, [2]1.1.2, [3]1.1.3, [4]1.1.4, [5]1.1.5 and [6]1.1.6. - * [7]What is new since the last release. - * [8]Download and installation. - - Mono 1.1.7 overview - - The Mono core is pretty much complete for the 1.2 release, at this - point we are only waiting for Windows.Forms to be completed before we - can ship it. At this point we are scheduled to release Mono 1.2 in - September. - - In the meantime, Mono development has fallen into two categories: - * New code: Windows.Forms, libraries from the 2.x profile (ASP.NET - 2, ADO.NET 2), new compilers (JScript, Basic, C# 2.0). - ie, non-core components. - * New VM features: cross-platform register allocator, new string - collation framework, precise garbage collector. - These are being developed on either branches or on separate trees - and do not affect trunk. - - The above setup allows us to continue development without interfering - with the stability of Mono 1.1.x. - - New I/O Layer - - In Mono 1.1.7 we are including Dick Porter's new IO-Layer, which is - daemon-less. Before 1.1.7 Mono would always launch an auxiliary - process that would be used by multiple Mono programs to share - information like: global mutexes (named mutexes), file sharing status - per-file, process and thread status. - - Mono no longer requires a separate shared process to provide the - previous features, this has significantly improved Mono's I/O - performance. Beagle is three times as fast indexing files and xsp - tripled its speed. - - Http Client Interactions - - In the past the HttpWebRequest could starve the ThreadPool and it - would lead to deadlocks as documented [9]on our web site. - - Gonzalo deployed a new implementation that does not have these - problems and can take advantage of Linux epoll or kqueue. - - This code not only eliminated the potential deadlocks, but also - improved the client http throughput by avoiding unnecessary context - switches. - - Also ReadWriteTimeout is supported and Abort works properly now. - - FreeBSD support - - Thanks to Bill Middleton support for i386 FreeBSD (tested against 5.4 - and 6.x-CURRENT) is now available. - - Windows.Forms - - Extensive progress on the Windows.Forms support code since the March - 18th release. Jackson wrote a new double-buffering framework to bring - our implementation in line with the expected behavior. - - Databinding is now supported on this release (simple and complex data - binding), not all controls are ready though, controls that support it: - ListBox, CheckedListBox and ComboBox (Jackson and Jordi). - - Alexander Olk implemented the file dialogs and did various touch-ups - to other dialogs and widgets. - - Complete widgets: ImageListStreamer (Jackson), - - Prototype widgets: DataGrid widget and data container widgets (Jordi) - and RichTextBox (Peter) - - ASP.NET - - New ASP.NET 2.0 controls completed: ButtonField, DetailsView, - FormView, GridView, CheckBoxField, HyperlinkField, ImageField, - TemplateField by Lluis. - - Implemented support for two-way bindings in ASP.NET, ObjectDataSource - and various improvements to the Menu control. - - Gonzalo added support for code render syntax inside non-server tags, - ie., <span <%= (firefox) ? class="cool" : "" %>> - - C# Compiler - - Hari and Marek continue the work on making the compiler comply more - strictly to the C# specification. In some areas the compiler is - faster, and consumes less memory, but it also provides better error - messages and includes many new warnings that before were ignored. - - Martin synchronized the generics compiler codebase with our main - compiler codebase. Also all bug reported on the generics compiler - (except two parsing errors) have now been fixed and the generics class - libraries have been modified to match the Beta2 libraries. - - Marek implemented C# 2.0 conditional attributes and DefaultCharSet - attribute. - - SSL/TLS - - Many important fixes from Sebastien: - * Fixed asynchronous operations; - * Fixed support for client-side certificates; - * Performance enhancements; - - Security - - Continued work on the CAS from Sebastien (--security flag). - - Exposed more of the Mono.Security libraries as the .NET 2.x framework - includes more features. - - New Assemblies. - - The following assemblies are now functional: - - System.Configuration.Install Written by Muthu Kannan and Harinath - Raja. - - System.ServiceProcess: Joerg Rosenkranz Completed the support and - implemented the service host daemon. - - JavaScript - - Cesar's effort on JScript continue, not the compiler implements: - * Strict-Equality operators - * Eval - * RegularExpressionLiteral - * For-in statement - * Custom constructors - * Increment/Decrement operators - * First-class functions - - Plus bug fixing. - - The JScript's runtime support now supports: - * ArrayConstructor's CreateInstance function - * ArrayPrototype's join method - * JSFieldInfo's GetValue and SetValue functions - * JScriptException's constructor - * Initial implementation of LateBinding's CallValue and - * SetIndexedPropertyValueStatic - - Basic Language - - Manjula, Sudha and Ankit continued working on the Basic compiler and - the Basic runtime: - * Implemented "End statement" - * Support "Exit Function" - * Support declaration of decimal numbers. - * Support 'Or' argument of AttributeTargets in AttributeUsage - * Conditional Constant Directives - * Support expressions for directives - * Support Reference Parameter when parameters and arguments are - different - - The runtime now features late binding: it is 75% complete. It works - with sub, functions, properties and fields, arrays. Late binding fit - in well with simple expressions (like in conditional expressions and - arithmatic expressions). - - Finally, there is support for default values using an attribute by - round-tripping and patching the runtime. - - ADO.NET - - SQLServer: Added support for Asynchronous command execution (Ankit and - Suresh). - - Various disconnected mode improvements: loading datatables. - - Mono.Posix assembly - - There is a new UnixListener and UnixClient classes in the Mono.Unix - namespace. - - Build System - - Users will have to do make at least once in Mono before they can do - make in any directory. - -Installing Mono 1.1.7 - - Important: Mono 1.1.7 can not be installed in parallel with Mono 1.0.x - series on the same prefix. To work around this issue, you must use a - different prefix at configure time, for example: - - $ ./configure --prefix=/devel - - You can then setup your PATH to include /devel/bin to access the Mono - 1.1. Alternatively you can replace your Mono installation with 1.1.7 - - Binary Packages: - - Pre-compiled packages for SUSE, SLES, Fedora Core, RHEL are - available from our web site from the [10]download section. - - MacOS and Windows packages will be uploaded soon. - - Source code: - - * Mono Source Code: [11]mono-1.1.7.tar.gz - - Quick source code installation: - - If we have no packages for your platform, installing from source - code is very simple. - - mono: - - $ tar xzf mono-1.1.7.tar.gz - $ cd mono-1.1.7 - $ ./configure - $ make - $ make install - - Contributors - - The following list is a partial list of contributors to this release: - - Alexander Olk, Alp Toker, Andrew Skiba, Ankit Jain, Atsushi Enomoto, - Ben Maurer, Bernie Solomon, Bill Middleton, Boris Kirzner, Brian - Ritchie, Carlos Alberto Cortes, Cesar Octavio Lopez Nataren, Christian - Hergert, Chris Toshok, Daniel Drake, Daniel Morgan, David Hudson, - Daniel Rodriguez, David Waite, Dick Porter, Eyal Alaluf, Geoff Norton, - Gonzalo Paniagua, Hiroyuki Ishimine, Hubert FONGARNAND, Hye-Shik - Chang, Ilya Kharmatsky, Jackson Harper, Jambunathan K, James Wilcox, - Jb Evain, Joe Shaw, John BouAntoun, John Luke, Jonathan Pryor, - Jonathan S. Chambers, Jon Larimer, Jordi Mas, Joshua Tauberer, J�rg - Rosenkranz, Konstantin Triger, Lluis Sanchez, Luke Ravitch, Manjula, - Marek Safar, Martin Baulig, Martin Willemoes Hansen, Massimiliano - Mantione, Miguel de Icaza, Mike Kestner, Mike Tindal, Neale Ferguson, - Nick Drochak, Paolo Molaro, Pedro Kiefer, Peter Bartok, Peter - Johanson, Rob Lyon, Rafael Teixeira, Raja R Harinath, Randy Ridge, - Ritvik Mayank, Rob Lyon, Sebastien Pouliot, [EMAIL PROTECTED], - Sudha, Sudharsan V, Suresh, Toby Miller, Urs Muff, Zac Bowling and - Zoltan Varga - -References - - 1. http://www.go-mono.com/archive/1.1.1 - 2. http://www.go-mono.com/archive/1.1.2 - 3. http://www.go-mono.com/archive/1.1.3 - 4. http://www.go-mono.com/archive/1.1.4 - 5. http://www.go-mono.com/archive/1.1.5 - 6. http://www.go-mono.com/archive/1.1.5 - 7. http://www.go-mono.com/archive/1.1.7/#new - 8. http://www.go-mono.com/archive/1.1.7/#install - 9. http://www.mono-project.com/ThreadPool_DeadLocks - 10. http://www.go-mono.com/download.html - 11. http://www.go-mono.com/sources/mono-1.1/mono-1.1.7.tar.gz Modified: trunk/release/linux-installer/projects/mono.xml =================================================================== --- trunk/release/linux-installer/projects/mono.xml 2005-11-09 23:34:39 UTC (rev 52807) +++ trunk/release/linux-installer/projects/mono.xml 2005-11-10 00:04:38 UTC (rev 52808) @@ -162,6 +162,10 @@ <name>MANPATH</name> <value>${installdir}/share/man:$MANPATH</value> </addEnvironmentVariable> + <addEnvironmentVariable> + <name>LD_LIBRARY_PATH</name> + <value>${installdir}/lib:$LD_LIBRARY_PATH</value> + </addEnvironmentVariable> </actionList> <ruleList> <compareText> _______________________________________________ Mono-patches maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-patches
