Skip to content

kpenfound/rpmac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rpmac

A rpm based package manager for Mac

HashiCorp Engineering Services Hackathon 2020

Commands

Add repo

rpmac add-repo ${PWD}/{file}.repo

Search for a package

rpmac search {package}

Install a package

rpmac install {package} {anotherPackage=1.0.0}

Uninstall a package

rpmac uninstall {package}

Upgrade a package

rpmac upgrade {package}

Functionality

Repo management

  • Download metadata files from remote repos
  • Read information from metadata files
  • Store package information in local cache

Package management

  • Install rpm file by name from cached metadata
  • Track installed packages
  • Install a specific version of a package
  • Install package dependencies
  • Reconcile dependency versions and dependency graph
  • Process install/uninstall hooks
  • Global upgrade

General

  • Lock during operations

Functional Commands

  • Help
  • Add Repo
  • Install
  • Uninstall
  • Search
  • Upgrade

Testing

go build

Run test repo

make test-repo

This will set up a test repo on a local webserver. The repo file will be available at http://localhost/test.repo. Once that's added, the local repo should be visible to rpmac

Add repo

./rpmac add-repo ${PWD}/test/repo/test.repo

Search for a package

./rpmac search kpfoo	

Install a package

./rpmac install kpfoo	

Uninstall a package

./rpmac uninstall kpfoo	

Upgrade a package

./rpmac install kpfoo=1.1.0	
./rpmac upgrade kpfoo	

Releases

No releases published

Packages

No packages published