jms1 Repo

This is my private yum repository. It contains packages which I am using, or have used in the past, on my own servers. It's here mainly for my own use and for my clients, however if you see something which interests you, feel free to download the RPMs and/or use the appropriate jms1-xxx.repo file on your server.

However, please realize that unless you are one of my clients (i.e. you are somebody who is paying me for something) you shouldn't expect to receive any kind of support for these files.

[ICO]NameLast modifiedSizeDescription

[   ]RPM-GPG-KEY-jms103-Mar-2011 04:11 3.8K 
[   ]RPM-GPG-KEY-jms1-8f8d8c9a9014ad1a03-Mar-2011 04:11 3.8K 
[   ]RPM-GPG-KEY-jms1-15f8395e19bc1d8203-Aug-2017 04:16 2.0K 
[DIR]centos/28-Dec-2016 20:51 -  
[   ]jms1-centos5.repo07-Sep-2015 21:10 140  
[   ]jms1-centos6.repo07-Sep-2015 20:41 140  
[   ]jms1-centos7.repo16-Dec-2019 01:48 140  


Notes

The information below is more for my own reference than anything else. Most of this information is available from any number of other places on the Internet, I've just re-formatted it in a way which makes more sense to me.

If you happen to find anything useful here, I'm glad you like it. And of course if you happen to spot any problems, I'd like to hear about them. However, this page (and the repo itself) are not really being offered as any kind of public service, so please don't be surprised if I don't make corrections to the page right away....


Make PGP-signed RPM packages

http://www.rpm.org/max-rpm/s1-rpm-pgp-signing-packages.html

First you need to configure rpm and/or rpmbuild so it knows which key to use. Run "gpg --list-secret-keys" to list your secret keys. Grab the exact name and email address attached to the secret key you want to use.

$ gpg --list-secret-keys /home/jms1/.gnupg/secring.gpg ----------------------------- sec 1024D/9014AD1A 2008-08-03 [expires: 2011-08-03] uid John M. Simpson <jms1@jms1.net> ssb 4096g/0F6C5215 2008-08-03

Edit your "~/.rpmmacros" file, add this line:

%_gpg_name John M. Simpson <jms1@jms1.net>

Once the key is configured, use one of the following procedures to sign or re-sign a package:


Creating the repo control files

Assume standard web site directory structure for a site called repo.jms1.net. Create whatever directory structure you like under /www/repo.jms1.net/docs and upload rpm files as desired. The only restriction is that you should not create a directory called repodata, or if it already exists, you should not touch the files in the directory (the createrepo command will write these files for you.)

After uploading or changing files within the repo...

$ cd /www/repo.jms1.net/docs/centos/6 (or whatever directory you're working in)
$ createrepo .
$ chmod -R go=u-w .
$ chown -R jms1:jms1 . (if you accidentally run these commands as root)

The "createrepo" command creates a "repodata" directory as a child of the specified directory, with xml files containing an index of what RPM packages are available. Other than the "repodata" directory, you can have any directory structure you like within the repo.

I actually cheat a little bit on my own server. I wrote a simple Makefile, and I just run "make" while sitting in the "repo" directory itself.

Note: The default checksum type for CentOS 6 is sha256. If you're hosting a repo on CentOS 6 but the packages are for CentOS 5, you need to add "-s sha" (which is really SHA-1) to the createrepo command line, otherwise CentOS 5's yum client won't be able to use the repo. The CentOS 5 Makefile below has this change.

File: centos/5/Makefile
Size: 71 bytes
Date: 2015-09-07 21:15:04 +0000
MD5: 00b65f461b4f30b6808fbecd3eab6173
SHA-1: ea7d51c17ae858d579080b70f81204687713f5ae
RIPEMD-160: 9a89233a98854fd491daf8ec64c843a7f667b908
PGP Signature: centos/5/Makefile.asc
File: centos/6/Makefile
Size: 64 bytes
Date: 2011-05-29 19:00:18 +0000
MD5: daa7e63c3010e8a1d48efce8e78bbc94
SHA-1: 69d2a96394b154fed057ad4387283369af6bc57e
RIPEMD-160: e836aa20dedfdd32c0550f0be26a34fe3c6d4219
PGP Signature: centos/6/Makefile.asc

Using the repo


Force index reload after repo update

# yum clean metadata

Or, if you have several yum repositories configured on a machine and need to reload just one of them...

# yum --disablerepo=\* --enablerepo=jms1 clean metadata