Browse Source
Written from scratch, probably subject for improving with parts from https://github.com/termux/game-packages/blob/master/CONTRIBUTING.md...master
Leonid Plyushch
5 years ago
committed by
GitHub
1 changed files with 84 additions and 0 deletions
@ -0,0 +1,84 @@ |
|||
# Contributing |
|||
|
|||
Termux is an open source application and it is built on users' contributions. However, most of work is done by Termux |
|||
maintainers on their spare time and therefore only priority tasks are being completed. |
|||
|
|||
Here are ways how you can help: |
|||
- [Fixing issues](#fixing-issues) |
|||
- [Hosting a mirror](#hosting-a-mirror) |
|||
- [Updating packages](#updating-packages) |
|||
|
|||
Developer's wiki is available in https://github.com/termux/termux-packages/wiki. |
|||
|
|||
## Fixing issues |
|||
|
|||
By fixing bugs you will ensure that Termux packages are running smoothly. Pay attention to [issues](https://github.com/termux/termux-packages/issues) labeled as ["bug report"](https://github.com/termux/termux-packages/issues?q=is%3Aopen+is%3Aissue+label%3A%22bug+report%22) and |
|||
["help wanted"](https://github.com/termux/termux-packages/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22). Note that |
|||
solution for these issues may not be easy. |
|||
|
|||
### A note about package requests |
|||
|
|||
We tend not to package everything what was requested, but making exception for packages that we consider important. If you |
|||
want to submit a package, make sure that following conditions are met: |
|||
- Package should have widely recognised OSS licenses like GNU GPL, MIT, Apache-2.0 and similar. |
|||
- Package should NOT be an outdated, dead project. |
|||
- Package should NOT be a part of language-specific ecosystem. Such packages are installable through `pip`, `gem`, `cpan`, `npm`. |
|||
|
|||
We will reject requests for packaging single-file scripts. Also we may not package infamous projects as we need to be sure |
|||
that package is used by other people, not just by someone who requested it. |
|||
|
|||
## Hosting a mirror |
|||
|
|||
Our APT repositories are receiving large amount of downloads per day. You can create own public mirror to help to deal with |
|||
large amount of traffic. |
|||
|
|||
Requirements for a server where mirror will be hosted: |
|||
- At least 20 GB of free space on HDD. |
|||
- Unlimited traffic, otherwise 3 TB monthly bandwidth + caching CDN. |
|||
- Cron job for updating mirror at least once in 24 hours. |
|||
|
|||
Software: you can use any utility (for example `apt-mirror`) for mirroring APT repositories as soon as it doesn't change |
|||
the file structure. Hash sums and signatures must be original, otherwise GPG verification will not be passed. |
|||
|
|||
Origin URLs for mirroring: |
|||
``` |
|||
https://dl.bintray.com/termux/termux-packages-24 |
|||
https://dl.bintray.com/grimler/game-packages-24 |
|||
https://dl.bintray.com/grimler/science-packages-24 |
|||
https://dl.bintray.com/grimler/termux-root-packages-24 |
|||
https://dl.bintray.com/xeffyr/unstable-packages |
|||
https://dl.bintray.com/xeffyr/x11-packages |
|||
``` |
|||
|
|||
Once your mirror is ready, open the issue so it will be added to the [list](https://github.com/termux/termux-packages/wiki/Mirrors). |
|||
|
|||
## Updating packages |
|||
|
|||
Keeping packages up-to-date ensures that Termux users' will not experience the upstream bugs or security issues and will be |
|||
able to use the latest features. |
|||
|
|||
Periodically check the [Repology](https://repology.org/projects/?inrepo=termux&outdated=1) page to see what is outdated and |
|||
submit a pull request with version update. |
|||
|
|||
### How to update package |
|||
|
|||
In most cases it is strightforward modification of build script with chaning variables `TERMUX_PKG_VERSION` and |
|||
`TERMUX_PKG_SHA256`. |
|||
|
|||
`TERMUX_PKG_VERSION` is a text string that represents a full package version in this format: |
|||
``` |
|||
{EPOCH}:{PROJECT VERSION} |
|||
``` |
|||
In most cases you need to change only the `{PROJECT VERSION}`. `{EPOCH}` is used only in rare cases such as downgrading or |
|||
versioning scheme change. |
|||
|
|||
You may see a `TERMUX_PKG_REVISION` variable in a `build.sh` file. Remove it when package is upgraded. |
|||
|
|||
`TERMUX_PKG_SHA256` is a SHA-256 checksum of the source code archive downloaded from the URL specified with `TERMUX_PKG_SRCURL`. |
|||
|
|||
More about `build.sh` variables you can read in [developer's wiki](https://github.com/termux/termux-packages/wiki/Creating-new-package#table-of-available-package-control-fields). |
|||
|
|||
Example of package upgrading: https://github.com/termux/termux-packages/commit/fbcaa06ecc2797db77a19e2821906144b2928863. |
|||
|
|||
Important: if package has patches, ensure that they can be applied to updated source bundle. Otherwise we may reject your |
|||
pull request. |
Loading…
Reference in new issue