Translate: (part 1 of 3) [cvs] web/xml/packaging packaging.en.xml, 1.98, 1.99

"David R. Morrison" <[email protected]> Mon, 9 Jun 2008 09:44:27 -0700
Newsgroups gmane.os.apple.fink.i18n
Message-ID <[email protected]>
--===============0733047687==
Content-Type: multipart/alternative; boundary=Apple-Mail-1-646950033


--Apple-Mail-1-646950033
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: 7bit



Begin forwarded message:

> From: Daniel Macks <[email protected]>
> Date: June 2, 2008 11:45:05 AM PDT
> To: [email protected]
> Subject: [cvs] web/xml/packaging packaging.en.xml,1.98,1.99
> Reply-To: [email protected]
>
> Update of /cvsroot/fink/web/xml/packaging
> In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv25353
>
> Modified Files:
> 	packaging.en.xml
> Log Message:
> document the private shared library game
>
>
> Index: packaging.en.xml
> ===================================================================
> RCS file: /cvsroot/fink/web/xml/packaging/packaging.en.xml,v
> retrieving revision 1.98
> retrieving revision 1.99
> diff -u -d -r1.98 -r1.99
> --- packaging.en.xml	1 May 2008 19:05:31 -0000	1.98
> +++ packaging.en.xml	2 Jun 2008 18:45:03 -0000	1.99
> @@ -601,7 +601,8 @@
> Fink has a new policy about shared libraries, effective in February  
> 2002.
> This section of the documentation discusses version 4
> of the policy, which coincides with the release of Fink's 0.5.0  
> distribution
> -(as well as some updates from December, 2006 to handle 64bit  
> libraries).
> +(as well as some updates from December, 2006 to handle 64bit  
> libraries
> +and from January, 2008 to handle private shared libraries).
> We begin with a quick summary, and then discuss things in more detail.
> </p><p>
> Any package which builds shared libraries and is either (1) being  
> put into
> @@ -612,7 +613,7 @@
> 64bit libraries), that
>        the install_name of each library and
>        its compatibility and current version numbers are correct </li>
> -<li>   put the shared libraries in a separate package (except for the
> +<li>   put the public shared libraries in a separate package  
> (except for the
>        links from libfoo.dylib to the install_name), and include
>        the <code>Shlibs</code> field in that package</li>
> <li>   put the headers and the final links from libfoo.dylib into a  
> package
> @@ -674,7 +675,7 @@
> are also free to build static libraries as well, if appropriate
> for their packages; or they may submit packages containing only static
> libraries if they wish.)
> -Whenever shared libraries are being built,
> +Whenever shared libraries are being built that are expected to be  
> used by other packages,
> <em>two</em> closely related fink packages should be made, named foo
> and foo-shlibs.  The shared libraries go in foo-shlibs, and the header
> files go in foo.  These two packages
> @@ -684,8 +685,10 @@
> to make more than two packages from the source, and this can be done
> using <code>SplitOff2</code>, <code>SplitOff3</code>, etc.)
> </p><p>
> -Each software package for which shared libraries can be built must  
> have
> -a <em>major version number</em> N.  The major version number is  
> only supposed
> +Each software package for which public shared libraries are built  
> must have
> +a <em>major version number</em> N, which is included in the shared
> +library's filename (for example, <filename>libbar.N.dylib</ 
> filename>).
> +The major version number is only supposed
> to change when a backwards-incompatible change in the library's API  
> has been
> made.  Fink uses the following naming convention: if the upstream name
> of the package is bar, then the fink packages are called barN and
> @@ -864,13 +867,27 @@
> future versions of fink, this warning will be expanded to cover the  
> case of
> a .deb with header files and a static library as well.)
> </p>
> +
> +<p>
> +  The goal of the Shared Library Policy is to allow assure
> +  compatibility between libraries supplied by one package and
> +  libraries or programs that use them in a different package. Some
> +  packages may have shared libraries that are not designed to be used
> +  by other packages. Common situations include a suite of programs
> +  that come with a back-end library of utility functions or a program
> +  that comes with plugins to handle various features. Because these
> +  libraries are "private" to the package that has them, they do not
> +  require being packages with separate -shlibs
> +  or <code>BuildDependsOnly</code> SplitOffs.
> +</p>
> <p><em>The Shlibs field</em>
> </p><p>
> In addition to putting the shared libraries in the correct package,  
> as of
> version 4 of this policy, you must also declare all of the shared  
> libraries
> using the <code>Shlibs</code> field.  This field has one line for each
> shared library, which contains the <code>-install_name</code> of the
> -library, the <code>-compatibility_version</code>, versioned
> +library. If the library is public, its <code>Shlibs</code> entry also
> +lists the <code>-compatibility_version</code>, versioned
> dependency information specifying the Fink package which provides
> this library at this compatibility version, and the library
> architecture.  (The library architecture may either be "32", "64", or
> @@ -961,7 +978,7 @@
> </p><p>
> <em>Packages containing both binary files and libraries:</em>
> </p><p>
> -When an upstream package contains both binary files and libraries,  
> some
> +When an upstream package contains both binary files and public  
> libraries, some
> care must be exercised in constructing fink packages.  In some cases,
> the only binary files will be things like <code>foo-config</code>  
> which
> are presumably only used at build time and never at run time.  In  
> these
> @@ -994,6 +1011,25 @@
> such time as the other package maintainers have upgraded their  
> packages
> which depend on <code>foo</code>.
> </p>
> +<p>
> +  As of fink-0.28.0 (released in January 2008), the format of
> +  the <code>Shlibs</code> entry for a "private" shared library has
> +  changed (see earlier discussion of the difference between a public
> +  and a private shared library). Note that the Shared Library Policy
> +  has always required all shared libraries to be listed; the change
> +  here is only in the syntax of the <code>Shlibs</code> field.  
> Because
> +  this type of shared library is not designed to be used by external
> +  packages, there is no need to document its compatilibity or other
> +  versioning. Instead, an exclamation-mark is used.  For example,
> +  if <filename>libquux.3.dylib</filename> is
> +  the <code>install_name</code> of a private shared library, it would
> +  be listed as follows:
> +</p>
> +<codeblock>
> +  Shlibs: &lt;&lt;
> +    !%p/lib/libquux.3.dylib
> +  &lt;&lt;
> +</codeblock>
>
> </section>
>
> @@ -2930,9 +2966,11 @@
> <em>Introduced in fink 0.11.0.</em>
> This field declares the shared libraries which are installed in the
> package.  There is one line for each
> -shared library, which contains three or four items separated by  
> whitespace:
> -the <code>-install_name</code> of the
> -library, the <code>-compatibility_version</code>, versioned
> +shared library, which contains the <code>-install_name</code> of the
> +library and information about its binary compatibility. Shared
> +libraries that are "public" (i.e., provided for use by other  
> packages)
> +have, separated by whitespace after the filename,
> +the <code>-compatibility_version</code>, versioned package
> dependency information specifying the Fink package which provides
> this library at this compatibility version, and the
> library architecture.  (The library architecture may either be "32",  
> "64", or
> @@ -2947,6 +2985,11 @@
> <code>-compatibility_version</code>
> of at least this number will always be found in later versions of this
> Fink package.
> +Shared libraries that are "private" are denoted by an exclamation  
> mark
> +preceeding the filename, and no compatilibity or versioning
> +information is given. See the <xref chapter="policy"
> +section="sharedlibs">Shared Library Policy</xref> for more
> +information.
> </p></itemd></item>
>
> <item><itemt>RuntimeVars</itemt>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Fink-commits mailing list
> [email protected]
> http://news.gmane.org/gmane.os.apple.fink.cvs


--Apple-Mail-1-646950033
Content-Type: text/html;
	charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; "><br><div><br><div>Begin =
forwarded message:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; "><font face=3D"Helvetica" size=3D"4" color=3D"#000000" =
style=3D"font: 14.0px Helvetica; color: #000000"><b>From: =
</b></font><font face=3D"Helvetica" size=3D"4" style=3D"font: 14.0px =
Helvetica">Daniel Macks &lt;<a =
href=3D"mailto:[email protected]">[email protected]<=
/a>></font></div><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; "><font face=3D"Helvetica" =
size=3D"4" color=3D"#000000" style=3D"font: 14.0px Helvetica; color: =
#000000"><b>Date: </b></font><font face=3D"Helvetica" size=3D"4" =
style=3D"font: 14.0px Helvetica">June 2, 2008 11:45:05 AM =
PDT</font></div><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; "><font face=3D"Helvetica" =
size=3D"4" color=3D"#000000" style=3D"font: 14.0px Helvetica; color: =
#000000"><b>To: </b></font><font face=3D"Helvetica" size=3D"4" =
style=3D"font: 14.0px Helvetica"><a =
href=3D"mailto:[email protected]">[email protected]=
ceforge.net</a></font></div><div style=3D"margin-top: 0px; margin-right: =
0px; margin-bottom: 0px; margin-left: 0px; "><font face=3D"Helvetica" =
size=3D"4" color=3D"#000000" style=3D"font: 14.0px Helvetica; color: =
#000000"><b>Subject: </b></font><font face=3D"Helvetica" size=3D"4" =
style=3D"font: 14.0px Helvetica"><b>[cvs] web/xml/packaging =
packaging.en.xml,1.98,1.99</b></font></div><div style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font =
face=3D"Helvetica" size=3D"4" color=3D"#000000" style=3D"font: 14.0px =
Helvetica; color: #000000"><b>Reply-To: </b></font><font =
face=3D"Helvetica" size=3D"4" style=3D"font: 14.0px Helvetica"><a =
href=3D"mailto:[email protected]">[email protected]=
rge.net</a></font></div><div style=3D"margin-top: 0px; margin-right: =
0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; =
"><br></div> </div><div>Update of /cvsroot/fink/web/xml/packaging<br>In =
directory =
sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv25353<br><br>Modified =
Files:<br><span class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>packaging.en.xml <br>Log Message:<br>document the private shared =
library game<br><br><br>Index: =
packaging.en.xml<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<b=
r>RCS file: =
/cvsroot/fink/web/xml/packaging/packaging.en.xml,v<br>retrieving =
revision 1.98<br>retrieving revision 1.99<br>diff -u -d -r1.98 =
-r1.99<br>--- packaging.en.xml<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>1 May 2008 19:05:31 -0000<span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>1.98<br>+++ packaging.en.xml<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>2 Jun 2008 18:45:03 -0000<span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>1.99<br>@@ -601,7 +601,8 @@<br> Fink has a new policy about =
shared libraries, effective in February 2002.<br> This section of the =
documentation discusses version 4<br> of the policy, which coincides =
with the release of Fink's 0.5.0 distribution<br>-(as well as some =
updates from December, 2006 to handle 64bit libraries).<br>+(as well as =
some updates from December, 2006 to handle 64bit libraries<br>+and from =
January, 2008 to handle private shared libraries).<br> We begin with a =
quick summary, and then discuss things in more detail.<br> =
&lt;/p>&lt;p><br> Any package which builds shared libraries and is =
either (1) being put into<br>@@ -612,7 +613,7 @@<br> 64bit libraries), =
that <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the install_name of =
each library and<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;its =
compatibility and current version numbers are correct =
&lt;/li><br>-&lt;li> &nbsp;&nbsp;put the shared libraries in a separate =
package (except for the<br>+&lt;li> &nbsp;&nbsp;put the public shared =
libraries in a separate package (except for the<br> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;links from libfoo.dylib to the =
install_name), and include<br> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the &lt;code>Shlibs&lt;/code> =
field in that package&lt;/li><br> &lt;li> &nbsp;&nbsp;put the headers =
and the final links from libfoo.dylib into a package<br>@@ -674,7 +675,7 =
@@<br> are also free to build static libraries as well, if =
appropriate<br> for their packages; or they may submit packages =
containing only static<br> libraries if they wish.)<br>-Whenever shared =
libraries are being built,<br>+Whenever shared libraries are being built =
that are expected to be used by other packages,<br> &lt;em>two&lt;/em> =
closely related fink packages should be made, named foo <br> and =
foo-shlibs. &nbsp;The shared libraries go in foo-shlibs, and the =
header<br> files go in foo. &nbsp;These two packages<br>@@ -684,8 =
+685,10 @@<br> to make more than two packages from the source, and this =
can be done<br> using &lt;code>SplitOff2&lt;/code>, =
&lt;code>SplitOff3&lt;/code>, etc.)<br> &lt;/p>&lt;p><br>-Each software =
package for which shared libraries can be built must have<br>-a =
&lt;em>major version number&lt;/em> N. &nbsp;The major version number is =
only supposed<br>+Each software package for which public shared =
libraries are built must have<br>+a &lt;em>major version number&lt;/em> =
N, which is included in the shared<br>+library's filename (for example, =
&lt;filename>libbar.N.dylib&lt;/filename>).<br>+The major version number =
is only supposed<br> to change when a backwards-incompatible change in =
the library's API has been<br> made. &nbsp;Fink uses the following =
naming convention: if the upstream name<br> of the package is bar, then =
the fink packages are called barN and <br>@@ -864,13 +867,27 @@<br> =
future versions of fink, this warning will be expanded to cover the case =
of<br> a .deb with header files and a static library as well.)<br> =
&lt;/p><br>+<br>+&lt;p><br>+ &nbsp;The goal of the Shared Library Policy =
is to allow assure<br>+ &nbsp;compatibility between libraries supplied =
by one package and<br>+ &nbsp;libraries or programs that use them in a =
different package. Some<br>+ &nbsp;packages may have shared libraries =
that are not designed to be used<br>+ &nbsp;by other packages. Common =
situations include a suite of programs<br>+ &nbsp;that come with a =
back-end library of utility functions or a program<br>+ &nbsp;that comes =
with plugins to handle various features. Because these<br>+ =
&nbsp;libraries are "private" to the package that has them, they do =
not<br>+ &nbsp;require being packages with separate -shlibs<br>+ =
&nbsp;or &lt;code>BuildDependsOnly&lt;/code> SplitOffs.<br>+&lt;/p><br> =
&lt;p>&lt;em>The Shlibs field&lt;/em><br> &lt;/p>&lt;p><br> In addition =
to putting the shared libraries in the correct package, as of<br> =
version 4 of this policy, you must also declare all of the shared =
libraries<br> using the &lt;code>Shlibs&lt;/code> field. &nbsp;This =
field has one line for each<br> shared library, which contains the =
&lt;code>-install_name&lt;/code> of the<br>-library, the =
&lt;code>-compatibility_version&lt;/code>, versioned <br>+library. If =
the library is public, its &lt;code>Shlibs&lt;/code> entry =
also<br>+lists the &lt;code>-compatibility_version&lt;/code>, =
versioned<br> dependency information specifying the Fink package which =
provides<br> this library at this compatibility version, and the =
library<br> architecture. &nbsp;(The library architecture may either be =
"32", "64", or<br>@@ -961,7 +978,7 @@<br> &lt;/p>&lt;p><br> =
&lt;em>Packages containing both binary files and libraries:&lt;/em><br> =
&lt;/p>&lt;p><br>-When an upstream package contains both binary files =
and libraries, some<br>+When an upstream package contains both binary =
files and public libraries, some<br> care must be exercised in =
constructing fink packages. &nbsp;In some cases,<br> the only binary =
files will be things like &lt;code>foo-config&lt;/code> which<br> are =
presumably only used at build time and never at run time. &nbsp;In =
these<br>@@ -994,6 +1011,25 @@<br> such time as the other package =
maintainers have upgraded their packages<br> which depend on =
&lt;code>foo&lt;/code>.<br> &lt;/p><br>+&lt;p><br>+ &nbsp;As of =
fink-0.28.0 (released in January 2008), the format of<br>+ &nbsp;the =
&lt;code>Shlibs&lt;/code> entry for a "private" shared library has<br>+ =
&nbsp;changed (see earlier discussion of the difference between a =
public<br>+ &nbsp;and a private shared library). Note that the Shared =
Library Policy<br>+ &nbsp;has always required all shared libraries to be =
listed; the change<br>+ &nbsp;here is only in the syntax of the =
&lt;code>Shlibs&lt;/code> field. Because<br>+ &nbsp;this type of shared =
library is not designed to be used by external<br>+ &nbsp;packages, =
there is no need to document its compatilibity or other<br>+ =
&nbsp;versioning. Instead, an exclamation-mark is used. &nbsp;For =
example,<br>+ &nbsp;if &lt;filename>libquux.3.dylib&lt;/filename> =
is<br>+ &nbsp;the &lt;code>install_name&lt;/code> of a private shared =
library, it would<br>+ &nbsp;be listed as =
follows:<br>+&lt;/p><br>+&lt;codeblock><br>+ &nbsp;Shlibs: =
&amp;lt;&amp;lt;<br>+ &nbsp;&nbsp;&nbsp;!%p/lib/libquux.3.dylib<br>+ =
&nbsp;&amp;lt;&amp;lt;<br>+&lt;/codeblock><br><br> =
&lt;/section><br><br>@@ -2930,9 +2966,11 @@<br> &lt;em>Introduced in =
fink 0.11.0.&lt;/em><br> This field declares the shared libraries which =
are installed in the<br> package. &nbsp;There is one line for =
each<br>-shared library, which contains three or four items separated by =
whitespace:<br>-the &lt;code>-install_name&lt;/code> of the<br>-library, =
the &lt;code>-compatibility_version&lt;/code>, versioned <br>+shared =
library, which contains the &lt;code>-install_name&lt;/code> of =
the<br>+library and information about its binary compatibility. =
Shared<br>+libraries that are "public" (i.e., provided for use by other =
packages)<br>+have, separated by whitespace after the filename,<br>+the =
&lt;code>-compatibility_version&lt;/code>, versioned package<br> =
dependency information specifying the Fink package which provides<br> =
this library at this compatibility version, and the<br> library =
architecture. &nbsp;(The library architecture may either be "32", "64", =
or<br>@@ -2947,6 +2985,11 @@<br> =
&lt;code>-compatibility_version&lt;/code><br> of at least this number =
will always be found in later versions of this<br> Fink =
package.<br>+Shared libraries that are "private" are denoted by an =
exclamation mark<br>+preceeding the filename, and no compatilibity or =
versioning<br>+information is given. See the &lt;xref =
chapter=3D"policy"<br>+section=3D"sharedlibs">Shared Library =
Policy&lt;/xref> for more<br>+information.<br> =
&lt;/p>&lt;/itemd>&lt;/item><br><br> =
&lt;item>&lt;itemt>RuntimeVars&lt;/itemt><br><br><br>---------------------=
----------------------------------------------------<br>This SF.net =
email is sponsored by: Microsoft<br>Defy all challenges. Microsoft(R) =
Visual Studio 2008.<br><a =
href=3D"http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/">http://cl=
k.atdmt.com/MRT/go/vse0120000070mrt/direct/01/</a><br>____________________=
___________________________<br>Fink-commits mailing =
list<br>[email protected]<br>http://news.gmane.org/gmane.=
os.apple.fink.cvs<br></div></blockquote></div><br></body></html>=

--Apple-Mail-1-646950033--


--===============0733047687==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
--===============0733047687==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
fink-i18n mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.i18n
--===============0733047687==--