Git Product home page Git Product logo

fpm-recipes's Introduction

fpm-recipes

This is my collection of recipes for fpm-cookery.

Feel free to fork them!

Usage

$ cd tmux
$ fpm-cook
  [watching the output]
$ sudo dpkg -i pkg/*.deb
$ fpm-cook clean

fpm-recipes's People

Contributors

aussielunix avatar bernd avatar darron avatar doka avatar jbuchbinder avatar joshuatobin avatar khuedoan avatar michaelklishin avatar mipearson avatar ryansch avatar smasset avatar z0mbix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fpm-recipes's Issues

graylog2-server - how to handle ubuntu vs debian packages ?

@joschi @smarchive
Thanks for the contributions to graylog2 packaging.
When packaging up Graylog2 I have stuck to a few rough guidelines.

  • DEBs are specific to the current Ubuntu LTS
  • DEBs have only minimal dependencies set to allow for running all of the things on separate servers (do no hard set depends on mongo etc)
  • upstart only

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 ?

Undefined method find_executable

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?

Unable to build graylog2-server on centos

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

Automatic builds and repository hosting

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

cleaning up empty directories after rpm uninstall

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.

Issues with Erlang package requirements

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

Allow dynamic setting for gzip

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! ๐Ÿ‘

Package-specific documentation

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.

unable build haproxy pacakge in centos 7

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.