]> arthur.barton.de Git - bup.git/commitdiff
features: convert to internal command
authorRob Browning <rlb@defaultvalue.org>
Mon, 8 Feb 2021 07:07:15 +0000 (01:07 -0600)
committerRob Browning <rlb@defaultvalue.org>
Sat, 6 Mar 2021 18:29:38 +0000 (12:29 -0600)
Signed-off-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/cmd/features.py
lib/cmd/bup

index cb1228e43e31d59fd7d87bd75d383ae8ac8b3dd0..8d4c4f38820fdba31787c7b032b037bbff5ea972 100755 (executable)
@@ -1,28 +1,8 @@
-#!/bin/sh
-"""": # -*-python-*-
-# https://sourceware.org/bugzilla/show_bug.cgi?id=26034
-export "BUP_ARGV_0"="$0"
-arg_i=1
-for arg in "$@"; do
-    export "BUP_ARGV_${arg_i}"="$arg"
-    shift
-    arg_i=$((arg_i + 1))
-done
-# Here to end of preamble replaced during install
-bup_python="$(dirname "$0")/../../../config/bin/python" || exit $?
-exec "$bup_python" "$0"
-"""
-# end of bup preamble
 
 from __future__ import absolute_import, print_function
+import platform, sys
 
-# Intentionally replace the dirname "$0" that python prepends
-import os, sys
-sys.path[0] = os.path.dirname(os.path.realpath(__file__)) + '/../..'
-
-import platform
-
-from bup import _helpers, compat, metadata, options, version
+from bup import _helpers, metadata, options, version
 from bup.io import byte_stream
 
 out = None
@@ -33,20 +13,22 @@ def show_support(out, bool_opt, what):
 optspec = """
 bup features
 """
-o = options.Options(optspec)
-opt, flags, extra = o.parse(compat.argv[1:])
 
-sys.stdout.flush()
-out = byte_stream(sys.stdout)
+def main(argv):
+    o = options.Options(optspec)
+    opt, flags, extra = o.parse_bytes(argv[1:])
+
+    sys.stdout.flush()
+    out = byte_stream(sys.stdout)
 
-out.write(b'bup %s\n' % version.version)
-out.write(b'Source %s %s\n' % (version.commit, version.date))
+    out.write(b'bup %s\n' % version.version)
+    out.write(b'Source %s %s\n' % (version.commit, version.date))
 
-have_readline = getattr(_helpers, 'readline', None)
-have_libacl = getattr(_helpers, 'read_acl', None)
-have_xattr = metadata.xattr
+    have_readline = getattr(_helpers, 'readline', None)
+    have_libacl = getattr(_helpers, 'read_acl', None)
+    have_xattr = metadata.xattr
 
-out.write(b'    Python: %s\n' % platform.python_version().encode('ascii'))
-show_support(out, have_readline, b'Command line editing (e.g. bup ftp)')
-show_support(out, have_libacl, b'Saving and restoring POSIX ACLs')
-show_support(out, have_xattr, b'Saving and restoring extended attributes (xattrs)')
+    out.write(b'    Python: %s\n' % platform.python_version().encode('ascii'))
+    show_support(out, have_readline, b'Command line editing (e.g. bup ftp)')
+    show_support(out, have_libacl, b'Saving and restoring POSIX ACLs')
+    show_support(out, have_xattr, b'Saving and restoring extended attributes (xattrs)')
index 6e08a82a3a4f35eb129b15d890d4c4e267b848df..1add47d7508ca1974478af2cc18967e35e032203 100755 (executable)
@@ -187,6 +187,7 @@ if not subcmd_name:
 try:
     if subcmd_name not in (b'bloom',
                            b'cat-file',
+                           b'features',
                            b'gc',
                            b'help',
                            b'index',