On 01/28/2013 01:26 PM, Nikolaos Milas wrote:
On 27/1/2013 5:11 μμ, Johnny Hughes wrote:
Taking gtk2 as in our example here, if you wanted a new gtk2 in CentOS-5.9, then you would have to rebuild the following packages:
A quick (?) question:
What is the best way to view dependencies?
- We can use yum deplist <xxx.rpm> to view dependencies of a particular
installed package, but we would like to limit output to only *already installed* packages and not view all suitable ones. Also, we would like to view dependencies as a full rpm name and not as they are output by default (e.g. not "glibc.x86_64 2.12-1.80.el6_3.6" but "glibc-2.12-1.80.el6_3.6.x86_64")
- Is there a way to find out the opposite, i.e. which *installed*
packages are dependent on a particular installed package? In your example above (about gtk2), how could we have produced the list of dependent-on-it packages which you have kindly provided?
With respect to build and SRPMS, I do this:
I go to a place where all the distro's SRPMS (we have that place on vault), then I do this command:
rpm -qp --requires <name>.src.rpm
That will tell me everything that is required to build that individual SRPM.
However, you would also need to take every requirement and do the same thing to it ... in other words, find the requirements of each requirement.
There is no easy way to do this (that I know of) ... if I want to know, I do the work.
Also, if you want to develop an initial list of SRPMS that are impacted when changing something, you would do this inside the "LATEST" SRPMS (again, using gtk2 as the example):
for srpm in $(ls *.src.rpm); do requires_gtk2=$(rpm -qp --requires $srpm | grep "gtk2-devel"); if [ "$requires_gtk2" != "" ]; then echo $srpm; fi; done
(the above is one line if wrapped)
Once you develop the list of SRPMS, you would need to develop another list of requirements for each requirement.
There is a yum-utility called yum-builddep that will install all the dependencies to build a package for you ... you can do that into a minimal installed VM as well.