diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1f3d57310..89d35fdc1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -182,6 +182,9 @@ jobs: - windows-latest python-version: - 2.7 + include: + - os: ubuntu-latest + python-version: 3.6 steps: @@ -239,9 +242,14 @@ jobs: - name: Display tool versions run: python misc/build_helpers/show-tool-versions.py - - name: Run "tox -e integration" + - name: Run "Python 2 integration tests" + if: ${{ matrix.python-version == '2.7' }} run: tox -e integration + - name: Run "Python 3 integration tests" + if: ${{ matrix.python-version != '2.7' }} + run: tox -e integration3 + - name: Upload eliot.log in case of failure uses: actions/upload-artifact@v1 if: failure() diff --git a/CREDITS b/CREDITS index 07ac1e476..b0923fc35 100644 --- a/CREDITS +++ b/CREDITS @@ -204,6 +204,34 @@ E: meejah@meejah.ca P: 0xC2602803128069A7, 9D5A 2BD5 688E CB88 9DEB CD3F C260 2803 1280 69A7 D: various bug-fixes and features +N: Chad Whitacre +E: chad@zetaweb.com +D: Python3 porting + +N: Itamar Turner-Trauring +E: itamar@pythonspeed.com +D: Python3 porting + +N: Jason R. Coombs +E: jaraco@jaraco.com +D: Python3 porting + +N: Maciej Fijalkowski +E: fijall@gmail.com +D: Python3 porting + +N: Ross Patterson +E: me@rpatterson.net +D: Python3 porting + +N: Sajith Sasidharan +E: sajith@hcoop.net +D: Python3 porting + +N: Pete Fein +E: pete@snake.dev +D: Python3 porting + N: Viktoriia Savchuk W: https://twitter.com/viktoriiasvchk D: Developer community focused improvements on the README file. diff --git a/NEWS.rst b/NEWS.rst index 2ca67a1f6..88d231826 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -5,6 +5,61 @@ User-Visible Changes in Tahoe-LAFS ================================== .. towncrier start line +Release 1.15.1 +'''''''''''''' + +Misc/Other +---------- + +- `#3469 `_, `#3608 `_ + + +Release 1.15.0 (2020-10-13) +''''''''''''''''''''''''''' + +Features +-------- + +- PyPy is now a supported platform. (`#1792 `_) +- allmydata.testing.web, a new module, now offers a supported Python API for testing Tahoe-LAFS web API clients. (`#3317 `_) + + +Bug Fixes +--------- + +- Make directory page links work. (`#3312 `_) +- Use last known revision of Chutney that is known to work with Python 2 for Tor integration tests. (`#3348 `_) +- Mutable files now use RSA exponent 65537 (`#3349 `_) + + +Dependency/Installation Changes +------------------------------- + +- Tahoe-LAFS now supports CentOS 8 and no longer supports CentOS 7. (`#3296 `_) +- Tahoe-LAFS now supports Ubuntu 20.04. (`#3328 `_) + + +Removed Features +---------------- + +- The Magic Folder frontend has been split out into a stand-alone project. The functionality is no longer part of Tahoe-LAFS itself. Learn more at . (`#3284 `_) +- Slackware 14.2 is no longer a Tahoe-LAFS supported platform. (`#3323 `_) + + +Other Changes +------------- + +- The Tahoe-LAFS project has adopted a formal code of conduct. (`#2755 `_) +- (`#3263 `_, `#3324 `_) +- The "coverage" tox environment has been replaced by the "py27-coverage" and "py36-coverage" environments. (`#3355 `_) + + +Misc/Other +---------- + +- `#3247 `_, `#3254 `_, `#3277 `_, `#3278 `_, `#3287 `_, `#3288 `_, `#3289 `_, `#3290 `_, `#3291 `_, `#3292 `_, `#3293 `_, `#3294 `_, `#3297 `_, `#3298 `_, `#3299 `_, `#3300 `_, `#3302 `_, `#3303 `_, `#3304 `_, `#3305 `_, `#3306 `_, `#3308 `_, `#3309 `_, `#3313 `_, `#3315 `_, `#3316 `_, `#3320 `_, `#3325 `_, `#3326 `_, `#3329 `_, `#3330 `_, `#3331 `_, `#3332 `_, `#3333 `_, `#3334 `_, `#3335 `_, `#3336 `_, `#3338 `_, `#3339 `_, `#3340 `_, `#3341 `_, `#3342 `_, `#3343 `_, `#3344 `_, `#3346 `_, `#3351 `_, `#3353 `_, `#3354 `_, `#3356 `_, `#3357 `_, `#3358 `_, `#3359 `_, `#3361 `_, `#3364 `_, `#3365 `_, `#3366 `_, `#3367 `_, `#3368 `_, `#3370 `_, `#3372 `_, `#3373 `_, `#3374 `_, `#3375 `_, `#3376 `_, `#3377 `_, `#3378 `_, `#3380 `_, `#3381 `_, `#3382 `_, `#3383 `_, `#3386 `_, `#3387 `_, `#3388 `_, `#3389 `_, `#3391 `_, `#3392 `_, `#3393 `_, `#3394 `_, `#3395 `_, `#3396 `_, `#3397 `_, `#3398 `_, `#3401 `_, `#3403 `_, `#3406 `_, `#3408 `_, `#3409 `_, `#3411 `_, `#3415 `_, `#3416 `_, `#3417 `_, `#3421 `_, `#3422 `_, `#3423 `_, `#3424 `_, `#3425 `_, `#3426 `_, `#3427 `_, `#3429 `_, `#3430 `_, `#3431 `_, `#3436 `_, `#3437 `_, `#3438 `_, `#3439 `_, `#3440 `_, `#3442 `_, `#3443 `_, `#3446 `_, `#3448 `_, `#3449 `_, `#3450 `_, `#3451 `_, `#3452 `_, `#3453 `_, `#3455 `_, `#3456 `_, `#3458 `_, `#3462 `_, `#3463 `_, `#3464 `_ + + Release 1.14.0 (2020-03-11) ''''''''''''''''''''''''''' diff --git a/README.rst b/README.rst index b1f6d2563..6c8951fd4 100644 --- a/README.rst +++ b/README.rst @@ -6,7 +6,7 @@ Free and Open decentralized data store `Tahoe-LAFS `__ (Tahoe Least-Authority File Store) is the first free software / open-source storage technology that distributes your data across multiple servers. Even if some servers fail or are taken over by an attacker, the entire file store continues to function correctly, preserving your privacy and security. -|Contributor Covenant| |readthedocs| |travis| |circleci| |coveralls| +|Contributor Covenant| |readthedocs| |circleci| |githubactions| |coveralls| Table of contents @@ -118,13 +118,12 @@ See `TGPPL.PDF `__ for why the TGPPL ex :alt: documentation status :target: http://tahoe-lafs.readthedocs.io/en/latest/?badge=latest -.. |travis| image:: https://travis-ci.org/tahoe-lafs/tahoe-lafs.png?branch=master - :alt: build status - :target: https://travis-ci.org/tahoe-lafs/tahoe-lafs - .. |circleci| image:: https://circleci.com/gh/tahoe-lafs/tahoe-lafs.svg?style=svg :target: https://circleci.com/gh/tahoe-lafs/tahoe-lafs +.. |githubactions| image:: https://github.com/tahoe-lafs/tahoe-lafs/actions/workflows/ci.yml/badge.svg + :target: https://github.com/tahoe-lafs/tahoe-lafs/actions + .. |coveralls| image:: https://coveralls.io/repos/github/tahoe-lafs/tahoe-lafs/badge.svg :alt: code coverage :target: https://coveralls.io/github/tahoe-lafs/tahoe-lafs diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst index e47d87bd6..253cbe5ae 100644 --- a/docs/INSTALL.rst +++ b/docs/INSTALL.rst @@ -165,7 +165,7 @@ from PyPI with ``venv/bin/pip install tahoe-lafs``. After installation, run Successfully installed ... % venv/bin/tahoe --version - tahoe-lafs: 1.14.0 + tahoe-lafs: 1.15.1 foolscap: ... % @@ -180,15 +180,15 @@ following instructions with the local filename. % 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 + + % venv/bin/pip install https://tahoe-lafs.org/downloads/tahoe-lafs-1.15.1.tar.bz2 + Collecting https://tahoe-lafs.org/downloads/tahoe-lafs-1.15.1.tar.bz2 ... Installing collected packages: ... Successfully installed ... % venv/bin/tahoe --version - tahoe-lafs: 1.14.0 + tahoe-lafs: 1.15.1 ... .. _verifying_signatures: @@ -256,7 +256,7 @@ the additional libraries needed to run the unit tests:: Successfully installed ... % venv/bin/tahoe --version - tahoe-lafs: 1.14.0.post34.dev0 + tahoe-lafs: 1.15.1 ... This way, you won't have to re-run the ``pip install`` step each time you @@ -305,7 +305,7 @@ result in a "all tests passed" mesage:: % tox GLOB sdist-make: ~/tahoe-lafs/setup.py py27 recreate: ~/tahoe-lafs/.tox/py27 - py27 inst: ~/tahoe-lafs/.tox/dist/tahoe-lafs-1.14.0.post8.dev0.zip + py27 inst: ~/tahoe-lafs/.tox/dist/tahoe-lafs-1.15.1.zip py27 runtests: commands[0] | tahoe --version py27 runtests: commands[1] | trial --rterrors allmydata allmydata.test.test_auth diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst index 75ab74bb1..48a65ff0a 100644 --- a/docs/release-checklist.rst +++ b/docs/release-checklist.rst @@ -59,6 +59,10 @@ Create Branch and Apply Updates - summarize major changes - commit it +- update "nix/tahoe-lafs.nix" + + - change the value given for `version` from `OLD.post1` to `NEW.post1` + - update "CREDITS" - are there any new contributors in this release? @@ -189,11 +193,16 @@ is appropriate. Once a release-candidate has marinated for some time then it can be made into a the actual release. -XXX Write this section when doing 1.15.0 actual release - -(In general, this means dropping the "rcX" part of the release and the -tag, uploading those artifacts, uploading to PyPI, ... ) +The actual release follows the same steps as above, with some differences: +- there is no "-rcX" on the end of release names +- the release is uploaded to PyPI (using Twine) +- the version is tagged in Git (ideally using "the tahoe release key" + but can be done with any of the authorized core developers' personal + key) +- the release-candidate branches must be merged back to master after + the release is official (e.g. causing newsfragments to be deleted on + master, etc) Announcing the Release diff --git a/newsfragments/1792.feature b/newsfragments/1792.feature deleted file mode 100644 index b2b839664..000000000 --- a/newsfragments/1792.feature +++ /dev/null @@ -1 +0,0 @@ -PyPy is now a supported platform. \ No newline at end of file diff --git a/newsfragments/2755.other b/newsfragments/2755.other deleted file mode 100644 index e3e31465d..000000000 --- a/newsfragments/2755.other +++ /dev/null @@ -1 +0,0 @@ -The Tahoe-LAFS project has adopted a formal code of conduct. diff --git a/newsfragments/3278.minor b/newsfragments/3278.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3284.removed b/newsfragments/3284.removed deleted file mode 100644 index 7e31d352a..000000000 --- a/newsfragments/3284.removed +++ /dev/null @@ -1 +0,0 @@ -The Magic Folder frontend has been split out into a stand-alone project. The functionality is no longer part of Tahoe-LAFS itself. Learn more at . diff --git a/newsfragments/3287.minor b/newsfragments/3287.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3288.minor b/newsfragments/3288.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3289.minor b/newsfragments/3289.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3290.minor b/newsfragments/3290.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3291.minor b/newsfragments/3291.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3292.minor b/newsfragments/3292.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3293.minor b/newsfragments/3293.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3294.minor b/newsfragments/3294.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3296.installation b/newsfragments/3296.installation deleted file mode 100644 index 78cf83f60..000000000 --- a/newsfragments/3296.installation +++ /dev/null @@ -1 +0,0 @@ -Tahoe-LAFS now supports CentOS 8 and no longer supports CentOS 7. \ No newline at end of file diff --git a/newsfragments/3297.minor b/newsfragments/3297.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3298.minor b/newsfragments/3298.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3299.minor b/newsfragments/3299.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3300.minor b/newsfragments/3300.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3302.minor b/newsfragments/3302.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3303.minor b/newsfragments/3303.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3304.minor b/newsfragments/3304.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3305.minor b/newsfragments/3305.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3306.minor b/newsfragments/3306.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3308.minor b/newsfragments/3308.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3309.minor b/newsfragments/3309.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3312.bugfix b/newsfragments/3312.bugfix deleted file mode 100644 index 9939fe1f0..000000000 --- a/newsfragments/3312.bugfix +++ /dev/null @@ -1 +0,0 @@ -Make directory page links work. diff --git a/newsfragments/3313.minor b/newsfragments/3313.minor deleted file mode 100644 index c4eecd956..000000000 --- a/newsfragments/3313.minor +++ /dev/null @@ -1 +0,0 @@ -Replace nevow with twisted.web in web.operations.OphandleTable diff --git a/newsfragments/3315.minor b/newsfragments/3315.minor deleted file mode 100644 index 0536c297a..000000000 --- a/newsfragments/3315.minor +++ /dev/null @@ -1 +0,0 @@ -Replace nevow with twisted.web in web.operations.ReloadMixin diff --git a/newsfragments/3316.minor b/newsfragments/3316.minor deleted file mode 100644 index 9457b486e..000000000 --- a/newsfragments/3316.minor +++ /dev/null @@ -1 +0,0 @@ -Port checker result pages' rendering from nevow to twisted web templates. diff --git a/newsfragments/3317.feature b/newsfragments/3317.feature deleted file mode 100644 index 2a7048397..000000000 --- a/newsfragments/3317.feature +++ /dev/null @@ -1 +0,0 @@ -allmydata.testing.web, a new module, now offers a supported Python API for testing Tahoe-LAFS web API clients. \ No newline at end of file diff --git a/newsfragments/3320.minor b/newsfragments/3320.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3323.removed b/newsfragments/3323.removed deleted file mode 100644 index 356b4b2af..000000000 --- a/newsfragments/3323.removed +++ /dev/null @@ -1 +0,0 @@ -Slackware 14.2 is no longer a Tahoe-LAFS supported platform. diff --git a/newsfragments/3324.other b/newsfragments/3324.other deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3325.minor b/newsfragments/3325.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3326.minor b/newsfragments/3326.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3328.installation b/newsfragments/3328.installation deleted file mode 100644 index 7b08ffdc4..000000000 --- a/newsfragments/3328.installation +++ /dev/null @@ -1 +0,0 @@ -Tahoe-LAFS now supports Ubuntu 20.04. \ No newline at end of file diff --git a/newsfragments/3329.minor b/newsfragments/3329.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3330.minor b/newsfragments/3330.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3331.minor b/newsfragments/3331.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3332.minor b/newsfragments/3332.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3333.minor b/newsfragments/3333.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3334.minor b/newsfragments/3334.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3335.minor b/newsfragments/3335.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3336.minor b/newsfragments/3336.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3338.minor b/newsfragments/3338.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3339.minor b/newsfragments/3339.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3340.minor b/newsfragments/3340.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3341.minor b/newsfragments/3341.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3342.minor b/newsfragments/3342.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3343.minor b/newsfragments/3343.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3344.minor b/newsfragments/3344.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3346.minor b/newsfragments/3346.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3348.bugfix b/newsfragments/3348.bugfix deleted file mode 100644 index e0f1f6c5e..000000000 --- a/newsfragments/3348.bugfix +++ /dev/null @@ -1 +0,0 @@ -Use last known revision of Chutney that is known to work with Python 2 for Tor integration tests. diff --git a/newsfragments/3349.bugfix b/newsfragments/3349.bugfix deleted file mode 100644 index 08f2d7314..000000000 --- a/newsfragments/3349.bugfix +++ /dev/null @@ -1 +0,0 @@ -Mutable files now use RSA exponent 65537 diff --git a/newsfragments/3351.minor b/newsfragments/3351.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3353.minor b/newsfragments/3353.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3354.minor b/newsfragments/3354.minor deleted file mode 100644 index 8b1378917..000000000 --- a/newsfragments/3354.minor +++ /dev/null @@ -1 +0,0 @@ - diff --git a/newsfragments/3355.other b/newsfragments/3355.other deleted file mode 100644 index 4e854e4dd..000000000 --- a/newsfragments/3355.other +++ /dev/null @@ -1 +0,0 @@ -The "coverage" tox environment has been replaced by the "py27-coverage" and "py36-coverage" environments. diff --git a/newsfragments/3356.minor b/newsfragments/3356.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3357.minor b/newsfragments/3357.minor deleted file mode 100644 index 8b1378917..000000000 --- a/newsfragments/3357.minor +++ /dev/null @@ -1 +0,0 @@ - diff --git a/newsfragments/3358.minor b/newsfragments/3358.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3359.minor b/newsfragments/3359.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3361.minor b/newsfragments/3361.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3364.minor b/newsfragments/3364.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3365.minor b/newsfragments/3365.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3366.minor b/newsfragments/3366.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3367.minor b/newsfragments/3367.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3368.minor b/newsfragments/3368.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3370.minor b/newsfragments/3370.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3372.minor b/newsfragments/3372.minor deleted file mode 100644 index 8b1378917..000000000 --- a/newsfragments/3372.minor +++ /dev/null @@ -1 +0,0 @@ - diff --git a/newsfragments/3373.minor b/newsfragments/3373.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3374.minor b/newsfragments/3374.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3375.minor b/newsfragments/3375.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3376.minor b/newsfragments/3376.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3377.minor b/newsfragments/3377.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3378.minor b/newsfragments/3378.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3380.minor b/newsfragments/3380.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3381.minor b/newsfragments/3381.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3382.minor b/newsfragments/3382.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3383.minor b/newsfragments/3383.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3386.minor b/newsfragments/3386.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3387.minor b/newsfragments/3387.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3388.minor b/newsfragments/3388.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3389.minor b/newsfragments/3389.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3391.minor b/newsfragments/3391.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3392.minor b/newsfragments/3392.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3393.minor b/newsfragments/3393.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3394.minor b/newsfragments/3394.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3395.minor b/newsfragments/3395.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3396.minor b/newsfragments/3396.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3397.minor b/newsfragments/3397.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3398.minor b/newsfragments/3398.minor deleted file mode 100644 index 477c141fd..000000000 --- a/newsfragments/3398.minor +++ /dev/null @@ -1 +0,0 @@ -Added pre-commit config to run flake8 checks on commit/push. diff --git a/newsfragments/3401.minor b/newsfragments/3401.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3403.minor b/newsfragments/3403.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3406.minor b/newsfragments/3406.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3408.minor b/newsfragments/3408.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3409.minor b/newsfragments/3409.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3411.minor b/newsfragments/3411.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3415.minor b/newsfragments/3415.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3416.minor b/newsfragments/3416.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3417.minor b/newsfragments/3417.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3421.minor b/newsfragments/3421.minor deleted file mode 100644 index d6f70f6d9..000000000 --- a/newsfragments/3421.minor +++ /dev/null @@ -1 +0,0 @@ -Various, minor development `./Makefile` cleanup and improvement. diff --git a/newsfragments/3422.minor b/newsfragments/3422.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3423.minor b/newsfragments/3423.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3424.minor b/newsfragments/3424.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3425.minor b/newsfragments/3425.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3426.minor b/newsfragments/3426.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3427.minor b/newsfragments/3427.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3429.minor b/newsfragments/3429.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3430.minor b/newsfragments/3430.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3431.minor b/newsfragments/3431.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3436.minor b/newsfragments/3436.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3437.minor b/newsfragments/3437.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3438.minor b/newsfragments/3438.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3439.minor b/newsfragments/3439.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3440.minor b/newsfragments/3440.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3442.minor b/newsfragments/3442.minor deleted file mode 100644 index d67c7fb62..000000000 --- a/newsfragments/3442.minor +++ /dev/null @@ -1 +0,0 @@ -Minor test runner improvements and docs. diff --git a/newsfragments/3443.minor b/newsfragments/3443.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3446.minor b/newsfragments/3446.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3448.minor b/newsfragments/3448.minor deleted file mode 100644 index 4a5f7243f..000000000 --- a/newsfragments/3448.minor +++ /dev/null @@ -1 +0,0 @@ -Convert modules that only reference `unicode` to use `str`. \ No newline at end of file diff --git a/newsfragments/3449.minor b/newsfragments/3449.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3450.minor b/newsfragments/3450.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3451.minor b/newsfragments/3451.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3452.minor b/newsfragments/3452.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3453.minor b/newsfragments/3453.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3455.minor b/newsfragments/3455.minor deleted file mode 100644 index d7af32b64..000000000 --- a/newsfragments/3455.minor +++ /dev/null @@ -1 +0,0 @@ -Begin porting the `node` module to Python 3. diff --git a/newsfragments/3456.minor b/newsfragments/3456.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3458.minor b/newsfragments/3458.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3462.minor b/newsfragments/3462.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3463.minor b/newsfragments/3463.minor deleted file mode 100644 index e69de29bb..000000000 diff --git a/newsfragments/3464.minor b/newsfragments/3464.minor deleted file mode 100644 index bc79dee53..000000000 --- a/newsfragments/3464.minor +++ /dev/null @@ -1 +0,0 @@ -Cleanup comments that don't match the project convention. diff --git a/newsfragments/3247.minor b/newsfragments/3648.minor similarity index 100% rename from newsfragments/3247.minor rename to newsfragments/3648.minor diff --git a/newsfragments/3254.minor b/newsfragments/3704.minor similarity index 100% rename from newsfragments/3254.minor rename to newsfragments/3704.minor diff --git a/newsfragments/3263.other b/newsfragments/3711.minor similarity index 100% rename from newsfragments/3263.other rename to newsfragments/3711.minor diff --git a/newsfragments/3712.installation b/newsfragments/3712.installation new file mode 100644 index 000000000..b80e1558b --- /dev/null +++ b/newsfragments/3712.installation @@ -0,0 +1 @@ +The Nix package now includes correct version information. \ No newline at end of file diff --git a/newsfragments/3277.minor b/newsfragments/3713.minor similarity index 100% rename from newsfragments/3277.minor rename to newsfragments/3713.minor diff --git a/nix/tahoe-lafs.nix b/nix/tahoe-lafs.nix index 6c3c68343..8005ca50b 100644 --- a/nix/tahoe-lafs.nix +++ b/nix/tahoe-lafs.nix @@ -7,7 +7,20 @@ , html5lib, pyutil, distro, configparser }: python.pkgs.buildPythonPackage rec { - version = "1.14.0.dev"; + # Most of the time this is not exactly the release version (eg 1.15.1). + # Give it a `post` component to make it look newer than the release version + # and we'll bump this up at the time of each release. + # + # It's difficult to read the version from Git the way the Python code does + # for two reasons. First, doing so involves populating the Nix expression + # with values from the source. Nix calls this "import from derivation" or + # "IFD" (). This is + # discouraged in most cases - including this one, I think. Second, the + # Python code reads the contents of `.git` to determine its version. `.git` + # is not a reproducable artifact (in the sense of "reproducable builds") so + # it is excluded from the source tree by default. When it is included, the + # package tends to be frequently spuriously rebuilt. + version = "1.15.1.post1"; name = "tahoe-lafs-${version}"; src = lib.cleanSourceWith { src = ../.; @@ -22,20 +35,22 @@ python.pkgs.buildPythonPackage rec { # Build up a bunch of knowledge about what kind of file this is. isTox = type == "directory" && basename == ".tox"; isTrialTemp = type == "directory" && basename == "_trial_temp"; - isVersion = basename == "version.py"; + isVersion = basename == "_version.py"; isBytecode = ext == "pyc" || ext == "pyo"; isBackup = lib.hasSuffix "~" basename; isTemporary = lib.hasPrefix "#" basename && lib.hasSuffix "#" basename; isSymlink = type == "symlink"; + isGit = type == "directory" && basename == ".git"; in # Exclude all these things - ! (isTrialTemp - || isTox + ! (isTox + || isTrialTemp || isVersion || isBytecode || isBackup || isTemporary || isSymlink + || isGit ); }; @@ -60,7 +75,21 @@ python.pkgs.buildPythonPackage rec { # Since we're deleting files, this complains they're missing. For now Nix # is Python 2-only, anyway, so these tests don't add anything yet. rm src/allmydata/test/test_python3.py - ''; + + # Generate _version.py ourselves since we can't rely on the Python code + # extracting the information from the .git directory we excluded. + cat > src/allmydata/_version.py <