mksh: moved to github
git-svn-id: svn://svn.openwrt.org/openwrt/packages@42862 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
bdb05b0934
commit
ae91c0f222
@ -1,81 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (C) 2007-2011 OpenWrt.org
|
|
||||||
# Copyright (c) 2009-2013 Thorsten Glaser <tg@mirbsd.org>
|
|
||||||
#
|
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
|
||||||
# See /LICENSE for more information.
|
|
||||||
#
|
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
|
||||||
|
|
||||||
PKG_NAME:=mksh
|
|
||||||
PKG_VERSION:=47
|
|
||||||
PKG_RELEASE:=1
|
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-R$(PKG_VERSION).tgz
|
|
||||||
PKG_SOURCE_URL:=http://www.mirbsd.org/MirOS/dist/mir/mksh
|
|
||||||
PKG_MD5SUM:=71c7cbcd78306897801b8b6691091e66
|
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
|
||||||
|
|
||||||
define Package/mksh
|
|
||||||
SECTION:=shells
|
|
||||||
CATEGORY:=Base system
|
|
||||||
TITLE:=MirBSD Korn Shell
|
|
||||||
DEPENDS:=$(DEP)
|
|
||||||
URL:=http://mirbsd.de/mksh
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/mksh/description
|
|
||||||
mksh is the MirBSD enhanced version of the Public Domain Korn
|
|
||||||
shell (pdksh), a Bourne-compatible shell which is largely si-
|
|
||||||
milar to the original AT&T Korn shell; mksh is the only pdksh
|
|
||||||
derivate currently being actively developed. It includes bug
|
|
||||||
fixes and feature improvements, in order to produce a modern,
|
|
||||||
robust shell good for interactive and especially script use.
|
|
||||||
mksh has UTF-8 support (in substring operations and the Emacs
|
|
||||||
editing mode) and - while R47 corresponds to OpenBSD 5.1-cur-
|
|
||||||
rent ksh (without GNU bash-like PS1 and fancy character clas-
|
|
||||||
ses) - adheres to SUSv4 and is much more robust. The code has
|
|
||||||
been cleaned up and simplified, bugs fixed, standards compli-
|
|
||||||
ance added, and several enhancements (for extended compatibi-
|
|
||||||
lity to other modern shells - as well as a couple of its own)
|
|
||||||
are available. It has sensible defaults as usual with BSD.
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Build/Compile
|
|
||||||
# -DMKSH_SMALL=1 ⇒ reduce functionality quite a lot
|
|
||||||
# -DMKSH_ASSUME_UTF8=0 ⇒ never automatically enable
|
|
||||||
# UTF-8 mode, neither use setlocale/nl_langinfo
|
|
||||||
# nor look at $LC_* and $LANG (not recommended)
|
|
||||||
# HAVE_CAN_FSTACKPROTECTORALL=0 ⇒ nuke libssp dependency
|
|
||||||
cd $(PKG_BUILD_DIR); \
|
|
||||||
CC="$(TARGET_CC)" \
|
|
||||||
TARGET_OS="$(shell uname -s)" \
|
|
||||||
CFLAGS="$(TARGET_CFLAGS)" \
|
|
||||||
CPPFLAGS="-DMKSH_SMALL=1 -DMKSH_ASSUME_UTF8=0" \
|
|
||||||
HAVE_CAN_FSTACKPROTECTORALL=0 \
|
|
||||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
||||||
$(BASH) Build.sh -Q -r -c lto
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/mksh/postinst
|
|
||||||
#!/bin/sh
|
|
||||||
grep mksh $${IPKG_INSTROOT}/etc/shells || \
|
|
||||||
echo "/bin/mksh" >> $${IPKG_INSTROOT}/etc/shells
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/mksh/install
|
|
||||||
$(INSTALL_DIR) $(1)/etc
|
|
||||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/dot.mkshrc $(1)/etc/mkshrc
|
|
||||||
$(INSTALL_DIR) $(1)/bin
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mksh $(1)/bin/
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/mksh/conffiles
|
|
||||||
/etc/mkshrc
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,mksh))
|
|
@ -1,50 +0,0 @@
|
|||||||
From 2bee59bb9e6b142a78c94f5e77a54e4e2366c1b8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Thorsten Glaser <tg@freewrt.org>
|
|
||||||
Date: Thu, 25 Jul 2013 22:07:33 +0200
|
|
||||||
Subject: [PATCH] Make default mkshrc file suitable for OpenWrt environment:
|
|
||||||
|
|
||||||
* Part of the FreeWRT patches:
|
|
||||||
- no hostname(1)
|
|
||||||
- ls(1) has no -o option
|
|
||||||
* OpenWrt and FreeWRT-1.0 fix:
|
|
||||||
- since this is not ~/.mkshrc make sure subshells find it
|
|
||||||
---
|
|
||||||
dot.mkshrc | 10 +++++++---
|
|
||||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dot.mkshrc b/dot.mkshrc
|
|
||||||
index c10b8fd..3a389b2 100644
|
|
||||||
--- a/dot.mkshrc
|
|
||||||
+++ b/dot.mkshrc
|
|
||||||
@@ -28,8 +28,8 @@ case $KSH_VERSION in
|
|
||||||
*) return 0 ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
-PS1='#'; (( USER_ID )) && PS1='$'; [[ ${HOSTNAME:=$(ulimit -c 0; hostname -s \
|
|
||||||
- 2>/dev/null)} = *([ ]|localhost) ]] && HOSTNAME=$(ulimit -c 0; hostname \
|
|
||||||
+PS1='#'; (( USER_ID )) && PS1='$'; [[ ${HOSTNAME:=$(</proc/sys/kernel/hostname
|
|
||||||
+ )} = *([ ]|localhost) ]] && HOSTNAME=$(ulimit -c 0; hostname \
|
|
||||||
2>/dev/null); : ${EDITOR:=/bin/ed} ${HOSTNAME:=nil} ${TERM:=vt100}
|
|
||||||
: ${MKSH:=$(whence -p mksh)}; PS4='[$EPOCHREALTIME] '; PS1=$'\001\r''${|
|
|
||||||
local e=$?
|
|
||||||
@@ -50,7 +50,7 @@ unalias ls
|
|
||||||
alias l='ls -F'
|
|
||||||
alias la='l -a'
|
|
||||||
alias ll='l -l'
|
|
||||||
-alias lo='l -alo'
|
|
||||||
+alias lo='l -al'
|
|
||||||
alias doch='fc -ln -1 | sudo mksh -s'
|
|
||||||
whence -p rot13 >/dev/null || alias rot13='tr \
|
|
||||||
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ \
|
|
||||||
@@ -413,4 +413,8 @@ alias cls='print -n \\033c'
|
|
||||||
|
|
||||||
unset p
|
|
||||||
|
|
||||||
+# we need this in OpenWrt for subshells that are not login shells
|
|
||||||
+: ${ENV=/etc/mkshrc}
|
|
||||||
+[[ -z $ENV ]] || export ENV
|
|
||||||
+
|
|
||||||
: place customisations above this line
|
|
||||||
--
|
|
||||||
1.8.3.2
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user