[CentOS] OT - Automated rpm builds

Mon Nov 17 21:14:19 UTC 2008
R P Herrold <herrold at centos.org>

On Mon, 17 Nov 2008, Tom Brown wrote:

> Currently devs check code into perforce and we have to checkout > package > 
> update repo > deploy
>
> I know this could be scripted but are there any tools out 
> there that can take code from a repository and build rpm's 
> in a continuous integration type manner? I have been hunting 
> around for such a tool and so far not seeing anything 
> obvious as i dont want to reinvent the wheel if at all 
> possible.

I think you mean:

pull from VCS -> date versioned tarball -> postioned to:
 	~/rpmbuild/SOURCES/
spec file generation -> rpmbuild -ba specfile

yielding:

Wrote: /home/herrold/rpmbuild/SRPMS/ta-lib-0.0.20081117.cvs-1.src.rpm
Wrote: /home/herrold/rpmbuild/RPMS/x86_64/ta-lib-0.0.20081117.cvs-1.x86_64.rpm
Wrote: /home/herrold/rpmbuild/RPMS/x86_64/ta-lib-debuginfo-0.0.20081117.cvs-1.x86_64.rpm


I just pushed an update of just such a script which works 
against a project at SourceForge (I see I have some rot 
against upstream's tests which I need to look into)

see:

ftp://ftp.owlriver.com/pub/mirror/ORC/ta-lib/README

which does this:

[herrold at centos-5 ta-lib]$ co -l README
RCS/README,v  -->  README
revision 1.3 (locked)
done
[herrold at centos-5 ta-lib]$ sudo scp README \
 	mailhub.owlriver.net:/var/ftp/pub/local/ORC/ta-lib/
[sudo] password for herrold:
root at mailhub.owlriver.net's password:
README                                        100% 2773 
2.7KB/s   00:00
[herrold at centos-5 ta-lib]$ ./README
Checked out revision 660.
Checked out revision 660.
Starting scripts
display indicator test ... summarized
201
prior should be 502 lines
first backtest example:
 	(.... time passes ...)
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1
 	rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files
 	/var/tmp/ta-lib-0.0.20081117.cvs.root
Wrote: /home/herrold/rpmbuild/SRPMS/ta-lib-0.0.20081117.cvs-1.src.rpm
Wrote: /home/herrold/rpmbuild/RPMS/x86_64/ta-lib-0.0.20081117.cvs-1.x86_64.rpm
Wrote: /home/herrold/rpmbuild/RPMS/x86_64/ta-lib-debuginfo-0.0.20081117.cvs-1.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.1771
  ...

-- Russ herrold