termux-apt-repo
Script to create Termux package repos.
It can be used to publish cross-compiled packages created using the Termux build setup or with packages created (possibly on-device) with termux-create-package.
Usage instructions
In Termux, install with pkg install termux-apt-repo
and execute
as:
termux-apt-repo [-h] [--use-hard-links] input output [dist] [comp] positional arguments: input folder where .deb files are located output folder with repository tree dist name of distribution folder. deb files are put into output/dists/distribution/component/binary-$ARCH/ comp name of component folder. deb files are put into output/dists/distribution/component/binary-$ARCH/ optional arguments: -h, --help show this help message and exit --use-hard-links use hard links instead of copying deb files. Will not work on an android device -s --sign sign repo with GPG key
When using outside Termux (the script should work on most Linux
distributions), install with pip3 install termux-apt-repo
.
All the .deb files in the first directory will be published to a newly created APT repository in the second directory (which will be deleted if it exists, so take caution).
Publishing the generated folder
The published folder can be made available at a publicly accessible
$REPO_URL
using any method:
- By running termux-apt-repository on a web server directly.
- Using rsync:
rsync --delete -r <apt-repository-directory> your.host:path/to/folder
. - Creating a zip or tar file and unpacking it at a web server.
- Any other creative way.
It can also be published using e.g. GitHub pages.
Accessing the repository
With the created <apt-repository-directory>
available at
$REPO_URL
, users can access repo by creating a file:
$PREFIX/etc/apt/sources.list.d
containing the single line:
deb [trusted=yes] $REPO_URL $dist $comp
[trusted=yes]
is needed if the repo has not been signed with a gpg key.
To sign it, pass --sign
argument. The signing key then has to be imported by
the user to make apt trust it.