<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Globus Release Tools</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /></head><body><div xml:lang="en" class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="idm1"></a>Globus Release Tools</h2></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="#_overview">1. Overview</a></span></dt><dt><span class="section"><a href="#_repository_management_tools">2. Repository Management Tools</a></span></dt><dt><span class="section"><a href="#_examples">3. Examples</a></span></dt><dt><span class="section"><a href="#_links">4. Links</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_overview"></a>1. Overview</h2></div></div></div><p>The tools in this package are used to manage software releases for the Globus Toolkit project, so that packages, installers, and repositories can be transferred from our build system to the Globus web server.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_repository_management_tools"></a>2. Repository Management Tools</h2></div></div></div><p>The tools in this release are <span class="strong"><strong>repo-sync-unstable</strong></span>, <span class="strong"><strong>repo-s3-sync</strong></span>, <span class="strong"><strong>repo-promote-package</strong></span>, <span class="strong"><strong>repo-list-packages</strong></span>, and <span class="strong"><strong>repo-link-duplicates</strong></span>.</p><p>The <span class="strong"><strong>repo-sync-unstable</strong></span> tool caches packages from the <code class="literal">builds.globus.org</code> repository and publishes them as part of the <span class="emphasis"><em>unstable</em></span> release of the Globus Toolkit.</p><p>The <span class="strong"><strong>repo-s3-sync</strong></span> tool takes cached package data, which may already be published at another location, and uploads it to <code class="literal">s3://downloads.globus.org/data/toolkit/</code>.</p><p>The <span class="strong"><strong>repo-promote-package</strong></span> tool copies a package and its metadata between selected releases, from one of <span class="emphasis"><em>unstable</em></span> → <span class="emphasis"><em>testing</em></span> → <span class="emphasis"><em>stable</em></span>.</p><p>The <span class="strong"><strong>repo-list-packages</strong></span> program will list the contents of a release, optionally filtering by a base package name.</p><p>The <span class="strong"><strong>repo-link-duplicates</strong></span> tool replaces identical binary package files with hard links.</p><p>The <span class="strong"><strong>repo-sync-unstable</strong></span>, <span class="strong"><strong>repo-s3-sync</strong></span>, and <span class="strong"><strong>repo-promote-package</strong></span> tools have a <span class="emphasis"><em>-dryrun</em></span> option that will not copy packages, though directory trees and metadata might be updated depending on the state of the release directories.</p><p>The tools use a set of python packages in <code class="literal">share/python/repo</code> to manage the different directory layouts and repository metadata management commands for the debian, yum, zypper, source tarball, and installer repository types.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>these package tools can run for multiple minutes depending on the size of the package repository metadata, as they potentially run <span class="strong"><strong>reprepro</strong></span> and/or <span class="strong"><strong>createrepo</strong></span> multiple times and parse the (sometimes compressed) repository metadata.</p></div><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>You’ll need access to the repository private key in order to publish debian or zypper packages as those repositories are signed.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_examples"></a>3. Examples</h2></div></div></div><p>To update the <span class="emphasis"><em>unstable</em></span> repository with all new packages:</p><pre class="literallayout">% globus-sync-unstable</pre><p>To promote the <span class="emphasis"><em>globus-xio</em></span> package from <span class="strong"><strong>unstable</strong></span> to <span class="strong"><strong>testing</strong></span>:</p><pre class="literallayout">% globus-promote-package -f unstable -t testing -p globus-xio</pre><p>To publish a new set of installers:</p><pre class="literallayout">% globus-sync-unstable -i</pre><p>To publish the cached <code class="literal">foo/</code> directory to S3:</p><pre class="literallayout">% repo-s3-sync --subdir foo/</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_links"></a>4. Links</h2></div></div></div><p>For further information about the tools, see the <a class="ulink" href="share/doc/repo-promote-package.html" target="_top">repo-promote-package</a>, <a class="ulink" href="share/doc/repo-sync-unstable.html" target="_top">repo-sync-unstable</a>, <a class="ulink" href="share/doc/repo-s3-sync.html" target="_top">repo-s3-sync</a>, <a class="ulink" href="share/doc/repo-list-packages.html" target="_top">repo-list-packages</a>, and <a class="ulink" href="share/doc/repo-link-duplicates.html" target="_top">repo-link-duplicates</a>, documentation.</p></div></div></body></html>