Leonid Pliushch dc14c12940 apt: prevent usage of certain commands as root
Usage of package manager as root has certain bad effects in Termux such as
messed up SELinux contexts and ownership. Root checks done in 'pkg' wrapper
are not reliable because one can execute 'apt' directly or with third-party
script downloaded from the Internet.

This commit adds user id check and if it found that uid is 0, apt will
refuse to do any work in root session. These checks done in such way so
they cannot be bypassed in any way unless command is executed as non-root
user.

Those who use Termux via ADB root shell should be able to switch to Termux
user id with command 'su' in order to have package manager working.

---

This change also affects the 'termux-info' utility:

 * It will no longer use 'apt policy' to detect subscribed repositories. Each
   source will be checked by script manually.

 * Information will be copied to clipboard only if 'termux-api' is installed.

 * Syntax error in timeout command is fixed: 'timeout' doesn't understand the
   argument '-t'.

 * Minor information entries reordering.
2019-11-13 16:38:40 +02:00
2017-03-22 21:12:16 +01:00
2017-01-03 19:05:15 +01:00
2019-02-15 18:01:09 +02:00
2019-08-08 16:58:34 +03:00
2019-06-08 14:40:01 +03:00
2019-10-04 13:50:14 +03:00

Termux packages

Powered by JFrog Bintray

build status Join the chat at https://gitter.im/termux/termux

This project contains scripts and patches to build packages for the Termux Android application.

There available packages only from main set. We have some additional repositories:

Termux package management quick how-to available on https://wiki.termux.com/wiki/Package_Management. To learn about using our build environment, read the Developer's Wiki.

Project structure

There 2 main branches available:

  • master - packages for Android 7.0 or higher.

    Packages are built automatically by CI and published on Bintray.

  • android-5 - packages for Android versions 5.x - 6.x.

    Packages are built by @fornwall and published on https://termux.net.

Directories:

  • disabled-packages:

    Packages that cannot be published due to serious issues.

  • ndk-patches:

    Our changes to Android NDK headers.

  • packages:

    Main set of packages.

  • sample:

    Sample structure for creating new packages.

  • scripts:

    Set of utilities and build system scripts.

Contributing

Bug reports

Please, use templates for submitting bug reports. The bug report issue template can be initialized by clicking on https://github.com/termux/termux-packages/issues/new?template=bug_report.md.

General requirements for bug reports are:

  • All packages are up-to-date.

  • Problem is not related to third-party software.

  • Output of termux-info attached.

  • Be ready to provide more info if requested.

New packages

Use the package request template: https://github.com/termux/termux-packages/issues/new?template=package_request.md.

General requirements for new packages are:

  • Packages should be open source and have widely recognised OSS licenses like GNU GPL.

  • Packages should not be installable via language-specific package managers such as gem, pip or cpan.

  • Packages should not be outdated dead projects.

  • Be ready that your package request will not be processed immediately.

Pull Requests

All pull requests are welcome.

We use CI for processing all pushes including pull requests. All build logs and artifacts are public, so you can verify whether your changes work properly.

People who are new for packaging can begin with sending PRs for updating packages. Check the outdated packages on https://repology.org/projects/?inrepo=termux&outdated=1.

Get started with information available on Developer's Wiki.

Contacts

If you are interested in our weekly development sessions, please check the https://wiki.termux.com/wiki/Dev:Development_Sessions. Also, you may want to check the https://wiki.termux.com/wiki/Development.

Description
No description provided
Readme 56 MiB
Languages
Shell 72.6%
C 18.9%
C++ 4.5%
CMake 1.5%
Python 0.8%
Other 1.5%