Script to create Termux apt repositories.
Switch branches/tags
Nothing to show
Clone or download
Latest commit dcec0b7 Oct 17, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Publish on pypi Mar 19, 2017
Makefile Publish on pypi Mar 19, 2017
README.rst Fix code highlightning in README changes Oct 13, 2018
setup.py Bump version to 0.3 Oct 16, 2018
termux-apt-repo Fix error if output_path/dists doesn't exist Oct 14, 2018

README.rst

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 packages 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

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:

  1. By running termux-apt-repository on a web server directly.
  2. Using rsync: rsync --delete -r <apt-repository-directory> your.host:path/to/folder.
  3. Creating a zip or tar file and unpacking it at a web server.
  4. 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, edit termux-apt-repo and change if False: to if True: near end of script. The signing key then has to be imported by the user to make apt trust it.