Merge pull request #4853 from StevenHessing/noddos
[feed/packages.git] / net / nut / Makefile
1
2 # Copyright (C) 2006-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=nut
11 PKG_VERSION:=2.7.4
12 PKG_RELEASE:=4
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://www.networkupstools.org/source/2.7/
16 PKG_HASH:=980e82918c52d364605c0703a5dcf01f74ad2ef06e3d365949e43b7d406d25a7
17 PKG_MAINTAINER:=Daniel Dickinson <lede@cshore.thecshore.com>
18 PKG_LICENSE:=GPL-2.0
19 PKG_LICENSE_FILES:=LICENSE-GPL2
20
21 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
22 PKG_INSTALL:=1
23
24 PKG_CONFIG_DEPENDS:= \
25 CONFIG_NUT_DRIVER_SNMP \
26 CONFIG_NUT_DRIVER_USB \
27 CONFIG_NUT_DRIVER_SERIAL \
28 CONFIG_NUT_SSL
29
30 include $(INCLUDE_DIR)/package.mk
31
32 define Package/nut/Default
33 SECTION:=net
34 CATEGORY:=Network
35 URL:=http://www.networkupstools.org/
36 TITLE:=Network UPS Tools (NUT)
37 endef
38
39 define Package/nut/description/Default
40 Network UPS Tools (NUT) is a client/server monitoring system that
41 allows computers to share uninterruptible power supply (UPS) and
42 power distribution unit (PDU) hardware. Clients access the hardware
43 through the server, and are notified whenever the power status
44 changes.
45 endef
46
47 define Package/nut
48 $(call Package/nut/Default)
49 MENU:=1
50 endef
51
52 define Package/nut/description
53 $(call Package/nut/description/Default)
54 endef
55
56 define Package/nut/config
57 source "$(SOURCE)/Config.in"
58 endef
59
60 define Package/nut/install
61 true
62 endef
63
64 define Package/nut-server/install
65 $(INSTALL_DIR) $(1)/etc/nut
66 $(INSTALL_DIR) $(1)/usr/sbin
67 $(INSTALL_DIR) $(1)/etc/init.d
68 $(INSTALL_DIR) $(1)/usr/share/nut
69 $(INSTALL_DIR) $(1)/etc/init.d
70 $(INSTALL_BIN) ./files/nut-server.init $(1)/etc/init.d/nut-server
71 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/upsd $(1)/usr/sbin
72 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/upsdrvctl $(1)/usr/sbin
73 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/nut/cmdvartab $(1)/usr/share/nut/
74 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/nut/driver.list $(1)/usr/share/nut/
75 $(INSTALL_DIR) $(1)/etc/config
76 $(INSTALL_CONF) ./files/nut_server $(1)/etc/config/nut_server
77 ln -sf /var/etc/nut/nut.conf $(1)/etc/nut/nut.conf
78 ln -sf /var/etc/nut/ups.conf $(1)/etc/nut/ups.conf
79 ln -sf /var/etc/nut/upsd.users $(1)/etc/nut/upsd.users
80 ln -sf /var/etc/nut/upsd.conf $(1)/etc/nut/upsd.conf
81 endef
82
83 define Package/nut-common
84 $(call Package/nut/Default)
85 TITLE+= (common)
86 DEPENDS:= nut \
87 +NUT_DRIVER_SNMP:libnetsnmp \
88 +NUT_DRIVER_USB:libusb-compat \
89 +NUT_SSL:libopenssl \
90 +PACKAGE_libwrap:libwrap
91 endef
92
93 define Package/nut-common/description
94 $(call Package/nut/description/Default)
95 This package contains the common files.
96 endef
97
98 define Package/nut-common/install
99 $(INSTALL_DIR) $(1)/etc/nut
100 $(INSTALL_DIR) $(1)/usr/lib
101 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libupsclient.so* $(1)/usr/lib/
102 ln -sf /var/etc/nut/nut.conf $(1)/etc/nut/nut.conf
103 endef
104
105 define Package/nut-server
106 $(call Package/nut/Default)
107 TITLE+= (server)
108 DEPENDS:=nut +nut-common
109 endef
110
111 define Package/nut-server/description
112 $(call Package/nut/description/Default)
113 upsd is responsible for serving the data from the drivers to the
114 clients. It connects to each driver and maintains a local cache of the
115 current state. Queries from the clients are served from this cache, so
116 delays are minimal. This program is essential, and must be running at
117 all times to actually make any use out of the drivers and clients.
118 endef
119
120 define Package/nut-server/conffiles
121 /etc/config/nut_server
122 endef
123
124 define Package/nut-upsmon
125 $(call Package/nut/Default)
126 TITLE+= (monitor)
127 DEPENDS:=nut +nut-common
128 USERID:=nut=113:nut=113
129 endef
130
131 define Package/nut-upsmon/description
132 $(call Package/nut/description/Default)
133 upsmon is the client process that is responsible for the most important
134 part of UPS monitoring--shutting down the system when the power goes
135 out. It can call out to other helper programs for notification purposes
136 during power events. upsmon can monitor multiple systems using a single
137 process. Every UPS that is defined in the upsmon.conf configuration file
138 is assigned a power value and a type (slave or master).
139 endef
140
141 define Package/nut-upsmon/conffiles
142 /etc/config/nut_monitor
143 endef
144
145 define Package/nut-upsmon/install
146 $(INSTALL_DIR) $(1)/etc/nut
147 $(INSTALL_DIR) $(1)/usr/sbin
148 $(INSTALL_DIR) $(1)/etc/init.d
149 $(INSTALL_BIN) ./files/nut-monitor.init $(1)/etc/init.d/nut-monitor
150 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/upsmon $(1)/usr/sbin/
151 $(INSTALL_DIR) $(1)/etc/config
152 $(INSTALL_CONF) ./files/nut_monitor $(1)/etc/config/nut_monitor
153 ln -sf /var/etc/nut/upsmon.conf $(1)/etc/nut/upsmon.conf
154 endef
155
156 define Package/nut-upsmon-sendmail-notify
157 $(call Package/nut/Default)
158 TITLE+= (upsmon with notifications via sendmail)
159 DEPENDS:=nut +nut-upsmon
160 CONFLICTS:=nut-upssched
161 endef
162
163 define Package/nut-upsmon-sendmail-notify/description
164 $(call Package/nut/description/Default)
165 upsmon with default notification via sendmail
166 endef
167
168 define Package/nut-upsmon-sendmail-notify/install
169 $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/uci-defaults
170 $(INSTALL_BIN) ./files/nut-sendmail-notify $(1)/usr/bin/
171 $(INSTALL_DATA) ./files/nut-sendmail-notify.default $(1)/etc/uci-defaults/nut-sendmail-notify
172 endef
173
174 define Package/nut-upsc
175 $(call Package/nut/Default)
176 TITLE+= (upsc command)
177 DEPENDS:=nut +nut-common
178 endef
179
180 define Package/nut-upsc/description
181 $(call Package/nut/description/Default)
182 upsc is provided as a quick way to poll the status of a UPS server. It
183 can be used inside shell scripts and other programs that need UPS data
184 but don not want to include the full interface.
185 endef
186
187 define Package/nut-upsc/install
188 $(INSTALL_DIR) $(1)/usr/bin
189 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/upsc $(1)/usr/bin
190 endef
191
192 define Package/nut-upslog
193 $(call Package/nut/Default)
194 TITLE+= (logging client)
195 DEPENDS:=nut +nut-common
196 endef
197
198 define Package/nut-upslog/description
199 $(call Package/nut/description/Default)
200 upslog is a daemon that will poll a UPS at periodic intervals, fetch the
201 variables that interest you, format them, and write them to a file.
202 endef
203
204 define Package/nut-upslog/install
205 $(INSTALL_DIR) $(1)/usr/bin
206 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/upslog $(1)/usr/bin/
207 endef
208
209 define Package/nut-upscmd
210 $(call Package/nut/Default)
211 TITLE+= (controller)
212 DEPENDS:=nut +nut-common
213 endef
214
215 define Package/nut-upscmd/description
216 $(call Package/nut/description/Default)
217 upscmd allows you to invoke "instant commands" in your UPS hardware. Not
218 all hardware supports this, so check the list with -l to see if anything
219 will work on your equipment. On hardware that supports it, you can use
220 this program to start and stop battery tests, invoke a front panel test
221 (beep!), turn the load on or off, and more.
222 endef
223
224 define Package/nut-upscmd/install
225 $(INSTALL_DIR) $(1)/usr/bin
226 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/upscmd $(1)/usr/bin/
227 endef
228
229 define Package/nut-upsrw
230 $(call Package/nut/Default)
231 TITLE+= (variable editor)
232 DEPENDS:=nut +nut-common
233 endef
234
235 define Package/nut-upsrw/description
236 $(call Package/nut/description/Default)
237 upsrw allows you to view and change the read/write variables inside your
238 UPS. It sends commands via the upsd to your driver, which configures the
239 hardware for you. The list of variables that allow you to change their
240 values is based on the capabilities of your UPS equipment. Not all
241 models support this feature. Typically, cheaper hardware does not
242 support any of them.
243 endef
244
245 define Package/nut-upsrw/install
246 $(INSTALL_DIR) $(1)/usr/bin
247 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/upsrw $(1)/usr/bin/
248 endef
249
250 define Package/nut-upssched
251 $(call Package/nut/Default)
252 TITLE+= (helper for triggering events from upsmon)
253 DEPENDS:=nut +nut-common +nut-upsmon
254 endef
255
256 define Package/nut-upssched/description
257 $(call Package/nut/description/Default)
258 upssched was created to allow users to execute programs at times relative
259 to events being monitored by upsmon. The original purpose was to allow
260 for a shutdown to occur after some fixed period on battery, but there are
261 other uses that are possible.
262 You can alternatively write your own script and save some space.
263 endef
264
265 define Package/nut-upssched/conffiles
266 /etc/nut/upssched.conf
267 endef
268
269 define Package/nut-upssched/install
270 $(INSTALL_DIR) $(1)/usr/bin
271 $(INSTALL_DIR) $(1)/usr/sbin
272 $(INSTALL_DIR) $(1)/etc/nut
273 $(INSTALL_DIR) $(1)/etc/uci-defaults
274 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/upssched-cmd $(1)/usr/bin/
275 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/upssched $(1)/usr/sbin/
276 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nut/upssched.conf.sample $(1)/etc/nut/upssched.conf
277 $(INSTALL_DATA) ./files/nut-sched.default $(1)/etc/uci-defaults/nut-upssched
278 endef
279
280 define Package/nut-web-cgi
281 $(call Package/nut/Default)
282 TITLE+= Web CGI interface
283 DEPENDS:=nut +nut-common +libgd
284 endef
285
286 define Package/nut-web-cgi/description
287 The CGI programs are clients that run through your web server.
288 They allow you to see UPS status and perform certain administrative
289 commands from any web browser. Javascript and cookies are not required.
290 endef
291
292 define Package/nut-web-cgi/conffiles
293 /etc/nut/hosts.conf
294 /etc/nut/upsset.conf
295 /etc/nut/upsstats.html
296 /etc/nut/upsstats-single.html
297 /etc/config/nut_cgi
298 /etc/httpd.conf
299 endef
300
301 define Package/nut-web-cgi/install
302 $(INSTALL_DIR) $(1)/www/cgi-bin/nut $(1)/www/nut
303 $(INSTALL_DIR) $(1)/etc/nut
304 $(CP) $(PKG_INSTALL_DIR)/usr/html/* $(1)/www/nut/
305 $(INSTALL_DIR) $(1)/etc/uci-defaults
306 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/cgi-bin/* $(1)/www/cgi-bin/nut
307 $(INSTALL_CONF) ./files/add_nut_httpd_conf $(1)/etc/uci-defaults/add_nut_httpd_conf
308 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nut/upsstats.html.sample $(1)/etc/nut/upsstats.html
309 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nut/upsstats-single.html.sample $(1)/etc/nut/upsstats-single.html
310 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nut/upsset.conf.sample $(1)/etc/nut/upsset.conf
311 $(INSTALL_DIR) $(1)/etc/config
312 $(INSTALL_CONF) ./files/nut_cgi $(1)/etc/config/nut_cgi
313 $(INSTALL_DIR) $(1)/etc/init.d
314 $(INSTALL_BIN) ./files/nut-cgi.init $(1)/etc/init.d/nut-cgi
315 ln -sf /var/etc/nut/hosts.conf $(1)/etc/nut/hosts.conf
316 endef
317
318 define Package/nut-avahi-service
319 $(call Package/nut/Default)
320 TITLE+= (Avahi service)
321 DEPENDS:=nut +avahi-daemon
322 endef
323
324 define Package/nut-avahi-service/description
325 This package contains the service definition for announcing the
326 attached UPS via mDNS/DNS-SD.
327 endef
328
329 define Package/nut-avahi-service/conffiles
330 /etc/avahi/services/nut.service
331 endef
332
333 define Package/nut-avahi-service/install
334 $(INSTALL_DIR) $(1)/etc/avahi/services
335 $(INSTALL_CONF) ./files/nut.service $(1)/etc/avahi/services/
336 endef
337
338 # Dealing with all of the drivers is very repetitive, but the previous
339 # maintainer had a neat solution which just needed some tweaking.
340 define DriverPackage
341 define Package/nut-driver-$(2)
342 $(call Package/nut/Default)
343 TITLE:=$(2) (NUT $(1) driver)
344 DEPENDS:=nut +nut-common
345 $(if $(filter $(1),snmp),DEPENDS+= @NUT_DRIVER_SNMP)
346 $(if $(filter $(1),usb),DEPENDS+= @NUT_DRIVER_USB)
347 $(if $(filter $(1),serial),DEPENDS+= @NUT_DRIVER_SERIAL)
348 endef
349 # Deliberately empty description in order to trigger a build failure.
350 # It should be overridden by the list below, and when updating to a
351 # new version of nut we will need to provide descriptions for any new
352 # drivers.
353 define Package/nut-driver-$(2)/description
354
355 endef
356 define Package/nut-driver-$(2)/install
357 $(INSTALL_DIR) $$(1)/lib/nut
358 $(CP) $$(PKG_INSTALL_DIR)/lib/nut/$(2) $$(1)/lib/nut/
359 $(if $(filter $(2),clone),$(CP) $$(PKG_INSTALL_DIR)/lib/nut/$(2)-outlet $$(1)/lib/nut/)
360 endef
361 endef
362 define DriverDescription
363 define Package/nut-driver-$(2)/description
364 $(3)
365 endef
366 endef
367 # These lists are lifted *directly* from drivers/Makefile.am in the nut
368 # source tree. This it to make it simpler to keep in sync when updating
369 # to a newer version of nut. Do not edit this manually.
370 #
371 # DO NOT EDIT (except to update with a fresh cut/paste)!
372 SERIAL_DRIVERLIST = al175 bcmxcp belkin belkinunv bestfcom \
373 bestfortress bestuferrups bestups dummy-ups etapro everups \
374 gamatronic genericups isbmex liebert liebert-esp2 masterguard metasys \
375 oldmge-shut mge-utalk microdowell mge-shut oneac optiups powercom rhino \
376 safenet skel solis tripplite tripplitesu upscode2 victronups powerpanel \
377 blazer_ser clone clone-outlet ivtscd apcsmart apcsmart-old apcupsd-ups riello_ser \
378 nutdrv_qx
379 SNMP_DRIVERLIST = snmp-ups
380 USB_LIBUSB_DRIVERLIST = usbhid-ups bcmxcp_usb tripplite_usb \
381 blazer_usb richcomm_usb riello_usb \
382 nutdrv_atcl_usb \
383 nutdrv_qx
384 # END: DO NOT EDIT!
385 SERIAL_DRIVERLIST_IGNORE:=skel clone-outlet nutdrv_qx
386 # nutdrv_qx can be either USB or serial. Given most routers have USB
387 # instead of serial ports, and not wanting two identical packages with
388 # different names that conflict with each other, only the option for the
389 # driver with USB bindings is provided. If you really want to save that
390 # tiny bit of space and build it without USB support, remove nutdrv_qx
391 # from the previous line.
392
393 $(foreach d,$(filter-out $(SERIAL_DRIVERLIST_IGNORE),$(SERIAL_DRIVERLIST)),$(eval $(call DriverPackage,serial,$(d))))
394 $(foreach d,$(SNMP_DRIVERLIST),$(eval $(call DriverPackage,snmp,$(d))))
395 $(foreach d,$(USB_LIBUSB_DRIVERLIST),$(eval $(call DriverPackage,usb,$(d))))
396
397 $(eval $(call DriverDescription,serial,al175,\
398 Driver for Eltek UPS models with AL175 alarm module))
399 $(eval $(call DriverDescription,serial,bcmxcp,\
400 Driver for UPSes supporting the serial BCM/XCP protocol))
401 $(eval $(call DriverDescription,serial,belkin,\
402 Driver for Belkin serial UPS equipment))
403 $(eval $(call DriverDescription,serial,belkinunv,\
404 Driver for Belkin "Universal UPS" and compatible))
405 $(eval $(call DriverDescription,serial,bestfcom,\
406 Driver for Best Power Fortress/Ferrups))
407 $(eval $(call DriverDescription,serial,bestfortress,\
408 Driver for old Best Fortress UPS equipment))
409 $(eval $(call DriverDescription,serial,bestuferrups,\
410 Driver for Best Power Micro-Ferrups))
411 $(eval $(call DriverDescription,serial,bestups,\
412 Driver for Best Power / SOLA (Phoenixtec protocol) UPS equipment))
413 $(eval $(call DriverDescription,serial,dummy-ups,\
414 Driver for multi-purpose UPS emulation))
415 $(eval $(call DriverDescription,serial,etapro,\
416 Driver for ETA UPS equipment))
417 $(eval $(call DriverDescription,serial,everups,\
418 Driver for Ever UPS models))
419 $(eval $(call DriverDescription,serial,gamatronic,\
420 Driver for Gamatronic UPS equipment))
421 $(eval $(call DriverDescription,serial,genericups,\
422 Driver for contact-closure UPS equipment))
423 $(eval $(call DriverDescription,serial,isbmex,\
424 Driver for ISBMEX UPS equipment))
425 $(eval $(call DriverDescription,serial,liebert,\
426 Driver for Liebert contact-closure UPS equipment))
427 $(eval $(call DriverDescription,serial,liebert-esp2,\
428 Driver for Liebert UPS, using the ESP-II serial protocol))
429 $(eval $(call DriverDescription,serial,masterguard,\
430 Driver for Masterguard UPS equipment))
431 $(eval $(call DriverDescription,serial,metasys,\
432 Driver for Meta System UPS equipment))
433 $(eval $(call DriverDescription,serial,oldmge-shut,\
434 Driver for SHUT Protocol UPS equipment, deprecated, use mge-shut))
435 $(eval $(call DriverDescription,serial,mge-utalk,\
436 Driver for MGE UPS SYSTEMS UTalk protocol equipment))
437 $(eval $(call DriverDescription,serial,microdowell,\
438 Driver for Microdowell Enterprise UPS series))
439 $(eval $(call DriverDescription,serial,mge-shut,\
440 Driver for SHUT Protocol UPS equipment))
441 $(eval $(call DriverDescription,serial,oneac,\
442 Driver for Oneac UPS equipment))
443 $(eval $(call DriverDescription,serial,optiups,\
444 Driver for Opti-UPS (Viewsonic) UPS and Zinto D (ONLINE-USV) equipment))
445 $(eval $(call DriverDescription,serial,powercom,\
446 Driver for serial Powercom/Trust/Advice UPS equipment))
447 $(eval $(call DriverDescription,serial,rhino,\
448 Driver for Brazilian Microsol RHINO UPS equipment))
449 $(eval $(call DriverDescription,serial,safenet,\
450 Driver for SafeNet compatible UPS equipment))
451 $(eval $(call DriverDescription,serial,solis,\
452 Driver for Brazilian Microsol SOLIS UPS equipment))
453 $(eval $(call DriverDescription,serial,tripplite,\
454 Driver for Tripp-Lite SmartPro UPS equipment))
455 $(eval $(call DriverDescription,serial,tripplitesu,\
456 Driver for Tripp-Lite SmartOnline (SU) UPS equipment))
457 $(eval $(call DriverDescription,serial,upscode2,\
458 Driver for UPScode II compatible UPS equipment))
459 $(eval $(call DriverDescription,serial,victronups,\
460 Driver for IMV/Victron UPS unit Match, Match Lite, NetUps))
461 $(eval $(call DriverDescription,serial,powerpanel,\
462 Driver for PowerPanel Plus compatible UPS equipment))
463 $(eval $(call DriverDescription,serial,blazer_ser,\
464 Driver for Megatec/Q1 protocol serial based UPS equipment))
465 $(eval $(call DriverDescription,serial,clone,\
466 UPS driver clone))
467 $(eval $(call DriverDescription,serial,ivtscd,\
468 Driver for the IVT Solar Controller Device))
469 $(eval $(call DriverDescription,serial,apcsmart,\
470 Driver for American Power Conversion Smart Protocol UPS equipment))
471 $(eval $(call DriverDescription,serial,apcsmart-old,\
472 Driver for American Power Conversion Smart Protocol UPS equipment))
473 $(eval $(call DriverDescription,serial,apcupsd-ups,\
474 Driver for apcupsd client access))
475 $(eval $(call DriverDescription,serial,riello_ser,\
476 Driver for Riello UPS Protocol UPS equipment))
477 $(eval $(call DriverDescription,snmp,snmp-ups,\
478 Multi-MIB Driver for SNMP UPS equipment))
479 $(eval $(call DriverDescription,usb,usbhid-ups,\
480 Driver for USB/HID UPS equipment))
481 $(eval $(call DriverDescription,usb,bcmxcp_usb,\
482 Experimental driver for UPSes supporting the BCM/XCP protocol over USB))
483 $(eval $(call DriverDescription,usb,tripplite_usb,\
484 Driver for older Tripp Lite USB UPSes (not PDC HID)))
485 $(eval $(call DriverDescription,usb,blazer_usb,\
486 Driver for Megatec/Q1 protocol USB based UPS equipment))
487 $(eval $(call DriverDescription,usb,richcomm_usb,\
488 Driver for UPS equipment using Richcomm dry-contact to USB solution))
489 $(eval $(call DriverDescription,usb,riello_usb,\
490 Driver for Riello UPS Protocol UPS equipment via USB))
491 $(eval $(call DriverDescription,usb,nutdrv_atcl_usb,\
492 Driver for ATCL FOR UPS equipment))
493 $(eval $(call DriverDescription,usb,nutdrv_qx,\
494 Driver for Q* protocol serial and USB based UPS equipment))
495
496 CONFIGURE_ARGS += \
497 --sysconfdir=/etc/nut \
498 --datadir=/usr/share/nut \
499 --with-dev \
500 --$(if $(CONFIG_NUT_DRIVER_USB),with,without)-usb \
501 --without-avahi \
502 --$(if $(CONFIG_NUT_DRIVER_SNMP),with,without)-snmp \
503 --$(if $(CONFIG_NUT_DRIVER_SERIAL),with,without)-serial \
504 --without-neon \
505 --without-powerman \
506 --without-wrap \
507 --with-cgi \
508 --without-ipmi \
509 --without-freeipmi \
510 --$(if $(CONFIG_NUT_SSL),with,without)-ssl $(if $(CONFIG_NUT_SSL),--with-openssl) \
511 --without-libltdl \
512 --with-statepath=/var/run/nut \
513 --with-drvpath=/lib/nut \
514 --with-user=root \
515 --with-group=root
516
517 define Build/InstallDev
518 $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
519 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
520 $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
521 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig/
522 endef
523
524 $(eval $(call BuildPackage,nut))
525 $(eval $(call BuildPackage,nut-common))
526 $(eval $(call BuildPackage,nut-server))
527 $(eval $(call BuildPackage,nut-upsmon))
528 $(eval $(call BuildPackage,nut-upsmon-sendmail-notify))
529 $(eval $(call BuildPackage,nut-upsc))
530 $(eval $(call BuildPackage,nut-upscmd))
531 $(eval $(call BuildPackage,nut-upslog))
532 $(eval $(call BuildPackage,nut-upsrw))
533 $(eval $(call BuildPackage,nut-upssched))
534 $(eval $(call BuildPackage,nut-web-cgi))
535 $(eval $(call BuildPackage,nut-avahi-service))
536 $(foreach d,$(filter-out $(SERIAL_DRIVERLIST_IGNORE),$(SERIAL_DRIVERLIST)),$(eval $(call BuildPackage,nut-driver-$(d))))
537 $(foreach d,$(SNMP_DRIVERLIST),$(eval $(call BuildPackage,nut-driver-$(d))))
538 $(foreach d,$(USB_LIBUSB_DRIVERLIST),$(eval $(call BuildPackage,nut-driver-$(d))))