upgrade mksh to R38c (patch from #5332)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@16428 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
676779c4c6
commit
80b0222532
@ -1,5 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2007-2008 OpenWrt.org
|
# Copyright (C) 2007-2008 OpenWrt.org
|
||||||
|
# Copyright (c) 2009 Thorsten Glaser <tg@mirbsd.org>
|
||||||
#
|
#
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
# See /LICENSE for more information.
|
# See /LICENSE for more information.
|
||||||
@ -8,43 +9,55 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=mksh
|
PKG_NAME:=mksh
|
||||||
PKG_VERSION:=R33d
|
PKG_VERSION:=38c
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).cpio.gz
|
PKG_SOURCE:=$(PKG_NAME)-R$(PKG_VERSION).cpio.gz
|
||||||
PKG_SOURCE_URL:=http://www.mirbsd.org/MirOS/dist/mir/mksh
|
PKG_SOURCE_URL:=http://www.mirbsd.org/MirOS/dist/mir/mksh
|
||||||
PKG_MD5SUM:=8ad2547ad55dc3a02b13554ab9b5c9c8
|
PKG_MD5SUM:=692192a6468b5f5c5e559756f1851766
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
# This program seems to depend on libssp, but only for GCC 4
|
|
||||||
GCCVER:=$(if $(DUMP),4,$(word 1,$(subst ., ,$(subst ",,$(CONFIG_GCC_VERSION)))))
|
|
||||||
#"))))
|
|
||||||
ifeq ($(GCCVER),4)
|
|
||||||
DEP:=+libssp
|
|
||||||
else
|
|
||||||
DEP:=
|
|
||||||
endif
|
|
||||||
|
|
||||||
define Package/mksh
|
define Package/mksh
|
||||||
SECTION:=shells
|
SECTION:=shells
|
||||||
CATEGORY:=Base system
|
CATEGORY:=Base system
|
||||||
TITLE:=mksh
|
TITLE:=MirBSD Korn Shell
|
||||||
DEPENDS:=$(DEP)
|
DEPENDS:=$(DEP)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mksh/description
|
define Package/mksh/description
|
||||||
MirBSD version of ksh
|
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 (e.g. in the emacs editing mode); R38c
|
||||||
|
corresponds to OpenBSD 4.5-current ksh (without GNU bash-like
|
||||||
|
$PS1 and fancy character classes). The code has throughoutly
|
||||||
|
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)
|
||||||
|
have been placed.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Compile
|
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
|
||||||
|
# HAVE_REALPATH=x ⇒ add the realpath builtin, which was
|
||||||
|
# disabled by MKSH_SMALL, back if realpath() exists
|
||||||
cd $(PKG_BUILD_DIR); \
|
cd $(PKG_BUILD_DIR); \
|
||||||
CC="$(TARGET_CC)" \
|
CC="$(TARGET_CC)" \
|
||||||
TARGET_OS="$(shell uname -s)" \
|
TARGET_OS="$(shell uname -s)" \
|
||||||
CFLAGS="$(TARGET_CFLAGS)" \
|
CFLAGS="$(TARGET_CFLAGS)" \
|
||||||
CPPFLAGS="-DMKSH_SMALL=1" \
|
CPPFLAGS="-DMKSH_SMALL=1 -DMKSH_ASSUME_UTF8=0" \
|
||||||
|
HAVE_CAN_FSTACKPROTECTORALL=0 \
|
||||||
|
HAVE_REALPATH=x \
|
||||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||||
$(BASH) Build.sh -Q -r
|
$(BASH) Build.sh -Q -r
|
||||||
endef
|
endef
|
||||||
|
@ -1,31 +1,23 @@
|
|||||||
$FreeWRT$
|
$Id$
|
||||||
|
|
||||||
• FreeWRT patches:
|
• Part of the FreeWRT patches:
|
||||||
– no hostname(1)
|
– no hostname(1)
|
||||||
– ls has no -o
|
– ls has no -o
|
||||||
– yofuh doesn’t like $? in $PS1
|
• OpenWrt fix:
|
||||||
|
– since this is not ~/.mkshrc make sure subshells find it
|
||||||
|
|
||||||
--- a/dot.mkshrc
|
--- mksh/dot.mkshrc~ 2009-05-31 19:17:57.000000000 +0200
|
||||||
+++ b/dot.mkshrc
|
+++ mksh/dot.mkshrc 2009-06-12 17:37:18.000000000 +0200
|
||||||
@@ -25,13 +25,15 @@
|
@@ -20,7 +20,7 @@
|
||||||
# sample mksh initialisation file for interactive shells; install as
|
#-
|
||||||
# /etc/skel/.mkshrc (as root, for new accounts) or copy to ~/.mkshrc
|
# ~/.mkshrc: mksh initialisation file for interactive shells
|
||||||
|
|
||||||
-: ${EDITOR:=/bin/ed} ${TERM:=vt100} ${HOSTNAME:=$(ulimit -c 0;hostname -s 2>&-)}
|
-: ${EDITOR:=/bin/ed} ${TERM:=vt100} ${HOSTNAME:=$(ulimit -c 0;hostname -s 2>&-)}
|
||||||
+: ${EDITOR:=/bin/ed} ${TERM:=vt100} ${HOSTNAME:=$(</proc/sys/kernel/hostname)}
|
+: ${EDITOR:=/bin/ed} ${TERM:=vt100} ${HOSTNAME:=$(</proc/sys/kernel/hostname)}
|
||||||
[[ $HOSTNAME = @(localhost|*([ ])) ]] && HOSTNAME=$(ulimit -c 0;hostname 2>&-)
|
[[ $HOSTNAME = @(localhost|*([ ])) ]] && HOSTNAME=$(ulimit -c 0;hostname 2>&-)
|
||||||
: ${HOSTNAME:=nil}; PS1='#'; [[ "$(ulimit -c 0; id -u 2>&-)" -eq 0 ]] || PS1='$'
|
: ${HOSTNAME:=nil}; if (( USER_ID )); then PS1='$'; else PS1='#'; fi
|
||||||
function precmd {
|
function precmd {
|
||||||
typeset -Ui10 e=$?
|
@@ -38,7 +38,7 @@ unalias ls
|
||||||
|
|
||||||
- (( e )) && print -n "$e|"
|
|
||||||
+# enable this back if you want the errorlevel in your prompt
|
|
||||||
+# this is default in upstream mksh, disabled locally in fwrt
|
|
||||||
+# (( e )) && print -n "$e|"
|
|
||||||
}
|
|
||||||
PS1='$(precmd)${USER:=$(ulimit -c 0;id -un 2>&- || print \?)}@${HOSTNAME%%.*}:$(
|
|
||||||
typeset pfx=~ wd=${PWD:-?}
|
|
||||||
@@ -53,7 +55,7 @@
|
|
||||||
alias l='ls -F'
|
alias l='ls -F'
|
||||||
alias la='l -a'
|
alias la='l -a'
|
||||||
alias ll='l -l'
|
alias ll='l -l'
|
||||||
@ -34,3 +26,12 @@ $FreeWRT$
|
|||||||
alias which='whence -p'
|
alias which='whence -p'
|
||||||
whence -p rot13 >&- || alias rot13='tr \
|
whence -p rot13 >&- || alias rot13='tr \
|
||||||
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ \
|
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ \
|
||||||
|
@@ -283,4 +283,8 @@ function Lstripcom {
|
||||||
|
done; }
|
||||||
|
}
|
||||||
|
|
||||||
|
+# we need this in OpenWrt for subshells that are not login shells
|
||||||
|
+: ${ENV=/etc/mkshrc}
|
||||||
|
+[[ -z $ENV ]] || export ENV
|
||||||
|
+
|
||||||
|
: place customsations above this line
|
||||||
|
Loading…
x
Reference in New Issue
Block a user