<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:04:38 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>[SERVER-23842] Package version conflict</title>
                <link>https://jira.mongodb.org/browse/SERVER-23842</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;First, thanks for distributing prebuilt binaries for Debian and Ubuntu.&lt;/p&gt;

&lt;p&gt;But I think your naming convention at the Debian/Ubuntu packages level is wrong or incomplete.&lt;/p&gt;

&lt;p&gt;let me take an example...&lt;/p&gt;

&lt;p&gt;You distribute packages for:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Ubuntu Precise:&lt;br/&gt;
&lt;a href=&quot;http://repo.mongodb.org/apt/ubuntu/dists/precise/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.0_amd64.deb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://repo.mongodb.org/apt/ubuntu/dists/precise/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.0_amd64.deb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Ubuntu Trusty:&lt;br/&gt;
&lt;a href=&quot;http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.0_amd64.deb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.0_amd64.deb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Each packages have the same version number, but the files are really different. See the md5 below:&lt;br/&gt;
$ md5sum mongodb-org_3.0.0_amd64.deb*&lt;br/&gt;
cdbb6447acd7b0cd7327278d88fe06f8  mongodb-org_3.0.0_amd64.deb.precise&lt;br/&gt;
89499682dd059002662ae8bf988600e9  mongodb-org_3.0.0_amd64.deb.trusty&lt;/p&gt;


&lt;p&gt;Debian policy guide say something like, if packages are referenced in multiple distributions with the same version number, then the .deb file MUST be the exact same files (and is written only one time in the pool directory).&lt;/p&gt;

&lt;p&gt;In your case, the different md5sum, imply different packages versions...&lt;/p&gt;

&lt;p&gt;You may say it&apos;s not really a problem... But imagine someone is currently on Ubuntu Precise LTS with mongodb-org_3.0.0_amd64.deb package installed for the correct Precise repository. And he want to upgrade to Trusty via dist upgrade. What will apt do is compare installed package version and package version in the &quot;futur&quot; repository. apt will see it is the same version, ie: 3.0.0, and WILL NOT attempt and upgrade (neither a reinstall). That is bad! If package &lt;em&gt;don&apos;t need to be updated&lt;/em&gt; then they should be the same &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Sure there is a workaround, people may &quot;apt-get clean&quot; and &quot;apt-get install --reinstall mongodb-org&quot;, this will force apt to &quot;move&quot; to the &quot;right&quot; version for Trusty. But it&apos;s only a workaround and most people wont think about that.&lt;/p&gt;

&lt;p&gt;In order to resolve all this mess, a simple trick &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;br/&gt;
Just include the destination release in the version.&lt;br/&gt;
ie: mongodb-org_3.0.0_amd64.deb should be declined as&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;mongodb-org_3.0.0+precise1_amd64.deb&lt;/li&gt;
	&lt;li&gt;mongodb-org_3.0.0+trusty1_amd64.deb&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;With that, apt will happily upgrade from one version to the other on distribution upgrade. As those versions are incremental.&lt;/p&gt;

&lt;p&gt;$ dpkg --compare-versions 3.0.0+precise1 lt 3.0.0+trusty1 &amp;amp;&amp;amp; echo Y || echo N&lt;br/&gt;
Y&lt;/p&gt;

&lt;p&gt;-&amp;gt; Nice!&lt;/p&gt;

&lt;p&gt;I also think there is no problem migrating for your current version scheme to the new one as version are still incremental.&lt;/p&gt;

&lt;p&gt;$ dpkg --compare-versions 3.0.0 lt 3.0.0+precise1 &amp;amp;&amp;amp; echo Y || echo N&lt;br/&gt;
Y&lt;/p&gt;

&lt;p&gt;-&amp;gt; Nice!&lt;/p&gt;

&lt;p&gt;BTW use the &quot;+&quot; separator and NOT the &quot;&lt;sub&gt;&quot; as the meaning is different. Using the &quot;&lt;/sub&gt;&quot; will place the version &lt;em&gt;bellow&lt;/em&gt; what&apos;s before the separator.&lt;/p&gt;

&lt;p&gt;$ dpkg --compare-versions 3.0.0 lt 3.0.0~precise1 &amp;amp;&amp;amp; echo Y || echo N&lt;br/&gt;
N&lt;/p&gt;

&lt;p&gt;-&amp;gt; Bad &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;I hope you will review you naming convention for the benefit of all &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;br/&gt;
Thanks&lt;/p&gt;

&lt;p&gt;Side note: The actual convention doesn&apos;t permit to mirror &lt;em&gt;all&lt;/em&gt; your repository with standard tool like reprepro.&lt;/p&gt;</description>
                <environment></environment>
        <key id="281301">SERVER-23842</key>
            <summary>Package version conflict</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="alex.neben@mongodb.com">Alex Neben</assignee>
                                    <reporter username="kumy">MA</reporter>
                        <labels>
                    </labels>
                <created>Thu, 21 Apr 2016 10:03:59 +0000</created>
                <updated>Wed, 1 Jun 2022 16:17:30 +0000</updated>
                            <resolved>Wed, 1 Jun 2022 16:17:30 +0000</resolved>
                                                    <fixVersion>4.1 Desired</fixVersion>
                                    <component>Packaging</component>
                                        <votes>1</votes>
                                    <watches>8</watches>
                                                                                                                <comments>
                            <comment id="3473161" author="JIRAUSER1257498" created="Tue, 3 Nov 2020 09:20:42 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;Has there been any follow up to this ?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;It&apos;s an annoying problem, easily corrected to align with how distribution repositories are structured.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.debian.org/doc/debian-policy/ch-binary.html#uniqueness-of-version-numbers&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.debian.org/doc/debian-policy/ch-binary.html#uniqueness-of-version-numbers&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Also, not sure how this would behave during a dist-upgrade scenario.&lt;/p&gt;

&lt;p&gt;(not that its an action i perform on db hosts)&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;But, having the os see both packages as &quot;the same&quot; and then running into a hash sum mismatch issue too, is not ideal.&lt;/p&gt;</comment>
                            <comment id="1242250" author="ramon.fernandez" created="Thu, 21 Apr 2016 10:17:30 +0000"  >&lt;p&gt;Thanks for the detailed writeup &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kumy&quot; class=&quot;user-hover&quot; rel=&quot;kumy&quot;&gt;kumy&lt;/a&gt;, I&apos;ve sent this to the &quot;Build Team&quot;, who handles the prebuilt packages, for evaluation.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 21 Apr 2016 10:16:53 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 14 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alex.neben@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 14 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alex.neben@mongodb.com</customfieldvalue>
            <customfieldvalue>kumy</customfieldvalue>
            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>
            <customfieldvalue>tpretz@gmail.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrk9q7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr6gc7:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hsf0bj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>