Any1 know a website for checking dependency

Issues related to applications and software problems
Post Reply
jwroysdon
Posts: 4
Joined: 2014/12/04 22:42:12

Any1 know a website for checking dependency

Post by jwroysdon » 2014/12/04 23:27:27

So, I usually work in an offline environment. Meaning the system does not have internet access. I usually download the CentOS-7 Everything DVD and copy it to the hard drive and set up the yum.repo.d files.

However, I often run into programs I need to install that require dependencies not present on the DVD. Such as the epel repository.

Does anyone know of a web site which would allow someone to check what rpm's are needed for a package based on a set baseline. For example, I want to install wine-1.7.22 on my newly installed CentOS 7 system. I have the everything DVD. I would like to know ALL the packages I need (which are not on the everything DVD).

I currently have to download the program, burn it to a DVD/CD and then try to install it with yum only to find out that I need a few other packages. So, I go and download those packages and then install them, but WAIT, those packages require other packages. So, I have to go back and download those and burn them to a DVD. And so the process goes... 5 or 6 DVD/CD's later I finally get the program installed.

Is there a way to see ALL the dependencies required based on a known starting point? Like my example above. I want to install wine-1.7.22, and I have the "Everything" DVD. Which ironically does not have everything...

I thought of one way, I could use the --downloadonly option on another system, but unfortunately, I can't do that at work. I would have to go home and use my personal computer.

It would be swell if someone created a website that could look up the entire dependency tree for a program. It could have drop down menus that allow you to select which OS you installed and what option you picked (Desktop, minimal, etc). And they you paste a link to the rpm you want to install, and the site would track down the dependencies and provide a list with links where to download them. (even better, it could create a rpm with all the dependencies inside it and let you download it).

I'm pretty sure this idea is genius... so if anyone wants to take it and create a web site based on this idea you have my permission. Just please give me credit for the idea, and make sure the wine---CentOS7 dependency tree is the first one you get working... haha.

:ugeek:

Edit: typo

User avatar
jyoung
Posts: 102
Joined: 2014/09/22 13:40:31
Location: Nashville, TN, USA

Re: Any1 know a website for checking dependency

Post by jyoung » 2014/12/09 02:39:34

So, since you have internet access at least at some point to download the additional packages that you're looking for, I think this will help solve your problem:
deplist
Produces a list of all dependencies and what packages provide those dependencies for the given packages.
From http://linux.die.net/man/8/yum
For example:

Code: Select all

[root@desktop images]# yum deplist mariadb-server
Loaded plugins: langpacks
package: mariadb-server.x86_64 1:10.0.14-8.fc21
  dependency: /bin/sh
   provider: bash.x86_64 4.3.30-2.fc21
  dependency: /etc/my.cnf
   provider: mariadb-config.x86_64 1:10.0.14-8.fc21
  dependency: /etc/my.cnf.d
   provider: mariadb-config.x86_64 1:10.0.14-8.fc21
  dependency: /usr/bin/perl
   provider: perl.x86_64 4:5.18.4-305.fc21
  dependency: /usr/sbin/useradd
   provider: shadow-utils.x86_64 2:4.1.5.1-17.fc21
  dependency: ld-linux-x86-64.so.2()(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libaio.so.1()(64bit)
   provider: libaio.x86_64 0.3.110-4.fc21
  dependency: libaio.so.1(LIBAIO_0.1)(64bit)
   provider: libaio.x86_64 0.3.110-4.fc21
  dependency: libaio.so.1(LIBAIO_0.4)(64bit)
   provider: libaio.x86_64 0.3.110-4.fc21
  dependency: libc.so.6(GLIBC_2.8)(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libcrypt.so.1()(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libcrypt.so.1(GLIBC_2.2.5)(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libcrypto.so.10()(64bit)
   provider: openssl-libs.x86_64 1:1.0.1j-1.fc21
  dependency: libcrypto.so.10(libcrypto.so.10)(64bit)
   provider: openssl-libs.x86_64 1:1.0.1j-1.fc21
  dependency: libdl.so.2()(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libdl.so.2(GLIBC_2.2.5)(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libm.so.6()(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libm.so.6(GLIBC_2.2.5)(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libpam.so.0()(64bit)
   provider: pam.x86_64 1.1.8-16.fc21
  dependency: libpam.so.0(LIBPAM_1.0)(64bit)
   provider: pam.x86_64 1.1.8-16.fc21
  dependency: libpcre.so.1()(64bit)
   provider: pcre.x86_64 8.35-7.fc21
  dependency: libpcreposix.so.0()(64bit)
   provider: pcre.x86_64 8.35-7.fc21
  dependency: libpthread.so.0()(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libpthread.so.0(GLIBC_2.2.5)(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libpthread.so.0(GLIBC_2.3.2)(64bit)
   provider: glibc.x86_64 2.20-5.fc21
  dependency: libssl.so.10()(64bit)
   provider: openssl-libs.x86_64 1:1.0.1j-1.fc21
  dependency: libssl.so.10(libssl.so.10)(64bit)
   provider: openssl-libs.x86_64 1:1.0.1j-1.fc21
  dependency: libstdc++.so.6()(64bit)
   provider: libstdc++.x86_64 4.9.2-1.fc21
  dependency: libstdc++.so.6(CXXABI_1.3)(64bit)
   provider: libstdc++.x86_64 4.9.2-1.fc21
  dependency: libstdc++.so.6(GLIBCXX_3.4)(64bit)
   provider: libstdc++.x86_64 4.9.2-1.fc21
  dependency: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
   provider: libstdc++.x86_64 4.9.2-1.fc21
  dependency: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
   provider: libstdc++.x86_64 4.9.2-1.fc21
  dependency: libz.so.1()(64bit)
   provider: zlib.x86_64 1.2.8-7.fc21
  dependency: libz.so.1(ZLIB_1.2.0)(64bit)
   provider: zlib.x86_64 1.2.8-7.fc21
  dependency: mariadb-common(x86-64) = 1:10.0.14-8.fc21
   provider: mariadb-common.x86_64 1:10.0.14-8.fc21
  dependency: mariadb-errmsg(x86-64) = 1:10.0.14-8.fc21
   provider: mariadb-errmsg.x86_64 1:10.0.14-8.fc21
  dependency: mysql(x86-64)
   provider: mariadb.x86_64 1:10.0.14-8.fc21
   provider: community-mysql.x86_64 5.6.21-5.fc21
  dependency: mysql-compat-client(x86-64)
   provider: mariadb.x86_64 1:10.0.14-8.fc21
   provider: community-mysql.x86_64 5.6.21-5.fc21
  dependency: perl(DBD::mysql)
   provider: perl-DBD-MySQL.x86_64 4.027-3.fc21
  dependency: perl(DBI)
   provider: perl-DBI.x86_64 1.631-5.fc21
  dependency: perl(Data::Dumper)
   provider: perl-Data-Dumper.x86_64 2.154-1.fc21
  dependency: perl(File::Basename)
   provider: perl.x86_64 4:5.18.4-305.fc21
  dependency: perl(File::Copy)
   provider: perl.x86_64 4:5.18.4-305.fc21
  dependency: perl(File::Path)
   provider: perl-File-Path.noarch 2.09-293.fc21
  dependency: perl(File::Temp)
   provider: perl-File-Temp.noarch 0.23.04-2.fc21
  dependency: perl(Getopt::Long)
   provider: perl-Getopt-Long.noarch 2.42-2.fc21
  dependency: perl(POSIX)
   provider: perl.x86_64 4:5.18.4-305.fc21
  dependency: perl(Sys::Hostname)
   provider: perl.x86_64 4:5.18.4-305.fc21
  dependency: perl(strict)
   provider: perl.x86_64 4:5.18.4-305.fc21
  dependency: perl(vars)
   provider: perl.x86_64 4:5.18.4-305.fc21
  dependency: rtld(GNU_HASH)
   provider: glibc.x86_64 2.20-5.fc21
   provider: glibc.i686 2.20-5.fc21
  dependency: sh-utils
   provider: coreutils.x86_64 8.22-19.fc21
  dependency: systemd
   provider: systemd.x86_64 216-12.fc21
The "provider:" lines show you each package that you'll need to install to make the program for which you searched actually work. So, in my case, I can run mariadb-server on my Fedora desktop by installing everything listed as a provider above.
-- Jeremy --

vanecka
Posts: 45
Joined: 2010/01/28 21:05:11
Location: University of the Free State - South Africa
Contact:

Re: Any1 know a website for checking dependency

Post by vanecka » 2015/01/05 10:20:20

Hi,

I've created a small script (attached as a txt file) that might help.

This script will create a directory in /tmp/ that contains all the files from a CentOS mirror,
that is required to install a package.

Hope it helps.
Attachments
download_deps.txt
Save as download_deps.sh
(1.86 KiB) Downloaded 88 times

Post Reply