Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

Ticket #932 (closed enhancement: wontfix)

Opened 13 years ago

Last modified 12 years ago

Add dependency_links declaration to TurboGears setup.py

Reported by: mscott@… Owned by: anonymous
Priority: normal Milestone: 1.5
Component: Deployment Version: 0.9a6
Severity: minor Keywords:
Cc:

Description

By doing this, it becomes possible to package a patched TurboGears as an egg (such as what I do as a temporary solution to ticket:905) and have it download its dependencies properly upon installation.

Advantage over specifying it on the easy_install command-line using -f: You don't have to specify it on the command-line using -f if you are installing a locally-built or otherwise custom-built egg.

Advantage over specifying it in setup.cfg, as it is now: That information doesn't get placed in *.egg-info directories, so is lost when building an egg. The list specified in dependency_links in setup.py does, so it travels with the egg after it's been built.

Simple patch:

Index: setup.py
===================================================================
--- setup.py    (revision 1524)
+++ setup.py    (working copy)
@@ -42,6 +42,7 @@
         "cElementTree >= 1.0.5", "FormEncode >= 0.5.1",
         "setuptools >= 0.6a11",
         "RuleDispatch", "ConfigObj >= 4.3.0", "nose >= 0.8"],
+    dependency_links = ['http://turbogears.org/preview/download/'],
     packages=find_packages(),
     include_package_data=True,
     exclude_package_data={"thirdparty" : ["*"]},

Of course, when the preview/download page becomes the main download page, this will need to be updated.

Change History

comment:1 Changed 13 years ago by jorge.vargas

  • Component changed from TurboGears to Deployment
  • Severity changed from normal to minor
  • Milestone changed from 1.0b1 to 1.0b2

like now.

is this something we want?

comment:2 Changed 13 years ago by mbevan

It is advantageous for the organization I'm employed with to be able to egg-up our projects, upload them to the target server (with setup-tools installed) and just install. There are several packages that we use and are advertised by TurboGears, but are not available in the cheese shop - like TGFastData. If this will fix the problem of having to hand-download TGFastData (and possibly other small packages) then I'm all for it.

comment:3 Changed 13 years ago by godoy

mbevan, since you're talking about client installations I'd recommend an alternative approach where you download the eggs, "certify" them, put in a webserver you have control and then ask setuptools to download things from there.

This will guarantee that if the author of some of these packages release a new version that contains some incompatibility with your application you'll be safe until your own code changes.

comment:4 Changed 13 years ago by max

I don't think this makes sense. If you're installing your own eggs then you can specify egg locations and other things in your own setup.cfg instead of TurboGears itself.

comment:5 Changed 13 years ago by fredlin

It's possible to configure your projects setup.py to do this, currently the owe is that "fastdata is not available in cheeseshop".

comment:6 Changed 12 years ago by alberto

  • Milestone changed from 1.0b2 to 1.1

comment:7 Changed 12 years ago by jorge.vargas

  • Status changed from new to closed
  • Resolution set to wontfix

based on others input they are plenty of better ways to do this, maybe we should add some of this to  http://docs.turbogears.org/1.0/Deployment

Note: See TracTickets for help on using tickets.