Repository navigation
Cortex Release v1.26.46
Cortex Release v1.26.46
Added
- Copy and paste shortcuts of a hardware keyboard (#41). Ctrl+Shift+V, Ctrl+Alt+V (Termux's) and
Shift+Insert paste; Ctrl+Shift+C and Ctrl+Insert copy the selection (without a selection they are not
taken: the program gets the keys as before). A held key pastes once. Ctrl+V alone stays with the
program (the shell's quoted insert, vim's block selection).
Fixed
- A Go program built for Android could not start other programs (#42).
GOOS=android go build
makes a position-independent file that asks for Android's own linker, so Cortex took it for a
dynamic program and started it through Ubuntu's loader without the change it gives Go programs. It
made its own system calls with Android's paths, andgh repo clonefailed with "fork/exec ...git: no
such file or directory" (the kernel looked for git's interpreter in Android's files). Such a program
now gets the change as any Go program does, fromexecve()and fromposix_spawn(). - micro hung at start-up (#43). micro asks for the clipboard before it draws anything and waits for
the answer; when Cortex did not answer, it waited for as long as the call took (up to the ten seconds
the app gives a request), more than once.termux-clipboard-getandtermux-clipboard-setnow give
up after two seconds (CORTEX_API_TIMEOUT), the calls that follow fail at once for ten seconds, and
the app itself stops waiting for the clipboard after three. - "Permission denied" in directories that
dpkghad made (#44).dpkgmakes a directory with
mode 0 and sets the mode a moment later; when that change did not take (the library reports a
chmodthat fails as done), the directory stayed at 0 and no file could be put in it. A new directory
now keeps its owner's read, write and search rights, as it would for the root that programs see. Directories
left at mode 0 by an earlier version are repaired with
find /usr /var /etc /opt -xdev -type d ! -perm -u=rwx -exec chmod u+rwx {} \;.
Documentation
- The README says what
pip installanswers withexternally-managed-environment(Ubuntu's own rule,
PEP 668) and how to install Python packages, and thatssand/proc/net/tcpare closed to apps by
Android.
For developers
tests/scripts/test_go_programs.shbuilds the test program forGOOS=androidtoo and checks that
bash andposix_spawn()start it so that it sees Ubuntu's files and starts Ubuntu's programs.cortex-apigives up afterCORTEX_API_DEADLINEseconds (and notes the failure in the file
CORTEX_API_DOWNnames, for the ten seconds in which calls fail at once). It is done in bash itself
(read -t): the clipboard commands startcortex-apiwithexec, as before, and no process waits for
another. A first version rantimeoutfrom the shell; on the API 35 emulator that process hung after
vfork, so the deadline moved intocortex-api.tests/scripts/test_shell_scripts.shhas the clipboard commands talk to a stand-in app that does not
answer;tests/scripts/test_hook_qemu.shchecks the mode of new directories.
Downloads
Cortex-arm64-v8a-signed.apk: 64-bit ARM (almost all current phones)Cortex-armeabi-v7a-signed.apk: 32-bit ARM
How to verify a download: signing/README.md. All versions: CHANGELOG.md.