X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=libguestfs_upstream.ml;h=5b86e04d5d84584e2214279b5c3e2fe4a773cd03;hb=0af7eb8508526f0a6a7a0a80164b9c5380b2783e;hp=06bf83b7c0bab5b8ea1baa3d7764270b8796ee64;hpb=2b5c3a7099d0ef718c466be184eec162f7030eb5;p=goaljobs-goals.git diff --git a/libguestfs_upstream.ml b/libguestfs_upstream.ml index 06bf83b..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,12 +103,9 @@ 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)) @@ -122,7 +131,7 @@ and tarball_tested version = echo %s > localenv ./localconfigure - make + make V=1 make check-release " buildtmp version.tarball version.package_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 (supermin version))) + version.tarball version.tarball buildtmp version.tarball (* Goal: test a commit. *) @@ -189,7 +211,7 @@ and commit_tested branch commit = echo %s > localenv ./localconfigure - make + make V=1 make check-release " repodir commit @@ -199,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" (