I was requested to blog more about my actual work instead of the huge flood of off-topic posts that I usually do. So here is a post about Styrene’s web interface end of things. As you may see, one is able to perform a range of package/build “actions” and Styrene is able to handle multiple users as well.
How to use the command line:
– Make a config file like the example provided below
– Load a DB with the required package set and dependencies
– Mark the DB initially to get the latest build information
– Run the koji-que loop in one bash shell to auto build packages
– Run the mark-db every 1+ hours to refresh the DB information
Here is how the back-end of things look:
Usage: styrene <command> [--db=<db name>] [--release=<release number>] [--kojihub=<koji url>] [--kojitag=<tag name>] [--binrepo=<bin repo>] [--srcrepo=<src repo>] [--srcarch=<src arch>] [--pkg=<pkg name>] [--state=<pkg state>] [--comment=<pkg comment>] [--override=<envr override>] [--num=<general number>] [--time=<time in seconds>] Commands: (Db Operations) load-db Create and load a local database with packages from a specific architecture update-db Append a local database with packages from a specific architecture (Pkg Info) list-unbuilt Display a list of currently unbuilt packages list-ready List any packages that are ready to be built (all dependencies satisfied) pkg-info Display various package info/stats from the local db mark-pkg Mark a pkg state in the local db (Koji Info) koji-info Get various info/stats for a pkg from koji koji-prev Print the latest built version of a package if one exists koji-equiv Check to see if koji has a pkg version that is >= to this local db version koji-que Send a package to koji for a build attempt koji-tasks List the current active tasks for this user (Auto Building) mark-db foreach (list-unbuilt) use (koji-info) to (mark-pkg) que-ready foreach (list-ready) use (koji-tasks) to throttle (koji-que) (Web Interface) cgi-bin Generate a CSS/HTML/JavaScript (web-based) interface (Pkg Fixing) fix-spec Attempt to auto-fix a non-building SRPM by auto-merging old spec file changes (Misc Cmds) show-vars Print the different variable values for info purposes show-deps Look up the related dependencies for a given pkg build-model Run a continuous loop to simulate a build order until the pkgs aren't satisfied (modifies the model field) (Example) ~/.styrene.conf db = /tmp/ps.db kojitag = dist-f13-updates release = 13 binrepo = updates srcrepo = updates-source