Google Site SearchFN Site Search FN Blog Login FN Blog Login
Site Navigation:
 
 

How to install unsigned development packages with yum in FC3

by Thomas Chung on Dec 02, 2004

Suppose you want to install a development package "mysql-server 4.1.7" from Fedora Development Repo.
First, you need to enable it by changing the option "enabled" from 0 to 1 in fedora-devel.repo file:

[tchung@tchung-fc3 ~]$ sudo vi /etc/yum.repos.d/fedora-devel.repo

[development]
name=Fedora Core $releasever - Development Tree
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-rawhide
enabled=1

But soon you will notice that it did not install the development package you wanted.
Even if you have imported GPG Public Key for Fedora Base/Updates and Fedora Development/Test packages from Fedora Project.

For installing GPG Public Key for Fedora Base/Updates, see How to install GPG Key for yum in FC3.
For installing GPG Public Key for Fedora Development/Test packages, see Fedora Project GPG Keys page.
("Automated Package Signing" section for Development packages)

[tchung@tchung-fc3 ~]$ sudo yum install mysql-server
Setting up Install Process
Setting up Repo:  development
repomd.xml                100% |=========================| 1.1 kB    00:00
Setting up Repo:  base
repomd.xml                100% |=========================| 1.1 kB    00:00
Setting up Repo:  updates-released
repomd.xml                100% |=========================|  951 B    00:00
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 981 kB    00:00
MD Read   : ################################################## 3557/3557
developmen: ################################################## 3557/3557
base      : ################################################## 2622/2622
updates-re: ################################################## 319/319
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for mysql-server to pack into transaction set.
mysql-server-4.1.7-3.i386 100% |=========================|  25 kB    00:00
---> Package mysql-server.i386 0:4.1.7-3 set to be installed
--> Running transaction check
--> Processing Dependency: libmysqlclient_r.so.14 for package: mysql-server
--> Processing Dependency: mysql= 4.1.7 for package: mysql-server
--> Processing Dependency: libmysqlclient.so.14 for package: mysql-server
--> Processing Dependency: perl(DBI) for package: mysql-server
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for mysql to pack into transaction set.
mysql-4.1.7-3.i386.rpm    100% |=========================|  32 kB    00:00
---> Package mysql.i386 0:4.1.7-3 set to be installed
---> Downloading header for perl-DBI to pack into transaction set.
perl-DBI-1.40-5.i386.rpm  100% |=========================|  11 kB    00:00
---> Package perl-DBI.i386 0:1.40-5 set to be installed
--> Running transaction check
--> Processing Dependency: perl-DBD-MySQL for package: mysql
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for perl-DBD-MySQL to pack into transaction set.
perl-DBD-MySQL-2.9004-1.i 100% |=========================| 5.3 kB    00:00
---> Package perl-DBD-MySQL.i386 0:2.9004-1 set to be installed
--> Running transaction check
 
Dependencies Resolved
Transaction Listing:
  Install: mysql-server.i386 0:4.1.7-3
 
Performing the following to resolve dependencies:
  Install: mysql.i386 0:4.1.7-3
  Install: perl-DBD-MySQL.i386 0:2.9004-1
  Install: perl-DBI.i386 0:1.40-5
Is this ok [y/N]: y
Downloading Packages:
mysql-server-4.1.7-3.i386 100% |=========================| 6.3 MB    00:02
mysql-4.1.7-3.i386.rpm    100% |=========================| 3.4 MB    00:01
perl-DBI-1.40-5.i386.rpm  100% |=========================| 467 kB    00:00
perl-DBD-MySQL-2.9004-1.i 100% |=========================| 110 kB    00:00
unsigned package //var/cache/yum/development/packages/mysql-server-4.1.7-3.i386.rpm
unsigned package //var/cache/yum/development/packages/mysql-4.1.7-3.i386.rpm
unsigned package //var/cache/yum/development/packages/perl-DBD-MySQL-2.9004-1.i386.rpm
[tchung@tchung-fc3 ~]$ rpm -q mysql-server
package mysql-server is not installed
[tchung@tchung-fc3 ~]$

So why it didn't install? Because it was not signed with GPG Key.
You need to aware of the fact that NOT all development packages are signed with GPG Key unlike Fedora base or updates packages.
So how do you install unsigned development packages with yum? Add following option:

[development]
name=Fedora Core $releasever - Development Tree
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-rawhide
enabled=1
gpgcheck=0

Now you should be able to install unsigned development packages with yum in FC3:

[tchung@tchung-fc3 ~]$ sudo yum install mysql-server
Setting up Install Process
Setting up Repo:  development
repomd.xml                100% |=========================| 1.1 kB    00:00
Setting up Repo:  base
repomd.xml                100% |=========================| 1.1 kB    00:00
Setting up Repo:  updates-released
repomd.xml                100% |=========================|  951 B    00:00
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 985 kB    00:01
MD Read   : ################################################## 3569/3569
developmen: ################################################## 3569/3569
base      : ################################################## 2622/2622
updates-re: ################################################## 319/319
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for mysql-server to pack into transaction set.
mysql-server-4.1.7-4.i386 100% |=========================|  26 kB    00:00
---> Package mysql-server.i386 0:4.1.7-4 set to be installed
--> Running transaction check
--> Processing Dependency: libmysqlclient_r.so.14 for package: mysql-server
--> Processing Dependency: libmysqlclient.so.14 for package: mysql-server
--> Processing Dependency: mysql= 4.1.7 for package: mysql-server
--> Processing Dependency: perl(DBI) for package: mysql-server
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for mysql to pack into transaction set.
mysql-4.1.7-4.i386.rpm    100% |=========================|  32 kB    00:00
---> Package mysql.i386 0:4.1.7-4 set to be installed
---> Package perl-DBI.i386 0:1.40-5 set to be installed
--> Running transaction check
--> Processing Dependency: perl-DBD-MySQL for package: mysql
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for perl-DBD-MySQL to pack into transaction set.
perl-DBD-MySQL-2.9004-4.i 100% |=========================| 5.4 kB    00:00
---> Package perl-DBD-MySQL.i386 0:2.9004-4 set to be installed
--> Running transaction check
 
Dependencies Resolved
Transaction Listing:
  Install: mysql-server.i386 0:4.1.7-4
 
Performing the following to resolve dependencies:
  Install: mysql.i386 0:4.1.7-4
  Install: perl-DBD-MySQL.i386 0:2.9004-4
  Install: perl-DBI.i386 0:1.40-5
Is this ok [y/N]: y
Downloading Packages:
mysql-server-4.1.7-4.i386 100% |=========================| 6.3 MB    00:05
mysql-4.1.7-4.i386.rpm    100% |=========================| 3.4 MB    00:02
perl-DBD-MySQL-2.9004-4.i 100% |=========================| 111 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: perl-DBI 100 % done 1/4
Installing: mysql 100 % done 2/4
Installing: mysql-server 100 % done 3/4
Installing: perl-DBD-MySQL 100 % done 4/4
 
Installed: mysql-server.i386 0:4.1.7-4
Dependency Installed: mysql.i386 0:4.1.7-4 perl-DBD-MySQL.i386 0:2.9004-4 perl-DBI.i386 0:1.40-5
Complete!
[tchung@tchung-fc3 ~]$ rpm -q mysql-server
mysql-server-4.1.7-4
[tchung@tchung-fc3 ~]$

In order to receive only stable and signed packages from Fedora Base repo and Fedora Updates repo,
you need to disable development repo by changing back the option "enabled" from 1 to 0 in fedora-devel.repo file.

[tchung@tchung-fc3 ~]$ sudo vi /etc/yum.repos.d/fedora-devel.repo

[development]
name=Fedora Core $releasever - Development Tree
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-rawhide
enabled=0
gpgcheck=0

UPDATE 2004-12-03
Thanks to Paul Howarth, here is another way to install unsigned development packages with yum:

1. Add the gpgcheck=0 entry to fedora-devel.repo as shown in the article, but leave enabled=0.
2. Install the required packages as follows:

$ sudo yum --enablerepo=development install mysql-server