libxml-security and liblog4shib not found during installation

Brent Putman putmanb at georgetown.edu
Tue Nov 15 16:06:47 EST 2016



On 11/15/16 1:28 PM, Peter Schober wrote:
> * Cantor, Scott <cantor.2 at osu.edu> [2016-11-15 19:09]:
>> Once they're back if they come back I can rsync them over, but I
>> don't know how to host a yum repo so I don't know what other files
>> are needed. If somebody wants to set one up and give me a set of
>> files to rsync into place I'm also willing to do that.
> From a quick web search this seems easy enough to do (after `yum
> install createrepo`) but I'll be at a conference until the end of the
> week.
> Maybe someone with actual local production use and experience of
> running a yum repo can step up and provide a quick start.


I have some minimal experience running a local yum repo for some custom
packages here.  I was going to send a link to my GU wiki page of notes,
but apparently it's not publicly accessible right now, so:

I don't really do anything more than what Peter said.  It's pretty much
just running createrepo on the top level directory with the RPMs in it. 
Essentially the details are:

1) Create (or sync, etc) a directory structure. My layout assumes a
separate repo for each distro and version, and separate dirs for SRPMS
vs i686 vs x86_64, etc.  Maybe there are other ways, I don't know.  I
have only RHEL, but could be others distros and different versions:

|/var/www/yum/|
|/var/www/yum/SSG|
|/var/www/yum/SSG/RHEL|
|/var/www/yum/SSG/RHEL/||5|
|/var/www/yum/SSG/RHEL/||5||/noarch|
|/var/www/yum/SSG/RHEL/||5||/repodata|
|/var/www/yum/SSG/RHEL/||5||/SRPMS|
|/var/www/yum/SSG/RHEL/||5||/x86_64|
<...snip other versions...>

2) Copy the RPMs into the appropriate directories.   For my custom ones,
I have a simple script that copies them up from my build machine like
this, with the version, etc already interpolated into YUM_REPO_PATH. 
The important bits are:

scp *.src.rpm  ${YUM_REPO_HOST}:${YUM_REPO_PATH}/SRPMS

for type in x86_64 noarch; do
  scp *.${type}.rpm  ${YUM_REPO_HOST}:${YUM_REPO_PATH}/${type}
done


3) Then you just run createrepo to reindex the RPMs, which is the stuff
that it writes to each repo's /repodata.  The entire script I use for
this is:

#!/bin/bash

destdir="/var/www/yum"

# For SELinux
chcon -R --type httpd_user_content_t $destdir

for group in SSG
do
    for version in 5 6 7
    do
        pushd ${destdir}/${group}/RHEL/${version} >/dev/null 2>&1
        /usr/bin/createrepo .
        popd >/dev/null 2>&1
    done
done


*****

Actually, looking at it now, I think the pushd/popd aren't really
necessary, since I think with createrepo you can just use an absolute
path argument.




4) In Apache, I have indexes turned on.  I think that's necessary for
some reason, but not totally sure:

Alias /yum /var/www/yum
<Location /yum>
  Options +Indexes
</Location>


That's pretty much it.  Then the repo is available with a standard
yum.repos.d entry, like:

[GU-OIS-SSG]
name=GU Custom Packages from OIS-SSG group
baseurl=https://www.example.edu/yum/SSG/RHEL/5
enabled=1
gpgcheck=1
gpgkey=https://www.example.edu/yum/SSG/RPM-GPG-KEY-GU-OIS-SSG


Not sure how one handles the signing key for this case, where you are
rsyncing other content. Is the RPM signing key ours (Shibboleth
projects's) or the build service or what?

Anyways, that's the mechanics I use.

--Brent

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20161115/bb8539d7/attachment-0001.html>


More information about the users mailing list