Styrene
Description
Polystyrene is a database-driven build-job queueing and solving system used in conjunction with RPM packages and the Koji buildsystem.
Setup
To obtain the source code, run the following command:
git clone git://git.fedorahosted.org/arm.git
Note:
- This repo contains other folders so look for the styrene directory inside of it
Config
You can use the default values (which are taken from your current system settings) but that wont include being able to work on any update repositories (ex. F15-Updates). You can place the configuration files in/etc/styrene.confor in
~/.styrene.conf. Below is an example config file for working on F13-Updates:
db = /tmp/f13.db kojitag = dist-f13-updates release = 13 binrepo = updates srcrepo = updates-source
Note:
- The actual database file here will be located in the /tmp/ directory.
Database
+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | goal | +-------------------------------------------------------------------------------------------------------------------------------------------------------------+ | srpm varchar(256) PRIMARY KEY | envr_original varchar(40) | envr_override varchar(40) | state int | timestamp timestamp | model int | comment varchar(4096) | +-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+---------------------------------------------+ | dep_cap | +---------------------------------------------+ | srpm varchar(256) | capability varchar(256) | +---------------------------------------------+
+--------------------------------------------------------+ | dep_rpm | +--------------------------------------------------------+ | capability varchar(256) PRIMARY KEY | rpm varchar(256) | +--------------------------------------------------------+
+--------------------------------------------------+ | dep_srpm | +--------------------------------------------------+ | rpm varchar(256) PRIMARY KEY | srpm varchar(256) | +--------------------------------------------------+
Notes:
- goal.srpm <-> dep_cap.srpm
- dep_cap.capability <-> dep_rpm.capability
- dep_rpm.rpm <-> dep_srpm.rpm
Basic Usage
To initially create a db with the structure/info inside of it:
styrene load-db
In order to mark the db with the current package statuses in koji, run:
styrene mark-db
To start que'ing pkg builds (timed & throttled infinite-loop):
styrene que-ready
A graphical web page can be generated also if apache is running with cgi-bin enabled:
vi /var/www/cgi-bin/styrene
/path/to/styrene cgi-bin
Note:
- User "apache" should have a home folder and shell (ex. apache:x:48:48:Apache:/var/www:/bin/bash)
- "apache" home folder should contain a link to an accessible styrene config/database (if not specified in etc)
URLs
Fedora-ARM
- GIT
- Web browser: https://fedorahosted.org/arm/browser/styrene
- Web browser: http://git.fedorahosted.org/git/?p=arm.git;a=summary