X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=libguestfs_upstream.ml;h=5b86e04d5d84584e2214279b5c3e2fe4a773cd03;hb=c05c364daae242827b9e432c4bfe2f7cda8ddae0;hp=42f9897a63b7316345adc4470b8c936c6f7d94e0;hpb=900fee3f7ed1b95f5bb18fda1c31917f72128c77;p=goaljobs-goals.git diff --git a/libguestfs_upstream.ml b/libguestfs_upstream.ml index 42f9897..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. *) @@ -91,16 +103,13 @@ and website_built version = chmod +x localconfigure echo %s > localenv - # Copy in the builder/website templates. - cp -a $HOME/d/libguestfs/builder/website/*.xz builder/website/ - ./localconfigure - make - make website WEBSITEDIR=%s + make V=1 + make maintainer-upload-website WEBSITEDIR=%s " buildtmp version.tarball version.package_version (quote (libguestfs_localconfigure `Tarball)) - (quote libguestfs_localenv) + (quote (libguestfs_localenv (supermin version))) (quote libguestfs_website_repo) (* Goal: the tarball has passed the required set of tests before @@ -122,12 +131,12 @@ and tarball_tested version = echo %s > localenv ./localconfigure - make + make V=1 make check-release " buildtmp version.tarball version.package_version (quote (libguestfs_localconfigure `Tarball)) - (quote libguestfs_localenv) + (quote (libguestfs_localenv (supermin version))) (* Goal: the tarball has been created from git. *) and tarball_created version = @@ -138,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 @@ -154,13 +170,19 @@ and tarball_created version = rm po-docs/podfiles make -C po-docs update-po - make + make V=1 make dist + + # Ensure redhat hardening flags didn't leak into the tarball. + # https://bugzilla.redhat.com/show_bug.cgi?id=1214506 + if zcat %s | grep -q redhat-hardened; then exit 1; fi + mv %s %s/tarballs/%s " repodir - version.version + version_tag (quote (libguestfs_localconfigure `Git)) - (quote libguestfs_localenv) + (quote (libguestfs_localenv (supermin version))) + version.tarball version.tarball buildtmp version.tarball (* Goal: test a commit. *) @@ -189,16 +211,72 @@ and commit_tested branch commit = echo %s > localenv ./localconfigure - make + make V=1 make check-release " repodir commit (quote (libguestfs_localconfigure `Git)) - (quote libguestfs_localenv) + (quote (libguestfs_localenv None)) 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" (