From 7850a4c80f48f96787a4f42b9805949000b2367a Mon Sep 17 00:00:00 2001 From: Ray-V Date: Sun, 2 Dec 2018 13:33:55 +0000 Subject: [PATCH] Patches for glibc issues in tdebase build tidied BUILD-TDE.sh modified checks for tdeaddons options modified minimal packaging in tqt3 build --- BUILD-TDE.sh | 29 ++++---------- Core/tdeaddons/tdeaddons.SlackBuild | 10 ++--- Core/tdebase/tdebase.SlackBuild | 62 +++++++++++++++++++++++++++-- Deps/tqt3/tqt3.SlackBuild | 26 ++++++++---- 4 files changed, 89 insertions(+), 38 deletions(-) diff --git a/BUILD-TDE.sh b/BUILD-TDE.sh index e0fbee4..25b2baa 100755 --- a/BUILD-TDE.sh +++ b/BUILD-TDE.sh @@ -36,7 +36,7 @@ Select \Zr\Z4\ZbNew\Zn if: Selecting <\Z1R\Zb\Z0e-use\Zn> avoids having to create the build list again when re-running the build for any SlackBuilds that failed." \ 13 75 [[ $? == 0 ]] && echo no > $TMPVARS/build-new -[[ $? == 1 ]] && rm $TMPVARS/TDEbuilds +[[ $? == 1 ]] && rm -f $TMPVARS/TDEbuilds build_core() @@ -267,19 +267,6 @@ $(xzless Core/tde-i18n/langcodes.xz |sed 's|\t\+|\t|g'|cut -f 1,3-| tr "\n" X | 26 75 done -<<'comment' -rm -f $TMPVARS/TQT_DOCS -dialog --cr-wrap --no-shadow --colors --defaultno --title " TQt html Documentation " --yesno \ -" -TQt html documentation is ~21M. - -Include it in the package? -" \ -9 75 -[[ $? == 0 ]] && echo yes > $TMPVARS/TQT_DOCS -[[ $? == 1 ]] && echo no > $TMPVARS/TQT_DOCS -comment - rm -f $TMPVARS/EXIT_FAIL dialog --cr-wrap --defaultno --yes-label "Continue" --no-label "Stop" --no-shadow --colors --title " Action on failure " --yesno \ @@ -329,7 +316,7 @@ Select \Zr\Zb\Z4No\Zn here if they have already been built and installed and you export SELECT=$(cat $TMPVARS/SELECT) -rm $TMPVARS/PREPEND +rm -f $TMPVARS/PREPEND EXITVAL=2 until [[ $EXITVAL -lt 2 ]] ; do dialog --cr-wrap --no-shadow --yes-label "Prepend" --help-button --help-label "README" --no-label "Default" --colors --defaultno --title " Libraries Search Path " --yesno \ @@ -466,23 +453,23 @@ rm -f $TMPVARS/TQT_OPTS [[ $(grep -o tqt3 $TMPVARS/TDEbuilds) ]] && { dialog --cr-wrap --nocancel --no-shadow --colors --title " TQt options " --item-help --checklist \ " -A minimal build of tqt3 will install only the run-time library required for TDE, and the headers and binaries required to build most of TDE. +A minimal packaging of tqt3 will install only the run-time library required for TDE, and the headers and binaries required to build most of TDE. -But tdepim, ksquirrel, and tdevelop need additional libraries. If you select a minimal build and intend to build any of those at any time, select building their required libs now. +But tdepim, ksquirrel, and tdevelop need additional libraries. If you select minimal packaging and intend to build any of those at any time, select keeping their required libs now. TQt html documentation is ~21M, and can be excluded from the package. " \ 21 75 4 \ -" minimal" "Minimal build" off "\Zb\Z6 Exclude libs and binaries not required for TDE \Zn" \ -" pim_ksq" "Build lib for tdepim and/or ksquirrel" off "\Zb\Z6 Only required if minimal build selected \Zn" \ -" tdevel" "Build lib for tdevelop - also needs pim_ksq" off "\Zb\Z6 Only required if minimal build selected \Zn" \ +" minimal" "Minimal packaging" off "\Zb\Z6 Exclude libs and binaries not required for TDE \Zn" \ +" pim_ksq" "Keep lib for tdepim and/or ksquirrel" off "\Zb\Z6 Only required if minimal build selected \Zn" \ +" tdevel" "Keep libs for tdevelop" off "\Zb\Z6 Only required if minimal build selected \Zn" \ " nodocs" "Exclude html documentation" on "\Zb\Z6 \Zn" \ 2> $TMPVARS/TQT_OPTS } ## only run this if tdebase has been selected -rm $TMPVARS/RUNLEVEL +rm -f $TMPVARS/RUNLEVEL [[ $(grep -o tdebase $TMPVARS/TDEbuilds) ]] && { EXITVAL=2 until [[ $EXITVAL -lt 2 ]] ; do diff --git a/Core/tdeaddons/tdeaddons.SlackBuild b/Core/tdeaddons/tdeaddons.SlackBuild index 1994cb7..29ed799 100755 --- a/Core/tdeaddons/tdeaddons.SlackBuild +++ b/Core/tdeaddons/tdeaddons.SlackBuild @@ -103,13 +103,13 @@ done chown_fn -#check for tdegames -[[ $(ls /var/log/packages/tdegames-*) ]] && ATLANTIKDESIGNER="ON" +# check for libatlantic [tdegames] +[[ $(ls $INSTALL_TDE/lib/libatlantic.so.*) ]] && ATLANTIKDESIGNER="ON" -#check for tdepim -[[ $(ls /var/log/packages/tdepim-*) ]] && KADDRESSBOOK_PLUGINS="ON" +# check for kaddressbook in tdepim +[[ $(ls $INSTALL_TDE/share/cmake/kaddressbook.cmake) ]] && KADDRESSBOOK_PLUGINS="ON" -# Check for tdemultimedia +# check for tdemultimedia [[ $(ls $INSTALL_TDE/include/arts/artsmodules.h) ]] && NOATUN_PLUGINS="ON" cd_builddir_fn diff --git a/Core/tdebase/tdebase.SlackBuild b/Core/tdebase/tdebase.SlackBuild index 27c288f..a465b3b 100755 --- a/Core/tdebase/tdebase.SlackBuild +++ b/Core/tdebase/tdebase.SlackBuild @@ -73,8 +73,8 @@ echo $' + ' | while read line do -patch -p0 -done +patch -N -p0 +done || true ## enable konqueror filemanagement ViewMode to be set - TDE bug 1963 echo $' @@ -104,8 +104,62 @@ echo $' +X-TDE-BrowserView-Built-Into=konqueror ' | while read line do -patch -p0 -done +patch -N -p0 +done || true + +## linux/stat.h:56:8: error: redefinition of struct statx_timestamp +## glibc-2.28 issue - commit de4afaaf00 +echo $'--- kdesktop/lock/lockprocess.cc ++++ kdesktop/lock/lockprocess.cc +@@ -82,3 +81,0 @@ +-#ifdef __linux__ +-#include +-#endif +' | while read line +do +patch -N -p0 +done || true + +## commit f6a5cd3e - rpc functions +echo $' +--- tdeioslave/ConfigureChecks.cmake ++++ tdeioslave/ConfigureChecks.cmake +@@ -26,0 +27,18 @@ ++ ++# rpc/rpc.h, originally was shipped with glibc ... ++check_include_file( rpc/rpc.h HAVE_RPC_H ) ++# ... but later might be not present (deprecated from 2.26) ++if( NOT HAVE_RPC_H ) ++ pkg_search_module( TIRPC libtirpc ) ++ if( NOT TIRPC_FOUND ) ++ tde_message_fatal( "rpc/rpc.h is required, please check your glibc or libtirpc package" ) ++ endif( ) ++endif( ) ++ ++message( STATUS "Looking for rpcgen" ) ++find_program( RPCGEN_BINARY rpcgen ) ++if( RPCGEN_BINARY ) ++ message( STATUS "Looking for rpcgen - ${RPCGEN_BINARY}" ) ++else( RPCGEN_BINARY ) ++ tde_message_fatal( "rpcgen is required, but not found on your system" ) ++endif( RPCGEN_BINARY ) +--- tdeioslave/nfs/CMakeLists.txt ++++ tdeioslave/nfs/CMakeLists.txt +@@ -17,0 +18 @@ ++ ${TIRPC_INCLUDE_DIRS} +@@ -35 +36 @@ +- COMMAND rpcgen -c -o mount_xdr.c ${CMAKE_CURRENT_SOURCE_DIR}/mount.x ++ COMMAND ${RPCGEN_BINARY} -c -o mount_xdr.c ${CMAKE_CURRENT_SOURCE_DIR}/mount.x +@@ -39 +40 @@ +- COMMAND rpcgen -c -o nfs_prot_xdr.c ${CMAKE_CURRENT_SOURCE_DIR}/nfs_prot.x ++ COMMAND ${RPCGEN_BINARY} -c -o nfs_prot_xdr.c ${CMAKE_CURRENT_SOURCE_DIR}/nfs_prot.x +@@ -44 +45 @@ +- LINK tdeio-shared ++ LINK tdeio-shared ${TIRPC_LIBRARIES} +' | while read line +do +patch -N -p0 +done || true chown_fn diff --git a/Deps/tqt3/tqt3.SlackBuild b/Deps/tqt3/tqt3.SlackBuild index 4a61685..ec45b5c 100755 --- a/Deps/tqt3/tqt3.SlackBuild +++ b/Deps/tqt3/tqt3.SlackBuild @@ -62,6 +62,20 @@ patch -p0 done } +## don't install html docs if 'nodocs' has been selected +[[ $TQT_OPTS == *nodocs* ]] && sed -i '/htmldocs/d' src/qt_install.pri + +## for a minimal build +[[ $TQT_OPTS == *minimal* ]] && { +sed -i '/translations/d' src/qt_install.pri +sed -i '/phrasebooks/d' tools/linguist/linguist/linguist.pro +sed -i '/templates/d' tools/designer/designer/designer.pro +## only need linux-g++ +mv mkspecs/linux-g++ ../ +rm -rf mkspecs/* +mv ../linux-g++ mkspecs/ +} + listdocs_fn chown_fn @@ -103,24 +117,20 @@ echo "yes" | CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" \ -R-Wl,-rpath,\'\\\$\$ORIGIN/../lib\' ## don't build tutorial and examples which won't be installed because the release version is being built -make $NUMJOBS symlinks src-qmake src-moc sub-src sub-tools || exit 1 +make -i $NUMJOBS symlinks src-qmake src-moc sub-src sub-tools || exit 1 make install INSTALL_ROOT=$PKG || exit 1 -[[ $TQT_OPTS == *nodocs* ]] && rm -rf $PKG$TQTDIR-$VERSION/doc +## for a minimal build [[ $TQT_OPTS == *minimal* ]] && { (cd $PKG$TQTDIR-$VERSION/ rm lib/libtqt[de]* -[[ $TQT_OPTS != *tdevel* ]] && rm lib/libtqas* +[[ $TQT_OPTS != *tdevel* ]] && rm lib/libtqas* && { [[ $TQT_OPTS != *pim_ksq* ]] && rm lib/libtqui* +} rm bin/???????* rm bin/tqm2ts rm -rf plugins/designer -rm -rf phrasebooks -rm -rf templates (cd mkspecs -mv linux-g++ ../ -rm -rf * -mv ../linux-g++ . ln -s linux-g++ default ))}