Comments (8)
You can either remove the dependency on preparation
or you can uncomment the omnibus-software gem in the Gemfile.
from omnibus.
Hi @sethvargo thanks for the quick reply.
Uncommenting the dependencies on preparation
and version-manifest
still result in the 'permission denied' error described above.
The omnibus-software
gem isn't in my Gemfile. I was more confused about it being referenced in an error message yet no gem with that name exists in Rubygems!
Anyway, I found my problem. I had a hunch it was because of OSX and I was right. To fix:
- comment out
preparation
andversion-manifest
dependencies in/config/projects/<project name>.rb
. - uncomment the line
base_dir './local'
inomnibus.rb
- update the
install_dir
in/config/projects/<project name>.rb
to point to./local/omnibus/build
instead of/opt/<project name>
I can submit a PR with OSX/non-root build instructions in the README.md
or Building on OSX.md
if you'd like?
from omnibus.
@bsnape are you trying to build locally on your mac?
Omnibus really isn't designed to be run as non-root, since most packages will require root permissions to install.
from omnibus.
@sethvargo yes, but only initially to get a feel for what Omnibus offers.
The plan is to make a basic CentOS RPM consisting of some RSpec tests for AWS infrastructure along with the required gems (no applications needed).
Really, we're trying to find a nice way (i.e. using Omnibus) to get around the gem dependency/updating hell for RHEL-based infrastructure.
These tests will then be executed by Sensu as part of our cloud infrastructure (AWS) monitoring.
Hopefully this is the right way to go!
from omnibus.
@bsnape this is a good way to do some testing (I have a similar setup locally), but I'm not sure I see advantages in making these the "defaults" or a "supported" pathway. /cc @schisamo @yzl
from omnibus.
I'm not sure what you mean when you say "I'm not sure I see advantages in making these the "defaults" or a "supported" pathway." - please can you clarify?
from omnibus.
@bsnape we don't support building "local" software definitions. Keep in mind that the install_dir
value you choose is where the project will be installed on disk by everyone else. So, choosing ~/Desktop/foo
will always install the software into ~/Desktop/foo
. The local mode is there if you prefer not to share the cache and build artifacts with other omnibus projects. It's not designed to let you build packages on your personal computer for production.
You can use omnibus for the use case you've described, but you'll want to run it in CI - we use Jenkins - and then grab the produced artifact and publish it.
We (as the release engineering team) don't support building packages on your local machine. We package a Test Kitchen-based Virtual Build lab (instructions in the generated README) instead.
from omnibus.
Thanks for the clarification regarding the install_dir
@sethvargo.
Yep, we intend to slot this in to our CD pipeline in this manner.
Using Test Kitchen is absolutely the way to go for us - I simply wanted to get the simplest possible thing working first and then iterate (rather than attempting to "do all the things" straight off the bat and get nowhere/not understand how the individual pieces - Omnibus, Test Kitchen, Berkshelf - fit together). We are a Puppet-house at my company so these tools are new to us but I'm sure we'll be fine.
Thanks again for the help.
from omnibus.
Related Issues (20)
- Apple M1 Support HOT 1
- Mixlib::ShellOut::InvalidCommandOption: option ':lockdir' is not a valid option for Mixlib::ShellOut HOT 2
- Current Chef RPM packages conflict with chef-workstation HOT 2
- HealthCheck is busted on FreeBSD, Solaris and AIX HOT 2
- Omnibus needs an integration environment with Solaris/FreeBSD/AIX/Windows that checks the healthcheck HOT 1
- Old code exceptions in HealthCheck should likely be deleted HOT 1
- Update Packager spec to avoid failures after March 2022
- macOS healthcheck checks dylib install ID as if it was a dependency HOT 1
- omnibus build certificate verify failed (certificate has expired)
- omnibus does not support rockylinux HOT 1
- Source code of chef-cleanroom gem not available
- Timestamp servers listed in \packagers are no longer available?
- Allow to add recommended dependencies
- Releases are not publishing to rubygems.org HOT 1
- Portable health checks
- `append_timestamp` doesn't really exist HOT 1
- omnibus always tries to mkdir /opt/$PROJECT
- kitchen docs are... not correct
- Fully deprecate the usage of chef-sugar HOT 1
- Concurrency issues if two software definitions have the same source directory HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from omnibus.