Why are gdb and fdisk dependencies for this package?

Asked by Atharv Kirtikar

Hi,
I was trying to install percona-toolkit on an ubuntu docker image (jammy). Saving space is important here.

When you directly install percona-toolkit deb package from from percona's website
```
wget https://downloads.percona.com/downloads/percona-toolkit/3.1.0/binary/debian/bionic/x86_64/percona-toolkit_3.1.0-2.bionic_amd64.deb
```
or
```
wget https://downloads.percona.com/downloads/percona-toolkit/3.5.4/binary/debian/jammy/x86_64/percona-toolkit_3.5.4-2.jammy_amd64.deb
```
and run `dpkg -I` on the deb file, the dependencies I get are:

Depends: perl, libdbi-perl (>= 1.13), libdbd-mysql-perl | libdbd-mysql-5.1-perl, libterm-readkey-perl (>= 2.10), libio-socket-ssl-perl

However, the ubuntu package also has gdb and fdisk as extra dependencies.
Why are these dependencies there? As far as I can tell they are not necessary dependencies to the functioning of the package.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu percona-toolkit Edit question
Assignee:
No assignee Edit question
Solved by:
Manfred Hampl
Solved:
Last query:
Last reply:
Revision history for this message
Best Manfred Hampl (m-hampl) said :
#1

If you look at the version numbers of the percona-toolkit package in Ubuntu, you will see that the version string does not contain "ubuntu". This indicates that the package was copied from Debian without Ubuntu-specific modification. These dependencies have been defined by Debian, see e.g. https://packages.debian.org/sid/percona-toolkit

I suggest that you ask at Debian.

Revision history for this message
Atharv Kirtikar (atharvk-groww) said :
#2

Thanks Manfred Hampl, that solved my question.

Revision history for this message
billing info (billinginfo13) said :
#3

The presence of gdb (GNU Debugger) and fdisk dependencies for a package can vary based on the specific package you're referring to. Dependencies are additional software components or libraries that a package relies on to function correctly. Here are some potential reasons why gdb and fdisk might be listed as dependencies for a package:

Debugging and Development Tools:

gdb is a powerful debugger used for analyzing and debugging code. Some packages, especially development-related packages, may require gdb as a build or runtime dependency to aid in debugging and development tasks.
Partitioning and Disk Utilities:

fdisk is a command-line tool for partitioning disks. Packages that involve disk management, partitioning, or file system-related tasks may require fdisk as a dependency for performing these operations.
Runtime Functionality:

Some packages may need gdb or fdisk to perform specific runtime tasks. For example, a package dealing with system information or hardware may use fdisk to gather information about disk partitions.
Legacy or Platform-Specific Dependencies:

Dependencies can vary based on the target platform or the historical development of a package. Certain packages might include gdb or fdisk for specific use cases, even if it's not a common requirement.
Build Tools and Compilation:

gdb might be listed as a dependency if the package is involved in the compilation or building of software. It can be used for debugging during the build process.
Incorrect Dependency Listing:

In some cases, a package's dependency list might include unnecessary or incorrect dependencies. This can happen due to misconfigurations in the package management system.
To better understand why gdb and fdisk are dependencies for a specific package, it's important to refer to the package's documentation, release notes, or the specific context in which the package is being used. You can also consult the maintainers or developers of the package for clarification.

Keep in mind that dependencies can vary between different versions of a package, and package maintainers may update dependencies based on changes in the software's functionality or features.
for more information:
https://billinginfo.pk/

Revision history for this message
Asif Khan (asifkhan07) said :
#4

The additional dependencies (gdb and fdisk) in the Ubuntu package are likely for debugging and possibly handling certain system-level operations. They might not be necessary for the core functionality of the Percona Toolkit but could be included for specific use cases or for more extensive system interaction. If you're focused on saving space and are confident that your use case doesn't require these extra dependencies, you can consider using the direct deb package from Percona's website and skip the Ubuntu package to minimize the installation footprint.