]> arthur.barton.de Git - bup.git/blobdiff - README.md
test-misc: be independent of user's git defaultBranch
[bup.git] / README.md
index d08ea4ca28f32052a86a75b749ccf4ab2251a758..f706d9ab4d78cd0619d69b945600173ccb81ea8b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -71,21 +71,28 @@ 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.
    
- - 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,
-   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.
 
- - Any items in "Things that are stupid" below.
+ - 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
+   argument values, when bup is configured to use Python 3.
 
+ - Any items in "Things that are stupid" below.
 
 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.29.3-from-0.29.2.md">Changes in 0.29.3 as compared to 0.29.2</a>
@@ -123,7 +130,7 @@ From source
    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:
@@ -139,15 +146,31 @@ From source
     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
-    apt-get install python-pyxattr python-pylibacl
-    apt-get install linux-libc-dev
-    apt-get install acl attr
-    apt-get install python-tornado # optional
+    apt-get install python-pyxattr python-pytest
+    apt-get install pkg-config linux-libc-dev libacl1-dev
+    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)
     ```
 
    On CentOS (for CentOS 6, at least), this should be sufficient (run
@@ -155,13 +178,15 @@ From source
 
     ```sh
     yum groupinstall "Development Tools"
-    yum install python python-devel
-    yum install fuse-python pyxattr pylibacl
+    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 python-tornado # optional (bup web)
     ```
 
    In addition to the default CentOS repositories, you may need to add
-   RPMForge (for fuse-python) and EPEL (for pyxattr and pylibacl).
+   RPMForge (for fuse-python) and EPEL (for pyxattr).
 
    On Cygwin, install python, make, rsync, and gcc4.
 
@@ -172,7 +197,7 @@ From source
     pip install tornado
     ```
 
- - Build the python module and symlinks:
+ - Build:
 
     ```sh
     make
@@ -190,6 +215,14 @@ From source
     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
@@ -211,12 +244,13 @@ From source
     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
 --------------------
@@ -234,6 +268,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
+ - macOS (Homebrew):
+    https://formulae.brew.sh/formula/bup
 
 
 Using bup
@@ -445,20 +481,20 @@ Notes on NetBSD/pkgsrc
    cycle and error out, so "ls -R" and "find" will not work.
 
  - There is no support for ACLs.  If/when some enterprising person
-   fixes this, adjust t/compare-trees.
+   fixes this, adjust dev/compare-trees.
 
 
 Notes on Cygwin
 ---------------
 
  - There is no support for ACLs.  If/when some enterprising person
-   fixes this, adjust t/compare-trees.
+   fixes this, adjust dev/compare-trees.
 
- - In t/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
 
 
@@ -466,7 +502,7 @@ Notes on OS X
 -------------
 
  - There is no support for ACLs.  If/when some enterprising person
-   fixes this, adjust t/compare-trees.
+   fixes this, adjust dev/compare-trees.
 
 
 How it works
@@ -637,7 +673,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 mailing list.
+<a href="mailto:bup-list@googlegroups.com">bup mailing list</a>:
 
 You can find the mailing list archives here:
 
@@ -647,6 +683,11 @@ and you can subscribe by sending a message to:
 
        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.
@@ -655,3 +696,9 @@ requests), how we handle branches, etc.
 Have fun,
 
 Avery
+
+<!--
+Local Variables:
+mode: markdown
+End:
+-->