Skip to content

proot -- Termux の開発コミュニティによる proot の Debian noroot 環境向け修正版

License

Notifications You must be signed in to change notification settings

z80oolong/proot-z80oolong

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

proot -- Termux の開発コミュニティによる proot の Debian noroot 環境向け修正版

概要

この git リポジトリに置かれている proot のソースコードは、 termux の開発コミュニティによる proot のソースコードを、 Debian noroot 環境上で動作させるように修正したものです。

なお、この git リポジトリに置かれている proot のソースコードをビルドするには、termux の開発コミュニティによる proot をビルドするための Ruby スクリプトに同梱されている build-proot.rb を使用して、ビルドを行って下さい。

Termux の開発コミュニティによる proot のソースコードからの修正点

この git リポジトリに置かれている proot のソースコードは、オリジナルとなる termux の開発コミュニティによる proot のソースコードから、以下の不具合等が修正されています。

  • Android NDK の toolchain の他、 PC 上のクロスコンパイル環境においてもビルドが可能となるように修正。
  • VFAT 領域等、シンボリックリンクに対応していないファイルシステムの領域において、システムコール link(2) を実行した時に、リンク元のファイルが別名に変更されたままとなる問題を修正。
  • proot コマンドにおいて、オプション --link2symlink が指定され、かつ、環境変数 PROOT_L2S_DIR が設定されない場合に、自動的にオプション -H が指定されて proot コマンドが起動されるように修正。
    • また、オプション -H が設定された場合に、 proot によって不可視化されるファイル及びシンボリックリンクのプレフィックスを ".l2s." とするように修正。
    • link(2)symlink(2) によってエミュレートする機能を使用時に proot の内部で作成される ".l2s." をプレフィックスとするファイル及びシンボリックリンクが外部から直接読み書きが出来るためにこれらのファイルを削除すると、ハードリンクが機能しなくなるために行われる修正です。
  • ソースコード src/syscall/socket.c において、 obsolete である glibc の標準ライブラリ関数 mktemp(3) に代えて独自の実装による mktemp(3) 関数である proot_mktemp 関数を使用するように修正。
  • ソースコード src/cli/proot.c, src/syscall/rlimit.c, src/tracee/mem.c 等において、コンパイル時に警告を出力する問題を修正。
  • proot の一時ファイルを置くためのディレクトリのパス名の設定について、環境変数 PROOT_TMP_DIR の他に、環境変数 PROOT_TMPDIR を参照するように修正。

配布条件

この git リポジトリに置かれている proot のソースコードは、 termux の開発コミュニティによる proot のソースコードを、 Z.OOL. (mailto:zool@zool.jpn.org) によって、 Debian noroot 環境及び PC 上のクロスコンパイル環境においてビルド及び動作するよう修正したものです。

従って、この proot のソースコードは、この git リポジトリに同梱されている COPYING の冒頭に記述されている STMicroelectronics 社の proot の開発者の各氏と termux の開発コミュニティの各氏及び Z.OOL. (mailto:zool@zool.jpn.org) が著作権を有し、オリジナルとなる proot のソースコードと同様に、 GNU public license version 2 に従って配布されるものとします。

追記

以下に、オリジナルの proot のソースコードの README.md の原文を示します。


proot

Travis build status

This is a copy of the PRoot project with patches applied to work better under Termux.

About

proot -- Termux の開発コミュニティによる proot の Debian noroot 環境向け修正版

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 85.8%
  • Shell 6.1%
  • Objective-C 5.8%
  • Makefile 2.2%
  • Other 0.1%