Discussion:
[OpenWrt-Devel] [RFC] remove clish, support klish ?
Emmanuel Deloget
13 years ago
Permalink
(CC'ed to Vitkar and to the klish maintainer)

clish (Command Line Interface SHell) support has been added a few weeks ago by Viktar [1]
and commited a few days later in the packages repository. I use clish, so this is not a real
issue for me.

But clish is a seemingly dead project, with no update in the last two years (approx.). It
has been forked at least onceand the fork seems to be a very active project [2] (I found it
because I was about to create a similar fork on google code as well).

Thus the questions:

* does it make sense to keep clish in the packages repository?
* should we replace it with klish?

Best regards,

-- Emmanuel Deloget

[1] https://lists.openwrt.org/pipermail/openwrt-devel/2012-February/014277.html
[2] http://code.google.com/p/klish/
Viktar Palstsiuk
13 years ago
Permalink
Hello Emmanuel

I'm not sure that clish and klish have 100% compatible XML configs.
So I think that klish can simply be added in the packages repository
without pushing out clish.

On Tue, Apr 10, 2012 at 10:47 AM, Emmanuel Deloget
...
--
Best regards,
Viktar Palstsiuk
s***@gmail.com
13 years ago
Permalink
Hello

The XMLs are compatible. But there are some differencies in behaviour.
For example the commands in klish are non-interruptible by Ctrl^C by
default to make command execution atomic. The clish users can suppose
the commands are interruptible. And so on.
I think if someone really use clish it's not good to remove it

Serj Kalichev
...
Emmanuel Deloget
13 years ago
Permalink
...
I'm fine with this. I'll let other (Viktar or anyone else) decide what
to do with clish.

Next message will contain a patch with a request to add klish to the
packages repository (this next message will not be CC'ed).
...
Thanks everyone !

-- Emmanuel Deloget
Emmanuel Deloget
13 years ago
Permalink
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.

Signed-off by: Emmanuel Deloget <***@free.fr>

Index: packages/utils/klish/Makefile
===================================================================
--- packages/utils/klish/Makefile (révision 0)
+++ packages/utils/klish/Makefile (révision 0)
@@ -0,0 +1,99 @@
+#
+# Copyright (C) 2012 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:=1.5.3
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://klish.googlecode.com/files
+PKG_MD5SUM:=12109cac0e7429157987160d1b8732b6
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/klish/default
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=Kommand Line Interface SHell ($(1))
+ URL:=http://code.google.com/p/klish/
+endef
+
+define Package/klish
+$(call Package/klish/default,main tool)
+ DEPENDS:=+libstdcpp
+endef
+
+define Package/konf
+$(call Package/klish/default,konf tool)
+ DEPENDS:=klish
+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, and its
+ behavior differ in only one thing: clish allow a user to kill the current
+ running tack using Ctrl+C, while klish does not allow this by default
+ (meaning that individual tasks are atomic unless specified otherwise).
+endef
+
+define Package/konf/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.
+ 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 Package/klish/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/clish $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
+endef
+
+define Package/konf/install
+ $(INSTALL_DIR) $(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_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libkonf.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblub.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,klish))
+$(eval $(call BuildPackage,konf))
+
+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. This specific sample set
+ is compatible with the original clish.
+endef
+
+define Package/klish-xml-files/install
+ $(INSTALL_DIR) $(1)/etc/clish
+ $(CP) $(PKG_BUILD_DIR)/xml-examples/clish $(1)/etc/clish/
+endef
+
+$(eval $(call BuildPackage,klish-xml-files))
+
s***@gmail.com
13 years ago
Permalink
Hello

The recent version of klish is 1.5.4. It was released yesterday. The
main aim of release is portability. But there are some another changes:
bugfix, removing unnecessary library dependencies, code clean, autotools
files fixes, changes in locking mechanism. So i recommend to use 1.5.4.

+ klish is able to run using clish XML configuration files, and its
+ behavior differ in only one thing: clish allow a user to kill the current
+ running tack using Ctrl+C, while klish does not allow this by default
+ (meaning that individual tasks are atomic unless specified otherwise).

The command interruption was an example only. I mean that XMLs are
compatible but there are some diffirencies in behaviour. Not the
interruption only. Another example is differencies in look and feel.
Help "?" and <tab> behaviour. So it's easy to adopt old clish XML
configs for klish but the user must be ready for a little behaviour
differencies.

Thanks.
...
Emmanuel Deloget
13 years ago
Permalink
Post by s***@gmail.com
Hello
The recent version of klish is 1.5.4. It was released yesterday. The
bugfix, removing unnecessary library dependencies, code clean, autotools
files fixes, changes in locking mechanism. So i recommend to use 1.5.4.
I'm changing that.
...
Thanks for the clarification - text updated (see below).
Post by s***@gmail.com
Thanks.
Best regards,

-- Emmanuel Deloget

---------------8<-----------------------------------------------------
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.

Signed-off by: Emmanuel Deloget <***@free.fr>

Index: packages/utils/klish/Makefile
===================================================================
--- packages/utils/klish/Makefile (révision 0)
+++ packages/utils/klish/Makefile (révision 0)
@@ -0,0 +1,96 @@
+#
+# Copyright (C) 2012 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:=1.5.4
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://klish.googlecode.com/files
+PKG_MD5SUM:=c98a1c65f7538c3f4687c6f8039295df
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/klish/default
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=Kommand Line Interface SHell ($(1))
+ URL:=http://code.google.com/p/klish/
+endef
+
+define Package/klish
+$(call Package/klish/default,main tool)
+ DEPENDS:=+libstdcpp
+endef
+
+define Package/konf
+$(call Package/klish/default,konf tool)
+ DEPENDS:=klish
+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.
+endef
+
+define Package/konf/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.
+ 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 Package/klish/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/clish $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
+endef
+
+define Package/konf/install
+ $(INSTALL_DIR) $(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_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libkonf.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblub.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,klish))
+$(eval $(call BuildPackage,konf))
+
+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. This specific sample set
+ is compatible with the original clish.
+endef
+
+define Package/klish-xml-files/install
+ $(INSTALL_DIR) $(1)/etc/clish
+ $(CP) $(PKG_BUILD_DIR)/xml-examples/clish $(1)/etc/clish/
+endef
+
+$(eval $(call BuildPackage,klish-xml-files))
s***@gmail.com
13 years ago
Permalink
Ok, the text is good now
...
Loading...