]> git.eshelyaron.com Git - emacs.git/commitdiff
Add coreutils 'ls' support for tramp adb
authorMathieu Othacehe <mathieu.othacehe@parrot.com>
Mon, 26 Feb 2018 15:43:46 +0000 (16:43 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Tue, 27 Feb 2018 07:31:18 +0000 (08:31 +0100)
* lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Allow '.'
character in file permissions. It indicates an SELinux security
context.
(tramp-adb-get-ls-command): Detect Coreutils version of 'ls'.
Use 'ls -1' instead of passing COLUMNS=1 env variable. This is
isofunctional.  (Bug#30594)

Copyright-paperwork-exempt: yes

lisp/net/tramp-adb.el

index f5c45f68e9429e9b85031387e57644ef56f82dbc..cb80506786412711884d42cf8a24ceebdcb88b9e 100644 (file)
@@ -71,7 +71,7 @@ It is used for TCP/IP devices."
 
 (defconst tramp-adb-ls-toolbox-regexp
   (concat
-   "^[[:space:]]*\\([-[:alpha:]]+\\)"  ; \1 permissions
+   "^[[:space:]]*\\([-.[:alpha:]]+\\)" ; \1 permissions
    "\\(?:[[:space:]]+[[:digit:]]+\\)?" ; links (Android 7/toybox)
    "[[:space:]]*\\([^[:space:]]+\\)"   ; \2 username
    "[[:space:]]+\\([^[:space:]]+\\)"   ; \3 group
@@ -462,9 +462,15 @@ pass to the OPERATION."
   (with-tramp-connection-property vec "ls"
     (tramp-message vec 5 "Finding a suitable `ls' command")
     (cond
+     ;; Support Android derived systems where "ls" command is provided
+     ;; by GNU Coreutils. Force "ls" to print one column and set
+     ;; time-style to imitate other "ls" flavours.
+     ((tramp-adb-send-command-and-check
+       vec "ls --time-style=long-iso /dev/null")
+      "ls -1 --time-style=long-iso")
      ;; Can't disable coloring explicitly for toybox ls command.  We
-     ;; must force "ls" to print just one column.
-     ((tramp-adb-send-command-and-check vec "toybox") "env COLUMNS=1 ls")
+     ;; also must force "ls" to print just one column.
+     ((tramp-adb-send-command-and-check vec "toybox") "ls -1")
      ;; On CyanogenMod based system BusyBox is used and "ls" output
      ;; coloring is enabled by default.  So we try to disable it when
      ;; possible.