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

Reply via email to