Commit 856294de authored by Yann E. MORIN's avatar Yann E. MORIN Committed by Peter Korsgaard
Browse files

package/nut: new package



'nut' are the Network UPS Tools.

[Note: original patch from Dallas, but completely revamped
 by Yann, so nothing remains from the original patch, but two
 variable names.]

Signed-off-by: default avatarDallas Clement <dallas.a.clement@gmail.com>
[yann.morin.1998@free.fr: refresh patch, use latest version,
    add license, fix commit message, add dependencies, fix
    runtime path, fix libs-config, move to 'system utils']
Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent fdecbd5f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -962,6 +962,7 @@ source "package/lxc/Config.in"
source "package/monit/Config.in"
source "package/ncdu/Config.in"
source "package/numactl/Config.in"
source "package/nut/Config.in"
source "package/polkit/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/procps/Config.in"

package/nut/Config.in

0 → 100644
+20 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_NUT
	bool "nut"
	help
	  Network UPS tools

	  The primary goal of the Network UPS Tools (NUT) project is to provide
	  support for Power Devices, such as Uninterruptible Power Supplies,
	  Power Distribution Units and Solar Controllers.

	  http://www.networkupstools.org/

if BR2_PACKAGE_NUT

config BR2_PACKAGE_NUT_DRIVERS
	string "drivers"
	help
	  Select the individual drivers to enable, in a comma-separated list.
	  Leave empty for all.

endif # BR2_PACKAGE_NUT
+72 −0
Original line number Diff line number Diff line
configure: fix calls to {gdlib,net-snmp}-config

nut directly calls to {gdlib,net-snmp}-config. In Buildroot,
those are not in the PATH, and nut would catch those of the
system (if they are installed), or miss them entirely.

Fix that by using environment variables that will tell where
to look for them.

Note: libusb also uses libusb-config, but only as a fallback
if pkg-config fails. Since we ensure that pkg-config exists,
and libusb is properly installed before we build nut, there
is no need to fix the libusb-config calls, since they won't
be called at all.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

diff -durN nut-2.6.5.orig/m4/nut_check_libgd.m4 nut-2.6.5/m4/nut_check_libgd.m4
--- nut-2.6.5.orig/m4/nut_check_libgd.m4	2012-07-31 19:38:56.000000000 +0200
+++ nut-2.6.5/m4/nut_check_libgd.m4	2013-11-01 16:24:02.626549810 +0100
@@ -20,7 +20,7 @@
 	LIBS="-lgd -lpng -lz -ljpeg -lfreetype -lm -lXpm -lX11"
 
 	AC_MSG_CHECKING(for gd version via gdlib-config)
-	GD_VERSION=`gdlib-config --version 2>/dev/null`
+	GD_VERSION=`${GDLIB_CONFIG} --version 2>/dev/null`
 	if test "$?" != "0" -o -z "${GD_VERSION}"; then
 		GD_VERSION="none"
 	fi
@@ -34,9 +34,9 @@
 		AC_MSG_WARN([[If gd detection fails, upgrade gd or use --with-gd-includes and --with-gd-libs]])
 		;;
 	*)
-		CFLAGS="`gdlib-config --includes 2>/dev/null`"
-		LDFLAGS="`gdlib-config --ldflags 2>/dev/null`"
-		LIBS="`gdlib-config --libs 2>/dev/null`"
+		CFLAGS="`${GDLIB_CONFIG} --includes 2>/dev/null`"
+		LDFLAGS="`${GDLIB_CONFIG} --ldflags 2>/dev/null`"
+		LIBS="`${GDLIB_CONFIG} --libs 2>/dev/null`"
 		;;
 	esac
 
diff -durN nut-2.6.5.orig/m4/nut_check_libnetsnmp.m4 nut-2.6.5/m4/nut_check_libnetsnmp.m4
--- nut-2.6.5.orig/m4/nut_check_libnetsnmp.m4	2012-07-31 19:38:56.000000000 +0200
+++ nut-2.6.5/m4/nut_check_libnetsnmp.m4	2013-11-01 16:30:07.398282923 +0100
@@ -15,7 +15,7 @@
 
 	dnl See which version of the Net-SNMP library (if any) is installed
 	AC_MSG_CHECKING(for Net-SNMP version via net-snmp-config)
-	SNMP_VERSION=`net-snmp-config --version 2>/dev/null`
+	SNMP_VERSION=`${NET_SNMP_CONFIG} --version 2>/dev/null`
 	if test "$?" != "0" -o -z "${SNMP_VERSION}"; then
 		SNMP_VERSION="none"
 	fi
@@ -33,7 +33,7 @@
 			CFLAGS="${withval}"
 			;;
 		esac
-	], [CFLAGS="`net-snmp-config --base-cflags 2>/dev/null`"])
+	], [CFLAGS="`${NET_SNMP_CONFIG} --base-cflags 2>/dev/null`"])
 	AC_MSG_RESULT([${CFLAGS}])
 
 	AC_MSG_CHECKING(for Net-SNMP libs)
@@ -48,7 +48,7 @@
 			LIBS="${withval}"
 			;;
 		esac
-	], [LIBS="`net-snmp-config --libs 2>/dev/null`"])
+	], [LIBS="`${NET_SNMP_CONFIG} --libs 2>/dev/null`"])
 	AC_MSG_RESULT([${LIBS}])
 
 	dnl Check if the Net-SNMP library is usable

package/nut/nut.mk

0 → 100644
+79 −0
Original line number Diff line number Diff line
################################################################################
#
# nut
#
################################################################################

NUT_VERSION = 2.6.5
NUT_SITE = http://www.networkupstools.org/source/2.6/
NUT_LICENSE = GPLv2+, GPLv3+ (python scripts), GPL/Artistic (perl client)
NUT_LICENSE_FILES = COPYING LICENSE-GPL2 LICENSE-GPL3
NUT_DEPENDENCIES = host-pkgconf

# Our patch changes m4 macros, so we need to autoreconf
NUT_AUTORECONF = YES

# Put the PID files in a read-write place (/var/run is a tmpfs)
# since the default location (/var/state/ups) maybe readonly.
NUT_CONF_OPT = \
	--with-altpidpath=/var/run/upsd

NUT_CONF_ENV = \
	GDLIB_CONFIG=$(STAGING_DIR)/usr/bin/gdlib-config \
	NET_SNMP_CONFIG=$(STAGING_DIR)/usr/bin/net-snmp-config

# For uClibc-based toolchains, nut forgets to link with -lm
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
NUT_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -lm"
endif

ifeq ($(call qstrip,$(BR2_PACKAGE_NUT_DRIVERS)),)
NUT_CONF_OPT += --with-drivers=all
else
NUT_CONF_OPT += --with-drivers=$(BR2_PACKAGE_NUT_DRIVERS)
endif

ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_DBUS),yy)
NUT_DEPENDENCIES += avahi dbus
NUT_CONF_OPT += --with-avahi
else
NUT_CONF_OPT += --without-avahi
endif

# gd with support for png is required for the CGI
ifeq ($(BR2_PACKAGE_GD)$(BR2_PACKAGE_LIBPNG),yy)
NUT_DEPENDENCIES += gd libpng
NUT_CONF_OPT += --with-cgi
else
NUT_CONF_OPT += --without-cgi
endif

ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y)
NUT_DEPENDENCIES += libusb-compat
NUT_CONF_OPT += --with-usb
else
NUT_CONF_OPT += --without-usb
endif

ifeq ($(BR2_PACKAGE_NEON_EXPAT)$(BR2_PACKAGE_NEON_LIBXML2),y)
NUT_DEPENDENCIES += neon
NUT_CONF_OPT += --with-neon
else
NUT_CONF_OPT += --without-neon
endif

ifeq ($(BR2_PACKAGE_NETSNMP),y)
NUT_DEPENDENCIES += netsnmp
NUT_CONF_OPT += --with-snmp
else
NUT_CONF_OPT += --without-snmp
endif

ifeq ($(BR2_PACKAGE_OPENSSL),y)
NUT_DEPENDENCIES += openssl
NUT_CONF_OPT += --with-ssl
else
NUT_CONF_OPT += --without-ssl
endif

$(eval $(autotools-package))