diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2012-06-24 22:32:55 +0000 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2012-06-24 22:32:55 +0000 |
commit | f5c1f1e76951691b4e9fd7f522ed0a9d0726a5ba (patch) | |
tree | 8b20462e0dd8c8326c7a2b14d260dc9d41a93560 | |
parent | 3950ffe2a485479f6561c27364d3d7df5a21d124 (diff) | |
download | ksh-f5c1f1e76951691b4e9fd7f522ed0a9d0726a5ba.tar.gz |
Added debian-dir (original, from Debian)
-rw-r--r-- | debian/changelog | 122 | ||||
-rw-r--r-- | debian/clean | 4 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 22 | ||||
-rw-r--r-- | debian/copyright | 234 | ||||
-rw-r--r-- | debian/dirs | 5 | ||||
-rw-r--r-- | debian/docs | 5 | ||||
-rw-r--r-- | debian/example.kshrc | 83 | ||||
-rw-r--r-- | debian/fr-shcomp.1 | 99 | ||||
-rw-r--r-- | debian/menu | 1 | ||||
-rw-r--r-- | debian/patches/cleanup-man-title.patch | 19 | ||||
-rw-r--r-- | debian/patches/handle-removed-working-dir.patch | 21 | ||||
-rw-r--r-- | debian/patches/no-rpath.patch | 11 | ||||
-rw-r--r-- | debian/patches/series | 4 | ||||
-rw-r--r-- | debian/patches/shell-options.patch | 13 | ||||
-rw-r--r-- | debian/postinst | 29 | ||||
-rw-r--r-- | debian/postrm | 20 | ||||
-rw-r--r-- | debian/prerm | 21 | ||||
-rwxr-xr-x | debian/rules | 87 | ||||
-rw-r--r-- | debian/shcomp.1 | 99 | ||||
-rw-r--r-- | debian/source/format | 1 |
21 files changed, 901 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..fc2cf0e --- /dev/null +++ b/debian/changelog @@ -0,0 +1,122 @@ +ksh (93u+-1) unstable; urgency=low + + * Bump to Standards-Version 3.9.3 + * New upstream release (closes: #636580, #667038) + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Sun, 15 Apr 2012 01:28:31 +0200 + +ksh (93u-1) unstable; urgency=low + + * Switch to dpkg-source 3.0 (quilt) format + * Bump to Standards-Version 3.9.1 + * New upstream release (closes: #600042) + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Fri, 25 Mar 2011 11:28:48 +0100 + +ksh (93t+20100621-1) unstable; urgency=low + + * Bump to Standards-Version 3.9.0 + * New upstream release + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Thu, 08 Jul 2010 11:55:12 +0200 + +ksh (93t+20100309-1) unstable; urgency=low + + * New upstream release + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Thu, 25 Mar 2010 00:23:35 +0100 + +ksh (93t+20100301-1) unstable; urgency=low + + * Better detection of utimensat() to fix build on GNU/kFreeBSD + from Petr Salinger (closes: #537246) + * Bump to Standards-Version 3.8.4 + * New upstream release + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Thu, 04 Mar 2010 11:27:15 +0100 + +ksh (93t+-2) unstable; urgency=low + + * Fix errors in manpage + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Thu, 04 Jun 2009 13:27:46 +0200 + +ksh (93t+-1) unstable; urgency=low + + * Bump to Standards-Version 3.8.1 + * Add get-orig-source target to debian/rules + * New upstream release (closes: #455824, #526160) + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Fri, 15 May 2009 11:54:18 +0200 + +ksh (93s+20080202-1) unstable; urgency=low + + * Bump to Standards-Version 3.7.3 + * Fix NAME section of manpage (closes: #463022) + * Don't compile binaries with an RPATH + * New upstream release (closes: #445992) + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Fri, 08 Feb 2008 12:09:24 +0100 + +ksh (93s+20071105-1) unstable; urgency=low + + * Change menu section to Applications/Shells + * New upstream release + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Mon, 19 Nov 2007 12:53:14 +0100 + +ksh (93s+20070628-1) unstable; urgency=low + + * New upstream release + * Enable /etc/ksh.kshrc support (closes: #431206) + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Fri, 13 Jul 2007 12:45:26 +0100 + +ksh (93s+-1) unstable; urgency=low + + * Bump to Standards-Version 3.7.2 + * New upstream release (closes: #384797) + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Mon, 23 Apr 2007 14:49:54 +0200 + +ksh (93r-1) unstable; urgency=high + + * Fix build failure with bash 3.1 as /bin/sh + * New upstream release + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Tue, 07 Feb 2006 19:24:26 +0100 + +ksh (93q+93r-1) unstable; urgency=high + + * New upstream beta version, fixes gcc 4 problem (closes: #314578) + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Thu, 11 Aug 2005 22:34:14 +0200 + +ksh (93q-4) unstable; urgency=low + + * Merge fix for problem with function return status. + * Bump to Standards-Version 3.6.2. + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Mon, 27 Jun 2005 19:20:35 +0200 + +ksh (93q-3) unstable; urgency=low + + * Include shcomp binary along with English and French man pages + from Christophe Martin (closes: #311789). + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Wed, 15 Jun 2005 22:38:37 +0200 + +ksh (93q-2) unstable; urgency=low + + * Install /bin/ksh alternative, and conflict with versions of + pdksh older than 5.2.14-18 (closes: #304359). + * Add example.kshrc file + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Mon, 18 Apr 2005 23:44:06 +0200 + +ksh (93q-1) unstable; urgency=low + + * Initial Release. + + -- Oliver Kiddle <okiddle@yahoo.co.uk> Wed, 9 Feb 2005 22:54:12 +0100 + diff --git a/debian/clean b/debian/clean new file mode 100644 index 0000000..eeb8ea9 --- /dev/null +++ b/debian/clean @@ -0,0 +1,4 @@ +bin/execrate +bin/execrate.old +lib/package/CONVERT.mk +build-stamp diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..f0468e2 --- /dev/null +++ b/debian/control @@ -0,0 +1,22 @@ +Source: ksh +Section: shells +Priority: optional +Maintainer: Oliver Kiddle <okiddle@yahoo.co.uk> +Homepage: http://www.kornshell.com/ +Build-Depends: debhelper (>= 7) +Standards-Version: 3.9.3 + +Package: ksh +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: pdksh (<< 5.2.14-18) +Description: Real, AT&T version of the Korn shell + Ksh is a UNIX command interpreter (shell) that is intended for both + interactive and shell script use. Its command language is a superset of + the sh(1) shell language. + . + The 1993 version adds a number of new, mostly scripting related, + features over the 1988 version that is typically distributed with + commercial UNIX variants. For example, it has lexical scoping, compound + variables, associative arrays, named references and floating point + math. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..beaa758 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,234 @@ +This package was debianized by Oliver Kiddle <okiddle@yahoo.co.uk> on +Wed, 9 Feb 2005 22:54:12 +0100. + +It was downloaded from http://www.research.att.com/sw/download + +Copyright: + + Copyright (c) 1982-2012 AT&T Intellectual Property + +Upstream Author: David Korn <dgk@research.att.com> + +License: + ++------------------------------------------------------------------------------+ +| This license covers all software that refers to the URL | +| http://www.eclipse.org/org/documents/epl-v10.html | ++------------------------------------------------------------------------------+ + +Eclipse Public License - v 1.0 + + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC + LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM + CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + + 1. DEFINITIONS + + "Contribution" means: + + a) in the case of the initial Contributor, the initial code and + documentation distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + + i) changes to the Program, and + + ii) additions to the Program; + + where such changes and/or additions to the Program originate from and are + distributed by that particular Contributor. A Contribution 'originates' from + a Contributor if it was added to the Program by such Contributor itself or + anyone acting on such Contributor's behalf. Contributions do not include + additions to the Program which: (i) are separate modules of software + distributed in conjunction with the Program under their own license + agreement, and (ii) are not derivative works of the Program. + + "Contributor" means any person or entity that distributes the Program. + + "Licensed Patents" mean patent claims licensable by a Contributor which are + necessarily infringed by the use or sale of its Contribution alone or when + combined with the Program. + + "Program" means the Contributions distributed in accordance with this + Agreement. + + "Recipient" means anyone who receives the Program under this Agreement, + including all Contributors. + + 2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free copyright license to + reproduce, prepare derivative works of, publicly display, publicly perform, + distribute and sublicense the Contribution of such Contributor, if any, and + such derivative works, in source code and object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free patent license under + Licensed Patents to make, use, sell, offer to sell, import and otherwise + transfer the Contribution of such Contributor, if any, in source code and + object code form. This patent license shall apply to the combination of the + Contribution and the Program if, at the time the Contribution is added by + the Contributor, such addition of the Contribution causes such combination + to be covered by the Licensed Patents. The patent license shall not apply to + any other combinations which include the Contribution. No hardware per se is + licensed hereunder. + + c) Recipient understands that although each Contributor grants the licenses + to its Contributions set forth herein, no assurances are provided by any + Contributor that the Program does not infringe the patent or other + intellectual property rights of any other entity. Each Contributor disclaims + any liability to Recipient for claims brought by any other entity based on + infringement of intellectual property rights or otherwise. As a condition to + exercising the rights and licenses granted hereunder, each Recipient hereby + assumes sole responsibility to secure any other intellectual property rights + needed, if any. For example, if a third party patent license is required to + allow Recipient to distribute the Program, it is Recipient's responsibility + to acquire that license before distributing the Program. + + d) Each Contributor represents that to its knowledge it has sufficient + copyright rights in its Contribution, if any, to grant the copyright license + set forth in this Agreement. + + 3. REQUIREMENTS + + A Contributor may choose to distribute the Program in object code form under + its own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + + b) its license agreement: + + i) effectively disclaims on behalf of all Contributors all warranties and + conditions, express and implied, including warranties or conditions of title + and non-infringement, and implied warranties or conditions of + merchantability and fitness for a particular purpose; + + ii) effectively excludes on behalf of all Contributors all liability for + damages, including direct, indirect, special, incidental and consequential + damages, such as lost profits; + + iii) states that any provisions which differ from this Agreement are offered + by that Contributor alone and not by any other party; and + + iv) states that source code for the Program is available from such + Contributor, and informs licensees how to obtain it in a reasonable manner + on or through a medium customarily used for software exchange. + + When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + + b) a copy of this Agreement must be included with each copy of the Program. + + Contributors may not remove or alter any copyright notices contained within + the Program. + + Each Contributor must identify itself as the originator of its Contribution, + if any, in a manner that reasonably allows subsequent Recipients to identify + the originator of the Contribution. + + 4. COMMERCIAL DISTRIBUTION + + Commercial distributors of software may accept certain responsibilities with + respect to end users, business partners and the like. While this license is + intended to facilitate the commercial use of the Program, the Contributor + who includes the Program in a commercial product offering should do so in a + manner which does not create potential liability for other Contributors. + Therefore, if a Contributor includes the Program in a commercial product + offering, such Contributor ("Commercial Contributor") hereby agrees to + defend and indemnify every other Contributor ("Indemnified Contributor") + against any losses, damages and costs (collectively "Losses") arising from + claims, lawsuits and other legal actions brought by a third party against + the Indemnified Contributor to the extent caused by the acts or omissions of + such Commercial Contributor in connection with its distribution of the + Program in a commercial product offering. The obligations in this section do + not apply to any claims or Losses relating to any actual or alleged + intellectual property infringement. In order to qualify, an Indemnified + Contributor must: a) promptly notify the Commercial Contributor in writing + of such claim, and b) allow the Commercial Contributor to control, and + cooperate with the Commercial Contributor in, the defense and any related + settlement negotiations. The Indemnified Contributor may participate in any + such claim at its own expense. + + For example, a Contributor might include the Program in a commercial product + offering, Product X. That Contributor is then a Commercial Contributor. If + that Commercial Contributor then makes performance claims, or offers + warranties related to Product X, those performance claims and warranties are + such Commercial Contributor's responsibility alone. Under this section, the + Commercial Contributor would have to defend claims against the other + Contributors related to those performance claims and warranties, and if a + court requires any other Contributor to pay any damages as a result, the + Commercial Contributor must pay those damages. + + 5. NO WARRANTY + + EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON + AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER + EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR + CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A + PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the + appropriateness of using and distributing the Program and assumes all risks + associated with its exercise of rights under this Agreement , including but + not limited to the risks and costs of program errors, compliance with + applicable laws, damage to or loss of data, programs or equipment, and + unavailability or interruption of operations. + + 6. DISCLAIMER OF LIABILITY + + EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY + CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION + LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE + EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY + OF SUCH DAMAGES. + + 7. GENERAL + + If any provision of this Agreement is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of the + remainder of the terms of this Agreement, and without further action by the + parties hereto, such provision shall be reformed to the minimum extent + necessary to make such provision valid and enforceable. + + If Recipient institutes patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Program itself + (excluding combinations of the Program with other software or hardware) + infringes such Recipient's patent(s), then such Recipient's rights granted + under Section 2(b) shall terminate as of the date such litigation is filed. + + All Recipient's rights under this Agreement shall terminate if it fails to + comply with any of the material terms or conditions of this Agreement and + does not cure such failure in a reasonable period of time after becoming + aware of such noncompliance. If all Recipient's rights under this Agreement + terminate, Recipient agrees to cease use and distribution of the Program as + soon as reasonably practicable. However, Recipient's obligations under this + Agreement and any licenses granted by Recipient relating to the Program + shall continue and survive. + + Everyone is permitted to copy and distribute copies of this Agreement, but + in order to avoid inconsistency the Agreement is copyrighted and may only be + modified in the following manner. The Agreement Steward reserves the right + to publish new versions (including revisions) of this Agreement from time to + time. No one other than the Agreement Steward has the right to modify this + Agreement. The Eclipse Foundation is the initial Agreement Steward. The + Eclipse Foundation may assign the responsibility to serve as the Agreement + Steward to a suitable separate entity. Each new version of the Agreement + will be given a distinguishing version number. The Program (including + Contributions) may always be distributed subject to the version of the + Agreement under which it was received. In addition, after a new version of + the Agreement is published, Contributor may elect to distribute the Program + (including its Contributions) under the new version. Except as expressly + stated in Sections 2(a) and 2(b) above, Recipient receives no rights or + licenses to the intellectual property of any Contributor under this + Agreement, whether expressly, by implication, estoppel or otherwise. All + rights in the Program not expressly granted under this Agreement are + reserved. + + This Agreement is governed by the laws of the State of New York and the + intellectual property laws of the United States of America. No party to this + Agreement will bring a legal action under this Agreement more than one year + after the cause of action arose. Each party waives its rights to a jury + trial in any resulting litigation. diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..936de78 --- /dev/null +++ b/debian/dirs @@ -0,0 +1,5 @@ +bin +usr/bin +usr/share/man/man1 +usr/share/man/fr/man1 +usr/share/ksh/functions diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..b69e05a --- /dev/null +++ b/debian/docs @@ -0,0 +1,5 @@ +src/cmd/ksh93/COMPATIBILITY +src/cmd/ksh93/RELEASE* +src/cmd/ksh93/OBSOLETE +src/cmd/ksh93/PROMO.mm +debian/example.kshrc diff --git a/debian/example.kshrc b/debian/example.kshrc new file mode 100644 index 0000000..014130e --- /dev/null +++ b/debian/example.kshrc @@ -0,0 +1,83 @@ +# This file contains examples of some of the things you may want to +# include in a user startup file. + +# handle bash/zsh SHLVL variable +(( SHLVL++ )) + +# skip this setup for non-interactive shells +[[ -o interactive && -t 0 ]] || return + +# disable core dumps +ulimit -c 0 + +# Environment variables. These could go in .profile if you prefer +export VISUAL=vi +export EDITOR=$VISUAL +export PAGER=less +export GZIP=-9 +export GREP_OPTIONS='-d skip' + +# set some shell options +set -o emacs -o trackall -o globstar + +# specify search path for autoloadable functions +FPATH=/usr/share/ksh/functions:~/.zfunc + +# avoid certain file types in completion +FIGNORE='@(*.o|~*)' + +# save more commands in history +HISTSIZE=500 +HISTEDIT=$EDITOR + +# aliases for various command shortcuts +alias ll='ls -lFb' +alias la='ls -LaFb' +alias pu='ps -fu $USER' +alias md=mkdir +alias rd=rmdir + +# avoid problems with long argument lists for some commands (like xargs) +alias cp='command -x cp' mv='command -x mv' grep='command -x grep' + +# some short functions +empty() { echo $'\e[3J'; } +mere() { nroff -man -Tman $1 | ${MANPAGER:-less}; } +setenv() { export "${1}${2:+=$2}"; } + +# Use keyboard trap to map keys to other keys +# note that escape sequences vary for different terminals so these +# may not work for you +trap '.sh.edchar=${keymap[${.sh.edchar}]:-${.sh.edchar}}' KEYBD +keymap=( + [$'\eOD']=$'\eb' # Ctrl-Left -> move word left + [$'\eOC']=$'\ef' # Ctrl-Right -> move word right + [$'\e[3~']=$'\cd' # Delete -> delete to right + [$'\e[1~']=$'\ca' # Home -> move to beginning of line + [$'\e[4~']=$'\ce' # End -> move to end of line +) + +# keep a shortened version of the current directory for the prompt +function _cd { + typeset -n dir=HOME + + "cd" "$@" + + if [[ $PWD = $HOME* && $HOME != / ]]; then + _pwd=\~${PWD#$HOME} + return + fi + + for dir in JAVA_HOME GNOMEDIR; do + if [[ -n $dir && $PWD = $dir* ]]; then + _pwd="\$${!dir}${PWD#$dir}" + return + fi + done + _pwd="$PWD" +} +alias cd=_cd +_cd . + +# put the current directory and history number in the prompt +PS1='$_pwd [!]\$ ' diff --git a/debian/fr-shcomp.1 b/debian/fr-shcomp.1 new file mode 100644 index 0000000..8841ce7 --- /dev/null +++ b/debian/fr-shcomp.1 @@ -0,0 +1,99 @@ +.\" +.\" File written by Christophe Martin <Schplurtz@free.fr> +.\" Based on the output of "shcomp --man" +.\" +.TH SHCOMP 1 "Vendredi 3 juin 2005" KSH93 "Manuel de l'utilisateur UNIX" +.SH NAME +shcomp \- compile un script shell ksh93 +.SH SYNOPSIS +.B shcomp +[ +.I options +] [\fIfichier-d-entrée\fP] [\fIfichier-de-sortie\fP]] +.SH ORIGINE DE CETTE PAGE DE MANUEL +Écrite par Christophe Martin +<Schplurtz@free.fr>, +pour le projet +.B Debian +.BR GNU/Linux , +elle est basée sur l'affichage de « shcomp \-\-man ». +.SH DESCRIPTION +À moins que +.I \-D +ne soit spécifié sur la ligne de commande, +.B shcomp +lit un script, +.IR fichier-d-entrée , +et crée un fichier binaire, +.IR fichier-de-sortie , +que +.B ksh93 +peut lire et exécuter de la même manière et avec les mêmes effets +que le script d'origine. +.PP +Puisque ils sont evalués lors de la lecture du script, les alias dont la +valeur nécessite l'expansion de variables ne fonctionneront pas correctement. +.PP +Si on utilise l'option +.BR \-D , +toutes les chaines entre guillemets (\fB"\fP) précédées d'un $ sont affichées. +Ces chaines sont les messages qui doivent être +traduits pour l'internationnalisation du script. +.PP +Si on omet +.IR fichier-de-sortie , +alors le résultat est écrit sur la sortie standard. +Si on omet également +.IR fichier-d-entrée , +alors le script est lu depuis l'entrée standard. +.SH OPTIONS +.TP +\fI\-D\fP, \fI\-\-dictionary\fP +Génère une liste de chaines qui doivent être placées dans un catalogue +de messages pour l'internationnalisation du script. +.TP +\fI\-n\fP, \fI\-\-noexec\fP +Affiche des alertes lorsque le script contient des constructions obsolètes +ou non conformes. +.TP +\fI\-v\fP, \fI\-\-verbose\fP +Affiche Les lignes de +.I fichier-d-entrée +au fur et à mesure qu'elles sont lues. +.TP +\fI\-\-man\fP +Affiche cette page de manuel (en anglais) sur l'erreur standard et quitte. +.TP +\fI\-\-help\fP +Affiche une courte aide (en anglais) et quitte. +.SH CODE DE RETOUR +.TP +0 +Le programme a réussi. +.TP +>0 +Une erreur s'est produite. +.SH ALERTE DEBIAN +Sur un système +.B Debian +.B GNU/Linux +plus d'un paquet fournit ksh. Seul +.B ksh93 +peut exécuter les scripts compilés avec +.BR shcomp . +Les autres ksh échoueront. +.SH EXEMPLE +.nf +( echo '#! /bin/ksh93' ; shcomp monscript ) > monscript.bin && +chmod 755 monscript.bin +\&./monscript.bin +.fi +.SH VOIR AUSSI +.BR ksh (1) +.SH IMPLEMENTATION +.nf +version shcomp (AT&T Labs Research) 2003-03-02 +author David Korn <dgk@research.att.com> +copyright Copyright (c) 1982-2005 AT&T Corp. +license http://www.opensource.org/licenses/cpl1.0.txt +.fi diff --git a/debian/menu b/debian/menu new file mode 100644 index 0000000..6f29c88 --- /dev/null +++ b/debian/menu @@ -0,0 +1 @@ +?package(ksh):needs="text" section="Applications/Shells" title="Ksh" command="/bin/ksh93" diff --git a/debian/patches/cleanup-man-title.patch b/debian/patches/cleanup-man-title.patch new file mode 100644 index 0000000..f59c61b --- /dev/null +++ b/debian/patches/cleanup-man-title.patch @@ -0,0 +1,19 @@ +--- a/src/cmd/ksh93/sh.1 ++++ b/src/cmd/ksh93/sh.1 +@@ -19,15 +19,7 @@ + .TH KSH93 1 + .\} + .SH NAME +-.if \nZ=0 \{\ +-sh, rsh, pfsh \- shell, the standard/restricted command and programming language +-.\} +-.if \nZ=1 \{\ +-ksh, rksh, pfksh \- KornShell, a standard/restricted command and programming language +-.\} +-.if \nZ=2 \{\ +-ksh93, rksh93, pfksh93 \- KornShell, a standard/restricted command and programming language +-.\} ++ksh, ksh93 \- KornShell, a command and programming language + .SH SYNOPSIS + .if \nZ=0 \{\ + .B sh diff --git a/debian/patches/handle-removed-working-dir.patch b/debian/patches/handle-removed-working-dir.patch new file mode 100644 index 0000000..9bf0f4a --- /dev/null +++ b/debian/patches/handle-removed-working-dir.patch @@ -0,0 +1,21 @@ +--- a/src/cmd/ksh93/bltins/cd_pwd.c ++++ b/src/cmd/ksh93/bltins/cd_pwd.c +@@ -115,7 +115,18 @@ + if(*(dp=dir+1) == '.') + dp++; + if(*dp==0 || *dp=='/') ++ { ++ struct stat statb; ++ if((dp-dir)==2) ++ { ++ sfprintf(shp->strbuf,oldpwd); ++ dp = sfstruse(shp->strbuf); ++ *strrchr(dp,'/')=0; ++ if(*dp) ++ dir = (char*)dp; ++ } + cdpath = 0; ++ } + } + rval = -1; + do diff --git a/debian/patches/no-rpath.patch b/debian/patches/no-rpath.patch new file mode 100644 index 0000000..abeb067 --- /dev/null +++ b/debian/patches/no-rpath.patch @@ -0,0 +1,11 @@ +--- a/src/cmd/INIT/make.probe ++++ b/src/cmd/INIT/make.probe +@@ -2068,7 +2068,7 @@ + CC_LD_DYNAMIC=$lddynamic + CC_LD_LAZY=$ldlazy + CC_LD_NOLAZY=$ldnolazy +-CC_LD_ORIGIN=$ldorigin ++CC_LD_ORIGIN= + CC_LD_RECORD=$ldrecord + CC_LD_NORECORD=$ldnorecord + CC_LD_RUNPATH=$ldrunpath diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..10f9a00 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,4 @@ +shell-options.patch +cleanup-man-title.patch +no-rpath.patch +handle-removed-working-dir.patch diff --git a/debian/patches/shell-options.patch b/debian/patches/shell-options.patch new file mode 100644 index 0000000..cf7a39f --- /dev/null +++ b/debian/patches/shell-options.patch @@ -0,0 +1,13 @@ +--- a/src/cmd/ksh93/Makefile ++++ b/src/cmd/ksh93/Makefile +@@ -48,8 +48,8 @@ + SHOPT_SEVENBIT == /* strip the eigth bit from characters */ + SHOPT_SPAWN == /* use spawnveg for fork/exec */ + SHOPT_STATS == 1 /* add .sh.stats variable */ +-SHOPT_SUID_EXEC == 1 /* allow (safe) suid/sgid shell scripts */ +-SHOPT_SYSRC == /* attempt . /etc/ksh.kshrc if interactive */ ++SHOPT_SUID_EXEC == 0 /* allow (safe) suid/sgid shell scripts */ ++SHOPT_SYSRC == 1 /* attempt . /etc/ksh.kshrc if interactive */ + SHOPT_TIMEOUT == /* number of seconds for shell timeout */ + SHOPT_TYPEDEF == 1 /* enable typeset type definitions */ + SHOPT_VSH == 1 /* vi edit mode */ diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..de950ef --- /dev/null +++ b/debian/postinst @@ -0,0 +1,29 @@ +#!/bin/sh + +set -e + +case "$1" in + configure) + # continue below + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + exit 0 + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# + +update-alternatives --install /bin/ksh ksh /bin/ksh93 20 \ + --slave /usr/bin/ksh usr.bin.ksh /bin/ksh93 \ + --slave /usr/share/man/man1/ksh.1.gz ksh.1.gz \ + /usr/share/man/man1/ksh93.1.gz + +add-shell /bin/ksh93 + +exit 0 diff --git a/debian/postrm b/debian/postrm new file mode 100644 index 0000000..177509a --- /dev/null +++ b/debian/postrm @@ -0,0 +1,20 @@ +#! /bin/sh + +set -e + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + # continue below + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +remove-shell /bin/ksh93 + +exit 0 diff --git a/debian/prerm b/debian/prerm new file mode 100644 index 0000000..c828ebc --- /dev/null +++ b/debian/prerm @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +case "$1" in + remove|deconfigure) + update-alternatives --remove ksh /bin/ksh93 + ;; + + upgrade|failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..f9e11bd --- /dev/null +++ b/debian/rules @@ -0,0 +1,87 @@ +#!/usr/bin/make -f +PACKAGE = ksh +SRC_VERSION := 93u+ +DL_VERSION = 2012-02-29 +SRC_DIR = $(PACKAGE)-$(SRC_VERSION) +TARBALL = $(SRC_DIR).tar.gz + +CFLAGS = -g +LDFLAGS = +SHELL = /bin/sh +ARCH = $(shell bin/package) +INSTALL = install +INSTALL_FILE = $(INSTALL) -p -o root -g root -m 644 +INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 755 + +package=ksh + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +CFLAGS += -O0 +else +CFLAGS += -O2 +endif + +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) +INSTALL_PROGRAM += -s +endif + +export CCFLAGS = $(CFLAGS) + +build: build-stamp +build-stamp: + bin/package make strip=0 + touch build-stamp + +clean: + dh_testdir + dh_clean + -test -f bin/ignore.old && mv bin/ignore.old bin/ignore + -test -f bin/silent.old && mv bin/silent.old bin/silent + -test -f bin/package.old && mv bin/package.old bin/package + -test -f bin/mamprobe.old && mv bin/mamprobe.old bin/mamprobe + -rm -rf arch/$(ARCH) + +install: build + dh_testdir + dh_testroot + dh_installdirs + $(INSTALL_PROGRAM) arch/$(ARCH)/bin/ksh debian/ksh/bin/ksh93 + $(INSTALL_PROGRAM) arch/$(ARCH)/bin/shcomp debian/ksh/usr/bin/shcomp + $(INSTALL_FILE) arch/$(ARCH)/man/man1/sh.1 debian/ksh/usr/share/man/man1/ksh93.1 + $(INSTALL_FILE) arch/$(ARCH)/fun/* debian/ksh/usr/share/ksh/functions + $(INSTALL_FILE) debian/shcomp.1 debian/ksh/usr/share/man/man1/shcomp.1 + $(INSTALL_FILE) debian/fr-shcomp.1 debian/ksh/usr/share/man/fr/man1/shcomp.1 + dh_installdocs + dh_installmenu + dh_installchangelogs + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch + +get-orig-source: + rm -rf $(SRC_DIR) $(TARBALL) + mkdir $(SRC_DIR) + wget --http-user 'I accept www.opensource.org/licenses/cpl' \ + --http-password . -O - \ + http://www.research.att.com/~gsf/download/tgz/INIT.$(DL_VERSION).tgz | \ + tar xzf - -C $(SRC_DIR) + wget --http-user 'I accept www.opensource.org/licenses/cpl' \ + --http-password . -O - \ + http://www.research.att.com/~gsf/download/tgz/ast-ksh.$(DL_VERSION).tgz | \ + tar xzf - -C $(SRC_DIR) + tar cf - $(SRC_DIR) | tardy -group 0 -user 0 - - | gzip -c9 > $(TARBALL) + +.PHONY: build clean binary-indep binary-arch binary install get-orig-source diff --git a/debian/shcomp.1 b/debian/shcomp.1 new file mode 100644 index 0000000..4bbee29 --- /dev/null +++ b/debian/shcomp.1 @@ -0,0 +1,99 @@ +.\" +.\" File written by Christophe Martin <Schplurtz@free.fr> +.\" Based on the output of "shcomp --man" +.\" +.TH SHCOMP 1 "Fri Jun 3 2005" KSH93 "User Environment Utilities" +.SH NAME +shcomp \- compile a ksh93 shell script +.SH SYNOPSIS +.B shcomp +[ +.I options +] [\fIinfile\fP] [\fIoutfile\fP]] +.SH ORIGIN OF THIS MAN PAGE +This man page was written by Christophe Martin <Schplurtz@free.fr> +for the +.B Debian +.B GNU/Linux +system. It is based on "shcomp \-\-man" output. +.SH DESCRIPTION +Unless +.I \-D +is specified, +.B shcomp +takes a shell script, +.IR infile , +and creates a +binary format file, +.IR outfile , +that +.B ksh93 +can read and execute with the same +effect as the original script. +.PP +Since aliases are processed as the script is read, alias definitions whose +value requires variable expansion will not work correctly. +.PP +If +.I \-D +is specified, all double quoted strings that are preceded by $ are +output. These are the messages that need to be translated to locale specific +versions for internationalization. +.PP +If +.I outfile +is omitted, then the results will be written to standard output. +If +.I infile +is also omitted, the shell script will be read from standard input. +.SH OPTIONS +.TP +\fI\-D\fP, \fI\-\-dictionary\fP +Generate a list of strings that need to be placed in a +message catalog for internationalization. +.TP +\fI\-n\fP, \fI\-\-noexec\fP +Displays warning messages for obsolete or non-conforming +constructs. +.TP +\fI\-v\fP, \fI\-\-verbose\fP +Displays input from +.I infile +onto standard error as it reads it. +.TP +\fI\-\-man\fP +Displays this man page on standard error and exits. +.TP +\fI\-\-help\fP +Shows a short help message and exits. +.SH EXIT STATUS +.TP +0 +Successful completion. +.TP +>0 +An error occurred. +.SH DEBIAN WARNING +On a +.B Debian +.B GNU/Linux +system, more than one package may provide ksh. the output of +.B shcomp +can only be used by +.BR ksh93 . +Any other ksh will be unable to run the compiled script. +.SH EXAMPLE +.nf +( echo '#! /bin/ksh93' ; shcomp myscript ) > myscript.bin && +chmod 755 myscript.bin +\&./myscript.bin +.fi +.SH SEE ALSO +.BR ksh (1) +.SH IMPLEMENTATION +.nf +version shcomp (AT&T Labs Research) 2012-02-29 +author David Korn <dgk@research.att.com> +copyright Copyright (c) 1982-2012 AT&T Intellectual Property +license http://www.eclipse.org/org/documents/epl-v10.html +.fi diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) |