]> arthur.barton.de Git - bup.git/blobdiff - README.md
Fail the tests if we detect any AssertionErrors
[bup.git] / README.md
index 07ad1ec3258484e1c71f27107159638825ad7803..8b8445d4d5a8bf23a1e0d1ff8ba3d6d46c4508b2 100644 (file)
--- a/README.md
+++ b/README.md
@@ -71,14 +71,16 @@ Reasons you might want to avoid bup
    more likely to eat your data.  It's also missing some
    probably-critical features, though fewer than it used to be.
    
    more likely to eat your data.  It's also missing some
    probably-critical features, though fewer than it used to be.
    
- - It requires python >= 2.6, a C compiler, and an installed git
-   version >= 1.5.6.  It also requires par2 if you want fsck to be
-   able to generate the information needed to recover from some types
-   of corruption.
+ - It requires python 3.7 or newer (or 2.7 for a bit longer), a C
+   compiler, and an installed git version >= 1.5.6.  It also requires
+   par2 if you want fsck to be able to generate the information needed
+   to recover from some types of corruption.  While python 2.7 is
+   still supported, please make plans to upgrade.  Python 2 upstream
+   support ended on 2020-01-01, and we plan to drop support soon too.
  
  - It currently only works on Linux, FreeBSD, NetBSD, OS X >= 10.4,
  
  - It currently only works on Linux, FreeBSD, NetBSD, OS X >= 10.4,
-   Solaris, or Windows (with Cygwin, and maybe with WSL).  Patches to
-   support other platforms are welcome.
+   Solaris, or Windows (with Cygwin, and WSL).  Patches to support
+   other platforms are welcome.
 
  - Until resolved, a [glibc bug](https://sourceware.org/bugzilla/show_bug.cgi?id=26034)
    might cause bup to crash on startup for some (unusual) command line
 
  - Until resolved, a [glibc bug](https://sourceware.org/bugzilla/show_bug.cgi?id=26034)
    might cause bup to crash on startup for some (unusual) command line
@@ -90,6 +92,7 @@ Reasons you might want to avoid bup
 Notable changes introduced by a release
 =======================================
 
 Notable changes introduced by a release
 =======================================
 
+ - <a href="note/0.32-from-0.31.md">Changes in 0.32 as compared to 0.31</a>
  - <a href="note/0.31-from-0.30.1.md">Changes in 0.31 as compared to 0.30.1</a>
  - <a href="note/0.30.1-from-0.30.md">Changes in 0.30.1 as compared to 0.30</a>
  - <a href="note/0.30-from-0.29.3.md">Changes in 0.30 as compared to 0.29.3</a>
  - <a href="note/0.31-from-0.30.1.md">Changes in 0.31 as compared to 0.30.1</a>
  - <a href="note/0.30.1-from-0.30.md">Changes in 0.30.1 as compared to 0.30</a>
  - <a href="note/0.30-from-0.29.3.md">Changes in 0.30 as compared to 0.29.3</a>
@@ -105,11 +108,9 @@ Notable changes introduced by a release
 Test status
 ===========
 
 Test status
 ===========
 
-| branch | Debian                                                                                                                                         | FreeBSD                                                                                                                                          | macOS                                                                                                                                        |
-|--------|------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
-| master | [![Debian test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=master&task=debian)](https://cirrus-ci.com/github/bup/bup) | [![FreeBSD test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=master&task=freebsd)](https://cirrus-ci.com/github/bup/bup) | [![macOS test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=master&task=macos)](https://cirrus-ci.com/github/bup/bup) |
-| 0.30.x | [![Debian test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=0.30.x&task=debian)](https://cirrus-ci.com/github/bup/bup) | [![FreeBSD test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=0.30.x&task=freebsd)](https://cirrus-ci.com/github/bup/bup) | [![macOS test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=0.30.x&task=macos)](https://cirrus-ci.com/github/bup/bup) |
-| 0.29.x | [![Debian test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=0.29.x&task=debian)](https://cirrus-ci.com/github/bup/bup) | [![FreeBSD test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=0.29.x&task=freebsd)](https://cirrus-ci.com/github/bup/bup) | [![macOS test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=0.29.x&task=macos)](https://cirrus-ci.com/github/bup/bup) |
+| master | 0.30.x | 0.29.x |
+|--------|--------|--------|
+| [![master branch test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=master)](https://cirrus-ci.com/github/bup/bup) | [![0.30 branch test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=0.30.x)](https://cirrus-ci.com/github/bup/bup) | [![0.29 branch test status](https://api.cirrus-ci.com/github/bup/bup.svg?branch=0.29.x)](https://cirrus-ci.com/github/bup/bup) |
 
 Getting started
 ===============
 
 Getting started
 ===============
@@ -128,7 +129,7 @@ From source
    bup, please check out the latest stable release like this:
 
     ```sh
    bup, please check out the latest stable release like this:
 
     ```sh
-    git checkout 0.29.1
+    git checkout 0.32
     ```
 
    You can see the latest stable release here:
     ```
 
    You can see the latest stable release here:
@@ -144,14 +145,29 @@ From source
     apt-get build-dep bup
     ```
 
     apt-get build-dep bup
     ```
 
-   Otherwise try this (substitute python2.6-dev if you have an older
-   system):
+   Otherwise try this:
+
+    ```sh
+    apt-get install python3.7-dev python3-fuse
+    apt-get install python3-pyxattr python3-pytest
+    apt-get install python3-distutils
+    apt-get install pkg-config linux-libc-dev libacl1-dev
+    apt-get install gcc make acl attr rsync
+    apt-get isntall python3-pytest-xdist # optional (parallel tests)
+    apt-get install par2 # optional (error correction)
+    apt-get install libreadline-dev # optional (bup ftp)
+    apt-get install python3-tornado # optional (bup web)
+
+    ```
+   Or, if you can't yet migrate to Python 3 (please try to soon):
 
     ```sh
     apt-get install python2.7-dev python-fuse
 
     ```sh
     apt-get install python2.7-dev python-fuse
-    apt-get install python-pyxattr
+    apt-get install python-pyxattr python-pytest
     apt-get install pkg-config linux-libc-dev libacl1-dev
     apt-get install pkg-config linux-libc-dev libacl1-dev
-    apt-get install acl attr
+    apt-get install gcc make acl attr rsync
+    apt-get isntall python-pytest-xdist # optional (parallel tests)
+    apt-get install par2 # optional (error correction)
     apt-get install libreadline-dev # optional (bup ftp)
     apt-get install python-tornado # optional (bup web)
     ```
     apt-get install libreadline-dev # optional (bup ftp)
     apt-get install python-tornado # optional (bup web)
     ```
@@ -161,7 +177,7 @@ From source
 
     ```sh
     yum groupinstall "Development Tools"
 
     ```sh
     yum groupinstall "Development Tools"
-    yum install python python-devel libacl-devel
+    yum install python2 python2-devel libacl-devel pylibacl
     yum install fuse-python pyxattr
     yum install perl-Time-HiRes
     yum install readline-devel # optional (bup ftp)
     yum install fuse-python pyxattr
     yum install perl-Time-HiRes
     yum install readline-devel # optional (bup ftp)
@@ -180,7 +196,7 @@ From source
     pip install tornado
     ```
 
     pip install tornado
     ```
 
- - Build the python module and symlinks:
+ - Build:
 
     ```sh
     make
 
     ```sh
     make
@@ -198,6 +214,14 @@ From source
     make check
     ```
        
     make check
     ```
        
+    If you have the Python xdist module installed, then you can
+    probably run the tests faster by adding the make -j option (see <a
+    href="HACKING">./HACKING</a> for additional information):
+
+    ```sh
+    make -j check
+    ```
+
     The tests should pass.  If they don't pass for you, stop here and
     send an email to bup-list@googlegroups.com.  Though if there are
     symbolic links along the current working directory path, the tests
     The tests should pass.  If they don't pass for you, stop here and
     send an email to bup-list@googlegroups.com.  Though if there are
     symbolic links along the current working directory path, the tests
@@ -219,12 +243,13 @@ From source
     make install DESTDIR=/opt/bup PREFIX=''
     ```
 
     make install DESTDIR=/opt/bup PREFIX=''
     ```
 
- - The Python executable that bup will use is chosen by ./configure,
-   which will search for a reasonable version unless PYTHON is set in
-   the environment, in which case, bup will use that path.  You can
-   see which Python executable was chosen by looking at the
-   configure output, or examining cmd/python-cmd.sh, and you can
-   change the selection by re-running ./configure.
+ - The Python version that bup will use is determined by the
+   `python-config` program chosen by `./configure`, which will search
+   for a reasonable version unless `BUP_PYTHON_CONFIG` is set in the
+   environment.  You can see which Python executable was chosen by
+   looking at the configure output, or examining
+   `config/config.var/bup-python-config`, and you can change the
+   selection by re-running `./configure`.
 
 From binary packages
 --------------------
 
 From binary packages
 --------------------
@@ -242,6 +267,8 @@ Binary packages of bup are known to be built for the following OSes:
     https://www.archlinux.org/packages/?sort=&q=bup
  - Fedora:
     https://apps.fedoraproject.org/packages/bup
     https://www.archlinux.org/packages/?sort=&q=bup
  - Fedora:
     https://apps.fedoraproject.org/packages/bup
+ - macOS (Homebrew):
+    https://formulae.brew.sh/formula/bup
 
 
 Using bup
 
 
 Using bup
@@ -462,11 +489,11 @@ Notes on Cygwin
  - There is no support for ACLs.  If/when some enterprising person
    fixes this, adjust dev/compare-trees.
 
  - There is no support for ACLs.  If/when some enterprising person
    fixes this, adjust dev/compare-trees.
 
- - In test/ext/test.sh, two tests have been disabled.  These tests check to
-   see that repeated saves produce identical trees and that an
-   intervening index doesn't change the SHA1.  Apparently Cygwin has
-   some unusual behaviors with respect to access times (that probably
-   warrant further investigation).  Possibly related:
+ - In test/ext/test-misc, two tests have been disabled.  These tests
+   check to see that repeated saves produce identical trees and that
+   an intervening index doesn't change the SHA1.  Apparently Cygwin
+   has some unusual behaviors with respect to access times (that
+   probably warrant further investigation).  Possibly related:
    http://cygwin.com/ml/cygwin/2007-06/msg00436.html
 
 
    http://cygwin.com/ml/cygwin/2007-06/msg00436.html
 
 
@@ -645,7 +672,7 @@ How you can help
 
 bup is a work in progress and there are many ways it can still be improved.
 If you'd like to contribute patches, ideas, or bug reports, please join the
 
 bup is a work in progress and there are many ways it can still be improved.
 If you'd like to contribute patches, ideas, or bug reports, please join the
-bup mailing list.
+<a href="mailto:bup-list@googlegroups.com">bup mailing list</a>:
 
 You can find the mailing list archives here:
 
 
 You can find the mailing list archives here:
 
@@ -655,6 +682,11 @@ and you can subscribe by sending a message to:
 
        bup-list+subscribe@googlegroups.com
 
 
        bup-list+subscribe@googlegroups.com
 
+You can also reach us via the
+\#bup IRC channel at ircs://irc.libera.chat:6697/bup
+on the [libera.chat](https://libera.chat/) network or via this
+[web interface](https://web.libera.chat/?channels=bup).
+
 Please see <a href="HACKING">./HACKING</a> for
 additional information, i.e. how to submit patches (hint - no pull
 requests), how we handle branches, etc.
 Please see <a href="HACKING">./HACKING</a> for
 additional information, i.e. how to submit patches (hint - no pull
 requests), how we handle branches, etc.
@@ -663,3 +695,9 @@ requests), how we handle branches, etc.
 Have fun,
 
 Avery
 Have fun,
 
 Avery
+
+<!--
+Local Variables:
+mode: markdown
+End:
+-->