From 4c98c181c040afabdd422392e7cc0e2f0106ac80 Mon Sep 17 00:00:00 2001 From: Takashi Umeno Date: Mon, 18 Jan 2016 11:27:32 +0900 Subject: [PATCH] klish: add new package (2.1.1) The klish is a framework for implementing a CISCO-like CLI on a UNIX systems. It is configurable by XML files. The KLISH stands for Kommand Line Interface Shell. klish is an active fork of the clish program created by Graeme McKerrell. Makefile from https://dev.openwrt.org/browser/packages/utils/klish/Makefile?rev=31310 add SOB. add Maintainer. change URL http://libcode.org/projects/klish/files update to 2.1.1 (newest version). merge klish and konf package. [squash commits] Signed-off-by: Etienne CHAMPETIER Signed-off-by: Takashi Umeno --- utils/klish/Makefile | 90 +++++++++++++++++++ .../klish/patches/010-shell_execute_fix.patch | 16 ++++ 2 files changed, 106 insertions(+) create mode 100644 utils/klish/Makefile create mode 100644 utils/klish/patches/010-shell_execute_fix.patch diff --git a/utils/klish/Makefile b/utils/klish/Makefile new file mode 100644 index 000000000..cd52f19e3 --- /dev/null +++ b/utils/klish/Makefile @@ -0,0 +1,90 @@ + +# +# Copyright (C) 2016 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=klish +PKG_VERSION:=2.1.1 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_SOURCE_URL:=http://libcode.org/attachments/download/61/ +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENCE +PKG_MAINTAINER:=Takashi Umeno +PKG_MD5SUM:=4913259794d85585de0f8791c54ac633 + +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/klish/default + SECTION:=utils + CATEGORY:=Utilities + TITLE:=Kommand Line Interface SHell ($(1)) + URL:=http://libcode.org/projects/klish/ +endef + +define Package/klish +$(call Package/klish/default,main tool) + DEPENDS:=+libstdcpp +libxml2 +endef + +define Package/klish/description + The klish is a framework for implementing a CISCO-like CLI on a UNIX + systems. It is configurable by XML files. The KLISH stands for Kommand + Line Interface Shell. + The klish is a fork of clish 0.7.3 developed by Graeme McKerrell. + It defines new features but it's compatible (as much as possible) with + clish's XML configuration files. + klish is able to run using clish XML configuration files although + current clish users may expect some changes in behavior. + Konf and konfd are klish utilities that are used to store configuration + informations in a way which is similar to what's found on CISCO devices. + More information about these tools is to be found on the klish web site. +endef + +define Build/Configure + $(call Build/Configure/Default, \ + --with-libxml2 \ + ) +endef + +define Package/klish/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/clish $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/konf $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/konfd $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sigexec $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,klish)) + +define Package/klish-xml-files + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=klish + TITLE:=klish sample XML files + URL:=http://code.google.com/p/klish/ +endef + +define Package/klish-xml-files/description + This is a set of sample XML files for klish. +endef + +define Package/klish-xml-files/install + $(INSTALL_DIR) $(1)/etc/clish + $(CP) $(PKG_BUILD_DIR)/xml-examples/clish $(1)/etc/clish/ + $(CP) $(PKG_BUILD_DIR)/xml-examples/klish $(1)/etc/clish/ + $(CP) $(PKG_BUILD_DIR)/xml-examples/lua $(1)/etc/clish/ + $(CP) $(PKG_BUILD_DIR)/xml-examples/test $(1)/etc/clish/ +endef + +$(eval $(call BuildPackage,klish-xml-files)) diff --git a/utils/klish/patches/010-shell_execute_fix.patch b/utils/klish/patches/010-shell_execute_fix.patch new file mode 100644 index 000000000..c9ea8c1aa --- /dev/null +++ b/utils/klish/patches/010-shell_execute_fix.patch @@ -0,0 +1,16 @@ +--- a/clish/shell/shell_execute.c ++++ b/clish/shell/shell_execute.c +@@ -19,13 +19,6 @@ + #include + #include + +-/* Empty signal handler to ignore signal but don't use SIG_IGN. */ +-static void sigignore(int signo) +-{ +- signo = signo; /* Happy compiler */ +- return; +-} +- + /*-------------------------------------------------------- */ + static int clish_shell_lock(const char *lock_path) + {