Skip to content

CLI utility to package source files into common distribution formats

Notifications You must be signed in to change notification settings

tinvaan/packager

Repository files navigation

Packager Build Status

A yaml based source-code to package bundler.

Supported formats

Format Host Status
.deb Ubuntu/Debian (apt, dpkg) Active
.rpm RHEL, Yum TODO
.tar.gz, .tar.xz ArchLinux/Pacman TODO

Features

  • Create multiple package formats from your source code through a single command
  • packager log tightly integrated with git history and CHANGELOG -- Coming soon!
  • Publish your packages via CLI -- Coming soon!

Installation

Clone the repository and install using pip installer. This project requires Python 3.x.

$ pip install .

Usage

Initialize packager in your project repository.

$ packager init

This creates a .packager folder and a config.yml inside. Update the config.yml with required settings. Below is an example config.yml.

package:
    name: example-deb
    version: 1.0.0
    description: "An example packager config for a debian package"
    build: cmake
    authors:
        - Harish Navnit <harishnavnit@gmail.com>
    targets:
        - debian

Check if the config.yml is valid.

$ packager validate .packager/config.yml

Config file at .packager/config.yml is valid

Build the package

$ packager build .packager/config.yml

dpkg-deb: building package 'example-deb' in '/tmp/deb-pkg-tools-build-5ef82tfb/example-deb_1.0.0_all.deb'.
Lintian is not installed, skipping sanity check.

About

CLI utility to package source files into common distribution formats

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published