conserver: add IPMI support
authorBjørn Mork <redacted>
Thu, 21 Sep 2023 14:01:31 +0000 (16:01 +0200)
committerHannu Nyman <redacted>
Wed, 5 Mar 2025 19:17:14 +0000 (21:17 +0200)
Linking conserver with FreeIPMI enables it to manage
serial-over-LAN (SOL) consoles in addition to the already
supported tty and tcp/telnet consoles.

The FreeIPMI library is huge. Adding a separate package
variant for this feature.

Signed-off-by: Bjørn Mork <redacted>
net/conserver/Makefile

index da61bb3495108bbbb9817034b15cfb25a5e5b172..cfe6f6315ffeb86b7de92ed4418761b267111083 100644 (file)
@@ -15,7 +15,6 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/conserver/conserver/tar.gz/v$(PKG_VERSION)?
 PKG_HASH:=1c8b86f123d2d8e3ce568b782087b43dfac9cf6ffd5a9bdfcfdc6718d749a923
 
-PKG_MAINTAINER:=Bjørn Mork <bjorn@mork.no>
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
 
@@ -31,6 +30,18 @@ define Package/conserver
   TITLE:=Connect multiple user to a serial console with logging
   URL:=http://www.conserver.com/
   DEPENDS:=+libopenssl
+  MAINTAINER:=Bjørn Mork <bjorn@mork.no>
+  VARIANT:=default
+  CONFLICTS:=conserver-ipmi
+endef
+
+define Package/conserver-ipmi
+  $(call Package/conserver)
+  TITLE:=Conserver with IPMI support
+  PROVIDES:=conserver
+  DEPENDS+=+libipmiconsole
+  VARIANT:=ipmi
+  CONFLICTS:=
 endef
 
 define Package/conserver/description
@@ -48,12 +59,22 @@ define Package/conserver/description
  any of the equipment from home or wherever.
 endef
 
+define Package/conserver-ipmi/description
+ $(call Package/conserver/description)
+ .
+ This variant is built with support for IPMI serial-over-LAN consoles,
+ adding a large dependency on FreeIPMI
+endef
+
+
 define Package/conserver/conffiles
 /etc/conserver/conserver.cf
 /etc/conserver/conserver.passwd
 /etc/conserver/console.cf
 endef
 
+Package/conserver-ipmi/conffiles=$(Package/conserver/conffiles)
+
 CONFIGURE_ARGS += \
        --with-openssl \
        $(if $(CONFIG_IPV6),--with-ipv6) \
@@ -61,6 +82,10 @@ CONFIGURE_ARGS += \
        --with-port=3109 \
        --with-logfile=/var/log/conserver/server.log
 
+ifeq ($(BUILD_VARIANT),ipmi)
+       CONFIGURE_ARGS += --with-freeipmi
+endif
+
 define Build/Prepare
        $(call Build/Prepare/Default)
        $(CP) ./files/config.sub $(PKG_BUILD_DIR)/
@@ -80,4 +105,7 @@ define Package/conserver/install
        $(INSTALL_BIN) ./files/conserver.init $(1)/etc/init.d/conserver
 endef
 
+Package/conserver-ipmi/install=$(Package/conserver/install)
+
 $(eval $(call BuildPackage,conserver))
+$(eval $(call BuildPackage,conserver-ipmi))
git clone https://git.99rst.org/PROJECT