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.
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).
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.
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.