Hello community, here is the log from the commit of package ksh for openSUSE:Factory checked in at Mon Oct 11 14:37:44 CEST 2010. -------- --- ksh/ksh.changes 2010-05-03 14:50:38.000000000 +0200 +++ ksh/ksh.changes 2010-10-08 14:55:01.000000000 +0200 @@ -1,0 +2,163 @@ +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 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- INIT.2010-03-09.tar.bz2 ast-ksh.2010-03-09.tar.bz2 ksh93-sigchld.dif ksh93-tty.dif ksh93-whence-deadlock.dif New: ---- CPL INIT.2010-06-21.tar.bz2 ast-ksh.2010-06-21.tar.bz2 ksh93-ifs.dif ksh93-leak.dif ksh93-sigpipe.dif ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ksh.spec ++++++ --- /var/tmp/diff_new_pack.5t7SmP/_old 2010-10-11 14:30:08.000000000 +0200 +++ /var/tmp/diff_new_pack.5t7SmP/_new 2010-10-11 14:30:08.000000000 +0200 @@ -37,12 +37,13 @@ %endif AutoReqProv: on Version: 93t -Release: 23 +Release: 179 Summary: Korn Shell BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: INIT.2010-03-09.tar.bz2 -Source1: ast-ksh.2010-03-09.tar.bz2 +Source: INIT.2010-06-21.tar.bz2 +Source1: ast-ksh.2010-06-21.tar.bz2 Source2: ast-ksh-locale.2010-02-02.tar.bz2 +Source3: CPL Source10: leak1.sh Source11: leak2.sh Source20: Agreement @@ -62,11 +63,11 @@ Patch10: ksh93-suid_exec.dif Patch11: ksh93-signals.dif Patch12: ksh93-limits.dif -Patch13: ksh93-tty.dif +Patch13: ksh93-sigpipe.dif Patch14: ksh93-ia64.dif Patch15: ksh93-s390.dif -Patch16: ksh93-sigchld.dif -Patch17: ksh93-whence-deadlock.dif +Patch16: ksh93-leak.dif +Patch17: ksh93-ifs.dif %global use_suid_exe 0 %global use_locale 1 %global debug_memleak 0 @@ -250,10 +251,10 @@ rm -f ./test64 case "$RPM_ARCH" in 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}" ;; 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 LDFLAGS="-lm" LDSOFLG="" @@ -262,6 +263,7 @@ cflags @$nobuiltin RPM_OPT_FLAGS cflags -fno-strict-aliasing 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 -pipe RPM_OPT_FLAGS cflags -Wl,-O2 LDFLAGS @@ -417,6 +419,9 @@ ln -sf /%{_lib}/ast/$so %{buildroot}%{_libdir}/ast/${so%%%%.*}.so done 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/ %if %suse_version > 1120 install -m 0644 man/man1/sh.1 %{buildroot}%{_mandir}/man1/ksh93.1 @@ -448,7 +453,11 @@ %else
ksh.lang %endif
- 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 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
++++++ CPL ++++++ +------------------------------------------------------------------------------+ | 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 ++++++ INIT.2010-03-09.tar.bz2 -> INIT.2010-06-21.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bin/package new/bin/package --- old/bin/package 2010-02-20 06:00:31.000000000 +0100 +++ new/bin/package 2010-06-22 20:54:54.000000000 +0200 @@ -46,7 +46,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in 0123) USAGE=$' [-? -@(#)$Id: package (AT&T Research) 2010-02-14 $ +@(#)$Id: package (AT&T Research) 2010-06-22 $ ]'$USAGE_LICENSE$' [+NAME?package - source and binary package control] [+DESCRIPTION?The \bpackage\b command controls source and binary @@ -669,11 +669,12 @@ ${bT}(5)${bD}Determine the list of package names you want from the download site, then use the ${Mpackage} command to do the actual download:${bX} bin/package authorize "${bI}NAME${eI}" password "${bI}PASSWORD${eI}" \ - setup binary $URL ${bB}PACKAGE${eB} ...${eX} - This downloads the closure of the latest binary package(s); covered and - up-to-date packages are not downloaded again unless ${bB}package force ...${eB} - is specified. Package content is verified using ${bB}${checksum}${eB}. If the package - root will contain only one architecture then you can install in ${bB}bin${eB} and + setup binary $URL ${bI}PACKAGE${eI} ...${eX} + (Refer to the ${bB}AUTHORIZATION${eB} paragraph on the main download page for + ${bI}NAME${eI}/${bI}PASSWORD${eI} details.) This downloads the closure of the latest + binary package(s); covered and up-to-date packages are not downloaded again unless + ${bB}package force ...${eB} is specified. Package content is verified using ${bB}${checksum}${eB}. + If the package root will contain only one architecture then you can install in ${bB}bin${eB} and ${bB}lib${eB} instead of ${bB}arch/${eB}${bI}HOSTTYPE${eI}${bB}/bin${eB} and ${bB}arch/${eB}${bI}HOSTTYPE${eI}${bB}/lib${eB} by running this instead:${bX} bin/package authorize "${bI}NAME${eI}" password "${bI}PASSWORD${eI}" \ @@ -826,10 +827,11 @@ use the ${Mpackage} command to do the actual download:${bX} bin/package authorize "${bI}NAME${eI}" password "${bI}PASSWORD${eI}" \ setup source $URL ${bB}PACKAGE${eB} ...${eX} - This downloads the closure of the latest source package(s); covered and - up-to-date packages are not downloaded again unless ${bB}package force ...${eB} - is specified. Package content is verified using ${bB}${checksum}${eB}. If the package - root will contain only one architecture then you can install in ${bB}bin${eB} and + (Refer to the ${bB}AUTHORIZATION${eB} paragraph on the main download page for + ${bI}NAME${eI}/${bI}PASSWORD${eI} details.) This downloads the closure of the latest + source package(s); covered and up-to-date packages are not downloaded again unless + ${bB}package force ...${eB} is specified. Package content is verified using ${bB}${checksum}${eB}. + If the package root will contain only one architecture then you can install in ${bB}bin${eB} and ${bB}lib${eB} instead of ${bB}arch/${eB}${bI}HOSTTYPE${eI}${bB}/bin${eB} and ${bB}arch/${eB}${bI}HOSTTYPE${eI}${bB}/lib${eB} by running this instead:${bX} bin/package authorize "${bI}NAME${eI}" password "${bI}PASSWORD${eI}" \ @@ -1374,11 +1376,11 @@ return 1 } -# true if no nmake or nmake too old +# true if no nmake or nmake not from AT&T or nmake too old nonmake() # nmake { - _nonmake_version=`( $1 -n -f - 'print $(MAKEVERSION:@/.* //:/-//G)' . ) </dev/null 2>/dev/null || echo 19840919` + _nonmake_version=`( $1 -n -f - 'print $(MAKEVERSION:@/.*AT&T.* //:/-//G:@/.* .*/19960101/)' . ) </dev/null 2>/dev/null || echo 19840919` if test $_nonmake_version -lt 20001031 then return 0 fi @@ -2591,6 +2593,7 @@ path=$PATH PATH=$INSTALLROOT/bin:$PATH checkcc + PATH=$path case $cc in ?*) if test -f $INITROOT/hello.c then @@ -2599,8 +2602,8 @@ ( cd /tmp || exit 3 cp $INITROOT/hello.c pkg$$.c || exit 3 - $CC -o pkg$$.exe pkg$$.c > pkg$$.e 2>&1 || { - if $CC -Dnew=old -o pkg$$.exe pkg$$.c > /dev/null 2>&1 + PATH=$path $CC -o pkg$$.exe pkg$$.c > pkg$$.e 2>&1 || { + if PATH=$path $CC -Dnew=old -o pkg$$.exe pkg$$.c > /dev/null 2>&1 then echo "$command: ${warn}$CC: must be a C compiler (not C++)" >&2 else cat pkg$$.e echo "$command: ${warn}$CC: failed to compile and link $INITROOT/hello.c -- is it a C compiler?" >&2 @@ -2621,7 +2624,6 @@ fi ;; esac - PATH=$path EXECTYPE=$HOSTTYPE EXECROOT=$INSTALLROOT case $CROSS in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/package/INIT.README new/lib/package/INIT.README --- old/lib/package/INIT.README 2010-02-25 06:27:21.000000000 +0100 +++ new/lib/package/INIT.README 2010-06-25 05:12:47.000000000 +0200 @@ -25,10 +25,11 @@ use the package(1) command to do the actual download: bin/package authorize "NAME" password "PASSWORD" \ setup source $URL PACKAGE ... - This downloads the closure of the latest source package(s); covered and - up-to-date packages are not downloaded again unless package force ... - is specified. Package content is verified using md5sum. If the package - root will contain only one architecture then you can install in bin and + (Refer to the AUTHORIZATION paragraph on the main download page for + NAME/PASSWORD details.) This downloads the closure of the latest + source package(s); covered and up-to-date packages are not downloaded again unless + package force ... is specified. Package content is verified using md5sum. + If the package root will contain only one architecture then you can install in bin and lib instead of arch/HOSTTYPE/bin and arch/HOSTTYPE/lib by running this instead: bin/package authorize "NAME" password "PASSWORD" \ @@ -92,6 +93,13 @@ :::::::: INIT :::::::: +10-06-22 C+probe: handle cc that require .[ci] input for version info +10-06-12 regress.sh: DISGNOSTICS [ 1 | 0 | pattern ] and fix EXIT for all +10-06-09 package.sh: add AT&T to usable nmake check +10-06-06 iffe.sh,iffe.tst: add { api ver } ops +10-04-22 package.sh: update "html binary|source" NAME/PASSWORD info +10-04-15 iffe.sh: don't forget candidate headers for hdr|sys! +10-04-11 WWW.mk: disable man page metarule -- now done by admin-man(1) 10-02-14 package.sh: $CC verification needs $INSTALLROOT/bin in PATH 10-02-11 package.sh: fix package admin make report error count 10-02-02 package.sh: fix write binary bug that did scp on local fs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/package/INIT.html new/lib/package/INIT.html --- old/lib/package/INIT.html 2010-03-09 07:22:33.000000000 +0100 +++ new/lib/package/INIT.html 2010-06-25 05:12:47.000000000 +0200 @@ -1,16 +1,17 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <HTML> <HEAD> -<META name="generator" content="mm2html (AT&T Research) 2010-02-02"> +<META name="generator" content="mm2html (AT&T Research) 2010-05-09"> <META name="description" content="INIT package"> <META name="keywords" content="software, package"> <TITLE> INIT package </TITLE> </HEAD> -<BODY bgcolor=white link=slateblue vlink=teal > +<BODY bgcolor='#ffffff' > <TABLE border=0 align=center width=96%> <TBODY><TR><TD valign=top align=left> +<!--INDEX--><!--/INDEX--> <P> -<P><HR><CENTER><FONT color=red><FONT face=courier><H3><A name="INIT package">INIT package</A></H3></FONT></FONT></CENTER> +<P><HR><CENTER><H3><A name="INIT package">INIT package</A></H3></CENTER> The INIT package is required by all but the standalone and self extracting archive packages. It contains the package command, support scripts, and utilities. @@ -19,7 +20,7 @@ Components in this package: <P> <P></P><TABLE border=0 frame=void rules=none width=100%><TBODY><TR><TD> -<TABLE align=center border=0 bordercolor=white cellpadding=0 cellspacing=0 frame=void rules=none width=99% > +<TABLE align=center border=0 bordercolor='#ffffff' cellpadding=0 cellspacing=0 frame=void rules=none width=99% > <TBODY> <TR><TD align=left> INIT</TD></TR> @@ -37,16 +38,23 @@ <A href="#release change log">release change log</A> is also included. <P> -<P><HR><CENTER><FONT color=red><FONT face=courier><H3><A name="release change log">release change log</A></H3></FONT></FONT></CENTER> +<P><HR><CENTER><H3><A name="release change log">release change log</A></H3></CENTER> <PRE> All recorded changes follow. </PRE> <P> -<P><HR><CENTER><FONT color=red><FONT face=courier><H3><A name="INIT changes">INIT changes</A></H3></FONT></FONT></CENTER> +<P><HR><CENTER><H3><A name="INIT changes">INIT changes</A></H3></CENTER> <PRE> +10-06-22 C+probe: handle cc that require .[ci] input for version info +10-06-12 regress.sh: DISGNOSTICS [ 1 | 0 | pattern ] and fix EXIT for all +10-06-09 package.sh: add AT&T to usable nmake check +10-06-06 iffe.sh,iffe.tst: add { api ver } ops +10-04-22 package.sh: update "html binary|source" NAME/PASSWORD info +10-04-15 iffe.sh: don't forget candidate headers for hdr|sys! +10-04-11 WWW.mk: disable man page metarule -- now done by admin-man(1) 10-02-14 package.sh: $CC verification needs $INSTALLROOT/bin in PATH 10-02-11 package.sh: fix package admin make report error count 10-02-02 package.sh: fix write binary bug that did scp on local fs @@ -910,7 +918,7 @@ <TR> <TD align=left></TD> <TD align=center></TD> -<TD align=right>March 09, 2010</TD> +<TD align=right>June 24, 2010</TD> </TR> </TABLE> <P> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/package/INIT.ver new/lib/package/INIT.ver --- old/lib/package/INIT.ver 2010-03-09 07:22:33.000000000 +0100 +++ new/lib/package/INIT.ver 2010-06-25 05:12:47.000000000 +0200 @@ -1 +1 @@ -INIT 2010-03-09 2010-03-09 1 +INIT 2010-06-21 2010-06-21 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/cmd/INIT/C+probe new/src/cmd/INIT/C+probe --- old/src/cmd/INIT/C+probe 2009-10-27 20:02:36.000000000 +0100 +++ new/src/cmd/INIT/C+probe 2010-06-22 18:42:11.000000000 +0200 @@ -2,7 +2,7 @@ # Glenn Fowler # AT&T Research # -# @(#)C probe (AT&T Research) 2009-10-27 +# @(#)C probe (AT&T Research) 2010-06-22 # # probe [ -d ] c-compiler-path [ attributes ] # @@ -30,7 +30,7 @@ probe_so=".dylib .sl .so" probe_symprefix="_" probe_verbose="'-v -v' '-# -#' '-d -d' -dryrun '-V -V'" -probe_version="--version -version -V -v" +probe_version="--version -V -version -v" # # the following are set by the preamble for the tool specific probe @@ -387,17 +387,36 @@ shift for o in "$@" do if $cc $o > version.out 2>&1 - then version_flags=$o - version_string=`sed -e 1q -e 's/;/ /g' version.out` + then version_string=`sed -e '/ is /d' -e 's/;/ /g' version.out | sed -e 1q` case $version_string in - *[Ee][Rr][Rr][Oo][Rr]*|*[Ff][Aa][Tt][Aa][Ll]*) + ''|*[Ee][Rr][Rr][Oo][Rr]*|*[Ff][Aa][Tt][Aa][Ll]*|*[Ww][Aa][Rr][Nn][Ii][Nn][Gg]*|*[Oo][Pp][Tt][Ii][Oo][Nn]*) ;; - *) version_stamp=";VERSION;$o;$version_string;PATH;$cc" + *) version_flags=$o + version_stamp=";VERSION;$o;$version_string;PATH;$cc" break ;; esac fi done +case $version_stamp in +'') eval set x $probe_version + shift + echo 'int main() { return 0; }' > version.i + for o in "$@" + do if $cc -c $o version.i > version.out 2>&1 + then version_string=`sed -e '/ is /d' -e 's/;/ /g' version.out | sed -e 1q` + case $version_string in + ''|*[Ee][Rr][Rr][Oo][Rr]*|*[Ff][Aa][Tt][Aa][Ll]*|*[Ww][Aa][Rr][Nn][Ii][Nn][Gg]*|*[Oo][Pp][Tt][Ii][Oo][Nn]*) + ;; + *) version_flags=$o + version_stamp=";VERSION;$o;$version_string;PATH;$cc" + break + ;; + esac + fi + done + ;; +esac echo 'int main(){return 0;}' > hosted.$src $cc -o hosted.$exe hosted.$src && ./hosted.$exe && hosted=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/cmd/INIT/Mamfile new/src/cmd/INIT/Mamfile --- old/src/cmd/INIT/Mamfile 2010-03-09 18:15:00.000000000 +0100 +++ new/src/cmd/INIT/Mamfile 2010-06-25 05:12:48.000000000 +0200 @@ -1,4 +1,4 @@ -info mam static 00000 1994-07-17 make (AT&T Research) 5.5 2010-03-09 +info mam static 00000 1994-07-17 make (AT&T Research) 5.5 2010-04-15 setv INSTALLROOT ../../.. setv PACKAGEROOT ../../../../.. setv AR ${mam_cc_AR} ${mam_cc_AR_ARFLAGS} @@ -38,7 +38,7 @@ make hurl make hurl.sh done hurl.sh -meta hurl %.sh>% hurl.sh hurl +meta hurl %.sh>% ${PACKAGEROOT}/src/cmd/INIT/hurl.sh hurl prev hurl.sh setv LICENSE -DLICENSE="since=2003,author=gsf" exec - case static,port:$OPTIND:$RANDOM in @@ -76,7 +76,7 @@ make iffe make iffe.sh done iffe.sh -meta iffe %.sh>% iffe.sh iffe +meta iffe %.sh>% ${PACKAGEROOT}/src/cmd/INIT/iffe.sh iffe prev iffe.sh setv LICENSE -DLICENSE="since=1994,author=gsf+kpv" exec - case static,port:$OPTIND:$RANDOM in @@ -114,7 +114,7 @@ make mktest make mktest.sh done mktest.sh -meta mktest %.sh>% mktest.sh mktest +meta mktest %.sh>% ${PACKAGEROOT}/src/cmd/INIT/mktest.sh mktest prev mktest.sh setv LICENSE -DLICENSE="since=2005,author=gsf" exec - case static,port:$OPTIND:$RANDOM in @@ -152,7 +152,7 @@ make package make package.sh done package.sh -meta package %.sh>% package.sh package +meta package %.sh>% ${PACKAGEROOT}/src/cmd/INIT/package.sh package prev package.sh exec - case static,port:$OPTIND:$RANDOM in exec - ?*:*:*|*::*|*:*:$RANDOM) @@ -189,7 +189,7 @@ make regress make regress.sh done regress.sh -meta regress %.sh>% regress.sh regress +meta regress %.sh>% ${PACKAGEROOT}/src/cmd/INIT/regress.sh regress prev regress.sh setv LICENSE -DLICENSE="since=1995,author=gsf" exec - case static,port:$OPTIND:$RANDOM in @@ -227,7 +227,7 @@ make rt make rt.sh done rt.sh -meta rt %.sh>% rt.sh rt +meta rt %.sh>% ${PACKAGEROOT}/src/cmd/INIT/rt.sh rt prev rt.sh setv LICENSE -DLICENSE="since=2005,author=gsf" exec - case static,port:$OPTIND:$RANDOM in @@ -265,7 +265,7 @@ make crossexec make crossexec.sh done crossexec.sh -meta crossexec %.sh>% crossexec.sh crossexec +meta crossexec %.sh>% ${PACKAGEROOT}/src/cmd/INIT/crossexec.sh crossexec prev crossexec.sh exec - case static,port:$OPTIND:$RANDOM in exec - ?*:*:*|*::*|*:*:$RANDOM) @@ -302,7 +302,7 @@ make ditto make ditto.sh done ditto.sh -meta ditto %.sh>% ditto.sh ditto +meta ditto %.sh>% ${PACKAGEROOT}/src/cmd/INIT/ditto.sh ditto prev ditto.sh setv LICENSE -DLICENSE="since=2001,author=gsf+ek" exec - case static,port:$OPTIND:$RANDOM in @@ -340,7 +340,7 @@ make execrate make execrate.sh done execrate.sh -meta execrate %.sh>% execrate.sh execrate +meta execrate %.sh>% ${PACKAGEROOT}/src/cmd/INIT/execrate.sh execrate prev execrate.sh setv LICENSE -DLICENSE="since=2002,author=gsf" exec - case static,port:$OPTIND:$RANDOM in @@ -378,7 +378,7 @@ make filter make filter.sh done filter.sh -meta filter %.sh>% filter.sh filter +meta filter %.sh>% ${PACKAGEROOT}/src/cmd/INIT/filter.sh filter prev filter.sh exec - case static,port:$OPTIND:$RANDOM in exec - ?*:*:*|*::*|*:*:$RANDOM) @@ -415,7 +415,7 @@ make ignore make ignore.sh done ignore.sh -meta ignore %.sh>% ignore.sh ignore +meta ignore %.sh>% ${PACKAGEROOT}/src/cmd/INIT/ignore.sh ignore prev ignore.sh exec - case static,port:$OPTIND:$RANDOM in exec - ?*:*:*|*::*|*:*:$RANDOM) @@ -452,7 +452,7 @@ make silent make silent.sh done silent.sh -meta silent %.sh>% silent.sh silent +meta silent %.sh>% ${PACKAGEROOT}/src/cmd/INIT/silent.sh silent prev silent.sh exec - case static,port:$OPTIND:$RANDOM in exec - ?*:*:*|*::*|*:*:$RANDOM) @@ -491,10 +491,12 @@ make mamake.c make shlib-compat.h implicit done shlib-compat.h dontcare virtual +make bp-sym.h implicit +done bp-sym.h dontcare virtual make ast.h implicit done ast.h dontcare virtual done mamake.c -meta mamake.o %.c>%.o mamake.c mamake +meta mamake.o %.c>%.o ${PACKAGEROOT}/src/cmd/INIT/mamake.c mamake prev mamake.c exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -DUSAGE_LICENSE=""[-author?Glenn Fowler <gsf@research.att.com>][-copyright?Copyright (c) 1994-2010 AT&T][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?INIT]"\" -c mamake.c done mamake.o generated @@ -529,7 +531,7 @@ done direct.h dontcare virtual prev ast.h implicit done ratz.c -meta ratz.o %.c>%.o ratz.c ratz +meta ratz.o %.c>%.o ${PACKAGEROOT}/src/cmd/INIT/ratz.c ratz prev ratz.c exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -c ratz.c done ratz.o generated @@ -540,7 +542,7 @@ make release.c prev ast.h implicit done release.c -meta release.o %.c>%.o release.c release +meta release.o %.c>%.o ${PACKAGEROOT}/src/cmd/INIT/release.c release prev release.c exec - ${CC} ${mam_cc_FLAGS} ${CCFLAGS} -DUSAGE_LICENSE=""[-author?Glenn Fowler <gsf@research.att.com>][-copyright?Copyright (c) 1994-2010 AT&T][-license?http://www.opensource.org/licenses/cpl1.0.txt][--catalog?INIT]"\" -c release.c done release.o generated @@ -549,7 +551,7 @@ make mprobe make mprobe.sh done mprobe.sh -meta mprobe %.sh>% mprobe.sh mprobe +meta mprobe %.sh>% ${PACKAGEROOT}/src/cmd/INIT/mprobe.sh mprobe prev mprobe.sh exec - case static,port:$OPTIND:$RANDOM in exec - ?*:*:*|*::*|*:*:$RANDOM) @@ -671,7 +673,7 @@ done ${PACKAGEROOT}/bin/ignore generated make ${PACKAGEROOT}/bin/mamprobe make mamprobe -meta mamprobe %.sh>% mamprobe.sh mamprobe +meta mamprobe %.sh>% ${PACKAGEROOT}/src/cmd/INIT/mamprobe.sh mamprobe make mamprobe.sh done mamprobe.sh exec - case static,port:$OPTIND:$RANDOM in @@ -1236,7 +1238,7 @@ make test.mamake prev mamake make mamake.tst -meta mamake.tst %.rt>%.tst mamake.rt mamake +meta mamake.tst %.rt>%.tst ${PACKAGEROOT}/src/cmd/INIT/mamake.rt mamake make mamake.rt done mamake.rt exec - if [[ "1" || "mamake.rt" -nt "mamake.tst" ]] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/cmd/INIT/RELEASE new/src/cmd/INIT/RELEASE --- old/src/cmd/INIT/RELEASE 2010-02-20 06:00:27.000000000 +0100 +++ new/src/cmd/INIT/RELEASE 2010-06-22 18:43:06.000000000 +0200 @@ -1,3 +1,10 @@ +10-06-22 C+probe: handle cc that require .[ci] input for version info +10-06-12 regress.sh: DISGNOSTICS [ 1 | 0 | pattern ] and fix EXIT for all +10-06-09 package.sh: add AT&T to usable nmake check +10-06-06 iffe.sh,iffe.tst: add { api ver } ops +10-04-22 package.sh: update "html binary|source" NAME/PASSWORD info +10-04-15 iffe.sh: don't forget candidate headers for hdr|sys! +10-04-11 WWW.mk: disable man page metarule -- now done by admin-man(1) 10-02-14 package.sh: $CC verification needs $INSTALLROOT/bin in PATH 10-02-11 package.sh: fix package admin make report error count 10-02-02 package.sh: fix write binary bug that did scp on local fs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/cmd/INIT/WWW.mk new/src/cmd/INIT/WWW.mk --- old/src/cmd/INIT/WWW.mk 2005-10-12 15:41:26.000000000 +0200 +++ new/src/cmd/INIT/WWW.mk 2010-04-12 07:20:18.000000000 +0200 @@ -48,8 +48,10 @@ if { test '' = '$(*)' || { strings $(*) | egrep -q '[+NAME?|libcmd.|cmd[0-9][0-9].' ;} ;} && [[ "$( $(<:B) '--???html' -- 2>&1 )" == version=[1-9]* ]] then ( $(<:B) '--??html' -- 2>$(<) ) || true fi - $(M)/%.html : .DONTCARE $(INSTALLROOT)/bin/% - $(@.DO.WWW.MAN) + if 0 + $(M)/%.html : .DONTCARE $(INSTALLROOT)/bin/% + $(@.DO.WWW.MAN) + end if "$(<)" D := $(<) elif ! "$(R)" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/cmd/INIT/iffe.sh new/src/cmd/INIT/iffe.sh --- old/src/cmd/INIT/iffe.sh 2009-12-04 16:58:55.000000000 +0100 +++ new/src/cmd/INIT/iffe.sh 2010-06-18 16:55:35.000000000 +0200 @@ -30,7 +30,7 @@ esac command=iffe -version=2009-12-04 # update in USAGE too # +version=2010-06-18 # update in USAGE too # compile() # $cc ... { @@ -518,6 +518,7 @@ } all=0 +apis= binding="-dy -dn -Bdynamic -Bstatic -Wl,-ashared -Wl,-aarchive -call_shared -non_shared '' -static" complete=0 config=0 @@ -621,6 +622,7 @@ esac undef=0 verbose=0 +vers= # options -- `-' for output to stdout otherwise usage @@ -632,7 +634,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in 0123) USAGE=$' [-? -@(#)$Id: iffe (AT&T Research) 2009-12-04 $ +@(#)$Id: iffe (AT&T Research) 2010-06-18 $ ] '$USAGE_LICENSE$' [+NAME?iffe - C compilation environment feature probe] @@ -803,6 +805,11 @@ happy.] [+?The feature tests are:]{ [+# \acomment\a?Comment line - ignored.] + [+api \aname\a \aYYYYMMDD\a \asymbol ...\a?Emit api compatibility tests + for \aname\a and \b#define\b \asymbol\a \asymbol\a_\aYYYYMMDD\a + when \aNAME\a_API is >= \aYYYYMMDD\a (\aNAME\a is \aname\a + converted to upper case.) If \aNAME\a_API is not defined + then \asymbol\a maps to the newest \aYYYYMMDD\a for \aname\a.] [+define \aname\a [ (\aarg,...\a) ]] [ \avalue\a ]]?Emit a macro \b#define\b for \aname\a if it is not already defined. The definition is passed to subsequent tests.] @@ -815,6 +822,8 @@ to subsequent tests.] [+reference \aheader\a?If \aheader\a exists then add \b#include\b \aheader\a to subsequent tests.] + [+ver \aname\a \aYYYYMMDD\a?\b#define\b \aNAME\a_VERSION \aYYYYMMDD\a + \aNAME\a is \aname\a converted to upper case.)] [+cmd \aname\a?Defines \b_cmd_\b\aname\a if \aname\a is an executable in one of the standard system directories (\b/bin, /etc, /usr/bin, /usr/etc, /usr/ucb\b). @@ -1719,7 +1728,7 @@ ;; esac ;; - define|extern|header|include|print|reference) + api|define|extern|header|include|print|reference|ver) op=$1 shift arg= @@ -2164,6 +2173,65 @@ case $arg in '') case $op in + api) arg=- + case $1:$2 in + [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]*:[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]) + a=$1 + shift + case " $apis " in + *" $a "*) + ;; + *) apis="$apis $a" + eval api_sym_${a}= api_ver_${a}= + ;; + esac + rel= + while : + do case $# in + 0) break ;; + esac + case $1 in + [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]) + rel="$rel $1" + ;; + *) break + ;; + esac + shift + done + while : + do case $# in + 0) break ;; + esac + case $1 in + :) break ;; + esac + eval syms='$'api_sym_${a} + case $syms in + '') sep='' ;; + *) sep=$nl ;; + esac + for r in $rel + do syms=$syms$sep${1}:${r} + sep=$nl + done + eval api_sym_${a}='$'syms + shift + done + ;; + *) echo "$command: $op: expected: name YYYYMMDD symbol ..." >&$stderr + ;; + esac + while : + do case $# in + 0) break ;; + esac + case $1 in + :) break ;; + esac + shift + done + ;; iff|ini)arg=- ;; comment)cat <<! @@ -2361,6 +2429,25 @@ usr="$usr${nl}$v" continue ;; + ver) arg=- + case $1:$2 in + [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]*:[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]) + vers="$vers$nl$1" + eval ver_$1=$2 + ;; + *) echo "$command: $op: expected: name YYYYMMDD" >&$stderr + ;; + esac + while : + do case $# in + 0) break ;; + esac + case $1 in + :) break ;; + esac + shift + done + ;; esac ;; esac @@ -2858,37 +2945,86 @@ $a|$c) ;; *) case $cur in .) ;; - -) case $iff in - ?*) echo "#endif" ;; + *) case $vers in + ?*) echo + for api in $vers + do API=`echo $api | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` + eval ver='${'ver_${api}'}' + echo "#define ${API}_VERSION ${ver}" + done esac - ;; - *) case $iff in + case $apis in + ?*) for api in $apis + do eval syms='"${'api_sym_${api}'}"' + set x x `echo "$syms" | sort -t: -u -k1,1 -k2,2nr | sed 's/(.*):(.*)/\1 \2/'` + sym= + while : + do shift 2 + case $# in + [01]) break ;; + esac + prv=$sym + sym=$1 + rel=$2 + case $prv in + $sym) echo "#elif _API_${api} >= $rel" + ;; + *) case $prv in + '') echo + echo "#if !defined(_API_${api}) && defined(_API_DEFAULT)" + echo "#define _API_${api} _API_DEFAULT" + echo "#endif" + ;; + *) echo "#endif" + ;; + esac + echo + echo "#if ( _BLD_${api} || !_API_${api} || _API_${api} >= $rel )" + ;; + esac + echo "#if defined(${sym})" + echo "#undef ${sym}" + echo "#define ${sym} _${api}_${sym}_${rel}" + echo "#else" + echo "#define ${sym} ${sym}_${rel}" + echo "#endif" + done + echo "#endif" + done + echo + ;; + esac + case $iff in ?*) echo "#endif" ;; esac - exec >/dev/null case $cur in - *[\/]*|*.h) x=$cur ;; - *) x=$dir/$cur ;; - esac - case $define in - n) sed '/^#/d' $tmp.h > $tmp.c - sed '/^#/d' $x > $tmp.t - ;; - *) (proto -r $protoflags $tmp.h) >/dev/null 2>&1 - sed 's,/*[^/]**/, ,g' $tmp.h > $tmp.c - sed 's,/*[^/]**/, ,g' $x > $tmp.t - ;; - esac - if cmp -s $tmp.c $tmp.t - then rm -f $tmp.h - case $verbose in - 1) echo "$command: $x: unchanged" >&$stderr ;; + -) ;; + *) exec >/dev/null + case $cur in + *[\/]*|*.h) x=$cur ;; + *) x=$dir/$cur ;; esac - else case $x in - ${dir}[\/]$cur) test -d $dir || mkdir $dir || exit 1 ;; + case $define in + n) sed '/^#/d' $tmp.h > $tmp.c + sed '/^#/d' $x > $tmp.t + ;; + *) (proto -r $protoflags $tmp.h) >/dev/null 2>&1 + sed 's,/*[^/]**/, ,g' $tmp.h > $tmp.c + sed 's,/*[^/]**/, ,g' $x > $tmp.t + ;; esac - mv $tmp.h $x - fi + if cmp -s $tmp.c $tmp.t + then rm -f $tmp.h + case $verbose in + 1) echo "$command: $x: unchanged" >&$stderr ;; + esac + else case $x in + ${dir}[\/]$cur) test -d $dir || mkdir $dir || exit 1 ;; + esac + mv $tmp.h $x + fi + ;; + esac ;; esac case $out in @@ -3384,6 +3520,7 @@ # builtin tests case $o in + api) ;; cmd) case $p in ?*) continue ;; esac @@ -3678,6 +3815,7 @@ $tst $ext $allinc +$inc #include <$x>" > $tmp.c if is_hdr $x then gothdr="$gothdr + $x" @@ -4292,6 +4430,7 @@ *) echo $arg="$val" ;; esac ;; + ver) ;; 0) result=FAILURE ;; 1) result=SUCCESS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/cmd/INIT/iffe.tst new/src/cmd/INIT/iffe.tst --- old/src/cmd/INIT/iffe.tst 2009-05-02 07:52:13.000000000 +0200 +++ new/src/cmd/INIT/iffe.tst 2010-06-08 23:55:31.000000000 +0200 @@ -1849,3 +1849,139 @@ #endif' ERROR - $'iffe: test: is sys/types.h a header ... yes iffe: test: is stdio.h a header ... yes' + +TEST 18 'api + ver' + EXEC -r -v - t.iffe + INPUT t.iffe $'iff api +ver foo 20100606 +ver bar 19840919 + +api foo 19991231 dis dat tother +api foo 20100601 dat +api foo 20100606 dis +api bar 19991231 moe larry shemp +api bar 20020202 curly +api bar 20030303 shemp +api bar 20040404 joe_b +api bar 20050505 joe_d +' + OUTPUT - $'/* : : generated from t.iffe by iffe version 1995-03-19 : : */ +#ifndef _api_H +#define _api_H 1 +#define _sys_types 1 /* #include <sys/types.h> ok */ + +#define FOO_VERSION 20100606 +#define BAR_VERSION 19840919 + +#if !defined(_API_foo) && defined(_API_DEFAULT) +#define _API_foo _API_DEFAULT +#endif + +#if ( _BLD_foo || !_API_foo || _API_foo >= 20100601 ) +#if defined(dat) +#undef dat +#define dat _foo_dat_20100601 +#else +#define dat dat_20100601 +#endif +#elif _API_foo >= 19991231 +#if defined(dat) +#undef dat +#define dat _foo_dat_19991231 +#else +#define dat dat_19991231 +#endif +#endif + +#if ( _BLD_foo || !_API_foo || _API_foo >= 20100606 ) +#if defined(dis) +#undef dis +#define dis _foo_dis_20100606 +#else +#define dis dis_20100606 +#endif +#elif _API_foo >= 19991231 +#if defined(dis) +#undef dis +#define dis _foo_dis_19991231 +#else +#define dis dis_19991231 +#endif +#endif + +#if ( _BLD_foo || !_API_foo || _API_foo >= 19991231 ) +#if defined(tother) +#undef tother +#define tother _foo_tother_19991231 +#else +#define tother tother_19991231 +#endif +#endif + +#if !defined(_API_bar) && defined(_API_DEFAULT) +#define _API_bar _API_DEFAULT +#endif + +#if ( _BLD_bar || !_API_bar || _API_bar >= 20020202 ) +#if defined(curly) +#undef curly +#define curly _bar_curly_20020202 +#else +#define curly curly_20020202 +#endif +#endif + +#if ( _BLD_bar || !_API_bar || _API_bar >= 20040404 ) +#if defined(joe_b) +#undef joe_b +#define joe_b _bar_joe_b_20040404 +#else +#define joe_b joe_b_20040404 +#endif +#endif + +#if ( _BLD_bar || !_API_bar || _API_bar >= 20050505 ) +#if defined(joe_d) +#undef joe_d +#define joe_d _bar_joe_d_20050505 +#else +#define joe_d joe_d_20050505 +#endif +#endif + +#if ( _BLD_bar || !_API_bar || _API_bar >= 19991231 ) +#if defined(larry) +#undef larry +#define larry _bar_larry_19991231 +#else +#define larry larry_19991231 +#endif +#endif + +#if ( _BLD_bar || !_API_bar || _API_bar >= 19991231 ) +#if defined(moe) +#undef moe +#define moe _bar_moe_19991231 +#else +#define moe moe_19991231 +#endif +#endif + +#if ( _BLD_bar || !_API_bar || _API_bar >= 20030303 ) +#if defined(shemp) +#undef shemp +#define shemp _bar_shemp_20030303 +#else +#define shemp shemp_20030303 +#endif +#elif _API_bar >= 19991231 +#if defined(shemp) +#undef shemp +#define shemp _bar_shemp_19991231 +#else +#define shemp shemp_19991231 +#endif +#endif + +#endif' + ERROR - $'iffe: test: is sys/types.h a header ... yes' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/cmd/INIT/package.sh new/src/cmd/INIT/package.sh --- old/src/cmd/INIT/package.sh 2010-02-20 05:57:51.000000000 +0100 +++ new/src/cmd/INIT/package.sh 2010-06-22 20:54:52.000000000 +0200 @@ -64,7 +64,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in 0123) USAGE=$' [-? -@(#)$Id: package (AT&T Research) 2010-02-14 $ +@(#)$Id: package (AT&T Research) 2010-06-22 $ ]'$USAGE_LICENSE$' [+NAME?package - source and binary package control] [+DESCRIPTION?The \bpackage\b command controls source and binary @@ -687,11 +687,12 @@ ${bT}(5)${bD}Determine the list of package names you want from the download site, then use the ${Mpackage} command to do the actual download:${bX} bin/package authorize "${bI}NAME${eI}" password "${bI}PASSWORD${eI}" \ - setup binary $URL ${bB}PACKAGE${eB} ...${eX} - This downloads the closure of the latest binary package(s); covered and - up-to-date packages are not downloaded again unless ${bB}package force ...${eB} - is specified. Package content is verified using ${bB}${checksum}${eB}. If the package - root will contain only one architecture then you can install in ${bB}bin${eB} and + setup binary $URL ${bI}PACKAGE${eI} ...${eX} + (Refer to the ${bB}AUTHORIZATION${eB} paragraph on the main download page for + ${bI}NAME${eI}/${bI}PASSWORD${eI} details.) This downloads the closure of the latest + binary package(s); covered and up-to-date packages are not downloaded again unless + ${bB}package force ...${eB} is specified. Package content is verified using ${bB}${checksum}${eB}. + If the package root will contain only one architecture then you can install in ${bB}bin${eB} and ${bB}lib${eB} instead of ${bB}arch/${eB}${bI}HOSTTYPE${eI}${bB}/bin${eB} and ${bB}arch/${eB}${bI}HOSTTYPE${eI}${bB}/lib${eB} by running this instead:${bX} bin/package authorize "${bI}NAME${eI}" password "${bI}PASSWORD${eI}" \ @@ -844,10 +845,11 @@ use the ${Mpackage} command to do the actual download:${bX} bin/package authorize "${bI}NAME${eI}" password "${bI}PASSWORD${eI}" \ setup source $URL ${bB}PACKAGE${eB} ...${eX} - This downloads the closure of the latest source package(s); covered and - up-to-date packages are not downloaded again unless ${bB}package force ...${eB} - is specified. Package content is verified using ${bB}${checksum}${eB}. If the package - root will contain only one architecture then you can install in ${bB}bin${eB} and + (Refer to the ${bB}AUTHORIZATION${eB} paragraph on the main download page for + ${bI}NAME${eI}/${bI}PASSWORD${eI} details.) This downloads the closure of the latest + source package(s); covered and up-to-date packages are not downloaded again unless + ${bB}package force ...${eB} is specified. Package content is verified using ${bB}${checksum}${eB}. + If the package root will contain only one architecture then you can install in ${bB}bin${eB} and ${bB}lib${eB} instead of ${bB}arch/${eB}${bI}HOSTTYPE${eI}${bB}/bin${eB} and ${bB}arch/${eB}${bI}HOSTTYPE${eI}${bB}/lib${eB} by running this instead:${bX} bin/package authorize "${bI}NAME${eI}" password "${bI}PASSWORD${eI}" \ @@ -1392,11 +1394,11 @@ return 1 } -# true if no nmake or nmake too old +# true if no nmake or nmake not from AT&T or nmake too old nonmake() # nmake { - _nonmake_version=`( $1 -n -f - 'print $(MAKEVERSION:@/.* //:/-//G)' . ) </dev/null 2>/dev/null || echo 19840919` + _nonmake_version=`( $1 -n -f - 'print $(MAKEVERSION:@/.*AT&T.* //:/-//G:@/.* .*/19960101/)' . ) </dev/null 2>/dev/null || echo 19840919` if test $_nonmake_version -lt 20001031 then return 0 fi @@ -2609,6 +2611,7 @@ path=$PATH PATH=$INSTALLROOT/bin:$PATH checkcc + PATH=$path case $cc in ?*) if test -f $INITROOT/hello.c then @@ -2617,8 +2620,8 @@ ( cd /tmp || exit 3 cp $INITROOT/hello.c pkg$$.c || exit 3 - $CC -o pkg$$.exe pkg$$.c > pkg$$.e 2>&1 || { - if $CC -Dnew=old -o pkg$$.exe pkg$$.c > /dev/null 2>&1 + PATH=$path $CC -o pkg$$.exe pkg$$.c > pkg$$.e 2>&1 || { + if PATH=$path $CC -Dnew=old -o pkg$$.exe pkg$$.c > /dev/null 2>&1 then echo "$command: ${warn}$CC: must be a C compiler (not C++)" >&2 else cat pkg$$.e echo "$command: ${warn}$CC: failed to compile and link $INITROOT/hello.c -- is it a C compiler?" >&2 @@ -2639,7 +2642,6 @@ fi ;; esac - PATH=$path EXECTYPE=$HOSTTYPE EXECROOT=$INSTALLROOT case $CROSS in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/src/cmd/INIT/regress.sh new/src/cmd/INIT/regress.sh --- old/src/cmd/INIT/regress.sh 2009-09-24 22:05:24.000000000 +0200 +++ new/src/cmd/INIT/regress.sh 2010-06-13 17:38:43.000000000 +0200 @@ -23,7 +23,7 @@ case $(getopts '[-][123:xyz]' opt --xyz 2>/dev/null; echo 0$opt) in 0123) USAGE=$' [-? -@(#)$Id: regress (AT&T Research) 2009-09-24 $ +@(#)$Id: regress (AT&T Research) 2010-06-12 $ ] '$USAGE_LICENSE$' [+NAME?regress - run regression tests] @@ -75,10 +75,12 @@ [+COPY \afrom to\a?Copy file \afrom\a to \ato\a. \afrom\a may be a regular file or \bINPUT\b, \bOUTPUT\b or \bERROR\b. Post test comparisons are still done for \afrom\a.] - [+DIAGNOSTICS [ \b1\b | "" ]]?No argument or an argument of - \b1\b declares that diagnostics are to expected for the - remainder of the current \bTEST\b; "" reverts to the default - state that diagnostics are not expected.] + [+DIAGNOSTICS [ \b1\b | \b0\b | \apattern\a ]]?No argument or an + argument of \b1\b declares that diagnostics are to expected for + the remainder of the current \bTEST\b; \b0\b reverts to the default + state that diagnostics are not expected; otherwise the argument + is a \bksh\b(1) pattern that must match the non-empty contents + of the standard error.] [+DO \astatement\a?Defines additional statements to be executed for the current test. \astatement\a may be a { ... } group.] [+EMPTY \bINPUT|OUTPUT|ERROR|SAME?The corresponding file is @@ -948,10 +950,19 @@ done } -function DIAGNOSTICS # [ 1 | "" ] +function DIAGNOSTICS # [ 1 | 0 ] { - DIAGNOSTICS=${1:-1} - EXIT='*' + case $#:$1 in + 0:|1:1) DIAGNOSTICS=1 + EXIT='*' + ;; + 1:|1:0) DIAGNOSTICS="" + EXIT=0 + ;; + *) DIAGNOSTICS=$1 + EXIT='*' + ;; + esac } function IGNORESPACE @@ -1040,9 +1051,13 @@ done j=$k.$s fi - if [[ $DIAGNOSTICS && $i == */ERROR ]] - then if [[ $STATUS == 0 && ! -s $TWD/ERROR ]] + if [[ "$DIAGNOSTICS" && $i == */ERROR ]] + then if [[ $STATUS == 0 && ! -s $TWD/ERROR || $DIAGNOSTICS != 1 && $(<$i) != $DIAGNOSTICS ]] then failed=$failed${failed:+,}DIAGNOSTICS + if [[ $TEST_verbose && $DIAGNOSTICS != 1 ]] + then print -u2 " ===" "diagnostic pattern '$DIAGNOSTICS' did not match" ${i#$TWD/} "===" + cat $i >&2 + fi fi continue fi ++++++ ast-ksh.2010-03-09.tar.bz2 -> ast-ksh.2010-06-21.tar.bz2 ++++++ ++++ 29129 lines of diff (skipped) ++++++ ksh93-ifs.dif ++++++ --- 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); ++++++ ksh93-leak.dif ++++++ --- 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)) ++++++ ksh93-shift_ijs.dif ++++++ --- /var/tmp/diff_new_pack.5t7SmP/_old 2010-10-11 14:30:09.000000000 +0200 +++ /var/tmp/diff_new_pack.5t7SmP/_new 2010-10-11 14:30:09.000000000 +0200 @@ -105,8 +105,27 @@ # endif static int _isalph(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 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, if(mp->pattern) { @@ -183,16 +202,16 @@ +export LANG=ja_JP.SJIS + +for second in $(seq 64 126); do -+ : $((chr++)) ++ let chr++ + second=$(printf '%x' ${second}) + mbchar="$(printf "\x81\x${second}")" + if test -z "${mbchar}" ; then -+ : $((err++)) # ERROR in builtin printf ++ let err++ # ERROR in builtin printf + continue + fi + if test -x "${printf}" ; then + if test $(${printf} "\x81\x${second}") != ${mbchar} ; then -+ : $((err++)) # ERROR in builtin printf ++ let err++ # ERROR in builtin printf + continue + fi + fi @@ -266,23 +285,30 @@ extern int fwprintf(FILE*, const wchar_t*, ...); extern int fwscanf(FILE*, const wchar_t*, ...); --- src/lib/libast/include/ast.h -+++ src/lib/libast/include/ast.h 2007-12-20 17:50:28.000000000 +0000 -@@ -176,13 +176,16 @@ typedef struct ++++ src/lib/libast/include/ast.h 2010-06-25 12:35:11.542927316 +0200 +@@ -186,14 +186,23 @@ typedef struct #define mbcoll() (ast.mb_xfrm!=0) #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 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 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 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 mbchar(p) ((mbsize(p)>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;}) : \ + ({ast.tmp_int=*(unsigned char*)p;p+=ast.mb_sync+1;ast.tmp_int;})) : \ + (*(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 */ @@ -297,10 +323,10 @@ #include <stk.h> --- src/lib/libcmd/Mamfile -+++ src/lib/libcmd/Mamfile 2007-12-20 17:51:50.000000000 +0000 -@@ -479,7 +479,7 @@ make cat.o ++++ src/lib/libcmd/Mamfile 2007-12-20 18:51:50.000000000 +0100 +@@ -496,7 +496,7 @@ make cat.o 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 -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 ++++++ ksh93-sigpipe.dif ++++++ --- 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); } ++++++ workaround-stupid-build-system.diff ++++++ --- /var/tmp/diff_new_pack.5t7SmP/_old 2010-10-11 14:30:09.000000000 +0200 +++ /var/tmp/diff_new_pack.5t7SmP/_new 2010-10-11 14:30:09.000000000 +0200 @@ -123,7 +123,7 @@ make suid_exec make suid_exec.o --- 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 setv ARFLAGS -cr setv AS as @@ -142,7 +142,7 @@ setv SILENT setv TAR tar setv YACC yacc -@@ -954,7 +954,7 @@ make lcgen +@@ -961,7 +961,7 @@ make lcgen make port/lcgen.c prev std/stdio.h implicit done port/lcgen.c @@ -151,8 +151,8 @@ done lcgen generated make port/lc.tab done port/lc.tab -@@ -7131,64 +7131,37 @@ done ${INSTALLROOT}/lib/file/magic gener - make ${INSTALLROOT}/include/ast/fmtmsg.h +@@ -7165,58 +7165,31 @@ exec - test '' = 'misc/magic.tab' || ${S + done ${INSTALLROOT}/lib/file/magic generated prev comp/fmtmsg.h prev ast_lib.h -exec - case ${mam_cc_HOSTTYPE} in @@ -173,9 +173,6 @@ -exec - ;; -exec - esac +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 ast_lib.h -exec - case ${mam_cc_HOSTTYPE} in @@ -196,9 +193,6 @@ -exec - ;; -exec - esac +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 ast_lib.h -exec - case ${mam_cc_HOSTTYPE} in @@ -219,9 +213,9 @@ -exec - ;; -exec - esac +exec - } - prev ast_namval.h implicit - prev ${INSTALLROOT}/include/prototyped.h implicit - done ${INSTALLROOT}/include/ast/syslog.h generated + make ${INSTALLROOT}/include/ast/prototyped.h + prev ${INSTALLROOT}/include/ast + exec - echo "#include <../prototyped.h>" > 1.${COTEMP}.x --- src/lib/libcmd/Mamfile +++ 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 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org