]> arthur.barton.de Git - bup.git/blobdiff - README.md
Replace atoi with explicit checks; rm unused atof
[bup.git] / README.md
index ae49cce765a82ceb4fc73ce60b8e564f6e25ff98..6c15ffe04b4d2d77574d6aa4f37c2a7f5d2d48ff 100644 (file)
--- a/README.md
+++ b/README.md
@@ -71,21 +71,27 @@ 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.
 
 
- - 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
 =======================================
 
 
 Notable changes introduced by a release
 =======================================
 
+ - <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>
  - <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 +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.31
     ```
 
    You can see the latest stable release here:
     ```
 
    You can see the latest stable release here:
@@ -139,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 python-pylibacl
-    apt-get install linux-libc-dev
-    apt-get install acl attr
+    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)
     ```
     apt-get install libreadline-dev # optional (bup ftp)
     apt-get install python-tornado # optional (bup web)
     ```
@@ -156,15 +177,15 @@ From source
 
     ```sh
     yum groupinstall "Development Tools"
 
     ```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
     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.
 
 
    On Cygwin, install python, make, rsync, and gcc4.
 
@@ -193,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
@@ -237,6 +266,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
@@ -448,20 +479,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
    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
 
 
 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
 
 
    http://cygwin.com/ml/cygwin/2007-06/msg00436.html
 
 
@@ -469,7 +500,7 @@ Notes on OS X
 -------------
 
  - There is no support for ACLs.  If/when some enterprising person
 -------------
 
  - 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
 
 
 How it works