open Goaljobs
-(* Repo dir, etc. *)
-let fedora_dir = Sys.getenv "HOME" // "d/fedora"
-let fedora_repo pkg branch = fedora_dir // pkg // branch
-let fedora_specfile pkg branch =
- sprintf "%s/%s.spec" (fedora_repo pkg branch) pkg
+open Config
(* Get the current version of a package. *)
let fedora_verrel pkg branch =
contains_substring "Name or service not known" in
let completed_successfully = contains_substring "completed successfully" in
let failed = contains_substring "FAILED" in
- fun ?(wait = true) pkg branch ->
+ fun ?(wait = true) ?side_tag pkg branch ->
let repodir = fedora_repo pkg branch in
let out =
shout "
cd %s
- fedpkg build%s 2>&1
- " repodir (if not wait then " --nowait" else "")
+ fedpkg build%s%s 2>&1
+ " repodir
+ (if not wait then " --nowait" else "")
+ (match side_tag with None -> "" | Some t -> " --target " ^ t)
in
if not wait then (
(* Just check the task was created. *)
if not (Pcre.pmatch ~rex:created_task out) then (
- eprintf "%s\n%!" out;
failwith "fedpkg build: build failed to start"
)
) else (
else if completed_successfully out then
()
else if failed out then (
- eprintf "%s\n%!" out;
failwith "koji build failed"
)
else