This article will describe installing package dependencies with yum-builddep.
Table of Contents
1 yum-builddep does not work
yum-builddep cannot install package dependencies on CentOS.
$ sudo yum-builddep -y emacs Loaded plugins: fastestmirror, refresh-packagekit Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp No source RPM found for 1:emacs-23.1-28.el6.x86_64 No uninstalled build requires
This is because source repository is not defined in /etc/yum.repos.d.
2 Append source repository
Append source repository to etc/yum.repos.d with the following script.
#!/bin/sh GPGKEY=`ls /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-[0-9]*` REPO=/etc/yum.repos.d/CentOS-Sources.repo if [ ! -f ${REPO} ]; then echo '[base-source] name=CentOS-$releasever - Base Sources baseurl=http://vault.centos.org/centos/$releasever/os/Source/ gpgcheck=1 enabled=0 gpgkey=file://GPGKEY #released updates [updates-source] name=CentOS-$releasever - Updates Sources baseurl=http://vault.centos.org/centos/$releasever/updates/Source/ gpgcheck=1 enabled=0 gpgkey=file://GPGKEY #additional packages that may be useful [extras-source] name=CentOS-$releasever - Extras Sources baseurl=http://vault.centos.org/centos/$releasever/extras/Source/ gpgcheck=1 enabled=0 gpgkey=file://GPGKEY #additional packages that extend functionality of existing packages [centosplus-source] name=CentOS-$releasever - Plus Sources baseurl=http://vault.centos.org/centos/$releasever/centosplus/Source/ gpgcheck=1 enabled=0 gpgkey=file://GPGKEY ' | sudo tee ${REPO} > /dev/null sudo sed -i -e "s;gpgkey=file://GPGKEY;gpgkey=file://${GPGKEY};g" ${REPO} fi
Now, yum-builddep can install package dependencies on CentOS.
$ sudo yum-builddep -y emacs Loaded plugins: fastestmirror, refresh-packagekit Enabling base-source repository Enabling extras-source repository Enabling updates-source repository Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp base-source base-source/primary_db extras-source extras-source/primary_db updates-source updates-source/primary_db Getting requirements for 1:emacs-23.1-28.el6.src --> zlib-devel-1.2.3-29.el6.x86_64 --> xorg-x11-proto-devel-7.7-13.el6.noarch --> texinfo-4.13a-8.el6.x86_64 <snip> Complete!