Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ncurses for openSUSE:Factory checked 
in at 2025-02-03 21:41:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ncurses (Old)
 and      /work/SRC/openSUSE:Factory/.ncurses.new.2316 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ncurses"

Mon Feb  3 21:41:48 2025 rev:283 rq:1240151 version:unknown

Changes:
--------
--- /work/SRC/openSUSE:Factory/ncurses/ncurses.changes  2025-01-21 
21:10:15.990461505 +0100
+++ /work/SRC/openSUSE:Factory/.ncurses.new.2316/ncurses.changes        
2025-02-03 21:42:20.779586394 +0100
@@ -1,0 +2,9 @@
+Fri Jan 24 11:27:42 UTC 2025 - Dr. Werner Fink <wer...@suse.de>
+
+- Drop support of build ncurses applications with ABI 5 but leave
+  the shared libraries for older applications using ABI 5
+- Add new package libncurses6-compat with the shared libraries
+  without weak (p)thread support for foreign ncurses applications.
+  Use with LD_LIBRARY_PATH=/usr/lib64/ncurses6nt (boo#1132282)
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ncurses.spec ++++++
--- /var/tmp/diff_new_pack.SmwGhk/_old  2025-02-03 21:42:21.867631490 +0100
+++ /var/tmp/diff_new_pack.SmwGhk/_new  2025-02-03 21:42:21.871631656 +0100
@@ -24,6 +24,7 @@
 %endif
 %bcond_with     memleakck
 %bcond_without  onlytinfo
+%bcond_without  abi5
 %bcond_with     ada
 %bcond_with     libbsd
 %bcond_with     usepcre2
@@ -34,6 +35,11 @@
 %else
 %global soname_tinfo tinfow
 %endif
+%ifarch s390x s390
+%global fallback 
unknown,dumb,xterm,xterm-256color,ibm327x,ms-terminal,vt100,vt102,vt220
+%else
+%global fallback 
unknown,dumb,xterm,xterm-256color,linux,ms-terminal,vt100,vt102,vt220
+%endif
 
 %global patchlvl %(bash %{_sourcedir}/get_version_number.sh %{_sourcedir})
 %global basevers 6.5
@@ -64,11 +70,7 @@
 %if %{with usepcre2}
 BuildRequires:  pkgconfig(libpcre2-8)
 %endif
-%if 0%{?suse_version} > 1130
 BuildRequires:  gpm-devel
-%else
-BuildRequires:  gpm
-%endif
 BuildRequires:  makedepend
 %define terminfo() %{_datadir}/%{0}/%{1}
 %define tabset()   %{_datadir}/%{0}/%{1}
@@ -217,6 +219,7 @@
 Requires:       terminfo-base
 Provides:       ncurses = %{version}
 Recommends:     ncurses-utils = %{version}
+Suggests:       libncurses6-compat
 
 %description -n libncurses6
 The ncurses library is used by many terminal applications for
@@ -224,6 +227,23 @@
 
 This package contains the library built with the version 6 ABI.
 
+%package -n libncurses6-compat
+Summary:        Terminal control library without weak threading support
+License:        MIT
+Group:          System/Libraries
+Requires:       libncurses6 >= %{version}
+Requires:       terminfo-base
+Recommends:     ncurses-utils = %{version}
+
+%description -n libncurses6-compat
+The ncurses library is used by many terminal applications for
+controlling output to the screen and input from the user.
+
+This package contains the library built with the version 6 ABI
+but build without weak threading support.
+
+Use with environment variable LD_LIBRARY_PATH=/usr/lib64/ncurses6nt
+
 %package -n terminfo
 Summary:        A terminal descriptions database
 License:        SUSE-Public-Domain
@@ -285,44 +305,6 @@
 This package contains the static library files for
 the ncurses library in its ABI version 6 form.
 
-%package -n ncurses5-devel
-Summary:        Development files for the ncurses5 terminal control library
-License:        MIT
-Group:          Development/Libraries/C and C++
-Provides:       ncurses:%{_incdir}/ncurses5/ncurses.h
-Requires:       %{_bindir}/tack
-Requires:       libncurses5 = %{version}-%{release}
-Requires:       ncurses = %{version}-%{release}
-Requires:       ncurses-devel = %{version}-%{release}
-
-%description -n ncurses5-devel
-This package contains the headers needed to build against
-the ncurses library in its ABI version 5 form.
-
-%package -n ncurses5-devel-static
-Summary:        Static libraries for the ncurses5 terminal control library
-License:        MIT
-Group:          Development/Libraries/C and C++
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libform.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libformw.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libmenu.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libmenuw.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libncurses++.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libncurses++w.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libncurses.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libncurses.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libncursesw.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libpanel.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libpanelw.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libtic.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libticw.a
-Provides:       ncurses5-devel:%{_libdir}/ncurses5/libtinfo.a
-Requires:       ncurses5-devel = %{version}-%{release}
-
-%description -n ncurses5-devel-static
-This package contains the static library files for
-the ncurses library in its ABI version 5 form.
-
 %package -n tack
 Version:        %{tackvers}.%{tacklvl}
 Summary:        Terminfo action checker
@@ -386,7 +368,7 @@
 #
 CFLAGS_SHARED="%{_lto_cflags_shared}"
 export CFLAGS_SHARED
-%global configtack     %configure
+%global configback     %configure
 %global _configure     screen -D -m ./configure
     SCREENDIR=$(mktemp -d ${PWD}/screen.XXXXXX) || exit 1
     SCREENRC=${SCREENDIR}/ncurses
@@ -437,11 +419,6 @@
 
     test ! -f /.buildenv || . /.buildenv
        OPATH=$PATH
-%ifarch s390x s390
-      
FALLBK="unknown,dumb,xterm,xterm-256color,ibm327x,ms-terminal,vt100,vt102,vt220"
-%else
-      
FALLBK="unknown,dumb,xterm,xterm-256color,linux,ms-terminal,vt100,vt102,vt220"
-%endif
          CC=gcc
         CXX=g++
     CFLAGS="${RPM_OPT_FLAGS} -pipe -D_REENTRANT"
@@ -496,10 +473,6 @@
     trap 'rm -rf ${TMPDIR}' EXIT
     export TMPDIR
     #
-    # getttynam(3) as well as /etc/ttys are not used under Linux
-    # (obsolate with patch 6.3 20211204)
-    #   sed -ri '/^getttynam\s*\\$/d' configure
-    #
     # No --enable-term-driver as this had crashed last time
     # in ncurses/tinfo/lib_setup.c due to the fact that
     # _nc_globals.term_driver was a NULL function pointer as
@@ -517,15 +490,9 @@
     # No --enable-hard-tabs for users which have disabled
     # the use of tabs
     #
-    touch --reference=README config.sub config.guess
-    > $SCREENLOG
-    tail -q -s 0.5 -f $SCREENLOG & pid=$!
-    %configure \
-%if %{with ada}
-       --with-ada              \
-%else
-       --without-ada           \
-%endif
+
+    common="\
+       --with%{?!with_ada:out}-ada \
        --without-debug         \
        --without-profile       \
        --without-manpage-tbl   \
@@ -536,18 +503,12 @@
        --with-manpage-aliases  \
        --with-manpage-symlinks \
        --with-ospeed=speed_t   \
-%if 0%{?suse_version} > 1310
-       --with-gpm=$(readlink %{_libdir}/libgpm.so) \
-%else
-       --with-gpm              \
-%endif
        --with-dlsym            \
+       --with-gpm=$(readlink -f %{_libdir}/libgpm.so | sed -r 
's/(\.so.[0-9]+)\..*/\1/') \
        --with-default-terminfo-dir=%{_datadir}/terminfo \
        --with-terminfo-dirs=%{_sysconfdir}/terminfo:%{_datadir}/terminfo \
        --with-xterm-kbs=DEL    \
-%if %{with usepcre2}
-       --with-pcre2            \
-%endif
+       --with%{?!with_usepcre2:out}-pcre2 \
        --with-install-prefix=%{root} \
        --disable-stripping     \
        --disable-root-access   \
@@ -557,9 +518,7 @@
        --disable-overwrite     \
        --disable-rpath         \
        --disable-rpath-hack    \
-%if %{with memleakck}
-       --disable-leaks         \
-%endif
+       %{?with_memleakck:--disable-leaks} \
        --disable-xmc-glitch    \
        --enable-symlinks       \
        --enable-big-core       \
@@ -570,26 +529,9 @@
        --enable-colorfgbg      \
        --enable-sp-funcs       \
        --enable-interop        \
-       --with-pthread          \
-       --enable-reentrant      \
-%if 0%{?suse_version} > 1500
-       --enable-opaque-curses  \
-       --enable-opaque-form    \
-       --enable-opaque-menu    \
-       --enable-opaque-panel   \
-%endif
-       --enable-ext-mouse      \
-       --enable-widec          \
-       --enable-wattr-macros   \
        --with-termlib=%{soname_tinfo}  \
-       --with-ticlib=ticw      \
-%if %{with symversion}
-       --with-versioned-syms=${PWD}/package/ncursestw.map \
-%endif
        --enable-ext-colors     \
-       --enable-weak-symbols   \
        --disable-wgetch-events \
-       --enable-pthreads-eintr \
        --enable-string-hacks   \
        --enable-check-size     \
        --prefix=%{_prefix}     \
@@ -603,26 +545,74 @@
        --with-cxx-shared       \
        --with-pc-suffix        \
        --enable-pc-files       \
-%if 0%{?_crossbuild}
-       --with-fallbacks="$FALLBK" \
-%else
-       --with-fallbacks=""     \
-%endif
-%if %{with hasheddb}
-       --with-hashed-db        \
-%endif
-       --with-pkg-config-libdir=%{_libdir}/pkgconfig
+       --with-fallbacks="%{?_crossbuild:%{fallback}}" \
+       --with%{?!with_hasheddb:out}-hashed-db \
+       --with-pkg-config-libdir=%{_libdir}/pkgconfig \
+    "
+
+    touch --reference=README config.sub config.guess
+
+    # must not use %jobs here (would lead to: ln: ncurses.h already exists)
+    find man/ -name '*.[1-8]x.*' -print -delete
+    mkdir pc
+
+    PKG_CONFIG_PATH=$PWD/pc:$(pkg-config --variable pc_path pkg-config)
+    export PKG_CONFIG_PATH
+    echo PKG_CONFIG_PATH=$PKG_CONFIG_PATH
+
+    for abi in 6 %{?with_abi5:5}
+    do
+       for wide in w ""
+       do
+           for pthreads in t ""
+           do
+               test "$abi" = 5 -a -n "$pthreads" && continue || :
+
+               mkdir build.${wide}${pthreads}${abi}
+               pushd build.${wide}${pthreads}${abi}
+               ln -sf ../configure .
+               ln -sf ../package .
+               ln -sf ../pc .
+
+               map=ncurses${pthreads}${wide}
+               tic=tic${wide}
+               test "$abi" = 6 -a -n "$pthreads" -a -n "$wide" && progs=with 
|| progs=without
+
+               configure="${common} $(
+                   echo --with-abi-version=$abi
+                   echo --with-versioned-syms=${PWD}/package/${map}.map 
--with-ticlib=${tic}
+                   echo --${progs}-manpages --${progs}-progs --${progs}-tack
+                   test "$abi" = 6 && \
+                       echo  --enable-opaque-curses  --enable-opaque-form  
--enable-opaque-menu  --enable-opaque-panel  --enable-ext-mouse  
--enable-ext-colors || \
+                       echo --disable-opaque-curses --disable-opaque-form 
--disable-opaque-menu --disable-opaque-panel --disable-ext-mouse 
--disable-ext-colors
+                   #
+                   # If threaded then use pthreads and weak symbols as this 
avoids four different libraries
+                   # Side effect is that the the threaded libraries a binary 
incompatible with none threaded
+                   #
+                   test -n "$pthreads" && \
+                       echo    --with-pthread  --enable-pthreads-eintr  
--enable-reentrant  --enable-weak-symbols || \
+                       echo --without-pthread --disable-pthreads-eintr 
--disable-reentrant --disable-weak-symbols
+                   test -n "$wide" && \
+                       echo  --enable-widec  --enable-wattr-macros || \
+                       echo --disable-widec --disable-wattr-macros
+                   test -z "$pthreads" -a "$abi" = 6 && echo 
--libdir=%{_libdir}/%{name}${wide} || :
+                   test "$abi" = 5 && echo 
--includedir=%{_incdir}/%{name}${abi} || :
+               )"
+
+               > $SCREENLOG
+               tail -q -s 0.5 -f $SCREENLOG & pid=$!
+               %configure $configure
     sleep 1
     kill $pid
-    #
-    #  The configure line used above.  Note that we override
-    #  several options later with other configurations.
-    #  It has been verified several times that this works.
-    #
-    c=$(grep '^ *$ *\./configure' config.log)
-    make depend
-    make -C c++ etip.h
-    make %{?_smp_mflags}
+
+               test -s ../fallback.c.build && cp ../fallback.c.build 
ncurses/fallback.c
+
+               %make_build libs
+               # This is for abi == 6 with wide characters and threads as
+               # required by the ncurses GUI of YaST2
+               if test "$progs" = with
+               then
+                   %make_build -C progs
     #
     # Refresh second install path
     #
@@ -643,19 +633,20 @@
     cp -p lib/*.so* lib/.build/
     PATH=$PWD/progs:$OPATH
     export PATH
-    (cat > ${PWD}/.build_tic)<<-EOF
+                   (cat > ${PWD}/../.build_tic)<<-EOF
        export LD_LIBRARY_PATH=$PWD/lib/.build
        export BUILD_TIC=$PWD/progs/tic.build
        export BUILD_INFOCMP=$PWD/progs/infocmp.build
        EOF
     pushd ncurses/
-       . ${PWD}/../.build_tic
-       $BUILD_TIC -I -r -e $FALLBK ../misc/terminfo.src > terminfo.src
+                       ln -sf ../../ncurses/tinfo .
+                       . ${PWD}/../../.build_tic
+                       $BUILD_TIC -I -r -e "%{fallback}" 
../../misc/terminfo.src > terminfo.src
        $BUILD_TIC -o $TERMINFO -s terminfo.src
-       bash -e ./tinfo/MKfallback.sh $PWD/tmp_info ../misc/terminfo.src 
$BUILD_TIC $BUILD_INFOCMP ${FALLBK//,/ } > fallback.c
+                       bash -e ./tinfo/MKfallback.sh $PWD/tmp_info 
../../misc/terminfo.src $BUILD_TIC $BUILD_INFOCMP $(echo %{fallback}|sed 's/,/ 
/g') > fallback.c
        rm -rf $TERMINFO
        unset  TERMINFO
-       cp -p fallback.c ../fallback.c.build
+                       cp -p fallback.c ../../fallback.c.build
        unset LD_LIBRARY_PATH
     popd
     PATH=$OPATH
@@ -663,333 +654,131 @@
     # Now rebuild libncurses and do the rest of this job
     #
     find -name fallback.o -print -delete
-    cp fallback.c.build ncurses/fallback.c
-    make depend
-    make -C c++ etip.h
-    make %{?_smp_mflags}
+                   cp ../fallback.c.build ncurses/fallback.c
+                   %make_build libs
 %else
     (cat > ${PWD}/.build_tic)<<-EOF
        export BUILD_TIC=/usr/bin/tic
        export BUILD_INFOCMP=/usr/bin/infocmp
        EOF
 %endif
-    # must not use %jobs here (would lead to: ln: ncurses.h already exists)
-    find man/ -name '*.[1-8]x.*' -print -delete
-    make install DESTDIR=%{root} includedir=%{_incdir}/ 
includesubdir=/ncursesw libdir=%{_libdir}
+               else
+                   #
+                   # Now rebuild libncurses and do the rest of this job
+                   #
+                   %make_build libs
+               fi
+               popd
+           done
+       done
+    done
+
+    pushd build.wt6
+       make install DESTDIR=%{root} includesubdir=/ncursesw
 %if %{with onlytinfo}
-    # This ensures that we get the libtinfo *with* _nc_read_entry2 symbol as 
well
+       # This ensures that we get an auxiliary libtinfow *with* 
_nc_read_entry2 symbol as well
     gcc $CFLAGS $LDFLAGS -fPIC -shared 
-Wl,--auxiliary=libtinfo.so.6,-soname,libtinfow.so.6,-stats,-lc \
         -Wl,--version-script,ncurses/resulting.map -o 
%{root}%{_libdir}/libtinfow.so.%{basevers}
     cp -p %{root}%{_libdir}/libtinfo.so.%{basevers}  
libtinfo.so.%{basevers}.back
     cp -p %{root}%{_libdir}/libtinfow.so.%{basevers} 
libtinfow.so.%{basevers}.back
 %endif
     ln -sf %{_incdir}/ncurses/{curses,ncurses,term,termcap}.h %{root}%{_incdir}
-    mkdir pc
-    PKG_CONFIG_PATH=$PWD/pc:$(pkg-config --variable pc_path pkg-config)
-    export PKG_CONFIG_PATH
+       pushd man
+           bash ../edit_man.sh normal installing %{root}%{_mandir} . 
ncurses6-config.1
+       popd
     rm -vf %{root}%{_libdir}/pkgconfig/tic.pc
     rm -vf %{root}%{_libdir}/pkgconfig/tinfo.pc
     mv -vf %{root}%{_libdir}/pkgconfig/*.pc pc/
     sed -ri 's@^(Requires.private:).*@\1@'  pc/*.pc
-    echo $PKG_CONFIG_PATH
-    what=ncursesw
-    cflags="$(pkg-config --cflags $what)"
-      libs="$(pkg-config --libs   $what)"
+       cflags="$(pkg-config --cflags ncursesw)"
+       libs="$(pkg-config --libs   ncursesw)"
     test -n "$cflags" -a -n "$libs" || exit 1
-    bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" 
%{root}%{_bindir}/${what}6-config
-
-    #
-    # Some tests
-    #
-%if 0%{?_crossbuild}
-       echo "Skipping tests due to cross-building"
-%else
+       bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" 
%{root}%{_bindir}/ncursesw6-config
     #
     # Check for tack program on base of above ncurses
     #
     LD_LIBRARY_PATH=$PWD/lib
     export LD_LIBRARY_PATH PATH
-    pushd tack/
+       pushd ../tack/
        OCFLAGS="$CFLAGS"
        OLDFLAGS="$LDFLAGS"
-       OPKG_CONFIG_PATH="$PKG_CONFIG_PATH"
        CFLAGS="$CFLAGS -I%{root}%{_incdir}/ncursesw/ -I%{root}%{_incdir}/ 
-fPIE" \
        LDFLAGS="$LDFLAGS  -Wl,-rpath-link=%{root}%{_libdir} 
-L%{root}%{_libdir} -pie" \
-       PKG_CONFIG_PATH=${PWD}/../pc/ \
-       %configtack --with-ncursesw --disable-rpath-hack
+           %configback --with-ncursesw --disable-rpath-hack
        make %{?_smp_mflags}
        CFLAGS="$OCFLAGS"
        LDFLAGS="$OLDFLAGS"
-       PKG_CONFIG_PATH="$OPKG_CONFIG_PATH"
        ldd ./tack
+           make install DESTDIR=%{root} INSTALL_PROG=install
     popd
-    unset LD_LIBRARY_PATH
-%if 0%{?suse_version} > 1500
+%if !0%{?_crossbuild}
     #
-    # Make the test suite for ncursesw6
+       # Include the various ncurses tests here
     #
-    pushd test
+       pushd ../test/
        CFLAGS="$CFLAGS -I%{root}%{_incdir}/ncursesw/ -I%{root}%{_incdir}/" \
        LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} 
-L%{root}%{_libdir}" \
        LIBS="$LDFLAGS" \
-       ./configure --with-ncursesw --with-screen=ncursesw --enable-widec 
--enable-wattr-macros --prefix=%{_prefix} --datadir=%{_datadir}/ncurses
-
-       LD_LIBRARY_PATH=%{root}%{_libdir} \
-%if %{with usepcre2}
-       make %{?_smp_mflags} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw 
-lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread 
-lpcre2-posix -lpcre2-8'
-       make install DESTDIR=${PWD} TEST_ARGS='-lformw -lmenuw -lpanelw 
-lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil 
-lpthread -lpcre2-posix -lpcre2-8'
-%else
-       make %{?_smp_mflags} TEST_ARGS='-lformw -lmenuw -lpanelw -lncursesw 
-lticw -l%{soname_tinfo} -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
-       make install DESTDIR=${PWD} INSTALL_PROG=install TEST_ARGS='-lformw 
-lmenuw -lpanelw -lncursesw -lticw -l%{soname_tinfo} -Wl,--as-needed' 
TEST_LIBS='-lutil -lpthread'
-%endif
-       mv usr usr.back
-       cp Makefile Makefile.back
-       make distclean
-    popd
-%endif
-%endif
-    pushd tack/
-        make install DESTDIR=%{root} INSTALL_PROG=install
-    popd
-    test ! -L tack || rm -f tack
-    make clean
-    #
-    # Now use --without-pthread to disable pthread support (abi == 5).
-    #
-    > $SCREENLOG
-    tail -q -s 0.5 -f $SCREENLOG & pid=$!
-
-    eval screen -D -m ./${c#*./} --with-abi-version=5          \
-                                   --without-manpages          \
-                                   --without-progs             \
-                                   --without-tack              \
-                                   --without-pthread           \
-                                   --disable-reentrant         \
-                                   --disable-opaque-curses     \
-                                   --disable-opaque-form       \
-                                   --disable-opaque-menu       \
-                                   --disable-opaque-panel      \
-                                   --disable-ext-mouse         \
-                                   --disable-widec             \
-                                   --disable-wattr-macros      \
-%if %{with usepcre2}
-                                   --without-pcre2             \
-%endif
-                                   --with-termlib=tinfo        \
-                                   --with-ticlib=tic           \
-%if %{with symversion}
-                                   
--with-versioned-syms=${PWD}/package/ncurses.map \
-%endif
-                                   --disable-ext-colors        \
-                                   --disable-overwrite         \
-                                   --without-progs
-    sleep 1
-    kill $pid
-%if !0%{?_crossbuild}
-    find -name fallback.o -print -delete
-    cp fallback.c.build ncurses/fallback.c
-%endif
-    make depend
-    make -C c++ etip.h
-    make %{?_smp_mflags}
-    sed -ri 's@^(LDFLAGS=)$@\1-L\\${libdir}@
-            s@^(libdir=).show_libdir@\1%{_libdir}/ncurses5@
-            s@^(includedir=).show_includedir@\1%{_incdir}/ncurses5@' 
misc/gen-pkgconfig
-    # must not use %jobs here (would lead to: ln: ncurses.h already exists)
-    make install.libs install.includes DESTDIR=%{root} 
includedir=%{_incdir}/ncurses5/ includesubdir=/ncurses 
libdir=%{_libdir}/ncurses5
-    ln -sf %{_incdir}/ncurses5/ncurses/{curses,ncurses,term}.h 
%{root}%{_incdir}/ncurses5/
-    pushd man
-       bash ../edit_man.sh normal installing %{root}%{_mandir} . 
ncurses5-config.1
-    popd
-    for pc in %{root}%{_libdir}/pkgconfig/*.pc
+           %configback --with-ncursesw --with-screen=ncursesw --enable-widec 
--enable-wattr-macros --datadir=%{_datadir}/ncurses
+           make %{?_smp_mflags} \
+               TEST_ARGS="-lformw -lmenuw -lpanelw -lncursesw -lticw 
-l%{soname_tinfo} -Wl,--as-needed" \
+               TEST_LIBS="-lutil -lpthread %{?with_usepcre2:-lpcre2-posix 
-lpcre2-8}"
+           make install DESTDIR=%{root} INSTALL_PROG=install \
+               TEST_ARGS="-lformw -lmenuw -lpanelw -lncursesw -lticw 
-l%{soname_tinfo} -Wl,--as-needed" \
+               TEST_LIBS="-lutil -lpthread %{?with_usepcre2:-lpcre2-posix 
-lpcre2-8}"
+           CFLAGS="$OCFLAGS"
+           LDFLAGS="$OLDFLAGS"
+           mkdir -p %{root}%{_mandir}/man6
+           for man in *.6
     do
-       test -e "$pc" || break
-       base=${pc%%.pc}
-       base=${base##*/}
-       sed -ri '\@includedir=@i\
-includedir5=%{_incdir}/ncurses5' "$pc"
-       sed -ri 's@^(includedir=).*@\1${includedir5}/ncurses@' "$pc"
-       sed -ri 's@^(libdir=).*@\1%{_libdir}/ncurses5@' "$pc"
-       sed -ri 's@^(Libs: )(.*)@\1-L${libdir}\2@' "$pc"
-       mv -f $pc pc/${base}5.pc
-       sed -ri 's@^(Cflags:.*)(-I.*)@\1-I${includedir5} \2@' pc/${base}5.pc
-       sed -ri 's@^(Requires.private:).*@\1@'             pc/${base}5.pc
+               install -m 0644 $man %{root}%{_mandir}/man6/
     done
-    echo $PKG_CONFIG_PATH
-    what=ncurses5
-    cflags="$(pkg-config --cflags $what)"
-      libs="$(pkg-config --libs   $what)"
-    test -n "$cflags" -a -n "$libs" || exit 1
-    bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" 
%{root}%{_bindir}/${what}-config
-
-    #
-    # Now use --disable-widec for narrow character support.
-    # The libs with 16 bit wide characters are binary incompatible
-    # to the normal 8bit wide character libs.
-    #
-    make clean
-    > $SCREENLOG
-    tail -q -s 0.5 -f $SCREENLOG & pid=$!
-    eval screen -D -m ./${c#*./} --with-pthread                        \
-                                   --without-manpages          \
-                                   --without-progs             \
-                                   --without-tack              \
-                                   --enable-reentrant          \
-                                   --enable-opaque-curses      \
-                                   --enable-opaque-form        \
-                                   --enable-opaque-menu        \
-                                   --enable-opaque-panel       \
-                                   --enable-ext-mouse          \
-                                   --disable-widec             \
-                                   --disable-wattr-macros      \
-                                   --with-termlib=tinfo        \
-                                   --with-ticlib=tic           \
-%if %{with symversion}
-                                   
--with-versioned-syms=${PWD}/package/ncursest.map \
-%endif
-                                   --enable-ext-colors         \
-                                   --disable-overwrite         \
-                                   --without-progs
-    sleep 1
-    kill $pid
-%if !0%{?_crossbuild}
-    find -name fallback.o -print -delete
-    cp fallback.c.build ncurses/fallback.c
+           install -m 0755 %{S:8} %{root}%{_libexecdir}/ncurses-examples/
+       popd
 %endif
-    make depend
-    make -C c++ etip.h
-    make %{?_smp_mflags}
-    # must not use %jobs here (would lead to: ln: ncurses.h already exists)
-    make install.libs install.includes DESTDIR=%{root} includedir=%{_incdir}/ 
includesubdir=/ncurses libdir=%{_libdir}
+       unset LD_LIBRARY_PATH
+    popd
+    pushd build.t6
+       make install.libs DESTDIR=%{root} includesubdir=/ncurses
 %if %{with onlytinfo}
     # This ensures that we get the libtinfo *with* _nc_read_entry2 symbol as 
well
-    cp -p libtinfo.so.%{basevers}.back  
%{root}%{_libdir}/libtinfo.so.%{basevers}
-    cp -p libtinfow.so.%{basevers}.back 
%{root}%{_libdir}/libtinfow.so.%{basevers}
+       cp -p ../build.wt6/libtinfo.so.%{basevers}.back  
%{root}%{_libdir}/libtinfo.so.%{basevers}
+       cp -p ../build.wt6/libtinfow.so.%{basevers}.back 
%{root}%{_libdir}/libtinfow.so.%{basevers}
 %endif
     pushd man
        bash ../edit_man.sh normal installing %{root}%{_mandir} . 
ncurses6-config.1
     popd
     mv -f %{root}%{_libdir}/pkgconfig/*.pc pc/
     sed -ri 's@^(Requires.private:).*@\1@' pc/*.pc
-    echo $PKG_CONFIG_PATH
-    what=ncurses
-    cflags="$(pkg-config --cflags $what)"
-      libs="$(pkg-config --libs   $what)"
+       cflags="$(pkg-config --cflags ncurses)"
+         libs="$(pkg-config --libs   ncurses)"
     test -n "$cflags" -a -n "$libs" || exit 1
-    bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" 
%{root}%{_bindir}/${what}6-config
-
-    #
-    # Some tests
-    #
-%if 0%{?_crossbuild} || 0%{?suse_version} <= 1500
-       echo "Skipping tests due to cross-building"
-%else
-    #
-    # Make the test suite for ncurses6
-    #
-    pushd test
-       CFLAGS="$CFLAGS -I%{root}%{_incdir}ncurses/ -I%{root}%{_incdir}/" \
-       LDFLAGS="$LDFLAGS -Wl,-rpath-link=%{root}%{_libdir} 
-L%{root}%{_libdir}" \
-       LIBS="$LDFLAGS" \
-       ./configure --with-ncurses --with-screen=ncurses --disable-widec 
--disable-wattr-macros --prefix=%{_prefix} --datadir=%{_datadir}/ncurses
-       LD_LIBRARY_PATH=%{root}%{_libdir} \
-%if %{with usepcre2}
-       make %{?_smp_mflags} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic 
-ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix -lpcre2-8'
-       make install DESTDIR=${PWD} TEST_ARGS='-lform -lmenu -lpanel -lncurses 
-ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread -lpcre2-posix 
-lpcre2-8'
-%else
-       make %{?_smp_mflags} TEST_ARGS='-lform -lmenu -lpanel -lncurses -ltic 
-ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
-       make install DESTDIR=${PWD} TEST_ARGS='-lform -lmenu -lpanel -lncurses 
-ltic -ltinfo -Wl,--as-needed' TEST_LIBS='-lutil -lpthread'
-%endif
-       rm -rf usr/
-       make distclean
+       bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" 
%{root}%{_bindir}/ncurses6-config
     popd
-%endif
-    test ! -L tack || rm -f tack
-    make clean
-    #
-    # ABI == 5
-    #
-    > $SCREENLOG
-    tail -q -s 0.5 -f $SCREENLOG & pid=$!
 
-    #
-    # Now use --without-pthread to disable pthread support (abi == 5).
-    #
-    eval screen -D -m ./${c#*./} --with-abi-version=5          \
-                                   --without-manpages          \
-                                   --without-progs             \
-                                   --without-tack              \
-                                   --without-pthread           \
-                                   --disable-reentrant         \
-                                   --disable-opaque-curses     \
-                                   --disable-opaque-form       \
-                                   --disable-opaque-menu       \
-                                   --disable-opaque-panel      \
-                                   --disable-ext-mouse         \
-                                   --enable-widec              \
-                                   --enable-wattr-macros       \
-%if %{with usepcre2}
-                                   --without-pcre2             \
-%endif
-                                   --with-termlib=%{soname_tinfo}      \
-                                   --with-ticlib=ticw          \
-%if %{with symversion}
-                                   
--with-versioned-syms=${PWD}/package/ncursesw.map \
-%endif
-                                   --disable-ext-colors        \
-                                   --disable-overwrite         \
-                                   --without-progs
-    sleep 1
-    kill $pid
-%if !0%{?_crossbuild}
-    find -name fallback.o -print -delete
-    cp fallback.c.build ncurses/fallback.c
-%endif
-    make depend
-    make -C c++ etip.h
-    make %{?_smp_mflags}
-    sed -ri 's@^(LDFLAGS=)$@\1-L\\${libdir}@
-            s@^(libdir=).show_libdir@\1%{_libdir}/ncurses5@
-            s@^(includedir=).show_includedir@\1%{_incdir}/ncurses5/ncursesw@' 
misc/gen-pkgconfig
-    # must not use %jobs here (would lead to: ln: ncurses.h already exists)
-    make install.libs install.includes DESTDIR=%{root} 
includedir=%{_incdir}/ncurses5/ includesubdir=/ncursesw 
libdir=%{_libdir}/ncurses5
+%install
+    make -C build.5  install.libs DESTDIR=%{buildroot}
+    make -C build.w5 install.libs DESTDIR=%{buildroot}
+    make -C build.6  install.libs DESTDIR=%{buildroot} 
libdir=%{_libdir}/ncurses6nt
+    make -C build.w6 install.libs DESTDIR=%{buildroot} 
libdir=%{_libdir}/ncurses6nt
+    rm -rvf %{buildroot}%{_bindir}
+    rm -rvf %{buildroot}%{_libdir}/pkgconfig
+    rm -rvf %{buildroot}%{_incdir}
+    rm -vf  %{buildroot}%{_libdir}/*.{so,a}
+    rm -vf  %{buildroot}%{_libdir}/ncurses6nt/*.{so,a}
+    pushd build.t6/man
+       bash ../edit_man.sh normal installing %{root}%{_mandir} . 
ncurses6-config.1
+    popd
+    make -C build.t6 install.{libs,includes} DESTDIR=%{buildroot} 
DESTDIR=%{buildroot} includesubdir=/ncurses
 %if %{with onlytinfo}
     gcc $CFLAGS $LDFLAGS -fPIC -shared 
-Wl,--auxiliary=libtinfo.so.5,-soname,libtinfow.so.5,-stats,-lc \
-       -Wl,--version-script,package/ncursesw.map -o 
%{root}%{_libdir}/libtinfow.so.5.9
-%endif
-    pushd man
-       bash ../edit_man.sh normal installing %{root}%{_mandir} . 
ncursesw5-config.1
-    popd
-    rm -vf %{root}%{_libdir}/pkgconfig/tic.pc
-    rm -vf %{root}%{_libdir}/pkgconfig/tinfo.pc
-    for pc in %{root}%{_libdir}/pkgconfig/*.pc
-    do
-       test -e "$pc" || break
-       base=${pc%%.pc}
-       base=${base##*/}
-       sed -ri '\@includedir=@i\
-includedir5=%{_incdir}/ncurses5' "$pc"
-       sed -ri 's@^(includedir=).*@\1${includedir5}/ncursesw@' "$pc"
-       sed -ri 's@^(libdir=).*@\1%{_libdir}/ncurses5@' "$pc"
-       sed -ri 's@^(Libs: )(.*)@\1-L${libdir}\2@' "$pc"
-       mv -f $pc pc/${base}5.pc
-       sed -ri 's@^(Cflags:.*)(-I.*)@\1-I${includedir5} \2@' pc/${base}5.pc
-       sed -ri 's@^(Requires.private:).*@\1@'             pc/${base}5.pc
-    done
-    echo $PKG_CONFIG_PATH
-    what=ncursesw5
-    cflags="$(pkg-config --cflags $what)"
-      libs="$(pkg-config --libs   $what)"
-    test -n "$cflags" -a -n "$libs" || exit 1
-    bash %{S:6} --cflags "${cflags%%%% }" --libs "${libs%%%% }" 
%{root}%{_bindir}/${what}-config
-
-%install
-%if %{with usepcre2}
-    pcre2="-lpcre2-posix -lpcre2-8"
-%else
-    pcre2=""
+       -Wl,--version-script,build.w5/package/ncursesw.map -o 
%{buildroot}%{_libdir}/libtinfow.so.5.9
+    gcc $CFLAGS $LDFLAGS -fPIC -shared 
-Wl,-rpath-link=%{buildroot}%{_libdir}/ncurses6nt \
+       -Wl,--auxiliary=libtinfo.so.6,-soname,libtinfow.so.6,-stats,-lc \
+       -Wl,--version-script,build.w6/package/ncursesw.map -o 
%{buildroot}%{_libdir}/ncurses6nt/libtinfow.so.%{basevers}
 %endif
     PATH=$PWD/gzip:$PATH
+    # this is build.wt6
     (cd %{root}/; tar -cpSf - *)|tar -xpsSf - -C %{buildroot}/
     rm -rf %{root}
     for model in libncurses libncursest libncursesw libncursestw libtinfo 
libtinfow libtic libticw
@@ -1007,12 +796,12 @@
            libncursesw*)
                rm -f ${lnk}
                echo '/* GNU ld script */'                      >  ${lnk}
-               echo "INPUT(${lib} AS_NEEDED(-l%{soname_tinfo} -ldl $pcre2))" 
>> ${lnk}
+               echo "INPUT(${lib} AS_NEEDED(-l%{soname_tinfo} -ldl 
%{?with_usepcre2:-lpcre2-posix -lpcre2-8}))" >> ${lnk}
                ;;
            libncurses*)
                rm -f ${lnk}
                echo '/* GNU ld script */'                      >  ${lnk}
-               echo "INPUT(${lib} AS_NEEDED(-ltinfo -ldl $pcre2))" >> ${lnk}
+               echo "INPUT(${lib} AS_NEEDED(-ltinfo -ldl 
%{?with_usepcre2:-lpcre2-posix -lpcre2-8}))" >> ${lnk}
                ;;
            *)  ln -sf ${lib} %{buildroot}%{_libdir}/${model}.so
            esac
@@ -1210,34 +999,21 @@
 #
     cp -p pc/*.pc %{buildroot}%{_libdir}/pkgconfig/
 
-#
-# Install test binaries and, if exists, the manual pages
-#
-pushd test
-    mv usr.back usr
-    mkdir -p ./%{_mandir}/man6
-    cp -p $(find -name '*.6') .%{_mandir}/man6/
-    (cd usr/; tar -cpSf - .) | tar -xpsSf - -C %{buildroot}%{_prefix}
-    install -m 0755 %{S:8} %{buildroot}%{_libexecdir}/ncurses-examples/
-popd
-
+%check
 %if 0%{?_crossbuild}
-# No test here
+echo No test here
 %else
-
-%check
 LD_LIBRARY_PATH=%{buildroot}%{_libdir}
 export LD_LIBRARY_PATH
 nm -D %{buildroot}%{_libdir}/libncursesw.so.%{basevers} | grep -q in_wch
 %if %{with onlytinfo}
 nm -D %{buildroot}%{_libdir}/libtinfo.so.%{basevers} | grep -q _nc_read_entry2
 %endif
-%if 0%{?suse_version} > 1500
 pushd test
     expect -d <<-'EOF'
        set env(TERM) xterm
        set timeout 20
-       spawn -noecho ".%{_libexecdir}/ncurses-examples/newdemo"
+       spawn -noecho "%{buildroot}%{_libexecdir}/ncurses-examples/newdemo"
        send -- "x"
        sleep 5
        send -- "x"
@@ -1249,7 +1025,6 @@
        EOF
 popd
 %endif
-%endif
 
 %post   -n libncurses5 -p /sbin/ldconfig
 
@@ -1312,6 +1087,11 @@
 %defattr(-,root,root)
 %{_libdir}/lib*.so.6*
 
+%files -n libncurses6-compat
+%defattr(-,root,root)
+%dir %{_libdir}/ncurses6nt/
+%{_libdir}/ncurses6nt/lib*.so.6*
+
 %files -n ncurses-devel
 %defattr(-,root,root)
 %dir %{_defaultdocdir}/ncurses/
@@ -1337,23 +1117,6 @@
 %files -n ncurses-devel-static
 %{_libdir}/lib*.a
 
-%files -n ncurses5-devel
-%defattr(-,root,root)
-%{_bindir}/ncurses*5-config
-%dir %{_incdir}/ncurses5/
-%dir %{_incdir}/ncurses5/ncurses/
-%dir %{_incdir}/ncurses5/ncursesw/
-%{_incdir}/ncurses5/*.h
-%{_incdir}/ncurses5/ncurses/*.h
-%{_incdir}/ncurses5/ncursesw/*.h
-%dir %{_libdir}/ncurses5/
-%{_libdir}/ncurses5/lib*.so
-%{_libdir}/pkgconfig/*5.pc
-%doc %{_mandir}/man1/ncurses*5-config.1%{ext_man}
-
-%files -n ncurses5-devel-static
-%{_libdir}/ncurses5/lib*.a
-
 %files -n tack
 %defattr(-,root,root)
 %{_bindir}/tack

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.SmwGhk/_old  2025-02-03 21:42:21.923633811 +0100
+++ /var/tmp/diff_new_pack.SmwGhk/_new  2025-02-03 21:42:21.927633977 +0100
@@ -8,7 +8,4 @@
 ncurses-devel
   requires -ncurses-<targettype>
   requires "libncurses6-<targettype> = <version>"
-ncurses5-devel
-  requires -ncurses-<targettype>
-  requires "libncurses5-<targettype> = <version>"
 


++++++ ncurses-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.SmwGhk/_old  2025-02-03 21:42:22.015637625 +0100
+++ /var/tmp/diff_new_pack.SmwGhk/_new  2025-02-03 21:42:22.019637791 +0100
@@ -1,7 +1,5 @@
 addFilter(".*files-duplicate.*")
 addFilter(".*non-etc-or-var-file-marked-as-conffile.*")
 addFilter(".*macro-in-comment.*jobs.*")
-addFilter(".*E:.*no-library-dependency-for.*/usr/lib.*/ncurses5/\.\./libform\.so\.5.*")
-addFilter(".*E:.*obsolete-suse-version-check.*")
 addFilter(".*terminfo.*E:.no-binary.*")
 

Reply via email to