Skip to content
Permalink
Browse files

Patches for glibc issues in tdebase build

tidied BUILD-TDE.sh
modified checks for tdeaddons options
modified minimal packaging in tqt3 build
  • Loading branch information...
Ray-V committed Dec 2, 2018
1 parent cef7c9b commit 7850a4c80f48f96787a4f42b9805949000b2367a
Showing with 89 additions and 38 deletions.
  1. +8 −21 BUILD-TDE.sh
  2. +5 −5 Core/tdeaddons/tdeaddons.SlackBuild
  3. +58 −4 Core/tdebase/tdebase.SlackBuild
  4. +18 −8 Deps/tqt3/tqt3.SlackBuild
@@ -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
@@ -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
@@ -73,8 +73,8 @@ echo $'
+ <pos x="435" y="260" anchor="s" />
' | 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 <linux/stat.h>
-#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

@@ -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
))}

0 comments on commit 7850a4c

Please sign in to comment.
You can’t perform that action at this time.