diff options
Diffstat (limited to 'source/kde/kdelibs')
-rw-r--r-- | source/kde/kdelibs/doinst.sh | 9 | ||||
-rw-r--r-- | source/kde/kdelibs/fixPopupForPlasmaboard.diff | 43 | ||||
-rwxr-xr-x | source/kde/kdelibs/kdelibs.SlackBuild | 97 | ||||
-rw-r--r-- | source/kde/kdelibs/kdesu-allow_NOPASS_in_suauth.patch | 94 | ||||
-rw-r--r-- | source/kde/kdelibs/local.options | 1 | ||||
-rw-r--r-- | source/kde/kdelibs/slack-desc | 19 |
6 files changed, 263 insertions, 0 deletions
diff --git a/source/kde/kdelibs/doinst.sh b/source/kde/kdelibs/doinst.sh new file mode 100644 index 00000000..d7006c70 --- /dev/null +++ b/source/kde/kdelibs/doinst.sh @@ -0,0 +1,9 @@ + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1 +fi + +if [ -x usr/bin/update-mime-database ]; then + /usr/bin/update-mime-database /usr/share/mime >/dev/null 2>&1 +fi + diff --git a/source/kde/kdelibs/fixPopupForPlasmaboard.diff b/source/kde/kdelibs/fixPopupForPlasmaboard.diff new file mode 100644 index 00000000..cf6dec7c --- /dev/null +++ b/source/kde/kdelibs/fixPopupForPlasmaboard.diff @@ -0,0 +1,43 @@ +Index: kdelibs/plasma/popupapplet.cpp +=================================================================== +--- kdelibs/plasma/popupapplet.cpp (Revision 976120) ++++ kdelibs/plasma/popupapplet.cpp (Arbeitskopie) +@@ -275,11 +275,7 @@ + //stuff out of your Dialog (extenders). Monitor WindowDeactivate events so we can + //emulate the same kind of behavior as Qt::Popup (close when you click somewhere + //else. +- dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); +- updateDialogFlags(); +- KWindowSystem::setState(dialog->winId(), NET::SkipTaskbar | NET::SkipPager); +- dialog->installEventFilter(q); +- ++ + q->setMinimumSize(QSize(0, 0)); + if (gWidget) { + Corona *corona = qobject_cast<Corona *>(gWidget->scene()); +@@ -289,14 +285,25 @@ + corona->addOffscreenWidget(gWidget); + dialog->setGraphicsWidget(gWidget); + } ++ ++ dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | (gWidget->windowFlags() & Qt::X11BypassWindowManagerHint)); + } else if (qWidget) { + QVBoxLayout *l_layout = new QVBoxLayout(dialog); + l_layout->setSpacing(0); + l_layout->setMargin(0); + l_layout->addWidget(qWidget); + dialog->adjustSize(); ++ ++ dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | (qWidget->windowFlags() & Qt::X11BypassWindowManagerHint)); + } ++ else { ++ dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); ++ } ++ updateDialogFlags(); ++ KWindowSystem::setState(dialog->winId(), NET::SkipTaskbar | NET::SkipPager); ++ dialog->installEventFilter(q); + ++ + QObject::connect(dialog, SIGNAL(dialogResized()), q, SLOT(dialogSizeChanged())); + QObject::connect(dialog, SIGNAL(dialogVisible(bool)), q, SLOT(dialogStatusChanged(bool))); + } diff --git a/source/kde/kdelibs/kdelibs.SlackBuild b/source/kde/kdelibs/kdelibs.SlackBuild new file mode 100755 index 00000000..656ee667 --- /dev/null +++ b/source/kde/kdelibs/kdelibs.SlackBuild @@ -0,0 +1,97 @@ +#!/bin/sh + +# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-kdelibs + +# Set the config option variables if they are not already set: +if [ -r ../KDE.options ]; then + . ../KDE.options +fi + +# The global options may be overridden here (if needed): +if [ -r ./local.options ]; then + . ./local.options +fi + +# Avoid a version number in .la files: +if [ -d /usr/lib${LIBDIRSUFFIX}/qt ]; then + QTDIR=/usr/lib${LIBDIRSUFFIX}/qt +fi + +rm -rf $PKG +mkdir -p $PKG/usr +cd $TMP +echo "Building kdelibs-$VERSION..." +tar xvf $CWD/../src/kdelibs-$VERSION.tar.?z* || exit 1 +cd kdelibs-$VERSION + +zcat $CWD/fixPopupForPlasmaboard.diff.gz | patch -p1 --verbose || exit 1 +( cd kdesu + zcat $CWD/kdesu-allow_NOPASS_in_suauth.patch.gz | patch -p1 --verbose || exit 1 +) || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DMAN_INSTALL_DIR=/usr/man \ + -DSYSCONF_INSTALL_DIR=/etc/kde \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DKDE_DISTRIBUTION_TEXT="volkerdi@slackware.com" \ + .. + make $NUMJOBS || exit 1 + make install DESTDIR=$PKG || exit 1 +cd - + +if [ -d $PKG/usr/man ]; then + gzip -9 $PKG/usr/man/man?/* +fi + +mkdir -p $PKG/usr/doc/kdelibs-$VERSION +cp -a AUTHORS COPYING* DEBUG INSTALL README TODO \ + $PKG/usr/doc/kdelibs-$VERSION + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $TMP/kdelibs-$VERSION-$ARCH-$BUILD.txz + diff --git a/source/kde/kdelibs/kdesu-allow_NOPASS_in_suauth.patch b/source/kde/kdelibs/kdesu-allow_NOPASS_in_suauth.patch new file mode 100644 index 00000000..8d2168c3 --- /dev/null +++ b/source/kde/kdelibs/kdesu-allow_NOPASS_in_suauth.patch @@ -0,0 +1,94 @@ +diff -Naur kdesu/stub.cpp kdesu.new/stub.cpp +--- kdesu/stub.cpp 2008-05-21 08:08:55.000000000 -0300 ++++ kdesu.new/stub.cpp 2009-08-06 04:06:43.000000000 -0300 +@@ -111,7 +111,7 @@ + if (line.isNull()) + return -1; + +- if (line == "kdesu_stub") ++ if ((line == "kdesu_stub")||(line == "Password authentication bypassed.")) + { + // This makes parsing a lot easier. + enableLocalEcho(false); +diff -Naur kdesu/su.cpp kdesu.new/su.cpp +--- kdesu/su.cpp 2008-05-21 08:08:55.000000000 -0300 ++++ kdesu.new/su.cpp 2009-08-06 04:10:55.000000000 -0300 +@@ -163,7 +163,7 @@ + } + // kDebug(900) << k_lineinfo << "Done StubProcess::exec()"; + +- SuErrors ret = (SuErrors) ConverseSU(password); ++ SuErrors ret = (SuErrors) ConverseSU(password,check); + // kDebug(900) << k_lineinfo << "Conversation returned " << ret; + + if (ret == error) +@@ -172,6 +172,7 @@ + kError(900) << k_lineinfo << "Conversation with su failed\n"; + return ret; + } ++ + if (check == NeedPassword) + { + if (ret == killme) +@@ -235,10 +236,10 @@ + + /* + * Conversation with su: feed the password. +-* Return values: -1 = error, 0 = ok, 1 = kill me, 2 not authorized ++* Return values: -1 = error, 0 = ok, 1 = kill me, 2 = not authorized + */ + +-int SuProcess::ConverseSU(const char *password) ++int SuProcess::ConverseSU(const char *password, int check) + { + enum { WaitForPrompt, CheckStar, HandleStub } state = WaitForPrompt; + int colon; +@@ -265,6 +266,27 @@ + return ok; + } + ++ if (line == "Password authentication bypassed.") ++ { ++ if (check == 2) ++ { ++ unreadLine(line); ++ return ok; ++ } ++ else ++ { ++ if (checkPid(m_Pid)) ++ { ++ state=HandleStub; ++ } ++ else ++ { ++ return error; ++ } ++ } ++ break; ++ } ++ + while(waitMS(fd(),100)>0) + { + // There is more output available, so the previous line +@@ -293,7 +315,7 @@ + } + if ((colon == 1) && (line[j] == ':')) + { +- if (password == 0L) ++ if (password == 0L) + return killme; + if (!checkPid(m_Pid)) + { +diff -Naur kdesu/su.h kdesu.new/su.h +--- kdesu/su.h 2008-05-21 08:08:55.000000000 -0300 ++++ kdesu.new/su.h 2009-08-06 02:50:02.000000000 -0300 +@@ -62,7 +62,7 @@ + + private: + enum SuErrors { error=-1, ok=0, killme=1, notauthorized=2 } ; +- int ConverseSU(const char *password); ++ int ConverseSU(const char *password, int check=NoCheck); + + protected: + virtual void virtual_hook( int id, void* data ); diff --git a/source/kde/kdelibs/local.options b/source/kde/kdelibs/local.options new file mode 100644 index 00000000..a837340d --- /dev/null +++ b/source/kde/kdelibs/local.options @@ -0,0 +1 @@ +BUILD=3 diff --git a/source/kde/kdelibs/slack-desc b/source/kde/kdelibs/slack-desc new file mode 100644 index 00000000..a07f7eff --- /dev/null +++ b/source/kde/kdelibs/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +kdelibs: kdelibs (KDE libraries) +kdelibs: +kdelibs: System libraries and other resources required by KDE. +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: +kdelibs: |