Skip to content
forked from bts/lein-fpm

A Leiningen plugin for building simple packages using fpm

License

Notifications You must be signed in to change notification settings

deanmarc25/lein-fpm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lein-fpm

A Leiningen plugin for building simple packages using fpm.

Generated packages install a standalone JAR for your project in /usr/lib, a wrapper shell script in /usr/bin, and an upstart script in /etc/init. lein-fpm assumes that your project can successfully build a functioning standalone jar via lein uberjar.

Clojars Project

Usage

System-wide install

Put [lein-fpm "0.2.3"] into the :plugins vector of your :user profile.

Per-project install

Put [lein-fpm "0.2.3"] into the :plugins vector of your project.clj.

Building a package

lein-fpm will produce a deb by default:

$ lein fpm

or you can supply a specific target type:

$ lein fpm rpm

This will produce a package in the target directory.

Included dependencies

By default, deb packages will depend on openjdk-7-jre-headless, rpm packages will depend on java-1.7.0-openjdk, and solaris packages will depend on jdk-7.

Using a package

Install the package using the appropriate package manager, then start the application with upstart:

$ sudo start APP-NAME
APP-NAME start/running, process 27699
$ status APP-NAME
APP-NAME start/running, process 27699
$ sudo restart APP-NAME
APP-NAME start/running, process 27743
$ sudo stop APP-NAME
APP-NAME stop/waiting

Caveats

At the moment, lein-fpm is quite simple and does not yet support configuration beyond the target type. Contributions and feedback are welcome! This project is a bit of an experimental tool I created in trying to produce the simplest packages that will usefully run within immutable servers.

Dependencies

This plugin depends on fpm, and rpmbuild if you are creating rpms.

License

Copyright © 2015 Brian Schroeder

Distributed under the MIT License.

About

A Leiningen plugin for building simple packages using fpm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Clojure 100.0%