[SERVER-47756] Superfluous database-tools-extra RPM components installed Created: 24/Apr/20  Updated: 29/Oct/23  Resolved: 27/Apr/20

Status: Closed
Project: Core Server
Component/s: Packaging
Affects Version/s: 4.4.0-rc2
Fix Version/s: 4.7.0

Type: Bug Priority: Major - P3
Reporter: Andrew Feierabend (Inactive) Assignee: Andrew Morrow (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Dev Platform 2020-05-04
Participants:

 Description   

Inspecting the Community and Enterprise versions of database-tools-extra for MDB 4.4.0rc2, I noticed some extra inclusions:

Community

  • Includes the mongoldap manpage:

[vagrant@centos8 /]$ cd /tmp
[vagrant@centos8 tmp]$ wget https://repo.mongodb.org/yum/redhat/8/mongodb-org/testing/x86_64/RPMS/mongodb-org-database-tools-extra-4.4.0-0.1.rc2.el8.x86_64.rpm
[vagrant@centos8 tmp]$ ls -l mongodb-org*
-rw-rw-r--.  1 vagrant vagrant 20K Apr 22 06:39 mongodb-org-database-tools-extra-4.4.0-0.1.rc2.el8.x86_64.rpm
[vagrant@centos8 tmp]$ rpm -ql mongodb-org-database-tools-extra-4.4.0-0.1.rc2.el8.x86_64.rpm
/usr/bin/install_compass
/usr/share/man/man1/mongoldap.1
[vagrant@centos8 tmp]$ ls -l /usr/bin/install_compass
-rwxr-xr-x. 1 root root 7694 Apr 22 06:13 /usr/bin/install_compass
[vagrant@centos8 tmp]$ ls -l /usr/share/man/man1/mongoldap.1
-rw-r--r--. 1 root root 22920 Apr 22 06:13 /usr/share/man/man1/mongoldap.1

Enterprise

  • Includes possibly-unwanted packaging debugging info from rpmbuild (i.e. the /usr/lib/.build-id directory):

[vagrant@centos8 tmp]$ wget https://repo.mongodb.com/yum/redhat/8/mongodb-enterprise/testing/x86_64/RPMS/mongodb-enterprise-database-tools-extra-4.4.0-0.1.rc2.el8.x86_64.rpm
[vagrant@centos8 tmp]$ ls -l mongodb-enterprise*
-rw-rw-r--.  1 vagrant vagrant  36M Apr 22 08:11 mongodb-enterprise-database-tools-extra-4.4.0-0.1.rc2.el8.x86_64.rpm
[vagrant@centos8 tmp]$ rpm -ql mongodb-enterprise-database-tools-extra-4.4.0-0.1.rc2.el8.x86_64.rpm
/usr/bin/install_compass
/usr/bin/mongodecrypt
/usr/bin/mongokerberos
/usr/bin/mongoldap
/usr/lib/.build-id
/usr/lib/.build-id/96
/usr/lib/.build-id/96/d3a8add27da0ca5756dc81140b577a9f9f1602
/usr/lib/.build-id/d3
/usr/lib/.build-id/d3/7bb7e62e485ba87953a9f415fd27602f37b501
/usr/lib/.build-id/d7
/usr/lib/.build-id/d7/df4fa55cb7891084bf2332daf140295749c8b6
/usr/share/man/man1/mongoldap.1

Not sure about the /usr/lib/.build-id inclusion. It's possible that we want this in the Enterprise package to enable user debugging of our binaries, but we ship them already-built so it seems unlikely. And I would then also expect them in the Community version if so.

Note: I checked the corresponding deb packages, and all seemed in order.

Hope this helps!



 Comments   
Comment by Githook User [ 27/Apr/20 ]

Author:

{'name': 'Andrew Morrow', 'email': 'acm@mongodb.com', 'username': 'acmorrow'}

Message: SERVER-47756 Remove mongoldap man page from community RPMs
Branch: master
https://github.com/mongodb/mongo/commit/8f19042a58e74a42002f00aaaac43b7d6a34b07a

Comment by Andrew Morrow (Inactive) [ 24/Apr/20 ]

Let's keep the ticket open and at least fix the mongoldap.1 inclusion. It is wrong, and an easy fix I think.

Comment by Andrew Feierabend (Inactive) [ 24/Apr/20 ]

Right on, thanks for the reply.

You're right, mongoldap man page is there as well in the 4.2.6 mongodb-org-tools package:

[vagrant@centos8 tmp]$ rpm -ql mongodb-org-tools-4.2.6-1.el8.x86_64.rpm
/usr/bin/bsondump
/usr/bin/install_compass
/usr/bin/mongodump
/usr/bin/mongoexport
/usr/bin/mongofiles
/usr/bin/mongoimport
/usr/bin/mongorestore
/usr/bin/mongostat
/usr/bin/mongotop
/usr/lib/.build-id
/usr/lib/.build-id/54
/usr/lib/.build-id/54/ddf78f8f38d7acaa2e7ba17d2e4591aa0d188b
/usr/lib/.build-id/b1
/usr/lib/.build-id/b1/e547485ca94b9c192df2ac6a9f157c079a48bb
/usr/lib/.build-id/b5
/usr/lib/.build-id/b5/b68bb86898024b411f84e9ac653862980d5cce
/usr/lib/.build-id/b9
/usr/lib/.build-id/b9/3e7993861f52f1f62642cfbe3b2eac5af05a97
/usr/lib/.build-id/cb
/usr/lib/.build-id/cb/d7cc7c6c1c6a85a963fcbee46e30984612343d
/usr/lib/.build-id/ce
/usr/lib/.build-id/ce/a0807842068129b14087520340562fd70ea380
/usr/lib/.build-id/e0
/usr/lib/.build-id/e0/5caaa1affef6e4fb2cfe2a788a892bcf0cf7c9
/usr/lib/.build-id/f6
/usr/lib/.build-id/f6/ecd5eb784326a22fd619381749bf6f1cc0f87c
/usr/share/doc/mongodb-org-tools-4.2.6
/usr/share/doc/mongodb-org-tools-4.2.6/THIRD-PARTY-NOTICES.gotools
/usr/share/man/man1/bsondump.1
/usr/share/man/man1/mongodump.1
/usr/share/man/man1/mongoexport.1
/usr/share/man/man1/mongofiles.1
/usr/share/man/man1/mongoimport.1
/usr/share/man/man1/mongoldap.1
/usr/share/man/man1/mongoreplay.1
/usr/share/man/man1/mongorestore.1
/usr/share/man/man1/mongostat.1
/usr/share/man/man1/mongotop.1

Of note: it also includes a man page for mongoreplay, which has since been pulled from this package.

And there are the build-id files as well. I should have checked the 4.2 RPM before posting regarding that, thanks for the correction.

Comment by Andrew Morrow (Inactive) [ 24/Apr/20 ]

andrew.feierabend -

  • I think the build-id inclusions in enterprise are expected, as is the lack of such files in community. The files exist in enterprise only because only in the enterprise version do we have the binaries mongodecrypt, mongokerberos, and mongoldap. Each of those build-id files is the debug information for one of those files. Since those files don't exist in community, the associated debug info isn't present.
  • Regarding the inclusion of the mongoldap man page in community, I have a feeling this is a longstanding bug not introduced by the package restructure. Can you see if a MongoDB 4.2 community tools package contains it as well?
Comment by Kelsey Schubert [ 24/Apr/20 ]

acm, you probably have better context, could you investigate?

Generated at Thu Feb 08 05:15:08 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.