Hello community, here is the log from the commit of package ksh for openSUSE:Factory checked in at Thu May 26 11:07:15 CEST 2011.
-------- --- ksh/ksh.changes 2011-05-13 17:47:14.000000000 +0200 +++ /mounts/work_src_done/STABLE/ksh/ksh.changes 2011-05-24 18:36:49.000000000 +0200 @@ -1,0 +2,7 @@ +Tue May 24 18:34:36 CEST 2011 - wer...@suse.de + +- gcc dumps out poerpc64 even on powerpc which does break the + binary in a very special way e.g. in getopt(3) +- do not use CC but CCFLAGS and HOSTTYPE at make time + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- ksh93-array.dif ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ksh.spec ++++++ --- /var/tmp/diff_new_pack.gLuGKV/_old 2011-05-26 10:59:16.000000000 +0200 +++ /var/tmp/diff_new_pack.gLuGKV/_new 2011-05-26 10:59:16.000000000 +0200 @@ -37,7 +37,7 @@ %endif AutoReqProv: on Version: 93t -Release: 192 +Release: 194 Summary: Korn Shell BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: INIT.2010-06-21.tar.bz2 @@ -74,6 +74,7 @@ Patch20: ksh93-argv0.dif Patch21: ksh93-export.dif Patch22: ksh93-eintr.dif +Patch23: ksh93-array.dif %global use_suid_exe 0 %global use_locale 1 %global debug_memleak 0 @@ -147,8 +148,12 @@ %patch20 %patch21 %patch22 +%patch23 %build + TMPDIR=$(mktemp -d /tmp/ksh-build.XXXXXX) || exit 1 + mkdir ${TMPDIR}/bin || exit 1 + PATH=${TMPDIR}/bin:$PATH typeset -i IGNORED=0x$(ps --no-headers -o ignored $$) typeset -i SIGPIPE=0x1000 if ((IGNORED & SIGPIPE)) ; then @@ -163,7 +168,7 @@ set -- $(readlink $fd) exec -a $SHELL ./sigexec $SHELL ${1+"$@"} fi - nobuiltin=$(mktemp -u /tmp/nobuiltin.XXXXXX) || exit 1 + nobuiltin=${TMPDIR:-/tmp}/nobuiltin set -C (cat<<-EOF -fno-builtin-putenv @@ -235,8 +240,7 @@ # Do not use -DSHOPT_SPAWN=1 and/or -DSHOPT_AMP=1 this would cause # errors due race conditions while executing the test suite. # - feature=$(mktemp -u /tmp/feature.XXXXXX) || exit 1 - feature=${feature}.h + feature=${TMPDIR:-/tmp}/feature.h set -C (cat > $feature)<<-'EOF' #define SHOPT_SYSRC 1 @@ -263,9 +267,24 @@ 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}" ;; - ppc*) RPM_OPT_FLAGS="${RPM_OPT_FLAGS//-O[s0-9]/-O}" ;; + ppc*|powerpc*) + 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]?//g2') + case "$RPM_ARCH" in + ppc|powerpc) + set -C + (cat > ${TMPDIR:-/tmp}/gcc)<<-EOF + #!/bin/sh + case "$@" in + *-dumpmachine*) + echo powerpc-suse-linux ;; + *) exec -a gcc gcc ${1+"$@"} + esac + EOF + set +C + chmod +x ${TMPDIR:-/tmp}/gcc + esac + RPM_OPT_FLAGS=$(echo "${RPM_OPT_FLAGS}"|sed -r 's/[[:blank:]]+-g[0-9]?/ -g2/g') UNIVERSE=att LDFLAGS="-lm" LDSOFLG="" @@ -275,7 +294,7 @@ 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 -g2 RPM_OPT_FLAGS cflags -pipe RPM_OPT_FLAGS cflags -Wl,-O2 LDFLAGS cflags -Wl,--hash-size=16699 LDFLAGS @@ -286,14 +305,11 @@ cflags -Wl,-rpath,/%{_lib}/ast LDSOFLG RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE $LARGEFILE" RPM_OPT_FLAGS="$RPM_OPT_FLAGS $IGNORE $FEATURE" - HOSTTYPE=${RPM_ARCH%%*-linux*} + HOSTTYPE=linux.${RPM_ARCH} mam_cc_L=use mam_cc_OPTIMIZE=-pipe export mam_cc_L mam_cc_OPTIMIZE HOSTTYPE LDFLAGS RPM_OPT_FLAGS UNIVERSE - for mam in $(find ${PWD}/ -name Mamfile); do - sed -ri '/^exec.*\$\{CC\}/{ s/(\$\{CC\})/\1 \$\{RPM_OPT_FLAGS\}/g; }' $mam - done - bin/package make CC="$CC" + bin/package make CCFLAGS="$RPM_OPT_FLAGS" HOSTTYPE="$HOSTTYPE" root=$(echo ${PWD}/arch/linux*) test -d $root || exit 1 log=${root}/lib/package/gen/make.out @@ -477,12 +493,14 @@ cat src/cmd/ksh93/sh.memo | sed 's/\\f5/\\fB/g;s/^\.H/\.P\n\.H/g' | troff -Tascii8 -t -mm | grotty -bou > MEMORANDUM cp %{S:21} . %if %use_suid_exe + set -C (cat > %{buildroot}%{_sysconfdir}/permissions.d/ksh) <<-EOF /%{_lib}/ast/bin/suid_exec root:root 4755 EOF (cat > %{buildroot}%{_sysconfdir}/permissions.d/ksh.paranoid) <<-EOF /%{_lib}/ast/bin/suid_exec root:root 0755 EOF + set +C %endif %post ++++++ ksh93-array.dif ++++++ --- src/cmd/ksh93/sh/array.c +++ src/cmd/ksh93/sh/array.c 2011-05-20 12:42:14.555927664 +0000 @@ -410,7 +410,7 @@ static Namfun_t *array_clone(Namval_t *n mq = 0; if(nq=nv_opensub(np)) mq = nv_search(name,ap->table,NV_ADD); - if(nq && (flags&NV_COMVAR) && nv_isvtree(nq)) + if(nq && (((flags&NV_COMVAR) && nv_isvtree(nq)) || nv_isarray(nq))) { mq->nvalue.cp = 0; if(!is_associative(ap)) @@ -458,6 +458,7 @@ static char *array_getval(Namval_t *np, { register Namarr_t *aq,*ap = (Namarr_t*)disc; register Namval_t *mp; + register char *cp=0; if((mp=array_find(np,ap,ARRAY_LOOKUP))!=np) { if(!mp && !is_associative(ap) && (aq=(Namarr_t*)ap->scope)) @@ -466,7 +467,12 @@ static char *array_getval(Namval_t *np, if((mp=array_find(np,aq,ARRAY_LOOKUP))==np) return(nv_getv(np,&aq->hdr)); } - return(mp?nv_getval(mp):0); + if(mp) + { + cp = nv_getval(mp); + nv_offattr(mp,NV_EXPORT); + } + return(cp); } return(nv_getv(np,&ap->hdr)); } @@ -667,7 +673,7 @@ static struct index_array *array_grow(Na ap->header.hdr.dsize = sizeof(*ap) + i; i = 0; ap->header.fun = 0; - if(nv_isnull(np) && nv_isattr(np,NV_NOFREE)) + if((nv_isnull(np)|| np->nvalue.cp==Empty) && nv_isattr(np,NV_NOFREE)) { i = ARRAY_TREE; nv_offattr(np,NV_NOFREE); @@ -1236,7 +1242,7 @@ void *nv_associative(register Namval_t * for(;ap->cur=ap->pos; ap->pos=ap->nextpos) { ap->nextpos = (Namval_t*)dtnext(ap->header.table,ap->pos); - if(ap->cur->nvalue.cp) + if(!nv_isnull(ap->cur)) { if((ap->header.nelem&ARRAY_NOCHILD) && nv_isattr(ap->cur,NV_CHILD)) continue; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org