All Projects → pgaskin → repogen

pgaskin / repogen

Licence: MIT License
Easy-to-use signed APT repository generator with a web-based package browser.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to repogen

python-deb-pkg-tools
Debian packaging tools
Stars: ✭ 36 (+5.88%)
Mutual labels:  debian, apt, dpkg, deb
Patchman
Patchman is a Linux Patch Status Monitoring System
Stars: ✭ 163 (+379.41%)
Mutual labels:  package, debian, repository, package-management
Ts3server Package
A script that generates a debian package for a TeamSpeak 3 Server
Stars: ✭ 5 (-85.29%)
Mutual labels:  package, debian, apt
Molior
Molior - Debian Build System
Stars: ✭ 53 (+55.88%)
Mutual labels:  debian, apt, package-management
ansible-apt
Ansible role to manage packages and up(date|grade)s in Debian-like systems
Stars: ✭ 21 (-38.24%)
Mutual labels:  debian, apt, dpkg
decimation.github.io
Cydia repo
Stars: ✭ 18 (-47.06%)
Mutual labels:  apt, deb, repo
Debreate
A utility for creating Debian packages.
Stars: ✭ 70 (+105.88%)
Mutual labels:  package, debian, deb
debianopt-repo
Additional debian repository for awesome open-source projects.
Stars: ✭ 47 (+38.24%)
Mutual labels:  debian, apt, repository
jean
Bored from installing tiny shell scripts and .dotfiles manually? Huh! Missing Shell Package Manager For Linux
Stars: ✭ 21 (-38.24%)
Mutual labels:  package, package-management
debian-packaging
Create Debian packages of non-free, closed-source and other software.
Stars: ✭ 19 (-44.12%)
Mutual labels:  debian, dpkg
ferryd
Fast, safe and reliable transit for the delivery of software updates to users.
Stars: ✭ 43 (+26.47%)
Mutual labels:  package, repository
repology-rules
Package normalization ruleset for Repology
Stars: ✭ 67 (+97.06%)
Mutual labels:  package, repository
docker-debian-repository
A local repository for publishing deb files for use with apt.
Stars: ✭ 49 (+44.12%)
Mutual labels:  debian, repository
package-command
Lists, installs, and removes WP-CLI packages.
Stars: ✭ 16 (-52.94%)
Mutual labels:  package, package-management
ansible-role-php-versions
Ansible Role - PHP Versions
Stars: ✭ 78 (+129.41%)
Mutual labels:  debian, repository
Silica
A static site generator for MobileAPT repos.
Stars: ✭ 129 (+279.41%)
Mutual labels:  apt, repo
cranlike
Manage files in a CRAN-like repository
Stars: ✭ 24 (-29.41%)
Mutual labels:  repository, package-management
cylon-deb
TUI menu driven bash shell script to update and maintain a Debian based Linux distro.
Stars: ✭ 23 (-32.35%)
Mutual labels:  debian, apt
package-build
A toolset for building system packages using Docker and fpm-cookery
Stars: ✭ 36 (+5.88%)
Mutual labels:  apt, deb
repology-webapp
Repology web application
Stars: ✭ 114 (+235.29%)
Mutual labels:  package, repository

repogen

repogen is an easy way to generate a Debian repository.

repogen supports signing, generating a Contents index, overriding the Maintainer field on packages, a web interface, package search, automatically updating the repository, and more.

Installation

repogen can be downloaded from the releases page, or installed from the debian repository.

Quick Start

  1. Create a directory named in
  2. Inside that folder, create a folder for each distribution, such as stable or stretch.
  3. Inside each distribution folder, create a folder for each component, such as main or non-free.
  4. Place the deb packages in the component folders.
  5. Export a gpg private key in ascii-armour format (with no passphrase) to private-key.asc
  6. Run repogen --generate-web --generate-contents ./private-key.asc ./in ./out
  7. Run a web server of your choice with the out directory as the root. You will now be able to use this as your repository.

Note: for repositories with >50 packages, it is recommended to install nodejs on the server so the packages are not indexed client-side.

Usage

Usage: repogen [OPTIONS] PRIVATE_KEY_FILE INPUT_DIR OUTPUT_DIR

Version:
  repogen

Options:
  -d, --description string           sets the description field used in the Release file (default "Generated by repogen")
  -c, --generate-contents            generates the Contents index (makes repogen slower to load)
  -b, --generate-web                 generate a web interface for browsing the packages
  -h, --help                         show this help text
  -m, --maintainer-override string   overrides the maintainer of all packages (format: First Last <[email protected]>)
  -o, --origin string                sets the origin field used in the Release file (this field is used as a user-friendly way to identify the repository) (default "repogen")
  -l, --symlink                      Symlink packages instead of copying them
      --version                      show the version
  -w, --watch                        watch the input directory for new packages
  -i, --watch-interval duration      the interval to check for new packages (if watch is enabled) (default 1s)

Arguments:
  PRIVATE_KEY_FILE is the path to a ascii-armoured gpg private key with no passphrase. It is used to sign the repository.
  INPUT_DIR is the path to the directory containing the deb packages. It should be in the following layout (and must not contain any unrelated files): INPUT_DIR/dist/component/*.deb
  OUTPUT_DIR is the path to place the generated repository in. It must not exist.

Screenshots

Web Interface - Package
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].