From 0eb9a491eee0b1ba2974284cf544d72ed91f0960 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Thu, 19 Nov 2020 09:12:50 -0500 Subject: [PATCH 1/5] news fragment --- newsfragments/3497.installation | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/3497.installation diff --git a/newsfragments/3497.installation b/newsfragments/3497.installation new file mode 100644 index 000000000..aa7d2cbee --- /dev/null +++ b/newsfragments/3497.installation @@ -0,0 +1 @@ +The Tahoe-LAFS project longer commits to maintaining binary packages for all dependencies at . Please use PyPI instead. \ No newline at end of file From e4275980c822f916fbe9eece5c5d0c351f68e863 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Thu, 19 Nov 2020 09:12:56 -0500 Subject: [PATCH 2/5] Don't recommend tahoe-lafs.org/deps to folks in the install docs --- docs/INSTALL.rst | 46 +++++++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst index ab9b5a743..3a724b790 100644 --- a/docs/INSTALL.rst +++ b/docs/INSTALL.rst @@ -39,9 +39,7 @@ If you are on Windows, please see :doc:`windows` for platform-specific instructions. If you are on a Mac, you can either follow these instructions, or use the -pre-packaged bundle described in :doc:`OS-X`. The Tahoe project hosts -pre-compiled "wheels" for all dependencies, so use the ``--find-links=`` -option described below to avoid needing a compiler. +pre-packaged bundle described in :doc:`OS-X`. Many Linux distributions include Tahoe-LAFS packages. Debian and Ubuntu users can ``apt-get install tahoe-lafs``. See `OSPackages`_ for other @@ -54,9 +52,14 @@ Preliminaries ============= If you don't use a pre-packaged copy of Tahoe, you can build it yourself. -You'll need Python2.7, pip, and virtualenv. On unix-like platforms, you will -need a C compiler, the Python development headers, and some libraries -(libffi-dev and libssl-dev). +You'll need Python2.7, pip, and virtualenv. +Tahoe-LAFS depends on some libraries which require a C compiler to build. +However, for many platforms, PyPI hosts already-built packages of libraries. + +If there is no already-built package for your platform, +you will need a C compiler, +the Python development headers, +and some libraries (libffi-dev and libssl-dev). On a modern Debian/Ubuntu-derived distribution, this command will get you everything you need:: @@ -64,8 +67,7 @@ everything you need:: apt-get install build-essential python-dev libffi-dev libssl-dev libyaml-dev python-virtualenv On OS-X, install pip and virtualenv as described below. If you want to -compile the dependencies yourself (instead of using ``--find-links`` to take -advantage of the pre-compiled ones we host), you'll also need to install +compile the dependencies yourself, you'll also need to install Xcode and its command-line tools. **Note** that Tahoe-LAFS depends on `openssl 1.1.1c` or greater. @@ -150,30 +152,24 @@ from PyPI with ``venv/bin/pip install tahoe-lafs``. After installation, run % virtualenv venv New python executable in ~/venv/bin/python2.7 Installing setuptools, pip, wheel...done. - + % venv/bin/pip install -U pip setuptools Downloading/unpacking pip from https://pypi.python.org/... ... Successfully installed pip setuptools - + % venv/bin/pip install tahoe-lafs Collecting tahoe-lafs ... Installing collected packages: ... Successfully installed ... - + % venv/bin/tahoe --version tahoe-lafs: 1.14.0 foolscap: ... - + % -On OS-X, instead of ``pip install tahoe-lafs``, use this command to take -advantage of the hosted pre-compiled wheels:: - - venv/bin/pip install --find-links=https://tahoe-lafs.org/deps tahoe-lafs - - Install From a Source Tarball ----------------------------- @@ -182,13 +178,13 @@ You can also install directly from the source tarball URL:: % virtualenv venv New python executable in ~/venv/bin/python2.7 Installing setuptools, pip, wheel...done. - + % venv/bin/pip install https://tahoe-lafs.org/downloads/tahoe-lafs-1.14.0.tar.bz2 Collecting https://tahoe-lafs.org/downloads/tahoe-lafs-1.14.0.tar.bz2 ... Installing collected packages: ... Successfully installed ... - + % venv/bin/tahoe --version tahoe-lafs: 1.14.0 ... @@ -213,16 +209,16 @@ with the ``--editable`` flag. You should also use the ``[test]`` extra to get the additional libraries needed to run the unit tests:: % git clone https://github.com/tahoe-lafs/tahoe-lafs.git - + % cd tahoe-lafs - + % virtualenv venv - + % venv/bin/pip install --editable .[test] Obtaining file::~/tahoe-lafs ... Successfully installed ... - + % venv/bin/tahoe --version tahoe-lafs: 1.14.0.post34.dev0 ... @@ -282,7 +278,7 @@ result in a "all tests passed" mesage:: test_missing_signature ... [OK] ... Ran 1186 tests in 423.179s - + PASSED (skips=7, expectedFailures=3, successes=1176) __________________________ summary ___________________________________ py27: commands succeeded From c8bcad4847e97c68accaaf63ec550d223180d046 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Thu, 19 Nov 2020 09:13:11 -0500 Subject: [PATCH 3/5] Don't make tahoe-lafs.org/deps part of the release process --- docs/how_to_make_a_tahoe-lafs_release.org | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/how_to_make_a_tahoe-lafs_release.org b/docs/how_to_make_a_tahoe-lafs_release.org index b3f2a84d7..124657bfc 100644 --- a/docs/how_to_make_a_tahoe-lafs_release.org +++ b/docs/how_to_make_a_tahoe-lafs_release.org @@ -71,7 +71,6 @@ people are Release Maintainers: - [ ] copied the release tarballs and signatures to tahoe-lafs.org: ~source/downloads/ - [ ] moved old release out of ~source/downloads (to downloads/old/?) - [ ] ensured readthedocs.org updated - - [ ] uploaded wheels to https://tahoe-lafs.org/deps/ - [ ] uploaded release to https://github.com/tahoe-lafs/tahoe-lafs/releases * check release downloads [0/] @@ -79,7 +78,6 @@ people are Release Maintainers: - [ ] test PyPI via: pip install tahoe-lafs - [ ] https://github.com/tahoe-lafs/tahoe-lafs/releases - [ ] https://tahoe-lafs.org/downloads/ - - [ ] https://tahoe-lafs.org/deps/ * document release in trac [0/] From 4b7188bb162c43708a8e0a270cbae5e21fe74ddf Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Thu, 19 Nov 2020 09:13:22 -0500 Subject: [PATCH 4/5] Don't recommend tahoe-lafs.org/deps to folks on Windows --- docs/windows.rst | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/docs/windows.rst b/docs/windows.rst index 568e502bc..1f69ac743 100644 --- a/docs/windows.rst +++ b/docs/windows.rst @@ -33,7 +33,7 @@ You can use whatever name you like for the virtualenv, but example uses 3: Use the virtualenv's ``pip`` to install the latest release of Tahoe-LAFS into this virtualenv:: - PS C:\Users\me> venv\Scripts\pip install --find-links=https://tahoe-lafs.org/deps/ tahoe-lafs + PS C:\Users\me> venv\Scripts\pip install tahoe-lafs Collecting tahoe-lafs ... Installing collected packages: ... @@ -69,7 +69,7 @@ The ``pip install tahoe-lafs`` command above will install the latest release the following command (using pip from the virtualenv, from the root of your git checkout):: - $ venv\Scripts\pip install --find-links=https://tahoe-lafs.org/deps/ . + $ venv\Scripts\pip install . If you're planning to hack on the source code, you might want to add ``--editable`` so you won't have to re-install each time you make a change. @@ -77,12 +77,7 @@ If you're planning to hack on the source code, you might want to add Dependencies ------------ -Tahoe-LAFS depends upon several packages that use compiled C code -(such as zfec). This code must be built separately for each platform -(Windows, OS-X, and different flavors of Linux). - -Pre-compiled "wheels" of all Tahoe's dependencies are hosted on the -tahoe-lafs.org website in the ``deps/`` directory. The ``--find-links=`` -argument (used in the examples above) instructs ``pip`` to look at that URL -for dependencies. This should avoid the need for anything to be compiled -during the install. +Tahoe-LAFS depends upon several packages that use compiled C code (such as zfec). +This code must be built separately for each platform (Windows, OS-X, and different flavors of Linux). +Fortunately, this is now done by upstream packages for most platforms. +The result is that a C compiler is usually not required to install Tahoe-LAFS. From 94a1ae70b7e334cfdf47bb4af2d66921fa970ce7 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 25 Nov 2020 10:41:56 -0500 Subject: [PATCH 5/5] fix word-o --- newsfragments/3497.installation | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/newsfragments/3497.installation b/newsfragments/3497.installation index aa7d2cbee..4a50be97e 100644 --- a/newsfragments/3497.installation +++ b/newsfragments/3497.installation @@ -1 +1 @@ -The Tahoe-LAFS project longer commits to maintaining binary packages for all dependencies at . Please use PyPI instead. \ No newline at end of file +The Tahoe-LAFS project no longer commits to maintaining binary packages for all dependencies at . Please use PyPI instead.