X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=libguestfs_upstream.ml;h=5b86e04d5d84584e2214279b5c3e2fe4a773cd03;hb=67839c39351c9e191dd72c36d33979ca5f84f99c;hp=dd69b25dd452737525457d976c4a2635e2e57dbd;hpb=99decc69916ff3a6fc78c077c3550e6f4ca33863;p=goaljobs-goals.git diff --git a/libguestfs_upstream.ml b/libguestfs_upstream.ml index dd69b25..5b86e04 100644 --- a/libguestfs_upstream.ml +++ b/libguestfs_upstream.ml @@ -30,16 +30,28 @@ let package = "libguestfs" (* Goal: the website has been updated to 'version'. *) let rec goal website_updated version = - target (url_exists version.url); + target (url_exists version.url && + (if version.is_stable then + url_exists version.python_url + else true) + ); require (tarball_created version); require (tarball_tested version); + (* Python sdists only generated for stable releases. *) + if version.is_stable then ( + require (python_tarball_created version); + require (python_tarball_tested version) + ); + (* We only update the website for the development releases. *) if not version.is_stable then require (website_built version); require (website_checked_in version); + if version.is_stable then + require (python_website_checked_in version); require (website_rsync_done version) (* Goal: website has been rsync'd. *) @@ -93,7 +105,7 @@ and website_built version = ./localconfigure make V=1 - make website WEBSITEDIR=%s + make maintainer-upload-website WEBSITEDIR=%s " buildtmp version.tarball version.package_version (quote (libguestfs_localconfigure `Tarball)) @@ -135,6 +147,13 @@ and tarball_created version = let repodir = sprintf "%s/repos/%s-%s" buildtmp package version.branch in + (* Branches <= 1.32 are tagged with "1.32.11", + * branches >= 1.33 are tagged with "v1.33.11". + *) + let version_tag = + if version.minor >= 33 then "v" ^ version.version + else version.version in + sh " cp -a %s libguestfs cd libguestfs @@ -160,7 +179,7 @@ and tarball_created version = mv %s %s/tarballs/%s " repodir - version.version + version_tag (quote (libguestfs_localconfigure `Git)) (quote (libguestfs_localenv (supermin version))) version.tarball @@ -202,6 +221,62 @@ and commit_tested branch commit = and repo_up_to_date branch = git_force branch +(* Goals for Python sdists. *) +and python_website_checked_in version = + let key = sprintf "libguestfs_python_website_checked_in_%s" version.version in + target (memory_exists key); + onrun (fun () -> memory_set key "1"); + + require (python_tarball_created version); + require (python_tarball_tested version); + + sh " + cd %s + cp %s/tarballs/%s %s + git add %s + git commit -m \"Python sdist version %s\" + " libguestfs_website_repo + buildtmp version.python_tarball version.python_urlpath + version.python_urlpath + version.version + +and python_tarball_tested version = + let key = sprintf "libguestfs_python_tarball_tested_%s" version.version in + target (memory_exists key); + onrun (fun () -> memory_set key "1"); + + require (python_tarball_created version); + + sh " + virtualenv venv + source ./venv/bin/activate + pip install %s/tarballs/%s + " buildtmp version.python_tarball + +and python_tarball_created version = + let filename = sprintf "%s/tarballs/%s" buildtmp version.python_tarball in + target (file_exists filename); + + require (tarball_created version); + + sh " + tar zxf %s/tarballs/%s + cd %s + + echo %s > localconfigure + chmod +x localconfigure + echo %s > localenv + + ./localconfigure + make V=1 + make -C python sdist + cp python/dist/%s %s + " buildtmp version.tarball + version.package_version + (quote (libguestfs_localconfigure `Tarball)) + (quote (libguestfs_localenv (supermin version))) + version.python_tarball filename + let () = (* Add a periodic job to check for new git commits and test them. *) every libguestfs_query_mins minutes ~name:"new libguestfs commit" (