This is my collection of recipes for fpm-cookery.
Feel free to fork them!
$ cd tmux
$ fpm-cook
[watching the output]
$ sudo dpkg -i pkg/*.deb
$ fpm-cook clean
My collection of fpm-cookery recipes.
This is my collection of recipes for fpm-cookery.
Feel free to fork them!
$ cd tmux
$ fpm-cook
[watching the output]
$ sudo dpkg -i pkg/*.deb
$ fpm-cook clean
@joschi @smarchive
Thanks for the contributions to graylog2 packaging.
When packaging up Graylog2 I have stuck to a few rough guidelines.
I have normally kept a pre.rb
in here too for building pre/rc packages.
You happy if I push a couple of changes to the graylog2-server recipe that removes some of your changes to bring the DEBs back to the rough guidelines mentioned above ?
Your Debian specific changes can be add back in but I am not sure how to approach this just yet.
Any ideas welcome. @bernd ?
Hi there. I'm trying some of your recipes and the nginx one has this method call which results in an error:
'install': undefined method 'find_executable'
Was this method removed in a particular version of fpm-cookery or is it in an upcoming version?
I've been working on recipies for some of the same things you've got in your repo, so if I can, I'd rather just use the ones you've got, but I can't quite comprehend them fully enough to get them working. Also, I think you're targeting debians, and I'm targeting rpm based, so I'll have to tweak a few dependencies I think. Either way, I'm not sure why this doesn't package. It seems to be a problem within fpm, or maybe fpm-cookery, but I'm not quite certain.
Thanks!
[vagrant@localhost graylog2-server]$ fpm-cook recipe.rb
===> Starting package creation for graylog2-server-0.10.0 (centos, rpm)
===>
===> Fetching source:
######################################################################## 100.0%
===> Building in /vagrant/recipies/additional/graylog2-server/tmp-build/graylog2-server-0.10.0/graylog2-server-0.10.0
===> Installing into /vagrant/recipies/additional/graylog2-server/tmp-dest
===> [FPM] Converting dir to rpm {"file":"fpm/package.rb","method":"convert","line":"189"}
/usr/lib/ruby/gems/1.8/gems/fpm-0.4.31/lib/fpm/package/rpm.rb:124: warning: toplevel constant Gem referenced by FPM::Package::Gem
===> [FPM] Reading template {"file":"fpm/package.rb","method":"template","line":"319","path":"/usr/lib/ruby/gems/1.8/gems/fpm-0.4.31/lib/fpm/../../templates/rpm.erb"}
===> [FPM] Running rpmbuild {"file":"fpm/package/rpm.rb","method":"output","line":"266","args":["rpmbuild","-bb","--define","buildroot /tmp/package-rpm-build20130411-17023-1vrf7ew/BUILD","--define","_topdir /tmp/package-rpm-build20130411-17023-1vrf7ew","--define","_sourcedir /tmp/package-rpm-build20130411-17023-1vrf7ew","--define","_rpmdir /tmp/package-rpm-build20130411-17023-1vrf7ew/RPMS","/tmp/package-rpm-build20130411-17023-1vrf7ew/SPECS/graylog2-server.spec"]}
===> [FPM] Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.3sq7ZW {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
===> [FPM] Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.hYdcQB {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
===> [FPM] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.WosNGg {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
ERROR: [FPM] error: Two files on one line: /etc/graylog2.conf {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
===> [FPM] Processing files: graylog2-server-0.10.0.aussielunix2-1.x86_64 {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
ERROR: [FPM] error: File must begin with "/": elasticsearch.yml.example {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
===> [FPM] {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
ERROR: [FPM] Two files on one line: /etc/graylog2.conf {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
===> [FPM] {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
ERROR: [FPM] File must begin with "/": elasticsearch.yml.example {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
===> [FPM] RPM build errors: {"file":"cabin/mixins/pipe.rb","method":"send","line":"46"}
===> Created package: /vagrant/recipies/additional/graylog2-server/pkg/graylog2-server-0.10.0.aussielunix2-1.x86_64.rpm
/usr/lib/ruby/gems/1.8/gems/fpm-0.4.31/lib/fpm/util.rb:42:in `safesystem': rpmbuild failed (exit code 1). Full command was:["rpmbuild", "-bb", "--define", "buildroot /tmp/package-rpm-build20130411-17023-1vrf7ew/BUILD", "--define", "_topdir /tmp/package-rpm-build20130411-17023-1vrf7ew", "--define", "_sourcedir /tmp/package-rpm-build20130411-17023-1vrf7ew", "--define", "_rpmdir /tmp/package-rpm-build20130411-17023-1vrf7ew/RPMS", "/tmp/package-rpm-build20130411-17023-1vrf7ew/SPECS/graylog2-server.spec"] (FPM::Util::ProcessFailed)
from /usr/lib/ruby/gems/1.8/gems/fpm-0.4.31/lib/fpm/package/rpm.rb:267:in `output'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/packager.rb:165:in `build_package'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/packager.rb:124:in `chdir'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/packager.rb:124:in `build_package'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/packager.rb:112:in `dispense'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/cli.rb:122:in `run'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/cli.rb:119:in `each'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/cli.rb:119:in `run'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/book.rb:8:in `call'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/book.rb:8:in `load_recipe'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/lib/fpm/cookery/cli.rb:115:in `run'
from /usr/lib/ruby/gems/1.8/gems/fpm-cookery-0.13.0/bin/fpm-cook:7
from /usr/bin/fpm-cook:19:in `load'
from /usr/bin/fpm-cook:19
Hi,
Before submitting a PR I would like to know if you're interested in having automatic builds using Github Actions
and hosting the generated packages on Github Pages
.
I've done it on my own personal repository, and I would be more than happy to submit a PR implementing the same here.
Thanks for fpm-cookery :)
this makes the dynamic version basically useless, md5/sha1 should be downloadable just like the source itself
Hello,
Is there any way to specify fpm's --rpm-auto-add-directories (or even just --directories) option from a recipe?
For now, I have been using post-uninstall scripts to clean up empty dirs, but it would be nice if there were a simpler solution.
Thanks!
EDIT: whoops, meant to submit to fpm-cookery.
===> Verifying build_depends and depends with Puppet
===> Verifying package: libncurses5-dev
===> Verifying package: libssl-dev
===> Verifying package: libc6-dev-i386
===> Verifying package: openssl
===> Missing/wrong version packages: libncurses5-dev, libssl-dev, libc6-dev-i386, openssl
===> Running as root; installing missing/wrong version build_depends and depends with Puppet
===> Installing package: libncurses5-dev
FATAL: While processing depends package 'libncurses5-dev':
FATAL: Mac OS X PKG DMG's must specify a package source.
FATAL: change from absent to present failed: Mac OS X PKG DMG's must specify a package source.
Running with RVM, ruby 1.9.3
puppet --version
3.2.4
Was testing the haproxy package for OSX, and was having difficulty with the gzip
:
/opt/boxen/rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/fpm-cookery-0.25.0/lib/fpm/cookery/utils.rb:12:in `safesystem': 'system(["/bin/gzip", #<FPM::Cookery::Path:/Users/peterso/Projects/capd-fpm-cookery/haproxy/tmp-dest/usr/share/man/man1/haproxy.1>])' failed with error code: 127 (RuntimeError)
from /Users/peterso/Projects/capd-fpm-cookery/haproxy/recipe.rb:51:in `install'
Darwin has a different gzip path:
$ which gzip
/usr/bin/gzip
So it'd be nice to change this up so it can find the correct gzip! ๐
zeromq package needs uuid-dev and as far as I can tell, build_depends DSL method did not install it (possibly because compilation and linking happen before it happens?). Is my understanding correct? Should I add a README file under the zeromq directory and send a pull request?
Thanks.
When build haproxy package in centos 7, got below errors:
===> Building in /root/fpm-recipes/haproxy/tmp-build/haproxy-1.6.5
gcc -Iinclude -Iebtree -Wall -O2 -march=native -g -fno-strict-aliasing -Wdeclaration-after-statement -DCONFIG_HAP_LINUX_SPLICE -DTPROXY -DCONFIG_HAP_LINUX_TPROXY -DCONFIG_HAP_CRYPT -DUSE_ZLIB -DENABLE_POLL -DENABLE_EPOLL -DUSE_CPU_AFFINITY -DASSUME_SPLICE_WORKS -DUSE_ACCEPT4 -DNETFILTER -DUSE_GETSOCKNAME -DUSE_OPENSSL -DUSE_SYSCALL_FUTEX -DUSE_LUA -DUSE_PCRE -I/usr/include -DUSE_PCRE_JIT -DCONFIG_HAPROXY_VERSION=\"1.6.5\" -DCONFIG_HAPROXY_DATE=\"2016/05/10\" -c -o src/hlua.o src/hlua.c
src/hlua.c:11:2: error: #error "Requires Lua 5.3 or later."
#error "Requires Lua 5.3 or later."
and the system only have lua v5.1.4
I don't have this issue when directly `make` and `make install`
[root@b7d6433f8d23 haproxy]# yum install lua
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: centos.mirror.digitalpacific.com.au
* extras: centos.uberglobalmirror.com
* updates: mirror.ventraip.net.au
Package lua-5.1.4-14.el7.x86_64 already installed and latest version
Nothing to do
[root@b7d6433f8d23 haproxy]#
I don't have the same issue, when directly make
and make install
While browsing the forks of this repo, I found a recipe for building a deb of the maxmind geoip database. Would you accept a PR that added this receipt to this repo?
cc @sepulworld the original author
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.