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