Support #67

avatar

Prepare for packaging on PyPI, etc

Added by Jeff Forcier 329 days ago. Updated 304 days ago.

Status:Done Start:10/14/2009
Priority:High Due date:
Assigned to:avatarJeff Forcier % Done:

0%

Category:Packaging
Target version:0.9

Description

  • Consider dropping setuptools requirement (was sorta #46) don’t want to lose setup.py develop, not enough time to check out Distribute (see #81)
  • Either way, make sure setup.py works correctly on major platforms and versions
    • OS X 10.4
      • System Python 2.3 – not supported
      • MP Python 2.5 – works
      • MP Python 2.6 – untested
    • OS X 10.5
      • System Python 2.5 – works, caveat: the 2.5.1 and tempfile bug (fabric.contrib.files.upload_template)
      • MP Python 2.5.4 – works
      • MP Python 2.6 – doesn’t work?
    • OS X 10.6
      • System Python 2.6? what is it on 10.6? untested anyways
      • MP Python 2.5 – untested, probably works
      • MP Python 2.6 – untested
    • Ubuntu Linux 8.04
      • System Python 2.5 – works
    • Ubuntu Linux 9.04
      • System Python 2.6 – works
    • Other Linuxes
      • untested
    • Windows XP
      • untested by me, pretty sure tested by users
    • Windows Vista
      • no idea
    • Windows 2000
      • no idea
    • Consider trying in and outside of virtualenvs
  • Consider “vendorizing”/including Paramiko 1.7.4 done!
    • License mismatch? Nope, it’s LGPL, not GPL
    • Could also make a public fork of it. Not yet, but definitely a possibility

Related issues

related to Support #81 Maybe switch from Setuptools to Distribute in 1.0 Assigned 11/07/2009
related to Support #86 Explore move back to external Paramiko dependency Done 11/08/2009
related to Bug #64 Officially-blessed downloads don't have stable md5 checksums Done 09/29/2009
duplicated by Bug #46 installation doc: does not list setuptool dependency Duplicate 08/06/2009

Watchers

James Pearson

Associated revisions

Revision a166e5b49af5854bc7c565044e2ab92b40dc72a2
Added by Jeff Forcier 304 days ago

Update MANIFEST to work with distutils, re #67

History

Updated by James Pearson 328 days ago

avatar

I can test on XP, Vista and Arch Linux fairly easily (and I have two machines dedicated to VMs and a decent repository of .isos, so…); is there anything specific you'd like me to do, other than just run setup.py install and see if it works?

Updated by Jeff Forcier 328 days ago

avatar

Mostly just getting past setup.py install, yes, and also doing a fab --list within the source tree afterwards, to make sure that it actually runs. (Which should print out maybe a half dozen tasks defined in Fab’s own fabfile.)

In an ideal world the test suite would also be run, but as it has a number of extra requirements I'm not going to complain if that’s not done :) setup.py install + execution answers 90% of the “does it work on this platform or not?” question.

Thanks for the offer, it’s appreciated!

Updated by Jeff Forcier 318 days ago

avatar

Have Paramiko 1.7.4 sitting in the project root; setuptools' find_packages seems to install it just fine, as its own name in the Python lib. This means I don’t have to worry about changing any references to it, nor worrying about it cluttering up my namespace. Unfortunately it will probably inflate the shit out of LOC counts and such on Github/Ohloh, but oh well :(

Updated by James Pearson 307 days ago

avatar

Ah shoot, I forgot to set notifications for this issue. Sorry about that, and I’ll start running some tests (although it seems you've got things pretty much under control).

Updated by James Pearson 307 days ago

avatar

I suppose I should mention that the tarball on pypi doesn’t include the LICENSE (or AUTHORS, FAQ, INSTALL, for that matter). I was going to just fork and fix it, but you don’t seem to be using the packaging method I'm familiar with*, so. If you send me a link to some docs, though, I’ll be glad to read up and send a patch your way.

  • That is, using bdist_egg. Although, as I'm looking more closely at it, I'm realizing that it doesn’t include any of these sort of files, either.

Updated by Jeff Forcier 305 days ago

avatar

Interesting, I’ll need to re-examine the setup.py. I thought i had AUTHORS, FAQ etc in the MANIFEST which I thought was supposed to be used in creating the sdist (which is what I use — setup.py sdist) but my packaging-fu is yet weak so I’ll have to read up some more.

BTW, I didn’t see the point of using bdist_<anything> because I don’t have any binary components and I got the impression that’s what bdist was for. Again, will read.

Updated by Jeff Forcier 304 days ago

avatar

OK, the problem is MANIFEST vs MANIFEST.in — I think Christian did his own packaging magic with git archive or something and so never used a “proper” distutils-friendly MANIFEST file. I've got one working now.

Updated by Jeff Forcier 304 days ago

avatar
  • Status changed from New to Done

At this point I am able to do the following on my system in virtualenvs:

  • Package using python setup.py sdist
  • Verify that the resulting .tar.gz includes all the top level files like INSTALL, AUTHORS etc, and not just the Python packages
  • Create brand new virtualenv with nothing but pip installed into it
  • Copy .tar.gz over from other venv, unpack, all files are there
  • python setup.py install it
  • fab --list and --help work fine (using the Fab internal fabfile)
  • pip install -r requirements.txt works (I have hg installed globally)
  • and then fab test works.

Multiplatform testing will have to wait, I think it will grow organically as I set up a buildbot and/or start getting specific people to sign on as guinea pigs for certain platforms. For now, 2 weeks of a PyPI-visible setup (and 600+ downloads during that period — not a ton but certainly plenty) and no “oh my god it’s totally broken” reports == good enough for me for a release.

Updated by Jeff Forcier 304 days ago

avatar
  • Category set to Packaging

Also available in: Atom