All Projects → holocm → holo-build

holocm / holo-build

Licence: GPL-3.0 license
Cross-distribution system package compiler

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to holo-build

libdnf
Package management library.
Stars: ✭ 157 (+265.12%)
Mutual labels:  rpm, package-management
repogen
Easy-to-use signed APT repository generator with a web-based package browser.
Stars: ✭ 34 (-20.93%)
Mutual labels:  dpkg, package-management
pacwatch
A pacman wrapper which helps you watch important package updates.
Stars: ✭ 24 (-44.19%)
Mutual labels:  pacman, package-management
epm
Software packaging tool.
Stars: ✭ 19 (-55.81%)
Mutual labels:  dpkg, rpm
Opi
OBS Package Installer (CLI)
Stars: ✭ 64 (+48.84%)
Mutual labels:  rpm, package-management
v2rock
V2ray GUI client for Ubuntu and Debian
Stars: ✭ 60 (+39.53%)
Mutual labels:  dpkg
dnapacman
waka waka
Stars: ✭ 15 (-65.12%)
Mutual labels:  pacman
Prometheus Rpm
Prometheus RPM Packages
Stars: ✭ 190 (+341.86%)
Mutual labels:  rpm
Go Rpm
A native implementation of the RPM file specification in Go
Stars: ✭ 137 (+218.6%)
Mutual labels:  rpm
wacom-gui
Python/PyQt Wacom GUI for KDE
Stars: ✭ 113 (+162.79%)
Mutual labels:  rpm
ncursesPac
ncurses pacman written in C++
Stars: ✭ 23 (-46.51%)
Mutual labels:  pacman
ArchI0
ArchI0 : Arch-Based Distros Applications Automatic Installation Script
Stars: ✭ 26 (-39.53%)
Mutual labels:  pacman
python-deb-pkg-tools
Debian packaging tools
Stars: ✭ 36 (-16.28%)
Mutual labels:  dpkg
purescript.nix
📦 PureScript package management with Nix
Stars: ✭ 12 (-72.09%)
Mutual labels:  package-management
Nodejs Rpm
node.js rpm spec
Stars: ✭ 199 (+362.79%)
Mutual labels:  rpm
pacNEM
pacNEM is a Browser PacMan game with NodeJS, Socket.io, Handlebars and NEM Blockchain
Stars: ✭ 20 (-53.49%)
Mutual labels:  pacman
Clamtk
An easy to use, light-weight, on-demand virus scanner for Linux systems
Stars: ✭ 151 (+251.16%)
Mutual labels:  rpm
ansible-apt
Ansible role to manage packages and up(date|grade)s in Debian-like systems
Stars: ✭ 21 (-51.16%)
Mutual labels:  dpkg
rpmlint
Tool for checking common errors in rpm packages
Stars: ✭ 112 (+160.47%)
Mutual labels:  rpm
rust
RustPräzi: Representing crates.io as a call-based dependency network
Stars: ✭ 77 (+79.07%)
Mutual labels:  package-management

holo-build - cross-distribution system package compiler

Build Status

Holo relies on system packages to deploy configuration files and install applications. Distributions offer tooling to build such packages, but most of the time, these tools impose an unnecessary overhead when the goal is just to package up a few static files and list some dependencies. holo-build provides a simple, distribution-independent package description language and generates a system package from such a description. Supported package formats include dpkg, pacman and RPM.

[package]
name     = "hologram-systemd-timesyncd"
version  = "1.0"
author   = "Jane Doe <[email protected]>"
requires = ["systemd"]

[[file]]
path     = "/etc/systemd/timesyncd.conf.d/server.conf"
content  = """
    [Time]
    NTP=ntp.someserver.local
"""

[[symlink]]
# as created by `systemctl enable systemd-timesyncd`
path     = "/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service"
target   = "/usr/lib/systemd/system/systemd-timesyncd.service"

[[action]]
on     = "setup"
script = "systemctl daemon-reload && systemctl start systemd-timesyncd"

[[action]]
on     = "cleanup"
script = "systemctl stop systemd-timesyncd"

Installation

It is recommended to install holo-build as a package. The website lists distributions that have a holo-build package available.

holo-build requires Go and Perl as build-time dependencies. There are no runtime dependencies other than a libc. Once you're all set, the build is done with

make
make check
sudo make install

Documentation

User documentation is available in man page form.

For further information, visit holocm.org.

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