Updating link to change in openSUSE:Factory/ksh revision 45.0
OBS-URL: https://build.opensuse.org/package/show/shells/ksh?expand=0&rev=4fe973bbf9f615b1e470f8bb4cae0326
This commit is contained in:
parent
0c86064ca1
commit
be2f0ad606
245
CPL
Normal file
245
CPL
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
+------------------------------------------------------------------------------+
|
||||||
|
| This license covers all software that refers to the URL |
|
||||||
|
| http://www.opensource.org/licenses/cpl1.0.txt |
|
||||||
|
+------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
Common Public License Version 1.0
|
||||||
|
|
||||||
|
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
|
||||||
|
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 a Contributor with
|
||||||
|
respect to a patent applicable to software (including a cross-claim or
|
||||||
|
counterclaim in a lawsuit), then any patent licenses granted by that
|
||||||
|
Contributor to such Recipient under this Agreement shall terminate as
|
||||||
|
of the date such litigation is filed. In addition, 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. IBM is the initial
|
||||||
|
Agreement Steward. IBM 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.
|
||||||
|
|
||||||
|
Copyright (c) 2004 by the Open Source Initiative
|
||||||
|
This is a copy of the license posted on 2004-10-06 at:
|
||||||
|
http://www.opensource.org/licenses/cpl
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:fd938331f03103fb4af57af4f6bd6e217d2473c0c6aa52a18e69bb9054687005
|
|
||||||
size 276029
|
|
3
INIT.2010-06-21.tar.bz2
Normal file
3
INIT.2010-06-21.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ac7d3b11cec48ba51550c828e79b87d8b9e4747a533dd33dccf5146a304a5583
|
||||||
|
size 279614
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:03ef4e181f2f1039371f827d44f1c3cb7cf8f57f3e23df6a85541e72216db2b4
|
|
||||||
size 1475684
|
|
3
ast-ksh.2010-06-21.tar.bz2
Normal file
3
ast-ksh.2010-06-21.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:579eefa2beb40721f39261028107526f175e83c3ee6f10e7335b393ff40cc81a
|
||||||
|
size 1494273
|
163
ksh.changes
163
ksh.changes
@ -1,3 +1,166 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 8 14:50:56 CEST 2010 - werner@suse.de
|
||||||
|
|
||||||
|
- Fix crash on unset on local IFS within shell functions (bnc#636389)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 29 16:09:17 CEST 2010 - werner@suse.de
|
||||||
|
|
||||||
|
- Avoid memory leak as reported on mailing list
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 28 17:33:29 CEST 2010 - werner@suse.de
|
||||||
|
|
||||||
|
- Update to 2010-06-21 of ksh93t+ bug fix version
|
||||||
|
ksh:
|
||||||
|
10-06-21 The next release this directory will be renamed ksh93t and will
|
||||||
|
install as ksh93t and ksh93u will become the default ksh.
|
||||||
|
10-05-27 Rewrote the subshell code to avoid using pipes in many cases.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 28 13:21:46 CEST 2010 - werner@suse.de
|
||||||
|
|
||||||
|
- Update to 2010-05-27 of ksh93t+ bug fix version
|
||||||
|
ksh:
|
||||||
|
10-05-24 --- Release ksh93t+ ---
|
||||||
|
10-05-24 Fixed a bug which cause an exception when both -s and -s were
|
||||||
|
specified with typeset -i.
|
||||||
|
10-05-21 Inputting of three dimensional indexed arrays with ( ( (...)...)...)
|
||||||
|
was not working and has been fixed.
|
||||||
|
10-05-21 A bug in which adding the attributes -Ai to a variable via a name
|
||||||
|
reference could cause the value to display incorrectly has been fixed.
|
||||||
|
10-05-21 A bug in which using $var inside ((...)) did not work when var was
|
||||||
|
a hex float variable.
|
||||||
|
10-05-20 A bug which caused an exception when multiple levels of composite
|
||||||
|
functions in arithemtic expressions has been fixed.
|
||||||
|
10-05-19 <<< with an empty string no longer gives an error.
|
||||||
|
10-05-19 A bug in arithmetic evaluation when a name reference to an array
|
||||||
|
instance was used has been fixed.
|
||||||
|
10-05-14 A bug in which the shell treats a valid index array assignment,
|
||||||
|
typeset -a x=(foo (x=3;y=4) bar) as a syntax error has been fixed.
|
||||||
|
10-05-13 A bug in creating name references to assocative array variable
|
||||||
|
after a lookup of one of its elements has been fixed.
|
||||||
|
10-05-12 Two bugs in the handling of function static type variables in
|
||||||
|
subshells have been fixed. One could cause an exception and the
|
||||||
|
other would leave side effects in the parent shell.
|
||||||
|
10-05-10 A bug in which static variables in functions were not being saved and
|
||||||
|
restored properly when running subshells has been fixed.
|
||||||
|
10-05-05 A bug in which print -v did not work correctly when an operand was an
|
||||||
|
indexed array element refering to a compound variable has been fixed.
|
||||||
|
10-05-05 A change to improve performace by special casing empty string
|
||||||
|
assignments to avoid repeated malloc() and free().
|
||||||
|
10-05-05 A bug in which creating a name reference to a non-existant associative
|
||||||
|
array element would create the array element has been fixed.
|
||||||
|
10-05-04 A bug in which name references to static variables in the static
|
||||||
|
scope were not found has been fixed.
|
||||||
|
10-04-30 Do not use socketpair() on systems that implement ioctl(I_PEEK) on pipes.
|
||||||
|
10-04-28 A type defined with a member foo that is an associative array without
|
||||||
|
elements followed by an expansion ${bar.foo[a]} and an assignment
|
||||||
|
bar.foo[a]=b, no longer indicates that ${#bar.foo[@]} has 0 members.
|
||||||
|
10-04-27 Another bug in which a nested command substitution could hang if it
|
||||||
|
generated too much data has been fixed.
|
||||||
|
10-04-26 A type defined with a member that is an indexed array without elements
|
||||||
|
would behave as if the 0th element of each instance was defined after
|
||||||
|
a non-zero element was specified and this has been fixed.
|
||||||
|
10-04-26 A bug in which types defined in a subshell were not undefined when
|
||||||
|
the subshell completed has been fixed.
|
||||||
|
10-04-23 For file completion in commmand line editing, file names starting
|
||||||
|
with # are now escaped so that they are not treated as comments.
|
||||||
|
10-04-23 A bug in which ${t.var:=value}, where t is an instance of a type
|
||||||
|
variable, could assign value to the type variable rather than to
|
||||||
|
the type instance has been fixed.
|
||||||
|
10-04-22 A bug in which a nested command substitution could hang if it
|
||||||
|
generated too much data has been fixed.
|
||||||
|
10-04-20 A bug which corrupted one byte of memory when read was called with
|
||||||
|
reads that did not use a delimiter has been fixed.
|
||||||
|
10-04-19 The display of a compound variable with an embedded array with
|
||||||
|
attributes was sometimes not working correctly and has been fixed.
|
||||||
|
10-04-16 A bug in which attributes were not be propogated to elements in
|
||||||
|
an associative array has been fixed.
|
||||||
|
10-04-15 A bug which caused scripts containing user defined math functions to
|
||||||
|
fail to compile with shcomp has been fixed.
|
||||||
|
10-04-14 A bug in which a coprocess connection could terminate prematurely
|
||||||
|
when running a nested subshell has been fixed.
|
||||||
|
10-04-07 On Darwin on Mac/OS a bug has been fixed which generated an
|
||||||
|
inappropriate error message when continuing a background job.
|
||||||
|
10-04-07 A bug in which setting the trap on CHLD to ignore could cause
|
||||||
|
an incorrect exit status has been fixed.
|
||||||
|
10-04-06 A bug in which LINENO was not incremented for a here-document when
|
||||||
|
the here-document word was followed by a comment has been fixed.
|
||||||
|
10-04-06 The optimization that execs the last process of a script rather
|
||||||
|
than creating a new process has been removed when a trap on
|
||||||
|
interrupt has been set.
|
||||||
|
10-04-06 Unsetting the 'C', 'A' or 'a' typeset attribute now produces an
|
||||||
|
error message rather than generating an exception.
|
||||||
|
10-04-06 A bug in which .sh.name contained the subscript and .sh.subscript
|
||||||
|
was empty in some cases with discipline functions on array instances
|
||||||
|
has been fixed.
|
||||||
|
10-04-05 A bug in the edit modes where preceding the interrupt character with
|
||||||
|
the literal next character did not work has been fixed.
|
||||||
|
10-04-05 A bug in the creation of type instances of arrays which could cause
|
||||||
|
an exception has been fixed.
|
||||||
|
10-03-30 A bug in the display of a compound variable containing an indexed
|
||||||
|
array of compound variables has been fixed.
|
||||||
|
10-03-24 A bug in which integer division was mistakenly used when the
|
||||||
|
numerator was a binary operator with the first operand floating
|
||||||
|
point and the second integer, e.g. (.1**3)/3, has been fixed.
|
||||||
|
10-03-24 The >; file operator was modified so that the temporary file is
|
||||||
|
created in the same physical directory as file.
|
||||||
|
10-03-23 A warning message was added to sh -n when $var was used inside
|
||||||
|
((...)) instead of var.
|
||||||
|
10-03-19 fmin was added to the list of math function on the man page.
|
||||||
|
10-03-19 Fixed the return value for unalias when the alias did not exist.
|
||||||
|
10-03-19 A bug in which the SHLVL variable exported the value it had on
|
||||||
|
input rather than the incremented value has been fixed.
|
||||||
|
10-03-19 A bug which causes whence -q to go into an infinite loop has been fixed.
|
||||||
|
10-03-19 Removed space between Stopped message and (SIGTTIN) and (SIGTTOUT).
|
||||||
|
10-03-17 Modified profile shell execution so that when builtins that
|
||||||
|
correspond to executable have extended attributes, they are
|
||||||
|
executed by pfksh instead of being treated as built-ins.
|
||||||
|
10-03-16 A bug in whence -a which produced duplicate lines of output has been fixed.
|
||||||
|
10-03-16 A bug in the handling of process groups in monitor mode for
|
||||||
|
command substitutions has been fixed.
|
||||||
|
10-03-12 A bug in which a here-document containing command substitutions
|
||||||
|
that contained here-documents did not process correctly has been fixed.
|
||||||
|
10-03-12 A bug in which the terminal is not restored to cannonical mode
|
||||||
|
after read times out when in a multibyte locale with no edit mode
|
||||||
|
enabled has been fixed.
|
||||||
|
libast:
|
||||||
|
10-05-25 include/sfhdr.h: adjust SF_NMAP according to _ptr_bits
|
||||||
|
10-05-25 include/shcmd.h: add sh_builtin() macro for lib_init() table initialization
|
||||||
|
10-05-21 misc/optget.c: --html \bfoo::bar([[:digit:]][[:upper:]]*) => foo-bar.html
|
||||||
|
10-05-15 include/proc.h,misc/procopen.c: add PROC_ORPHAN
|
||||||
|
10-05-09 misc/optget.c: add --???MAN[section] --???SECTION
|
||||||
|
10-05-07 sfio,stdio: fix all snprintf() variants to handle buf==0 and/or n==0
|
||||||
|
10-05-04 string/fmtesc.c: add mb iswsoace() and iswcntrl() quoting checks
|
||||||
|
10-05-03 fix LC_MESSAGES catalog lookup bugs, check for $set==3, accept $set==1
|
||||||
|
10-04-30 string/chresc.c: add chrexp() for FMT_EXP_*
|
||||||
|
10-04-30 string/stresc.c: add strexp() for FMT_EXP_*
|
||||||
|
10-04-30 string/chresc.c: fix \uXXXXY bug that consumed Y
|
||||||
|
10-04-22 misc/optget.c: check for html entities in <A name="...">
|
||||||
|
10-04-22 misc/getcwd.c: add features/syscall check for SYSGETCWD() { linux solaris }
|
||||||
|
10-04-22 string/stresc.c: wide chars absent locale guidance default to UTF-8
|
||||||
|
10-04-12 port/mnt.c: favor bsd getfsstat() over getmntinfo()
|
||||||
|
10-04-11 string/strtoi.h: k (1000) and ki (1024) now differentiated
|
||||||
|
10-04-10 misc/recstr.c: fix 'd[delimiter]' parse
|
||||||
|
10-04-08 include/vmalloc.h,vmalloc/vmstat.c: add Vmstat_t.mode region mode bits
|
||||||
|
10-04-05 misc/fts.c: drop 1997-01-07 fts_open()=0 is one file and stat() fails
|
||||||
|
10-04-05 misc/optget.c,optlib.h: add Optpass_t.release for --nroff .TH
|
||||||
|
10-04-02 misc/optget.c: fix $'[-n?\n...]' --version bug
|
||||||
|
10-04-02 regex/regcomp.c: ~(X) => REG_EXTENDED|REG_AUGMENTED, ~(PU) instead of ~(U)
|
||||||
|
10-03-24 misc/procopen.c: add PROC_FD_CTTY(fd)
|
||||||
|
10-03-24 path/pathtemp.c: fix pointer => int casts
|
||||||
|
10-03-15 regex/regcache.c: fix 1 byte buffer overflow (didn't count trailing \0)
|
||||||
|
libcmd:
|
||||||
|
10-05-09 tail.c: fix -0f bug that inially listed the entire file
|
||||||
|
10-05-06 basename.c: add { -a,--all -s,--suffux=suffix } from BSD
|
||||||
|
10-04-12 cat.c: fix -v bug that dumped core and make consistent with cmp --print-chars
|
||||||
|
10-04-11 cmp.c: add --print-bytes, --count=n, --differences=n
|
||||||
|
10-04-08 vmstate.c: add { method flags } vars for Vmstat_t.mode
|
||||||
|
10-04-08 mkdir.c: fix check for { S_ISUID S_ISGID S_ISVTX } after successful mkdir(2)
|
||||||
|
10-04-01 stty.c: add --fd=fd option
|
||||||
|
10-03-23 tail.c: fix -f large initial offset bug that didn't copy all data
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon May 3 14:47:52 CEST 2010 - werner@suse.de
|
Mon May 3 14:47:52 CEST 2010 - werner@suse.de
|
||||||
|
|
||||||
|
27
ksh.spec
27
ksh.spec
@ -37,12 +37,13 @@ Requires(preun): update-alternatives
|
|||||||
%endif
|
%endif
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
Version: 93t
|
Version: 93t
|
||||||
Release: 23
|
Release: 179
|
||||||
Summary: Korn Shell
|
Summary: Korn Shell
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Source: INIT.2010-03-09.tar.bz2
|
Source: INIT.2010-06-21.tar.bz2
|
||||||
Source1: ast-ksh.2010-03-09.tar.bz2
|
Source1: ast-ksh.2010-06-21.tar.bz2
|
||||||
Source2: ast-ksh-locale.2010-02-02.tar.bz2
|
Source2: ast-ksh-locale.2010-02-02.tar.bz2
|
||||||
|
Source3: CPL
|
||||||
Source10: leak1.sh
|
Source10: leak1.sh
|
||||||
Source11: leak2.sh
|
Source11: leak2.sh
|
||||||
Source20: Agreement
|
Source20: Agreement
|
||||||
@ -62,11 +63,11 @@ Patch9: ksh93-compat.dif
|
|||||||
Patch10: ksh93-suid_exec.dif
|
Patch10: ksh93-suid_exec.dif
|
||||||
Patch11: ksh93-signals.dif
|
Patch11: ksh93-signals.dif
|
||||||
Patch12: ksh93-limits.dif
|
Patch12: ksh93-limits.dif
|
||||||
Patch13: ksh93-tty.dif
|
Patch13: ksh93-sigpipe.dif
|
||||||
Patch14: ksh93-ia64.dif
|
Patch14: ksh93-ia64.dif
|
||||||
Patch15: ksh93-s390.dif
|
Patch15: ksh93-s390.dif
|
||||||
Patch16: ksh93-sigchld.dif
|
Patch16: ksh93-leak.dif
|
||||||
Patch17: ksh93-whence-deadlock.dif
|
Patch17: ksh93-ifs.dif
|
||||||
%global use_suid_exe 0
|
%global use_suid_exe 0
|
||||||
%global use_locale 1
|
%global use_locale 1
|
||||||
%global debug_memleak 0
|
%global debug_memleak 0
|
||||||
@ -250,10 +251,10 @@ find share/ -type d -a -empty | xargs -r rm -vrf
|
|||||||
rm -f ./test64
|
rm -f ./test64
|
||||||
case "$RPM_ARCH" in
|
case "$RPM_ARCH" in
|
||||||
ia64) RPM_OPT_FLAGS="${RPM_OPT_FLAGS//-O[s0-9]/-O}" ;;
|
ia64) RPM_OPT_FLAGS="${RPM_OPT_FLAGS//-O[s0-9]/-O}" ;;
|
||||||
s390) RPM_OPT_FLAGS="${RPM_OPT_FLAGS//-O[s0-9]/-O}" ;;
|
s390*) RPM_OPT_FLAGS="${RPM_OPT_FLAGS//-O[s0-9]/-O}" ;;
|
||||||
ppc*) RPM_OPT_FLAGS="${RPM_OPT_FLAGS//-O[s0-9]/-O}" ;;
|
ppc*) RPM_OPT_FLAGS="${RPM_OPT_FLAGS//-O[s0-9]/-O}" ;;
|
||||||
esac
|
esac
|
||||||
RPM_OPT_FLAGS=$(echo "${RPM_OPT_FLAGS}"|sed -r 's/[[:blank:]]+-g[0-9]?//g')
|
RPM_OPT_FLAGS=$(echo "${RPM_OPT_FLAGS}"|sed -r 's/[[:blank:]]+-g[0-9]?//g2')
|
||||||
UNIVERSE=att
|
UNIVERSE=att
|
||||||
LDFLAGS="-lm"
|
LDFLAGS="-lm"
|
||||||
LDSOFLG=""
|
LDSOFLG=""
|
||||||
@ -262,6 +263,7 @@ find share/ -type d -a -empty | xargs -r rm -vrf
|
|||||||
cflags @$nobuiltin RPM_OPT_FLAGS
|
cflags @$nobuiltin RPM_OPT_FLAGS
|
||||||
cflags -fno-strict-aliasing RPM_OPT_FLAGS
|
cflags -fno-strict-aliasing RPM_OPT_FLAGS
|
||||||
cflags -fno-zero-initialized-in-bss RPM_OPT_FLAGS
|
cflags -fno-zero-initialized-in-bss RPM_OPT_FLAGS
|
||||||
|
cflags -fno-delete-null-pointer-checks RPM_OPT_FLAGS
|
||||||
cflags -g RPM_OPT_FLAGS
|
cflags -g RPM_OPT_FLAGS
|
||||||
cflags -pipe RPM_OPT_FLAGS
|
cflags -pipe RPM_OPT_FLAGS
|
||||||
cflags -Wl,-O2 LDFLAGS
|
cflags -Wl,-O2 LDFLAGS
|
||||||
@ -417,6 +419,9 @@ find share/ -type d -a -empty | xargs -r rm -vrf
|
|||||||
ln -sf /%{_lib}/ast/$so %{buildroot}%{_libdir}/ast/${so%%%%.*}.so
|
ln -sf /%{_lib}/ast/$so %{buildroot}%{_libdir}/ast/${so%%%%.*}.so
|
||||||
done
|
done
|
||||||
rm -f %{buildroot}%{_libdir}/ast/*.so.*
|
rm -f %{buildroot}%{_libdir}/ast/*.so.*
|
||||||
|
for man in man/man[13]/*.[13] ; do
|
||||||
|
sed -i 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' $man
|
||||||
|
done
|
||||||
install -m 0644 lib/*.a %{buildroot}%{_libdir}/ast/
|
install -m 0644 lib/*.a %{buildroot}%{_libdir}/ast/
|
||||||
%if %suse_version > 1120
|
%if %suse_version > 1120
|
||||||
install -m 0644 man/man1/sh.1 %{buildroot}%{_mandir}/man1/ksh93.1
|
install -m 0644 man/man1/sh.1 %{buildroot}%{_mandir}/man1/ksh93.1
|
||||||
@ -448,7 +453,11 @@ find share/ -type d -a -empty | xargs -r rm -vrf
|
|||||||
%else
|
%else
|
||||||
> ksh.lang
|
> ksh.lang
|
||||||
%endif
|
%endif
|
||||||
cp lib/package/LICENSES/ast LICENSE
|
if test -s lib/package/LICENSES/ast ; then
|
||||||
|
cp lib/package/LICENSES/ast LICENSE
|
||||||
|
else
|
||||||
|
cp %{S:3} LICENSE
|
||||||
|
fi
|
||||||
mv src/cmd/ksh93/OBSOLETE src/cmd/ksh93/OBSOLETE.mm
|
mv src/cmd/ksh93/OBSOLETE src/cmd/ksh93/OBSOLETE.mm
|
||||||
cat src/cmd/ksh93/builtins.mm | sed 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' | troff -Tascii8 -t -mm | grotty -bou > Builtins
|
cat src/cmd/ksh93/builtins.mm | sed 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' | troff -Tascii8 -t -mm | grotty -bou > Builtins
|
||||||
cat src/cmd/ksh93/PROMO.mm | sed 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' | troff -Tascii8 -t -mm | grotty -bou > PROMO
|
cat src/cmd/ksh93/PROMO.mm | sed 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' | troff -Tascii8 -t -mm | grotty -bou > PROMO
|
||||||
|
37
ksh93-ifs.dif
Normal file
37
ksh93-ifs.dif
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
--- src/cmd/ksh93/sh/init.c
|
||||||
|
+++ src/cmd/ksh93/sh/init.c 2010-10-08 12:43:27.123926224 +0000
|
||||||
|
@@ -456,6 +456,8 @@ static void put_cdpath(register Namval_t
|
||||||
|
}
|
||||||
|
#endif /* _hdr_locale */
|
||||||
|
|
||||||
|
+static const void* ifs_hdr;
|
||||||
|
+
|
||||||
|
/* Trap for IFS assignment and invalidates state table */
|
||||||
|
static void put_ifs(register Namval_t* np,const char *val,int flags,Namfun_t *fp)
|
||||||
|
{
|
||||||
|
@@ -464,9 +466,14 @@ static void put_ifs(register Namval_t* n
|
||||||
|
ip->ifsnp = 0;
|
||||||
|
if(!val)
|
||||||
|
{
|
||||||
|
- fp = nv_stack(np, NIL(Namfun_t*));
|
||||||
|
- if(fp && !fp->nofree)
|
||||||
|
- free((void*)fp);
|
||||||
|
+ Namfun_t *xp = nv_stack(np, NIL(Namfun_t*));
|
||||||
|
+ if(xp)
|
||||||
|
+ {
|
||||||
|
+ if(xp == ifs_hdr)
|
||||||
|
+ xp->nofree = 1;
|
||||||
|
+ if(xp->nofree == 0)
|
||||||
|
+ free((void*)xp);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
if(val != np->nvalue.cp)
|
||||||
|
nv_putv(np, val, flags, fp);
|
||||||
|
@@ -1597,6 +1604,7 @@ static Init_t *nv_init(Shell_t *shp)
|
||||||
|
ip->LANG_init.nofree = 1;
|
||||||
|
#endif /* _hdr_locale */
|
||||||
|
nv_stack(IFSNOD, &ip->IFS_init.hdr);
|
||||||
|
+ ifs_hdr = (IFSNOD)->nvfun;
|
||||||
|
nv_stack(PATHNOD, &ip->PATH_init);
|
||||||
|
nv_stack(FPATHNOD, &ip->FPATH_init);
|
||||||
|
nv_stack(CDPNOD, &ip->CDPATH_init);
|
11
ksh93-leak.dif
Normal file
11
ksh93-leak.dif
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- src/cmd/ksh93/sh/nvdisc.c
|
||||||
|
+++ src/cmd/ksh93/sh/nvdisc.c 2010-06-29 14:07:19.578925435 +0000
|
||||||
|
@@ -1347,7 +1347,7 @@ Dt_t *nv_dict(Namval_t* np)
|
||||||
|
Namval_t *nv_mount(Namval_t *np, const char *name, Dt_t *dict)
|
||||||
|
{
|
||||||
|
Namval_t *mp, *pp=0;
|
||||||
|
- struct table *tp = newof((struct table*)0, struct table,1,0);
|
||||||
|
+ struct table *tp;
|
||||||
|
if(name)
|
||||||
|
{
|
||||||
|
if(nv_istable(np))
|
@ -105,8 +105,27 @@
|
|||||||
# endif
|
# endif
|
||||||
static int _isalph(int);
|
static int _isalph(int);
|
||||||
static int _ismetach(int);
|
static int _ismetach(int);
|
||||||
|
--- src/cmd/ksh93/sh/io.c
|
||||||
|
+++ src/cmd/ksh93/sh/io.c 2010-06-28 16:09:09.174925785 +0200
|
||||||
|
@@ -1367,6 +1367,7 @@ static int io_heredoc(Shell_t *shp,regis
|
||||||
|
if(traceon)
|
||||||
|
sfprintf(sfstderr,"< %s\n",name);
|
||||||
|
sfputr(outfile,name,'\n');
|
||||||
|
+ off = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
--- src/cmd/ksh93/sh/macro.c
|
--- src/cmd/ksh93/sh/macro.c
|
||||||
+++ src/cmd/ksh93/sh/macro.c 2007-12-20 17:50:28.000000000 +0000
|
+++ src/cmd/ksh93/sh/macro.c 2007-12-20 17:50:28.000000000 +0000
|
||||||
|
@@ -2079,7 +2079,7 @@
|
||||||
|
lastc = 0;
|
||||||
|
}
|
||||||
|
newlines = nextnewlines;
|
||||||
|
- if(++c < bufsize)
|
||||||
|
+ if(c++ < bufsize)
|
||||||
|
str[c] = 0;
|
||||||
|
else
|
||||||
|
{
|
||||||
@@ -2167,13 +2167,13 @@ static void mac_copy(register Mac_t *mp,
|
@@ -2167,13 +2167,13 @@ static void mac_copy(register Mac_t *mp,
|
||||||
if(mp->pattern)
|
if(mp->pattern)
|
||||||
{
|
{
|
||||||
@ -183,16 +202,16 @@
|
|||||||
+export LANG=ja_JP.SJIS
|
+export LANG=ja_JP.SJIS
|
||||||
+
|
+
|
||||||
+for second in $(seq 64 126); do
|
+for second in $(seq 64 126); do
|
||||||
+ : $((chr++))
|
+ let chr++
|
||||||
+ second=$(printf '%x' ${second})
|
+ second=$(printf '%x' ${second})
|
||||||
+ mbchar="$(printf "\x81\x${second}")"
|
+ mbchar="$(printf "\x81\x${second}")"
|
||||||
+ if test -z "${mbchar}" ; then
|
+ if test -z "${mbchar}" ; then
|
||||||
+ : $((err++)) # ERROR in builtin printf
|
+ let err++ # ERROR in builtin printf
|
||||||
+ continue
|
+ continue
|
||||||
+ fi
|
+ fi
|
||||||
+ if test -x "${printf}" ; then
|
+ if test -x "${printf}" ; then
|
||||||
+ if test $(${printf} "\x81\x${second}") != ${mbchar} ; then
|
+ if test $(${printf} "\x81\x${second}") != ${mbchar} ; then
|
||||||
+ : $((err++)) # ERROR in builtin printf
|
+ let err++ # ERROR in builtin printf
|
||||||
+ continue
|
+ continue
|
||||||
+ fi
|
+ fi
|
||||||
+ fi
|
+ fi
|
||||||
@ -266,23 +285,30 @@
|
|||||||
extern int fwprintf(FILE*, const wchar_t*, ...);
|
extern int fwprintf(FILE*, const wchar_t*, ...);
|
||||||
extern int fwscanf(FILE*, const wchar_t*, ...);
|
extern int fwscanf(FILE*, const wchar_t*, ...);
|
||||||
--- src/lib/libast/include/ast.h
|
--- src/lib/libast/include/ast.h
|
||||||
+++ src/lib/libast/include/ast.h 2007-12-20 17:50:28.000000000 +0000
|
+++ src/lib/libast/include/ast.h 2010-06-25 12:35:11.542927316 +0200
|
||||||
@@ -176,13 +176,16 @@ typedef struct
|
@@ -186,14 +186,23 @@ typedef struct
|
||||||
#define mbcoll() (ast.mb_xfrm!=0)
|
#define mbcoll() (ast.mb_xfrm!=0)
|
||||||
#define mbwide() (mbmax()>1)
|
#define mbwide() (mbmax()>1)
|
||||||
|
|
||||||
-#define mbchar(p) (mbwide()?((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),mbmax()))>0?((p+=ast.tmp_int),ast.tmp_wchar):(p+=ast.mb_sync+1,ast.tmp_int)):(*(unsigned char*)(p++)))
|
-#define mbchar(p) (mbwide()?((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),mbmax()))>0?((p+=ast.tmp_int),ast.tmp_wchar):(p+=ast.mb_sync+1,ast.tmp_int)):(*(unsigned char*)(p++)))
|
||||||
|
-#define mbnchar(p,n) (mbwide()?((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),n))>0?((p+=ast.tmp_int),ast.tmp_wchar):(p+=ast.mb_sync+1,ast.tmp_int)):(*(unsigned char*)(p++)))
|
||||||
#define mbinit() (mbwide()?(*ast.mb_towc)((wchar_t*)0,(char*)0,mbmax()):0)
|
#define mbinit() (mbwide()?(*ast.mb_towc)((wchar_t*)0,(char*)0,mbmax()):0)
|
||||||
#define mbsize(p) (mbwide()?(*ast.mb_len)((char*)(p),mbmax()):((p),1))
|
#define mbsize(p) (mbwide()?(*ast.mb_len)((char*)(p),mbmax()):((p),1))
|
||||||
#define mbconv(s,w) (ast.mb_conv?(*ast.mb_conv)(s,w):((*(s)=(w)),1))
|
#define mbconv(s,w) (ast.mb_conv?(*ast.mb_conv)(s,w):((*(s)=(w)),1))
|
||||||
#define mbwidth(w) (ast.mb_width&&((ast.tmp_int=(*ast.mb_width)(w))>=0||(w)>UCHAR_MAX)?ast.tmp_int:1)
|
#define mbwidth(w) (ast.mb_width&&((ast.tmp_int=(*ast.mb_width)(w))>=0||(w)>UCHAR_MAX)?ast.tmp_int:1)
|
||||||
#define mbxfrm(t,f,n) (mbcoll()?(*ast.mb_xfrm)((char*)(t),(char*)(f),n):0)
|
#define mbxfrm(t,f,n) (mbcoll()?(*ast.mb_xfrm)((char*)(t),(char*)(f),n):0)
|
||||||
-
|
|
||||||
+#define mbchar(p) ((mbsize(p)>1) ? \
|
+#define mbchar(p) (mbwide() ? \
|
||||||
+ (((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),mbmax()))>0) ? \
|
+ (((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),mbmax()))>0) ? \
|
||||||
+ ({p+=ast.tmp_int;ast.tmp_wchar;}) : \
|
+ ({p+=ast.tmp_int;ast.tmp_wchar;}) : \
|
||||||
+ ({ast.tmp_int=*(unsigned char*)p;p+=ast.mb_sync+1;ast.tmp_int;})) : \
|
+ ({ast.tmp_int=*(unsigned char*)p;p+=ast.mb_sync+1;ast.tmp_int;})) : \
|
||||||
+ (*(unsigned char*)(p++)))
|
+ (*(unsigned char*)(p++)))
|
||||||
|
+#define mbnchar(p,n) (mbwide(p) ? \
|
||||||
|
+ (((ast.tmp_int=(*ast.mb_towc)(&ast.tmp_wchar,(char*)(p),n))>0) ? \
|
||||||
|
+ ({p+=ast.tmp_int;ast.tmp_wchar;}) : \
|
||||||
|
+ ({ast.tmp_int=*(unsigned char*)p;p+=ast.mb_sync+1;ast.tmp_int;})) : \
|
||||||
|
+ (*(unsigned char*)(p++)))
|
||||||
|
+
|
||||||
/*
|
/*
|
||||||
* common macros
|
* common macros
|
||||||
*/
|
*/
|
||||||
@ -297,10 +323,10 @@
|
|||||||
#include <stk.h>
|
#include <stk.h>
|
||||||
|
|
||||||
--- src/lib/libcmd/Mamfile
|
--- src/lib/libcmd/Mamfile
|
||||||
+++ src/lib/libcmd/Mamfile 2007-12-20 17:51:50.000000000 +0000
|
+++ src/lib/libcmd/Mamfile 2007-12-20 18:51:50.000000000 +0100
|
||||||
@@ -479,7 +479,7 @@ make cat.o
|
@@ -496,7 +496,7 @@ make cat.o
|
||||||
prev cat.c
|
prev cat.c
|
||||||
meta cat.o %.c>%.o cat.c cat
|
meta cat.o %.c>%.o ${PACKAGEROOT}/src/lib/libcmd/cat.c cat
|
||||||
prev cat.c
|
prev cat.c
|
||||||
-exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-copyright?Copyright (c) 1992-2010 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -c cat.c
|
-exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-copyright?Copyright (c) 1992-2010 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -c cat.c
|
||||||
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-copyright?Copyright (c) 1992-2010 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -DSHOPT_MULTIBYTE -c cat.c
|
+exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -DERROR_CATALOG=\""libcmd"\" -DUSAGE_LICENSE=\""[-author?Glenn Fowler <gsf@research.att.com>][-author?David Korn <dgk@research.att.com>][-copyright?Copyright (c) 1992-2010 AT&T Intellectual Property][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?libcmd]"\" -D_BLD_cmd -D_PACKAGE_ast -DSHOPT_MULTIBYTE -c cat.c
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
cc: gsf@research.att.com zpetrova@novell.com
|
|
||||||
Subject: Re: [ast-users] Bug in SIGCHLD handling (Version JM 93t+ 2010-02-14)
|
|
||||||
--------
|
|
||||||
|
|
||||||
I was finally able to reproduce the problem and I have fixed the bug.
|
|
||||||
|
|
||||||
Here is a patch. Let me know if this resolves this.
|
|
||||||
|
|
||||||
====================cut here==========================
|
|
||||||
*** src/cmd/ksh93/sh/xec.c Fri Feb 12 11:48:56 2010
|
|
||||||
--- src/cmd/ksh93/sh/xec.c Wed Apr 7 10:40:53 2010
|
|
||||||
***************
|
|
||||||
*** 2946,2951 ****
|
|
||||||
--- 2946,2953 ----
|
|
||||||
register int sig=sh.st.trapmax;
|
|
||||||
while(sig-- > 0)
|
|
||||||
{
|
|
||||||
+ if(sig==SIGCHLD)
|
|
||||||
+ continue;
|
|
||||||
if((trap=sh.st.trapcom[sig]) && *trap==0)
|
|
||||||
signal(sig,mode?sh_fault:SIG_IGN);
|
|
||||||
}
|
|
||||||
====================cut here==========================
|
|
||||||
|
|
||||||
David Korn
|
|
||||||
dgk@research.att.com
|
|
30
ksh93-sigpipe.dif
Normal file
30
ksh93-sigpipe.dif
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
--- src/cmd/ksh93/sh/fault.c
|
||||||
|
+++ src/cmd/ksh93/sh/fault.c 2010-06-28 14:04:13.858925163 +0000
|
||||||
|
@@ -418,8 +418,25 @@ void sh_chktrap(void)
|
||||||
|
if(trap=sh.st.trapcom[sig])
|
||||||
|
{
|
||||||
|
Sfio_t *fp;
|
||||||
|
- if(sig==SIGPIPE && (fp=sfpool((Sfio_t*)0,sh.outpool,SF_WRITE)) && sferror(fp))
|
||||||
|
- sfclose(fp);
|
||||||
|
+ if(sig==SIGPIPE) {
|
||||||
|
+ sh.lastsig=SIGPIPE;
|
||||||
|
+#if 0
|
||||||
|
+ if ((fp=sfpool((Sfio_t*)0,sh.outpool,SF_WRITE)) && sferror(fp))
|
||||||
|
+ sfclose(fp);
|
||||||
|
+#else
|
||||||
|
+ int fd;
|
||||||
|
+ for(fd = 0; fd < sh.lim.open_max; fd++)
|
||||||
|
+ {
|
||||||
|
+ if (sh.fdstatus[fd] == IOCLOSE)
|
||||||
|
+ continue;
|
||||||
|
+ if ((sh.fdstatus[fd]&IOWRITE) == 0)
|
||||||
|
+ continue;
|
||||||
|
+ if (sferror(sh.sftable[fd]) == 0)
|
||||||
|
+ continue;
|
||||||
|
+ sh_close(fd);
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+ }
|
||||||
|
sh.oldexit = SH_EXITSIG|sig;
|
||||||
|
sh_trap(trap,0);
|
||||||
|
}
|
@ -1,37 +0,0 @@
|
|||||||
> Hi,
|
|
||||||
>
|
|
||||||
> one our user has reported an issue with wrong tty state after timed out read,
|
|
||||||
> when using utf-8 locale. The reproducer is:
|
|
||||||
>
|
|
||||||
> cat >test.sh <<EOF
|
|
||||||
> #!/bin/ksh
|
|
||||||
> TMOUT=5
|
|
||||||
> read
|
|
||||||
> EOF
|
|
||||||
>
|
|
||||||
> chmod +x test.sh
|
|
||||||
> ./test.sh
|
|
||||||
>
|
|
||||||
> Actual result (after letting read to time out) is tty does not echo any input
|
|
||||||
> until terminal is reset. Reporter provided a patch (attached) to fix this.
|
|
||||||
>
|
|
||||||
|
|
||||||
A work around is to out
|
|
||||||
set -o vi
|
|
||||||
or
|
|
||||||
set -g emacs
|
|
||||||
before the read.
|
|
||||||
|
|
||||||
I have enclosed the change that I made to fixe this problem below.
|
|
||||||
|
|
||||||
--- src/cmd/ksh93/sh/fault.c 2010-01-18 11:11:18.000000000 +0000
|
|
||||||
+++ src/cmd/ksh93/sh/fault.c 2010-03-12 16:18:41.000000000 +0000
|
|
||||||
@@ -614,7 +614,7 @@ void sh_done(void *ptr, register int sig
|
|
||||||
sh_accend();
|
|
||||||
#endif /* SHOPT_ACCT */
|
|
||||||
#if SHOPT_VSH || SHOPT_ESH
|
|
||||||
- if(sh_isoption(SH_EMACS)||sh_isoption(SH_VI)||sh_isoption(SH_GMACS))
|
|
||||||
+ if(mbwide()||sh_isoption(SH_EMACS)||sh_isoption(SH_VI)||sh_isoption(SH_GMACS))
|
|
||||||
tty_cooked(-1);
|
|
||||||
#endif
|
|
||||||
#ifdef JOBS
|
|
@ -1,34 +0,0 @@
|
|||||||
|Hi,
|
|
||||||
|
|
|
||||||
|I've got another bug report from one Fedora user. When whence builtin is used
|
|
||||||
|with -q option it hangs. Whence was modified a lot between 2008-02-02 and
|
|
||||||
|2008-07-25. New version uses while(pp) loop but for Q_FLAG pp never changes
|
|
||||||
|causing ksh loop forever. I've just added pp = 0 to Q_FLAG if-section and it
|
|
||||||
|seems working fine:
|
|
||||||
|
|
|
||||||
--- src/cmd/ksh93/bltins/whence.c
|
|
||||||
+++ src/cmd/ksh93/bltins/whence.c 2010-04-29 12:03:22.744013139
|
|
||||||
+0200
|
|
||||||
@@ -234,7 +234,10 @@ static int whence(Shell_t *shp,char **ar
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(flags&Q_FLAG)
|
|
||||||
+ {
|
|
||||||
r |= !cp;
|
|
||||||
+ pp = 0;
|
|
||||||
+ }
|
|
||||||
else if(cp)
|
|
||||||
{
|
|
||||||
if(flags&V_FLAG)
|
|
||||||
|
|
||||||
|
|
||||||
|Btw, when looking in the code it seems tofree variable is never checked when
|
|
||||||
|Q_FLAG is used and also in the loop this value is sometimes set to 1, but
|
|
||||||
|never zeroed once it is set, is it expected?
|
|
||||||
|
|
|
||||||
|Regards,
|
|
||||||
|Michal Hlavinka
|
|
||||||
|_______________________________________________
|
|
||||||
|ast-developers mailing list
|
|
||||||
|ast-developers@research.att.com
|
|
||||||
|https://mailman.research.att.com/mailman/listinfo/ast-developers
|
|
@ -123,7 +123,7 @@
|
|||||||
make suid_exec
|
make suid_exec
|
||||||
make suid_exec.o
|
make suid_exec.o
|
||||||
--- src/lib/libast/Mamfile
|
--- src/lib/libast/Mamfile
|
||||||
+++ src/lib/libast/Mamfile 2008-02-14 12:08:37.000000000 +0000
|
+++ src/lib/libast/Mamfile 2010-06-28 15:41:28.482925307 +0200
|
||||||
@@ -5,7 +5,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS
|
@@ -5,7 +5,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS
|
||||||
setv ARFLAGS -cr
|
setv ARFLAGS -cr
|
||||||
setv AS as
|
setv AS as
|
||||||
@ -142,7 +142,7 @@
|
|||||||
setv SILENT
|
setv SILENT
|
||||||
setv TAR tar
|
setv TAR tar
|
||||||
setv YACC yacc
|
setv YACC yacc
|
||||||
@@ -954,7 +954,7 @@ make lcgen
|
@@ -961,7 +961,7 @@ make lcgen
|
||||||
make port/lcgen.c
|
make port/lcgen.c
|
||||||
prev std/stdio.h implicit
|
prev std/stdio.h implicit
|
||||||
done port/lcgen.c
|
done port/lcgen.c
|
||||||
@ -151,8 +151,8 @@
|
|||||||
done lcgen generated
|
done lcgen generated
|
||||||
make port/lc.tab
|
make port/lc.tab
|
||||||
done port/lc.tab
|
done port/lc.tab
|
||||||
@@ -7131,64 +7131,37 @@ done ${INSTALLROOT}/lib/file/magic gener
|
@@ -7165,58 +7165,31 @@ exec - test '' = 'misc/magic.tab' || ${S
|
||||||
make ${INSTALLROOT}/include/ast/fmtmsg.h
|
done ${INSTALLROOT}/lib/file/magic generated
|
||||||
prev comp/fmtmsg.h
|
prev comp/fmtmsg.h
|
||||||
prev ast_lib.h
|
prev ast_lib.h
|
||||||
-exec - case ${mam_cc_HOSTTYPE} in
|
-exec - case ${mam_cc_HOSTTYPE} in
|
||||||
@ -173,9 +173,6 @@
|
|||||||
-exec - ;;
|
-exec - ;;
|
||||||
-exec - esac
|
-exec - esac
|
||||||
+exec - }
|
+exec - }
|
||||||
prev ${INSTALLROOT}/include/prototyped.h implicit
|
|
||||||
done ${INSTALLROOT}/include/ast/fmtmsg.h generated
|
|
||||||
make ${INSTALLROOT}/include/ast/libgen.h
|
|
||||||
prev comp/libgen.h
|
prev comp/libgen.h
|
||||||
prev ast_lib.h
|
prev ast_lib.h
|
||||||
-exec - case ${mam_cc_HOSTTYPE} in
|
-exec - case ${mam_cc_HOSTTYPE} in
|
||||||
@ -196,9 +193,6 @@
|
|||||||
-exec - ;;
|
-exec - ;;
|
||||||
-exec - esac
|
-exec - esac
|
||||||
+exec - }
|
+exec - }
|
||||||
prev ${INSTALLROOT}/include/prototyped.h implicit
|
|
||||||
done ${INSTALLROOT}/include/ast/libgen.h generated
|
|
||||||
make ${INSTALLROOT}/include/ast/syslog.h
|
|
||||||
prev comp/syslog.h
|
prev comp/syslog.h
|
||||||
prev ast_lib.h
|
prev ast_lib.h
|
||||||
-exec - case ${mam_cc_HOSTTYPE} in
|
-exec - case ${mam_cc_HOSTTYPE} in
|
||||||
@ -219,9 +213,9 @@
|
|||||||
-exec - ;;
|
-exec - ;;
|
||||||
-exec - esac
|
-exec - esac
|
||||||
+exec - }
|
+exec - }
|
||||||
prev ast_namval.h implicit
|
make ${INSTALLROOT}/include/ast/prototyped.h
|
||||||
prev ${INSTALLROOT}/include/prototyped.h implicit
|
prev ${INSTALLROOT}/include/ast
|
||||||
done ${INSTALLROOT}/include/ast/syslog.h generated
|
exec - echo "#include <../prototyped.h>" > 1.${COTEMP}.x
|
||||||
--- src/lib/libcmd/Mamfile
|
--- src/lib/libcmd/Mamfile
|
||||||
+++ src/lib/libcmd/Mamfile 2008-02-14 12:08:37.000000000 +0000
|
+++ src/lib/libcmd/Mamfile 2008-02-14 12:08:37.000000000 +0000
|
||||||
@@ -7,7 +7,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS
|
@@ -7,7 +7,7 @@ setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user