[Pkg-mono-svn-commits] rev 2298 - in cli-common/trunk: . debian
Mirco Bauer
meebey-guest at costa.debian.org
Sun Mar 5 14:39:57 UTC 2006
Author: meebey-guest
Date: 2006-03-05 14:39:55 +0000 (Sun, 05 Mar 2006)
New Revision: 2298
Modified:
cli-common/trunk/cli-policy.sgml
cli-common/trunk/debian/changelog
Log:
- CLI Policy 0.3.0
Modified: cli-common/trunk/cli-policy.sgml
===================================================================
--- cli-common/trunk/cli-policy.sgml 2006-03-04 10:32:22 UTC (rev 2297)
+++ cli-common/trunk/cli-policy.sgml 2006-03-05 14:39:55 UTC (rev 2298)
@@ -13,17 +13,17 @@
</author>
<version>
- Version 0.2.1
+ Version 0.3.0
</version>
<abstract>
This document lays out basic policies regarding packaging Mono, other
- CLRs and CLI based applications/libraries on Debian GNU/Linux.
+ <qref id="CLR">CLRs</qref> and <qref id="CLI">CLI</qref> based applications/libraries on Debian GNU/Linux.
</abstract>
<copyright>
<copyrightsummary>
- Copyright © 2005 Mirco Bauer and Brandon Hale.
+ Copyright © 2005-2006 Mirco Bauer and Brandon Hale.
</copyrightsummary>
<p>This manual is free software; you may redistribute it and/or modify it
@@ -51,6 +51,15 @@
<p>Here are the changes to the Debian CLI Policy document.</p>
<p>
+ Changes from 0.2.1 to 0.3.0:
+ <list>
+ <item><ref id=".NET">: Added URL for the ".NET" term.</item>
+ <item><ref id="GAC">: Added explanation of GAC.</item>
+ <item><ref id="GAC-pkgs">: Added section for naming of GAC packages.</item>
+ </list>
+ </p>
+
+ <p>
Changes from 0.2.0 to 0.2.1:
<list>
<item><ref id="cli-common">: Added examples for debhelper and CDBS.</item>
@@ -82,7 +91,7 @@
look confusing to other people.
Here a short list with their explanations:</p>
- <sect>
+ <sect id="CLI">
<heading>CLI - Common Language Infrastructure</heading>
<p>This is what most people mean when they say ".NET".
@@ -90,43 +99,98 @@
works together and is an <url id="http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36769" name="ISO"> and <url id="http://www.ecma-international.org/publications/standards/Ecma-335.htm" name="ECMA"> standard.</p>
</sect>
- <sect>
+ <sect id="CLR">
<heading>CLR - Common Language Runtime</heading>
- <p>The CLR is an implementation of the CLI (often with a lot of addons
+ <p>The CLR is an implementation of the <qref id="CLI">CLI</qref> (often with a lot of addons/tools
for developers), like Mono or Microsoft .NET Framework is.</p>
</sect>
- <sect>
+ <sect id="CIL">
<heading>CIL - Common Intermediate Language</heading>
- <p>CIL is the the format of the bytecode (for binaries and libraries)
- used by CLI.</p>
+ <p>CIL is the format of the bytecode (for binaries and libraries)
+ used by <qref id="CLI">CLI</qref>.</p>
</sect>
- <sect>
+ <sect id=".NET">
<heading>".NET" or long "Microsoft .NET Framework"</heading>
<p>The word .NET is a marketing word by Microsoft, which is basically a
CLR with added Microsoft technologies like: ASP.NET, VB.NET,
- System.Windows.Forms, Passport and a lot of other things.
- <strong>We highly discourage from using any form of the word ".NET", it is
- burdened by copyright and marketing.</strong> We advice to use the correct
- term instead, which is often CLI.</p>
+ System.Windows.Forms, Passport and a lot of other things.<p>
+
+ <p><strong>We highly discourage from using any form of the word ".NET", it is
+ burdened by copyright and marketing.</strong> We advice to use the correct
+ term instead, which is usually <qref id="CLI">CLI</qref>.</p>
+
+ <p>If you really want to use the ".NET" term in a correct form please refer to the
+ <url id="http://www.microsoft.com/mscorp/ip/trademarks/netguide.asp" name="Microsoft .NET Guidelines"></p>
</sect>
+
+ <sect id="GAC">
+ <heading>GAC - Global Assembly Cache</heading>
+
+ <p>The GAC contains and manages the libraries for the <qref id="CLR">CLR</qref>.
+ It allows users to install multiple versions of the same library and load
+ the right version when an application is executed.</p>
+ <p>Mono stores the GAC at <file>/usr/lib/mono/gac</file></p>
+ <p>Portable.NET stores the GAC at <file>/usr/lib/cscc/lib</file></p>
+ </sect>
</chapt>
<chapt>
- <heading>Library Package Naming</heading>
-
- <p>Most other languages have unified names for library/plugins/module
- packages in Debian, which makes it easier for users and maintainers. Perl
- for example uses libfoo-perl, Java uses also libfoo-java. For CLI libraries
- (CIL bytecode) libfoo-cil should be used, e.g. libgecko-cil. The term
- "sharp" does not represent the language, a CLI library can be used with all
- CLI implemented/enabled languages like C#, J#, ASP.NET, VB.NET (<url
- id="http://www.go-mono.com/languages.html" name="click here"> for the full
- list), this is why the extension "-cil" is the right one.</p>
+ <heading>Library Packaging</heading>
+
+ <sect>
+ <heading>Package Naming</heading>
+
+ <p>Most other languages have unified names for library/plugins/module
+ packages in Debian, which makes it easier for users and maintainers. Perl
+ for example uses libfoo-perl, Java uses also libfoo-java. For
+ <qref id="CLI">CLI</qref> libraries (<qref id="CIL">CIL</qref> bytecode)
+ libfoo-cil should be used, e.g. libgecko-cil. The sometimes used term
+ "sharp" does not represent the language, a <qref id="CLI">CLI</qref> library
+ can be used with all <qref id="CLI">CLI</qref> implemented/enabled languages
+ like C#, Boo, Nemerle, J#, ASP.NET, VB.NET
+ (<url id="http://www.mono-project.com/Languages" name="full list">),
+ this is why the extension "-cil" is the right one.</p>
+
+ <sect1 id="GAC-pkgs">
+ <heading>GAC Packages</heading>
+
+ <p>When installed in the <qref id="GAC">GAC</qref>, <qref id="CIL">CIL</qref>
+ library package name should also reflect the version of the library.
+ This mirrors the SOVERSION-based <url
+ id="http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#naminglibpkg"
+ name="naming of native library packages">. The package containing the library
+ <file>/usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5/avahi-sharp.dll</file>
+ would be named <package>libavahi1.0-cil</package>, after it's major (first) and minor (second) version
+ component in the GAC.</p>
+
+ <p>When packaging the first version of a library, the <em>package name</em> can be unversioned, e.g.
+ <package>libfoo-cil</package>. If the author never breaks ABI compatibility from this initial version,
+ there is no need to reflect this compatiblity in the package name.</p>
+
+ <p>It should be noted that there are two somewhat common exceptions to this versioned naming scheme.
+ <list>
+ <item>Policy Files
+ <p>Some libraries are ABI compatible across minor versions. They can use a policy file to override the
+ assembly version in the GAC.<p>
+ An example of this is <package>libgtk2.0-cil</package>. The name libgtk2.0-cil came from older releases of Gtk# which was 2.0, later upstream changed it to 2.4 to reflect the version of GTK+. The assembly version
+ 2.8.0.0 is ABI compatible with binaries built against 2.4.0.0 and 2.6.0.0, and can be substituted with a policy
+ file at runtime. You would name the package after the least compatible version, 2.4.0.0 in this case, making the name <package>libgtk2.4-cil</package>, while it's compatible with 2.6 and 2.8.</p>
+ </item>
+ <item>"Unstable" Libraries
+ <p>These libraries are usually in an early stage of development and
+ offer little or no promises about API or ABI stability. These libraries
+ are not always strongly versioned, and should not be installed into the <qref id="GAC">GAC</qref>.
+ The package name should not contain the assembly version.</p>
+ </item>
+ </list>
+ </p>
+ </sect1>
+ </sect>
</chapt>
<chapt id="build-deps">
@@ -138,10 +202,13 @@
<p>
Current CLI compilers in Debian:
<list>
- <item>C#: <package>mono-mcs</package> (>= 1.0) | c-sharp-compiler
+ <item>
+ C#: <package>mono-mcs</package> (>= 1.0) | c-sharp-compiler
</item>
<!-- <item>Nemerle: </item> -->
- <item>Boo: <package>boo</package> (>= 0.5.6)</item>
+ <item>
+ Boo: <package>boo</package> (>= 0.5.6)
+ </item>
</list>
</p>
Modified: cli-common/trunk/debian/changelog
===================================================================
--- cli-common/trunk/debian/changelog 2006-03-04 10:32:22 UTC (rev 2297)
+++ cli-common/trunk/debian/changelog 2006-03-05 14:39:55 UTC (rev 2298)
@@ -2,7 +2,7 @@
* NOT RELEASED YET
* Mirco 'meebey' Bauer
- + Includes CLI policy version 0.2.1.
+ + Includes CLI policy version 0.3.0.
+ Added LD_LIBRARY_PATH to "mono" call for internal-mono mode.
+ Fixed dllmap parser regex in dh_clideps and dh_makeclideps, to not use
the full filename but the SONAME.
More information about the Pkg-mono-svn-commits
mailing list