acme: Make sure postrm script doesn't fail
[feed/packages.git] / net / acme / Makefile
1 #
2 # Copyright (C) 2016 Toke Høiland-Jørgensen
3 #
4 # This is free software, licensed under the GNU General Public License v3 or
5 # later.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=acme
11 PKG_SOURCE_VERSION:=7b40cbe8c1a52041351524bcde4b37665a7cdf79
12 PKG_VERSION:=1.6
13 PKG_RELEASE:=3
14 PKG_LICENSE:=GPLv3
15
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE).tar.xz
17 PKG_SOURCE_URL:=git://github.com/Neilpang/acme.sh.git
18 PKG_SOURCE_PROTO:=git
19 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)
20 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)
21 LUCI_DIR:=/usr/lib/lua/luci
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/acme
26 SECTION:=net
27 CATEGORY:=Network
28 DEPENDS:=+curl +ca-bundle +openssl-util +netcat
29 TITLE:=ACME (Letsencrypt) client
30 PKGARCH:=all
31 MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
32 endef
33
34 define Package/acme/description
35 A client for issuing Letsencrypt certificates.
36 endef
37
38 define Package/acme/conffiles
39 /etc/config/acme
40 /etc/acme
41 endef
42
43 define Build/Configure
44 endef
45
46 define Build/Compile
47 endef
48
49 define Package/acme/install
50 $(INSTALL_DIR) $(1)/etc/acme
51 $(INSTALL_DIR) $(1)/etc/config
52 $(INSTALL_CONF) ./files/acme.config $(1)/etc/config/acme
53 $(INSTALL_DIR) $(1)/etc/init.d
54 $(INSTALL_BIN) ./files/acme.init $(1)/etc/init.d/acme
55 $(INSTALL_DIR) $(1)/usr/lib/acme
56 $(INSTALL_BIN) ./files/run.sh $(1)/usr/lib/acme/run-acme
57 $(INSTALL_BIN) $(PKG_BUILD_DIR)/acme.sh $(1)/usr/lib/acme/acme.sh
58 endef
59
60 define Package/luci-app-acme
61 SECTION:=luci
62 CATEGORY:=LuCI
63 TITLE:=ACME package - LuCI interface
64 MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
65 PKGARCH:=all
66 DEPENDS:= lua luci-base +acme luci-app-uhttpd
67 SUBMENU:=3. Applications
68 endef
69
70 define Package/luci-app-acme/description
71 Control the ACME Letsencrypt certificate interface
72 endef
73
74 define Package/luci-app-acme/install
75 $(INSTALL_DIR) $(1)$(LUCI_DIR)/controller $(1)$(LUCI_DIR)/model/cbi
76 $(INSTALL_DATA) ./files/acme-controller.lua $(1)$(LUCI_DIR)/controller/acme.lua
77 $(INSTALL_DATA) ./files/acme-cbi.lua $(1)$(LUCI_DIR)/model/cbi/acme.lua
78 $(INSTALL_DIR) $(1)/etc/uci-defaults
79 $(INSTALL_BIN) ./files/uci-defaults-acme $(1)/etc/uci-defaults/luci-acme
80 endef
81
82 define Package/luci-app-acme/postinst
83 #!/bin/sh
84 [ -x /etc/uci-defaults/luci-acme ] && /etc/uci-defaults/luci-acme || exit 0
85 endef
86
87 define Package/luci-app-acme/postrm
88 #!/bin/sh
89 which uci > /dev/null || exit 0
90 uci -q get ucitrack.@acme[0] > /dev/null && {
91 uci delete ucitrack.@acme[0]
92 uci commit
93 }
94 exit 0
95 endef
96
97
98 $(eval $(call BuildPackage,acme))
99 $(eval $(call BuildPackage,luci-app-acme))