<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 7/1/12 8:50 PM, Marcus wrote:<br>
    </div>
    <blockquote
cite="mid:CAPYWazpZW--u26w-5eH86638S-QOF_TMqQcw-4h09FgcU5EAMw@mail.gmail.com"
      type="cite">
      <blockquote class="gmail_quote"
style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">FWIW
        I have started a "pypi2rpm" project that creates RPM out of PyPI
        projects, we use at Mozilla to deploy our apps,&nbsp;<a
          moz-do-not-send="true"
          href="http://pypi.python.org/pypi/pypi2rpm" target="_blank">http://pypi.python.org/pypi/pypi2rpm</a><br>
        It's just a glue script on the top of an isolated bdist_rpm
        command and distutils2.version (for sorting versions) but you
        can also pass your spec file for a given<br>
        project and have Fedora/RHEL specific options (like adding
        python26- prefixes etc)<br>
        <br>
      </blockquote>
      <div><br>
      </div>
      <div>Hello Tarek:</div>
      <div>if you have anything that details your rpm deployment
        workflow at mozilla, i'd love to see it.</div>
      <div>
        <div
style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">I
          work in a very active build environment, and
          repetitive"setup.py build" time is pain point.</div>
        <div
style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">currently,
          we have a pretty fragile virtualenv caching strategy, and I've
          even considered patching distutils so that "setup.py build"
          would somehow work against a cache.</div>
        <div
style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">currently,
          my mindset is to migrate to a modular rpm install strategy
          (managed by puppet) to prevent wasteful build time.</div>
      </div>
      <div
style="font-size:13px;color:rgb(34,34,34);font-family:arial,sans-serif;background-color:rgb(255,255,255)"><br>
      </div>
      <div
style="font-size:13px;color:rgb(34,34,34);font-family:arial,sans-serif;background-color:rgb(255,255,255)">Marcus</div>
      <div
style="font-size:13px;color:rgb(34,34,34);font-family:arial,sans-serif;background-color:rgb(255,255,255)">P.S.
        Daniel's "wheel" format is another possible to answer to my
        concern</div>
      <div><br>
      </div>
      <br>
    </blockquote>
    To speed up deployments, we use pip's
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    --download-cache option, so all builds on the box share the
    downloaded tarballs.<br>
    <br>
    We also use our own local mirror, and an extra apache directory for
    packages that are not on pypi.<br>
    <br>
    I have also added a proxy that returns a 404 when pip tries to hit
    the net, to simulate the --allow-hosts option easy_install has.<br>
    <br>
    Everything is driven from a Makefile. Example:
    <a class="moz-txt-link-freetext" href="https://github.com/mozilla-services/tokenserver/blob/master/Makefile">https://github.com/mozilla-services/tokenserver/blob/master/Makefile</a><br>
    The script to create RPMs is at
    <a class="moz-txt-link-freetext" href="https://github.com/mozilla-services/mopytools">https://github.com/mozilla-services/mopytools</a><br>
    <br>
    HTH<br>
    Tarek<br>
    <br>
    <br>
    <br>
  </body>
</html>