<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:11:26 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CDRIVER-1057] Install libmongoc-priv.so according to Debian guidelines</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-1057</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Roberto wrote to me:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Debian policy actually&lt;br/&gt;
specifically addresses private libraries:&lt;/p&gt;

&lt;p&gt;&amp;gt;    Shared object files (often .so files) that are not public libraries,&lt;br/&gt;
&amp;gt;    that is, they are not meant to be linked to by third party&lt;br/&gt;
&amp;gt;    executables (binaries of other packages), should be installed in&lt;br/&gt;
&amp;gt;    subdirectories of the /usr/lib directory. Such files are exempt from&lt;br/&gt;
&amp;gt;    the rules that govern ordinary shared libraries, except that they&lt;br/&gt;
&amp;gt;    must not be installed executable and should be stripped.&lt;/p&gt;

&lt;p&gt;Additionally, lintian also complains:&lt;/p&gt;

&lt;p&gt;W: libmongoc-priv: package-name-doesnt-match-sonames libmongoc-priv0&lt;/p&gt;

&lt;p&gt;I think that it would make sense for you to update the upstream part of&lt;br/&gt;
the build system to install the -priv library into something like&lt;br/&gt;
/usr/lib/&amp;lt;arch&amp;gt;/mongoc&lt;/p&gt;

&lt;p&gt;It would also be a good idea to get the upstream build system to not&lt;br/&gt;
install the .so.0 and .so.0.0.0 symlinks if the -priv library really&lt;br/&gt;
doesn&apos;t have a SONAME.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The policy is here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.debian.org/doc/debian-policy/ch-files.html#s-libraries&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.debian.org/doc/debian-policy/ch-files.html#s-libraries&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Currently our &quot;debian&quot; branch has some patches to make the package meet Debian&apos;s policy. But assuming the Debian policy is a good policy for installing a private runtime library on any Linux distro, we should update our &quot;make install&quot; to match, and then revert the patches in the &quot;debian&quot; branch.&lt;/p&gt;</description>
                <environment></environment>
        <key id="245043">CDRIVER-1057</key>
            <summary>Install libmongoc-priv.so according to Debian guidelines</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="2">Won&apos;t Fix</resolution>
                                        <assignee username="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                    </labels>
                <created>Thu, 24 Dec 2015 05:17:18 +0000</created>
                <updated>Wed, 10 Feb 2016 19:27:03 +0000</updated>
                            <resolved>Wed, 10 Feb 2016 19:27:03 +0000</resolved>
                                                    <fixVersion>1.4.0</fixVersion>
                                    <component>Build</component>
                    <component>libmongoc</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="1169658" author="jesse" created="Wed, 10 Feb 2016 19:27:03 +0000"  >&lt;p&gt;Decided against distributing a private-symbols package.&lt;/p&gt;</comment>
                            <comment id="1123837" author="remi" created="Wed, 30 Dec 2015 08:10:32 +0000"  >&lt;p&gt;TLDR: I think this debian policy doesn&apos;t apply here.&lt;/p&gt;

&lt;p&gt;&amp;gt; Shared object files (often .so files) that are not public libraries,&lt;/p&gt;

&lt;p&gt;I think this apply to plugin/extension. This is &quot;really&quot; a shared library.&lt;/p&gt;

&lt;p&gt;&amp;gt; that is, they are not meant to be linked to by third party&lt;br/&gt;
&amp;gt; executables (binaries of other packages), &lt;/p&gt;

&lt;p&gt;It is used / linked by third party exec, even if probably only by the php-driver.&lt;/p&gt;

&lt;p&gt;Having it installed in a not standard path will means having to use some trick in the php driver to be able to find it (such as RPATH which are forbidden by our Guidelines).&lt;/p&gt;

&lt;p&gt;&amp;gt; It would also be a good idea to get the upstream build system to not&lt;br/&gt;
&amp;gt; install the .so.0 and .so.0.0.0 symlinks if the -priv library really&lt;br/&gt;
&amp;gt; doesn&apos;t have a SONAME.&lt;/p&gt;

&lt;p&gt;This is a problem (which prevent the dependency detection, which rely on soname).&lt;br/&gt;
Perhaps using the libtool -release option  (1.3 or 1.3.0 ?) will be a solution if you don&apos;t want to track change in it. (so will be mongoc-priv-1.3.so).&lt;/p&gt;</comment>
                            <comment id="1123019" author="bjori" created="Mon, 28 Dec 2015 20:44:05 +0000"  >&lt;p&gt;Interesting. Sounds reasonable.&lt;/p&gt;

&lt;p&gt;Since the -priv isn&apos;t strictly part of our public offerings we can make any changes to it, including its install path, but I do suspect it&apos;ll break &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=remi&quot; class=&quot;user-hover&quot; rel=&quot;remi&quot;&gt;remi&lt;/a&gt; packaging of it for fedora (and the php driver).&lt;/p&gt;

&lt;p&gt;We should give him a poke when we pick this up to keep him in the loop.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="240320">CDRIVER-1015</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsf5hr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>