I have been working on modifications to cpanspec to support using
--build and --follow at the same time [1][2]. Basically it creates a yum
repo and builds and adds packages to that then installs them to make
sure they work properly.

Now that’s fine if you don’t mind installing everything on your current
OS, but what about if you want to do it for a different OS? Well, it can
use Docker for that!

The task I used to test this on was getting Net::SAML2 [3] built for
RHEL-7, there area lot of old, crusty modules missing on RHEL & EPEL 7
for this module. I’m pretty happy with how it works ATM. Tested it on
Fedora22 as well, added full dnf support to make that run without a
bunch of warnings.

I had to do a lot of changes to get this working, so the code is very
different.

It uses ~/cpanspec/image/$runname to share with the docker container as
work_dir, so at the end of a run you have ~/cpanspec/image/$runname/repo
which you can put on a website and use on other hosts.

The code isn’t 100% yet, quite a few FIXMEs and I want to split out the
per module hacks in to a configuration file so it’s easier to manage and
also so people can supply their own config file to add/override those.

What I'd like is some feed back on the concept, the code itself, and any
problems anyone has if they give it a test.

I tried to contact upstream but didn't get a reply, so this might be a
surprise to Steve if he reads this ;)

Cheers, Jeff.

1: https://github.com/jfearn/cpanspec/tree/devel
2: git clone --branch devel g...@github.com:jfearn/cpanspec.git
3: Net::SAML2 is what we hope to use for SSO in Bugzilla.

P.S. If you are trying to run from a git clone you need to do something
like this:

$ cd $git_co_dir
$ ./cs-docker --build --docker_dir ./Dockerfiles --image fedora22
$ ./cs-docker --create --image fedora22 --file gdome2-0.8.0-1.src.rpm
--module Net::SAML2 &> saml2.log

P.P.S It currently uses a dirty hack to get cpanspec on to the docker
image, that won;t be necessary once all the deps are in fedora/epel.
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/perl-devel@lists.fedoraproject.org

Reply via email to