You are not logged in.

#1 2015-03-22 01:17:45

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

[Solved] pacman kdebase-workspace dependencies not satisfyable

KDE arbitarly defines several filesystems as "slow" and hardcodes this decision in kio/kio/kfileitem.cpp. I decided to turn it off and always  return false (=fast file system). After checking out the PKGBUILD via ABS,  I have made a patch and changed the PKGBUILD accordingly.

Patching and compiling went fine, install went fine as well. I then thought I should change the name to something non-default to differentiate the package from the official one. So I've added the "provides=('kdelibs')" and "conflicts=('kdelibs')" lines, built the package and tried to install it.

Pacman errors out with

error: failed to prepare transaction (could not satisfy dependencies)
:: kdebase-workspace: requires kdelibs>=4.11.17

Here is the modified PKGBUILD

# $Id: PKGBUILD 233243 2015-03-10 07:39:35Z fyan $
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org
# Contributor: Pierre Schmitz <pierre@archlinux.de>

pkgname=kdelibs-no-fs-check
pkgver=4.14.6
_kdeappver=14.12.3
pkgrel=1
pkgdesc="KDE Core Libraries"
arch=('i686' 'x86_64')
url='https://projects.kde.org/projects/kde/kdelibs'
license=('GPL' 'LGPL' 'FDL')
depends=('attica-qt4' 'libxss' 'krb5' 'qca' 'libdbusmenu-qt' 'polkit-qt4'
        'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr' 'strigi'
        'docbook-xsl' 'upower' 'udisks2' 'libxcursor' 'phonon-qt4'
        'media-player-info' 'libxtst' 'libutempter' 'qtwebkit' 'icu')
makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell' 'mesa' 'grantlee-qt4')
install=${pkgname}.install
provides=('kdelibs')
conflicts=('kdelibs')
source=("http://download.kde.org/stable/applications/${_kdeappver}/src/kdelibs-${pkgver}.tar.xz"
        'kde-applications-menu.patch' 'archlinux-menu.patch' 'qt4.patch' 'disable-slow-fs-check.patch')
sha1sums=('4411de9589204ed3b741ec68eeb3c37c7a0abca5'
          '86ee8c8660f19de8141ac99cd6943964d97a1ed7'
          '63a850ab4196b9d06934f2b4a13acd9f7739bc67'
          'ed1f57ee661e5c7440efcaba7e51d2554709701c'
          'ff173f198b13325c8a00b3ab728af0248a2b86fa')

prepare() {
       mkdir build
       cd kdelibs-${pkgver}
       # avoid file conflict with gnome-menus
       patch -p1 -i "${srcdir}"/kde-applications-menu.patch
       # add Archlinux menu entry
       patch -p1 -i "${srcdir}"/archlinux-menu.patch
       # qmake refers to Qt5
       patch -p1 -i "${srcdir}"/qt4.patch
       # disable slow fs check
       patch -p1 -i "${srcdir}"/disable-slow-fs-check.patch
}

build() {
       cd build
       cmake ../kdelibs-${pkgver} \
               -DCMAKE_BUILD_TYPE=Release \
               -DKDE4_BUILD_TESTS=OFF \
               -DCMAKE_SKIP_RPATH=ON \
               -DKDE_DISTRIBUTION_TEXT='Arch Linux' \
               -DCMAKE_INSTALL_PREFIX=/usr \
               -DSYSCONF_INSTALL_DIR=/etc \
               -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \
               -DLOCALE_INSTALL_DIR=/usr/share/locale/kde4 \
               -DKDE_DEFAULT_HOME='.kde4' \
               -DWITH_FAM=OFF \
               -DWITH_SOLID_UDISKS2=ON
       make
}

package() {
       cd "${srcdir}"/build
       make DESTDIR="${pkgdir}" install

       # cert bundle seems to be hardcoded
       # link it to the one from ca-certificates
       rm -f "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt
       ln -sf /etc/ssl/certs/ca-certificates.crt "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt
}

edit: I probably should have posted this in the AUR section...

Last edited by Soukyuu (2015-03-22 11:59:57)


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#2 2015-03-22 01:21:43

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,459
Website

Re: [Solved] pacman kdebase-workspace dependencies not satisfyable

Soukyuu wrote:

What the hell? How could it have installed the official 4.14.6-1 version, when it requires kdelibs>=4.11.17? Why does it not install my modified package unless I keep the official name?

Why is that surprising, 4.14 is greater than 4.11, so the requirement is met by the official package.  As to why yours doesn't work, you'd have to share the PKGBUILD that you are using. (edit: you editted while I was posting)

What is the specific pacman command that gives that error?

Last edited by Trilby (2015-03-22 01:23:19)


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#3 2015-03-22 01:23:15

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: [Solved] pacman kdebase-workspace dependencies not satisfyable

Yes, sorry. I realized I was misreading the version numbers, so the issue is probably with my usage of provides and conflicts...

The command that gives that error is both "makepkg -i" or "sudo pacman -U kdelibs-no-fs-check-4.14.6-1-x86_64.pkg.tar.xz"

Last edited by Soukyuu (2015-03-22 01:26:59)


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#4 2015-03-22 01:46:14

Scimmia
Fellow
Registered: 2012-09-01
Posts: 13,727

Re: [Solved] pacman kdebase-workspace dependencies not satisfyable

provides=('kdelibs') won't do the job, since it has no version information. You need provides=("kdelibs=$pkgver")

Offline

#5 2015-03-22 11:59:42

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: [Solved] pacman kdebase-workspace dependencies not satisfyable

Yes, that was it. Thanks.
I guess I expected it to get the version info from $pkgver.

Last edited by Soukyuu (2015-03-22 12:00:26)


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

Board footer

Powered by FluxBB