From 39e662ccfbe62ae77d458159d192816171a22f43 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 22 Mar 2012 00:01:28 +0000 Subject: Thu Mar 22 00:01:28 UTC 2012 --- libre/filesystem/PKGBUILD | 53 +++++++------- libre/filesystem/filesystem.install | 26 +++---- libre/kdelibs-libre/PKGBUILD | 17 +++-- libre/kdelibs-libre/fix-kmail-crash.patch | 71 +++++++++++++++++++ .../use-pythondontwritebytecode.patch | 80 ++++++++++++++++++++++ 5 files changed, 203 insertions(+), 44 deletions(-) create mode 100644 libre/kdelibs-libre/fix-kmail-crash.patch create mode 100644 libre/kdelibs-libre/use-pythondontwritebytecode.patch (limited to 'libre') diff --git a/libre/filesystem/PKGBUILD b/libre/filesystem/PKGBUILD index 733d34aa3..e9282b5aa 100644 --- a/libre/filesystem/PKGBUILD +++ b/libre/filesystem/PKGBUILD @@ -1,9 +1,10 @@ -# $Id: PKGBUILD 147201 2012-01-24 06:36:12Z bisson $ +# $Id: PKGBUILD 150594 2012-02-18 18:25:33Z tomegun $ # Maintainer: Tom Gundersen # Maintainer (Parabola): fauno +# Contributor (Parabola): André Silva pkgname=filesystem -pkgver=2011.12 +pkgver=2012.2 pkgrel=2 pkgdesc='Base filesystem for Parabola' arch=('any') @@ -37,51 +38,53 @@ md5sums=('772fe869b921698cc3e6fde73c4ac85a' 'a8a962370cd0128465d514e6a1f74130') package() { - cd ${srcdir} + cd ${pkgdir} # # setup root filesystem # for d in bin boot dev etc home lib/modules media mnt sbin usr var opt srv/http sys run; do - install -d -m755 ${pkgdir}/${d} + install -d -m755 ${d} done - install -d -m555 ${pkgdir}/proc - install -d -m0750 ${pkgdir}/root - install -d -m1777 ${pkgdir}/tmp + install -d -m555 proc + install -d -m0750 root + install -d -m1777 tmp # vsftpd won't run with write perms on /srv/ftp - install -d -m555 -g ftp ${pkgdir}/srv/ftp + install -d -m555 -g ftp srv/ftp # setup /etc - install -d ${pkgdir}/etc/{ld.so.conf.d,skel,profile.d} + install -d etc/{ld.so.conf.d,skel,profile.d} for f in fstab group host.conf hosts issue ld.so.conf motd nsswitch.conf passwd resolv.conf securetty shells profile; do - install -m644 ${srcdir}/${f} ${pkgdir}/etc/ + install -m644 ${srcdir}/${f} etc/ done - ln -s /proc/self/mounts ${pkgdir}/etc/mtab + ln -s /proc/self/mounts etc/mtab for f in gshadow shadow crypttab; do - install -m600 ${srcdir}/${f} ${pkgdir}/etc/ + install -m600 ${srcdir}/${f} etc/ done - touch ${pkgdir}/etc/arch-release - install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first ${pkgdir}/lib/modprobe.d/usb-load-ehci-first.conf + touch etc/arch-release + install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first lib/modprobe.d/usb-load-ehci-first.conf # setup /var - for d in cache/man local opt log/old lib/misc empty; do - install -d -m755 ${pkgdir}/var/${d} + for d in cache/man local opt log/old lib/misc empty run; do + install -d -m755 var/${d} done - install -d -m1777 ${pkgdir}/var/{tmp,spool/mail} + install -d -m1777 var/{tmp,spool/mail,lock} # allow setgid games to write scores - install -d -m775 -g games ${pkgdir}/var/games - ln -s /var/spool/mail ${pkgdir}/var/mail - ln -s /run ${pkgdir}/var/run - ln -s /run/lock ${pkgdir}/var/lock + install -d -m775 -g games var/games + ln -s spool/mail var/mail + # not ready yet, needs possible change in pacman or other magic + # is fixed by initscripts on next boot +# ln -s ../run var/run +# ln -s ../run/lock var/lock # # setup /usr hierarchy # for d in bin include lib sbin share/misc src; do - install -d -m755 ${pkgdir}/usr/${d} + install -d -m755 usr/${d} done for d in $(seq 8); do - install -d -m755 ${pkgdir}/usr/share/man/man${d} + install -d -m755 usr/share/man/man${d} done @@ -89,7 +92,7 @@ package() { # setup /usr/local hierarchy # for d in bin etc games include lib man sbin share src; do - install -d -m755 ${pkgdir}/usr/local/${d} + install -d -m755 usr/local/${d} done - ln -s ../man ${pkgdir}/usr/local/share/man + ln -s ../man usr/local/share/man } diff --git a/libre/filesystem/filesystem.install b/libre/filesystem/filesystem.install index 0ecc27e65..38d21a85b 100644 --- a/libre/filesystem/filesystem.install +++ b/libre/filesystem/filesystem.install @@ -1,24 +1,24 @@ post_install() { [ -f var/log/lastlog ] || : >var/log/lastlog [ -f var/log/wtmp ] || : >var/log/wtmp - [ -f var/log/btmp ] || (: >var/log/btmp && bin/chmod 600 var/log/btmp) + [ -f var/log/btmp ] || (: >var/log/btmp && chmod 600 var/log/btmp) # workaround for bug #7194 # readded due to bug #9465 # please do not remove! - bin/chmod 1777 var/spool/mail tmp var/tmp var/lock + chmod 1777 var/spool/mail tmp var/tmp var/lock } # args: [options] _addgroup() { - if ! bin/grep -q "^$1:" etc/group; then - usr/sbin/groupadd ${@} >/dev/null + if ! getent group "$1"; then + groupadd "$@" >/dev/null fi } # args: [options] _adduser() { - if ! bin/grep -q "^$1:" etc/passwd; then - usr/sbin/useradd ${@} >/dev/null + if ! getent passwd "$1"; then + useradd "$@" >/dev/null fi } @@ -37,23 +37,23 @@ post_upgrade() { _addgroup games -g 50 _addgroup uucp -g 14 _addgroup http -g 33 - _adduser http -u 33 -d /srv/http -g http -s /bin/false http + _adduser http -u 33 -d /srv/http -g http -s /bin/false _addgroup scanner -g 96 _addgroup rfkill -g 24 # sync gshadow to group (fixes FS#19869 - if ! bin/grep -q '^rfkill:' etc/gshadow; then - usr/sbin/grpconv >/dev/null + if ! grep -q '^rfkill:' etc/gshadow; then + grpconv >/dev/null fi - if ! bin/grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf; then - bin/echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf + if ! grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf; then + echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf fi # set "Last password change" > 0; otherwise su $user wont work for user in bin daemon mail ftp http nobody; do - if LANG=C usr/bin/chage -l ${user} | bin/grep -q 'password must be changed'; then - usr/bin/chage -d 14871 ${user} + if LANG=C chage -l ${user} | grep -q 'password must be changed'; then + chage -d 14871 ${user} fi done } diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD index 7fcc8e77e..e792acf9f 100644 --- a/libre/kdelibs-libre/PKGBUILD +++ b/libre/kdelibs-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 149297 2012-02-06 17:49:28Z andrea $ +# $Id: PKGBUILD 153517 2012-03-15 13:55:48Z andrea $ # Maintainer: Andrea Scarpino # Contributor (Parabola): André Silva @@ -6,7 +6,7 @@ _pkgname=kdelibs pkgname=kdelibs-libre pkgver=4.8.1 -pkgrel=1 +pkgrel=2 pkgdesc="KDE Core Libraries" arch=('i686' 'x86_64' 'mips64el') url='http://www.kde.org' @@ -22,11 +22,13 @@ conflicts=('kdelibs') install=${_pkgname}.install source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.bz2" 'kde-applications-menu.patch' - 'fix-knotify-filepath.patch' + 'fix-kmail-crash.patch' + 'use-pythondontwritebytecode.patch' 'khtml-fsdg.diff') sha1sums=('ec393b096003f1dd57c5e2987381b086ba1b363e' '86ee8c8660f19de8141ac99cd6943964d97a1ed7' - '3312f6005aa56a9b992c74008fe5b314f1c8ffba' + '081b0663480568359120b573d26abb91e1a348c0' + 'a1e35760d5b4e29471ad357c963a343c67200f32' 'a1502a964081ad583a00cf90c56e74bf60121830') build() { @@ -35,8 +37,11 @@ build() { # avoid file conflict with gnome-menus patch -p1 -i "${srcdir}"/kde-applications-menu.patch - # https://bugs.kde.org/show_bug.cgi?id=285028 - patch -p1 -i "${srcdir}"/fix-knotify-filepath.patch + # Upstream (FS#28907) + patch -p1 -i "${srcdir}"/fix-kmail-crash.patch + + # Set PYTHONDONTWRITEBYTECODE (KDEBUG#276151) + patch -p0 -i "${srcdir}"/use-pythondontwritebytecode.patch # Don't ask the user to download a plugin, it's probably nonfree. patch -p1 -i "${srcdir}"/khtml-fsdg.diff diff --git a/libre/kdelibs-libre/fix-kmail-crash.patch b/libre/kdelibs-libre/fix-kmail-crash.patch new file mode 100644 index 000000000..27caa25f0 --- /dev/null +++ b/libre/kdelibs-libre/fix-kmail-crash.patch @@ -0,0 +1,71 @@ +commit 979b0436510e7807c054e79c40c3753834ac2863 +Author: Sebastian Trueg +Date: Thu Mar 15 09:14:35 2012 +0100 + + Thread-safe ResourceWatcher handling. + + We simply perform all RW operations in the manager thread. + + BUG: 295474 + FIXED-IN: 4.8.2 + +diff --git a/nepomuk/core/resourcedata.cpp b/nepomuk/core/resourcedata.cpp +index abe55ea..9d45228 100644 +--- a/nepomuk/core/resourcedata.cpp ++++ b/nepomuk/core/resourcedata.cpp +@@ -175,7 +175,8 @@ void Nepomuk::ResourceData::resetAll( bool isDelete ) + if( !m_uri.isEmpty() ) { + m_rm->m_initializedData.remove( m_uri ); + if( m_rm->m_watcher && m_addedToWatcher ) { +- m_rm->m_watcher->removeResource(Resource::fromResourceUri(m_uri)); ++ // See load() for an explanation of the QMetaObject call ++ QMetaObject::invokeMethod(m_rm->m_watcher, "removeResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Resource::fromResourceUri(m_uri))); + m_addedToWatcher = false; + } + } +@@ -393,16 +394,23 @@ bool Nepomuk::ResourceData::load() + m_cache.clear(); + + if(!m_rm->m_watcher) { ++ // ++ // The ResourceWatcher is not thread-safe. Thus, we need to ensure the safety ourselves. ++ // We do that by simply handling all RW related operations in the manager thread. ++ // This also means to invoke methods on the watcher through QMetaObject to make sure they ++ // get queued in case of calls between different threads. ++ // + m_rm->m_watcher = new ResourceWatcher(m_rm->m_manager); ++ m_rm->m_watcher->moveToThread(m_rm->m_manager->thread()); + QObject::connect( m_rm->m_watcher, SIGNAL(propertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)), + m_rm->m_manager, SLOT(slotPropertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) ); + QObject::connect( m_rm->m_watcher, SIGNAL(propertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)), + m_rm->m_manager, SLOT(slotPropertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) ); + m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) ); +- m_rm->m_watcher->start(); ++ QMetaObject::invokeMethod(m_rm->m_watcher, "start", Qt::AutoConnection); + } + else { +- m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) ); ++ QMetaObject::invokeMethod(m_rm->m_watcher, "addResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Nepomuk::Resource::fromResourceUri(m_uri)) ); + } + m_addedToWatcher = true; + +diff --git a/nepomuk/core/resourcewatcher.h b/nepomuk/core/resourcewatcher.h +index 06b9622..92b12f5 100644 +--- a/nepomuk/core/resourcewatcher.h ++++ b/nepomuk/core/resourcewatcher.h +@@ -93,6 +93,7 @@ namespace Nepomuk { + */ + virtual ~ResourceWatcher(); + ++ public Q_SLOTS: + /** + * \brief Add a type to be watched. + * +@@ -204,7 +205,6 @@ namespace Nepomuk { + */ + QList properties() const; + +- public Q_SLOTS: + /** + * \brief Start the signalling of changes. + * diff --git a/libre/kdelibs-libre/use-pythondontwritebytecode.patch b/libre/kdelibs-libre/use-pythondontwritebytecode.patch new file mode 100644 index 000000000..bab46a9a2 --- /dev/null +++ b/libre/kdelibs-libre/use-pythondontwritebytecode.patch @@ -0,0 +1,80 @@ +--- cmake/modules/PythonMacros.cmake ++++ cmake/modules/PythonMacros.cmake +@@ -23,40 +23,42 @@ + # Install the source file. + INSTALL(FILES ${SOURCE_FILE} DESTINATION ${DESINATION_DIR}) + +- # Byte compile and install the .pyc file. +- GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE) +- GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME) +- GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE) +- GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH) +- +- if(WIN32) +- string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}") +- endif(WIN32) +- +- SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) +- SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) +- +- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) +- +- SET(_message "-DMESSAGE=Byte-compiling ${_bin_py}") +- +- GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE) +- IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself. +- ADD_CUSTOM_COMMAND( +- TARGET compile_python_files +- COMMAND ${CMAKE_COMMAND} -E echo ${message} +- COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} +- DEPENDS ${_absfilename} +- ) +- ELSE(_abs_bin_py STREQUAL ${_absfilename}) +- ADD_CUSTOM_COMMAND( +- TARGET compile_python_files +- COMMAND ${CMAKE_COMMAND} -E echo ${message} +- COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py} +- COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} +- DEPENDS ${_absfilename} +- ) +- ENDIF(_abs_bin_py STREQUAL ${_absfilename}) ++ # Byte compile and install the .pyc file. ++ IF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") ++ GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE) ++ GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME) ++ GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE) ++ GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH) ++ ++ if(WIN32) ++ string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}") ++ endif(WIN32) ++ ++ SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) ++ SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) ++ ++ FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) ++ ++ SET(_message "-DMESSAGE=Byte-compiling ${_bin_py}") ++ ++ GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE) ++ IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself. ++ ADD_CUSTOM_COMMAND( ++ TARGET compile_python_files ++ COMMAND ${CMAKE_COMMAND} -E echo ${message} ++ COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} ++ DEPENDS ${_absfilename} ++ ) ++ ELSE(_abs_bin_py STREQUAL ${_absfilename}) ++ ADD_CUSTOM_COMMAND( ++ TARGET compile_python_files ++ COMMAND ${CMAKE_COMMAND} -E echo ${message} ++ COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py} ++ COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} ++ DEPENDS ${_absfilename} ++ ) ++ ENDIF(_abs_bin_py STREQUAL ${_absfilename}) + +- INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR}) ++ INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR}) ++ ENDIF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") + ENDMACRO(PYTHON_INSTALL) -- cgit v1.2.3-54-g00ecf