stackoverflow / lein-jdeb

Create debian packages from leiningen project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

lein-jdeb

A Leiningen plugin to create debian package as specified in your project.clj. Uses jdeb to build the debian packages.

Leiningen

Clojars Project

Installation

###With Leiningen 2

Add [stackoverflow/lein-jdeb "1.0.5"] to your project's :plugins.

###With Leiningen 1

Add [stackoverflow/lein-jdeb "1.0.5"] to your project's :dev-dependencies.

Usage

Add a :deb entry to your project.clj. It should be similar to jdeb maven plugin:

:jdeb {:deb-control-dir "src/deb/control"
       :data-set [{:src "target/my-project.jar"
                   :type :file
                   :mapper {:type :perm
                            :prefix "/opt/company/my-project"
                            :user "myuser"
                            :group "mygroup"}}
                  {:src "src/deb/default"
                   :type :directory
                   :conffile true
                   :mapper {:type :perm
                            :prefix "/etc/default"
                            :filemode "644"
                            :user "myuser"
                            :group "mygroup"}}
                  {:src "src/deb/init.d"
                   :type :directory
                   :mapper {:type :perm
                            :prefix "/etc/init.d"
                            :filemode "755"
                            :user "root"
                            :group "root"}}
                  {:paths ["/var/log/company" "/var/run/company"]
                   :type :template
                   :mapper {:type :perm
                            :user "myuser"
                            :group "mygroup"}}]}

The control directory needs to have a file called control inside. This file can have placeholders using [[var-name]] where var-name is a key defined in your project.clj

Invoke via:

$ lein jdeb

Other settings that are available and their defaults

  • :deb-architecture Sets Architecture. Set to all by default.
  • :deb-priority Sets Priority. Set to optional by default.
  • :deb-section Sets Section. Set to java by default.
  • :deb-depends Sets Depends. Not set by default

Future Work

  • Support more types

License

Copyright © 2015 Islon Scherer

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

About

Create debian packages from leiningen project

License:Eclipse Public License 1.0


Languages

Language:Clojure 67.4%Language:Java 32.6%