[Tails-dev] Update: Porting tails bash scripts to python

Delete this message

Reply to this message
Author: GoodCrypto Support
Date:  
To: tails-dev
Subject: [Tails-dev] Update: Porting tails bash scripts to python

Early .py versions of the following scripts are available at https://goodcrypto.com/special-downloads/bash2py-2016-03-24.tgz:

   config/chroot_local-hooks/19-install-tor-browser-AppArmor-profile
   config/chroot_local-includes/usr/local/lib/tails-shell-library/tor-browser.sh
   config/chroot_local-includes/usr/local/bin
      electrum
      icedove
      tails-boot-to-kexec
      tails-get-bootinfo
      tails-upgrade-frontend-wrapper
      tor-browser
      tor-launcher


We'll add tests and port more scripts when time is available. Bug reports (and tests) are very welcome.

Where bash uses commands and there is an equivalent python standard library, we chose based on security and
readability. Standard commands are often better tested and maintained. Otherwise the more readable python equivalent
is the right choice.

Import statement style is somewhat inconsistent. If python internally imports everything from a module when you
import anything from that module, it's not clear that there's a security advantage to "from MODULE import ELEMENT".

With python 3 the sh module handles some things differently. For example, the _in keyword can cause locks up
(i.e., when used with sed). The only python 2 feature in these scripts should be "from __future__ import print_function".
Seeing the usual py2-vs-py3 str-vs-bytestring errors.

Pylint has some spurious complaints. Not changed: Script names including dashes, filenames longer than 32 characters,
long gettext lines. The sh module actually does import commands. Constants local to a function should be in that
function. The doctests module is imported locally to minimize unused imports.


GoodCrypto Warning: Anyone could have read this message. Use encryption, it works.