All Projects → cavaliercoder → Go Rpm

cavaliercoder / Go Rpm

Licence: bsd-3-clause
A native implementation of the RPM file specification in Go

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Go Rpm

Atom Check Updates
A CLI for easily updating Atom to the latest version on RPM or Debian-based systems.
Stars: ✭ 8 (-94.16%)
Mutual labels:  rpm
Typora
RPM package for the markdown editor Typora
Stars: ✭ 97 (-29.2%)
Mutual labels:  rpm
Discord
RPM Package for discord
Stars: ✭ 122 (-10.95%)
Mutual labels:  rpm
Goreleaser
Deliver Go binaries as fast and easily as possible
Stars: ✭ 9,290 (+6681.02%)
Mutual labels:  rpm
Dnfdragora
dnfdragora is a dnf frontend based on libyui abstraction
Stars: ✭ 65 (-52.55%)
Mutual labels:  rpm
Sbt Native Packager
sbt Native Packager
Stars: ✭ 1,480 (+980.29%)
Mutual labels:  rpm
Ngx mruby Package Builder
Package Builder of ngx_mruby with Docker
Stars: ✭ 25 (-81.75%)
Mutual labels:  rpm
Aliddns
aliyun ddns for golang【阿里云DDNS服务,用来将自己的动态IP同步到自己的域名解析服务器,安装方便,配置简单,默认支持Linux和MacOS以后台服务方式持续运行】
Stars: ✭ 136 (-0.73%)
Mutual labels:  rpm
Fpm Within Docker
Leverage fpm inside pre-baked docker images in order to build and test native DEB and RPM packages.
Stars: ✭ 80 (-41.61%)
Mutual labels:  rpm
Bodhi
Bodhi is a web-system that facilitates the process of publishing updates for a Fedora-based software distribution.
Stars: ✭ 114 (-16.79%)
Mutual labels:  rpm
Rakudo Pkg
Pre-compiled OS packages for Rakudo
Stars: ✭ 55 (-59.85%)
Mutual labels:  rpm
Opi
OBS Package Installer (CLI)
Stars: ✭ 64 (-53.28%)
Mutual labels:  rpm
Docker Ce Packaging
Packaging scripts for Docker CE
Stars: ✭ 111 (-18.98%)
Mutual labels:  rpm
Yum Plugin Needs Restarting
YUM plugin listing processes using old files
Stars: ✭ 9 (-93.43%)
Mutual labels:  rpm
Electron Builder
A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box
Stars: ✭ 11,653 (+8405.84%)
Mutual labels:  rpm
Dnf
Package manager based on libdnf and libsolv. Replaces YUM.
Stars: ✭ 838 (+511.68%)
Mutual labels:  rpm
Rpm Haproxy
HAproxy RPM spec and builds for CentOS 6/7
Stars: ✭ 103 (-24.82%)
Mutual labels:  rpm
Clickhouse Rpm Install
How to install clickhouse RPM packages
Stars: ✭ 136 (-0.73%)
Mutual labels:  rpm
Rpmvenv
RPM packager for Python virtualenv.
Stars: ✭ 128 (-6.57%)
Mutual labels:  rpm
Redishappy
Redis Sentinel high availabillity daemon
Stars: ✭ 111 (-18.98%)
Mutual labels:  rpm

go-rpm GoDoc Build Status Go Report Card

A native implementation of the RPM file specification in Go.

$ go get github.com/cavaliercoder/go-rpm

The go-rpm package aims to enable cross-platform tooling for yum/dnf/rpm written in Go (E.g. y10k).

Initial goals include like-for-like implementation of existing rpm ecosystem features such as:

  • Reading of modern and legacy rpm package file formats
  • Reading, creating and updating modern and legacy yum repository metadata
  • Reading of the rpm database
package main

import (
	"fmt"
	"github.com/cavaliercoder/go-rpm"
)

func main() {
	p, err := rpm.OpenPackageFile("golang-1.6.3-2.el7.rpm")
	if err != nil {
		panic(err)
	}

	fmt.Printf("Loaded package: %v - %s\n", p, p.Summary())

	// Output: golang-0:1.6.3-2.el7.x86_64 - The Go Programming Language
}

Tools

This package also includes two tools rpmdump and rpminfo.

The code for both tools demonstrates some use-cases of this package. They are both also useful for interrogating RPM packages on any platform.

$ rpminfo golang-1.6.3-2.el7.x86_64.rpm
Name        : golang
Version     : 1.6.3
Release     : 2.el7
Architecture: x86_64
Group       : Unspecified
Size        : 11809071
License     : BSD and Public Domain
Signature   : RSA/SHA256, Sun Nov 20 18:01:16 2016, Key ID 24c6a8a7f4a80eb5
Source RPM  : golang-1.6.3-2.el7.src.rpm
Build Date  : Tue Nov 15 12:20:30 2016
Build Host  : c1bm.rdu2.centos.org
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://golang.org/
Summary     : The Go Programming Language
Description :
The Go Programming Language.
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].