https://github.com/albertodonato/quickrepo
Script to build a Debian repository from a set of .deb or .changes files
https://github.com/albertodonato/quickrepo
apt apt-get deb debian debian-packaging repository
Last synced: 23 days ago
JSON representation
Script to build a Debian repository from a set of .deb or .changes files
- Host: GitHub
- URL: https://github.com/albertodonato/quickrepo
- Owner: albertodonato
- License: eupl-1.2
- Created: 2020-02-29T21:04:07.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2022-03-09T18:31:30.000Z (about 4 years ago)
- Last Synced: 2025-10-22T00:19:57.621Z (7 months ago)
- Topics: apt, apt-get, deb, debian, debian-packaging, repository
- Language: Shell
- Homepage:
- Size: 38.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# quickrepo
[](https://github.com/albertodonato/quickrepo/actions?query=workflow%3ALint)
This script provides a quick way to build a Debian repository from a set of
`.deb` or `.changes` files.
The resulting repository tree can be served via HTTP and added as a APT source.
## Get the script
`quickrepo` consists of a single script, which can be downloaded with
```bash
curl -o quickrepo https://raw.githubusercontent.com/albertodonato/quickrepo/main/quickrepo
chmod +x quickrepo
```
## Dependencies
The script needs the `reprepro` and `gpg` applications.
For a debian-based system, you can run
```bash
sudo apt install reprepro gnupg
```
to install them.
## Build a repository
The basic way to build a repository for a set of `.deb` is just to run
```bash
./quickrepo *.deb
```
This will create the `repo/` directory in the current path, import specified
files, and export necessary release indexes. Repository architectures and
series match those of the machine the script is run on by default.
It is also possible to pass `.changes` files from a package build, which will
automatically import all files listed in the manifest.
The resulting repository is signed through GPG. You need to have at least one
private GPG key available in your `gpg` configuration. If more than one key is
available, the desired one can be specified with the `-g GPGKEY` option.
## Usage
Available configuration options are as follows:
```text
Usage: quickrepo [options]
-a ARCHES space-separated list of repository arches (default: "source amd64")
-c CODENAME value for the repository "Codename" (default: "focal")
-d REPODIR create the repository under REPODIR (default: "repo")
-g GPGKEY fingerprint of GPG key to use to sign the repository
(default: default key from GPG config)
-h print this help
-o ORIGIN value for the repository "Origin" (default: "quickrepo")
-v verbose operations
```